1import core.sys.posix.unistd;
2import core.stdc.stdlib;
3
4extern(C) {
5 struct Display;
6 struct Screen;
7 alias Window = ulong;
8
9 Display* XOpenDisplay(const char*);
10 Window XDefaultRootWindow(Display*);
11 Window XCreateSimpleWindow(Display*, Window, int, int, uint, uint, uint, ulong, ulong);
12 int XMapWindow(Display*, Window);
13 int XFlush(Display*);
14 int XCloseDisplay(Display*);
15}
16
17void main() {
18 Display* mainDisplay = XOpenDisplay(null);
19 if (mainDisplay is null) {
20 exit(1);
21 }
22
23 Window rootWindow = XDefaultRootWindow(mainDisplay);
24
25 Window mainWindow = XCreateSimpleWindow(
26 mainDisplay, rootWindow,
27 0, 0, // x, y position
28 800, 600, // width, height
29 0, // border width
30 0, // border color (ignored)
31 0xFF0000 // background color (red)
32 );
33
34 XMapWindow(mainDisplay, mainWindow);
35 XFlush(mainDisplay);
36
37 while(true) {
38 sleep(1);
39 }
40}