Difference between revisions of "X11/es"
Line 14: | Line 14: | ||
* '''xresource''' Gestión de recursos de X. | * '''xresource''' Gestión de recursos de X. | ||
* '''xshm''' Extensión de memoria compartida de X. | * '''xshm''' Extensión de memoria compartida de X. | ||
− | * '''xutil''' X util lib. | + | * '''xutil''' X util lib. |
+ | * Actualmente existe [XCB https://xcb.freedesktop.org/ XCB] (Ennlace entre el lenguaje C y el protocolo del sistema X) que sería el reemplazo de XLIB que tiene mejoras sobre este. Si alguien sabe realizar el ejemplo de abajo con este nuevo reemplazo, adelante. | ||
+ | |||
Unidades más nuevas: | Unidades más nuevas: | ||
Line 32: | Line 34: | ||
Todas estas unidades enlazan a varias librerias X. Estas unidades hacen de interface a las librerías cliente documentadas y son por tanto ampliamente inmunes a los cambios en X11<->Xorg. | Todas estas unidades enlazan a varias librerias X. Estas unidades hacen de interface a las librerías cliente documentadas y son por tanto ampliamente inmunes a los cambios en X11<->Xorg. | ||
− | |||
== Ejemplos == | == Ejemplos == |
Revision as of 15:21, 10 August 2017
│
Deutsch (de) │
English (en) │
español (es) │
El paquete X11 contiene algunas unidades con las traducciones de los ficheros de cabecera X.
Listado de unidades
Las unidades más elementales son:
- X rutinas básicas de X.
- xcms Algunas gestiones de color.
- xlib Xlib toolkit.
- xrender Extensión de renderizado de X.
- xresource Gestión de recursos de X.
- xshm Extensión de memoria compartida de X.
- xutil X util lib.
- Actualmente existe [XCB https://xcb.freedesktop.org/ XCB] (Ennlace entre el lenguaje C y el protocolo del sistema X) que sería el reemplazo de XLIB que tiene mejoras sobre este. Si alguien sabe realizar el ejemplo de abajo con este nuevo reemplazo, adelante.
Unidades más nuevas:
- cursorfont
- xinerama
- xrandr
- keysym
- xf86dga.pp
- xkb
- xv
- xf86vmode
- xkblib
- xvlib
- xatom
- xi
Todas estas unidades enlazan a varias librerias X. Estas unidades hacen de interface a las librerías cliente documentadas y son por tanto ampliamente inmunes a los cambios en X11<->Xorg.
Ejemplos
Una ventana mostrando un mensaje de texto
Esta es una aplicación muy sencilla que muestra una ventana con un mensaje de texto. De forma rápida lo podemos salvar a un fichero con extensión .pas y cargarlo desde el IDE de fp (si no lo tenemos lo podemos instalar facilmente descargándolo previamente desde sourceforge (Freepascal para Linux):
program xshowwindow;
{$mode objfpc}{$H+}
uses
xlib, x, ctypes;
procedure ModalShowX11Window(AMsg: string);
var
d: PDisplay;
w: TWindow;
e: TXEvent;
msg: PChar;
s: cint;
begin
msg := PChar(AMsg);
{ Abre la conexión con el servidor }
d := XOpenDisplay(nil); //https://www.x.org/releases/X11R7.7-RC1/doc/man/man3/XOpenDisplay.3.xhtml
if (d = nil) then
begin
WriteLn('[ModalShowX11Window] NO puedo abrir el Display');
exit;
end;
s := DefaultScreen(d);
{ Crear la ventana } // https://www.x.org/releases/X11R7.7/doc/libX11/libX11/libX11.html#XCreateWindow
w := XCreateSimpleWindow(d, RootWindow(d, s), 10, 10, 400, 100, 1,
BlackPixel(d, s), WhitePixel(d, s));
{ Seleccionar el tipo de eventos en los que estamos interesados }
XSelectInput(d, w, ExposureMask or KeyPressMask);
{ Mapear (mostrar) la ventana }
XMapWindow(d, w); // https://www.x.org/releases/X11R7.7-RC1/doc/man/man3/XMapWindow.3.xhtml
{ bucle de eventos }
while (True) do
begin
XNextEvent(d, @e); // https://www.x.org/releases/current/doc/man/man3/XNextEvent.3.xhtml
{ dibuja o redibuja la ventana }
if (e._type = Expose) then
begin
XFillRectangle(d, w, DefaultGC(d, s), 30, 40, 10, 10); //https://www.x.org/releases/X11R7.7-RC1/doc/man/man3/XFillRectangle.3.xhtml
XDrawString(d, w, DefaultGC(d, s), 50, 50, msg, strlen(msg)); // https://www.x.org/releases/X11R7.7-RC1/doc/man/man3/XDrawString.3.xhtml
end;
{ Salir al presionar una tecla }
if (e._type = KeyPress) then Break;
end;
{ Cerrar la conexión con el servidor }
XCloseDisplay(d); // https://www.x.org/archive/X11R6.8.2/doc/XOpenDisplay.3.html
end;
begin
ModalShowX11Window('Hola, Esto es un mensaje de texto en la ventana :)');
end.
Podemos utilizar más funciones como XDrawLine, XDrawArc,.....
https://www.x.org/releases/X11R7.7-RC1/doc/man/man3/index.xhtml
See Also
Go back to Packages List