diff options
author | Thomas Thurman <tthurman@gnome.org> | 2008-05-12 03:31:32 +0000 |
---|---|---|
committer | Thomas James Alexander Thurman <tthurman@src.gnome.org> | 2008-05-12 03:31:32 +0000 |
commit | 8547d1e8ed7c7b296e2626e72d8c2aeef5406567 (patch) | |
tree | 0b7b96350245fe80e421b8c6f668ddb3c4dd11d1 /tools | |
parent | b095ecc195b199aa65552d8e272c8672ab7430b9 (diff) | |
download | mutter-8547d1e8ed7c7b296e2626e72d8c2aeef5406567.tar.gz |
Basic Python-based Xlib client for testing and building upon.
2008-05-12 Thomas Thurman <tthurman@gnome.org>
* tools/xlib.py: Basic Python-based Xlib client for testing
and building upon.
svn path=/trunk/; revision=3707
Diffstat (limited to 'tools')
-rw-r--r-- | tools/xlib.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tools/xlib.py b/tools/xlib.py new file mode 100644 index 000000000..4a244c4f6 --- /dev/null +++ b/tools/xlib.py @@ -0,0 +1,43 @@ +# Very simple Xlib-based client in Python. +# Copyright (c) 2008 Thomas Thurman <tthurman@gnome.org>; GPL 2.0 or later. +# Originally based around example code in python-xlib +# by Peter Liljenberg <petli@ctrl-c.liu.se>. + +import sys + +from Xlib import X +from Xlib.protocol import display +from Xlib.protocol.request import * + +display = display.Display() +screen = display.info.roots[display.default_screen] +window = display.allocate_resource_id() +gc = display.allocate_resource_id() + +CreateWindow(display, None, + depth = screen.root_depth, + wid = window, + parent = screen.root, + x = 100, y = 100, width = 250, height = 250, border_width = 2, + window_class = X.InputOutput, visual = X.CopyFromParent, + background_pixel = screen.white_pixel, + event_mask = (X.ExposureMask | + X.StructureNotifyMask | + X.ButtonPressMask | + X.ButtonReleaseMask | + X.Button1MotionMask), + colormap = X.CopyFromParent) + +CreateGC(display, None, gc, window) + +MapWindow(display, None, window) + +while 1: + event = display.next_event() + + if event.type == X.DestroyNotify: + sys.exit(0) + + print event + + |