Slide 38
Slide 38 text
必要な関数のみ使えるようにして
module X11
extend Fiddle::Importer
dlload 'libX11.so.6'
typealias 'XID', 'unsigned long'
typealias 'Window', 'XID'
typealias 'Status', 'int'
typealias 'Atom', 'unsigned long'
Window = struct ['Window window']
Pointer = struct ['void *ptr']
XClassHint = struct ['char *name', 'char *class_name']
XTextProperty = struct ['unsigned char *value', 'Atom encoding', 'int format',
'unsigned long nitems']
extern 'Display* XOpenDisplay(char*)'
extern 'int XGetInputFocus(Display*, Window*, int*)'
extern 'int XGetClassHint(Display*, Window, XClassHint*)'
extern 'Status XQueryTree(Display*, Window, Window*, Window*, Window**, unsigned int*)'
extern 'Status XGetWMName(Display*, Window, XTextProperty*)'
extern 'int Xutf8TextPropertyToTextList(Display*, XTextProperty*, char***, int*)'
extern 'int XFree(void*)'
extern 'void XFreeStringList(char**)'
end
38