Sign in Join
Wiki copytemporary

X11/de: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: X11/de

OldNewLine
1+Dieser Artikel beschäftigt sich mit der Linux / Unix Programmierung.
2+
3+Das Package X11 enthält einige units mit Umsetzungen der X Header Dateien.
4+
5+## Liste der Units
6+
7+Die Grundlegenden Units sind:
8+
9+- **X** Grundlegende X Routinen.
10+- **xcms** Farbmanagement.
11+- **xlib** Xlib Werkzeuge.
12+- **xrender** X Render-Erweiterungen.
13+- **xresource** X Ressourcenmanagement.
14+- **xshm** X Shared-Memory-Erweiterung.
15+- **xutil** X util Bibliothek.
16+
17+Weitere Units sind:
18+
19+- cursorfont
20+- xinerama
21+- xrandr
22+- keysym
23+- xf86dga.pp
24+- xkb
25+- xv
26+- xf86vmode
27+- xkblib
28+- xvlib
29+- xatom
30+- xi
31+
32+Alle diese Units verlinken zu Zahlreichen X Bibliotheken. Diese Schnittstellen Units zu den Client-Bibliotheken sind dokumentiert und sind somit weitgehend immun gegen die X11 \<-\> Xorg Veränderungen.
33+
34+## Beispiele
35+
36+### Ein Fenster mit einer Meldung
37+
38+Dies ist eine sehr einfache Anwendung. Diese Anwendung zeigt ein Fenster mit einer Nachricht.
39+
40+``` pascal
41+program xshowwindow;
42+
43+{$mode objfpc}{$H+}
44+
45+uses
46+ xlib,
47+ x,
48+ ctypes;
49+
50+ procedure ModalShowX11Window(AMsg: string);
51+ var
52+ d: PDisplay;
53+ w: TWindow;
54+ e: TXEvent;
55+ msg: PChar;
56+ s: cint;
57+
58+ begin
59+ msg := PChar(AMsg);
60+
61+ // Erstellt die Verbindung zum Server
62+ d := XOpenDisplay(nil);
63+ if (d = nil) then
64+ begin
65+ WriteLn('[ModalShowX11Window] Kann nicht das Display öffnen');
66+ exit;
67+ end;
68+
69+ s := DefaultScreen(d);
70+
71+ // Erstellt das Fenster
72+ w := XCreateSimpleWindow(d, RootWindow(d, s), 10, 10, 200, 200,
73+ 1, BlackPixel(d, s), WhitePixel(d, s));
74+
75+ // Wählt die gewünschten Ereignisse aus
76+ XSelectInput(d, w, ExposureMask or KeyPressMask or ButtonPressMask);
77+
78+ // Fenster anzeigen
79+ XMapWindow(d, w);
80+
81+ // Ereignisschleife
82+ while (True) do
83+ begin
84+ XNextEvent(d, @e);
85+
86+ case e._type of
87+ Expose:
88+ // Zeichnet ein Rechteck (Quadrat) und gibt einen Text aus
89+ begin
90+ XFillRectangle(d, w, DefaultGC(d, s), 20, 20, 10, 10);
91+ XDrawString(d, w, DefaultGC(d, s), 50, 50, msg, strlen(msg));
92+ end;
93+ KeyPress:
94+ // Beendet das Programm bei Tastendruck
95+ Break;
96+ ButtonPress:
97+ // Beendet das Programm bei einem Mausklick
98+ Break;
99+ end;
100+
101+ end;
102+
103+ // Schliesst Verbindung zum Server
104+ XCloseDisplay(d);
105+ end;
106+
107+begin
108+ ModalShowX11Window('Meine Nachricht');
109+end.
110+```
111+
112+## Siehe auch
113+
114+- <http://de.wikipedia.org/wiki/Xlib>
115+
116+---
117+*From the Free Pascal wiki, page "X11/de", as it stood on 2022-10-22 after a change by Mathias, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history