diff options
Diffstat (limited to 'display/dpy_x.py')
-rw-r--r-- | display/dpy_x.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/display/dpy_x.py b/display/dpy_x.py new file mode 100644 index 0000000..ffca90f --- /dev/null +++ b/display/dpy_x.py @@ -0,0 +1,40 @@ +import sys +import xshm +from modes import BaseDisplay +from cStringIO import StringIO + + +class Display(BaseDisplay): + + def __init__(self, width, height, title, shm='yes'): + use_shm = not shm.startswith('n') + self.xdpy = xdpy = xshm.Display(width, height, use_shm) + self.pixmap = xdpy.pixmap + self.getppm = xdpy.getppm + self.putppm = xdpy.putppm + self.overlayppm = xdpy.overlayppm + self.close = xdpy.close + self.clear = xdpy.clear + self.flip = xdpy.flip + self.keyevents = xdpy.keyevents + self.mouseevents = xdpy.mouseevents + self.pointermotion = xdpy.pointermotion + if use_shm and not xdpy.shmmode(): + print >> sys.stderr, \ + "Note: cannot use SHM extension (%dx%d), display will be slow." % \ + (width, height) + + def selectlist(self): + if hasattr(self.xdpy, 'fd'): + from socket import fromfd, AF_INET, SOCK_STREAM + return [fromfd(self.xdpy.fd(), AF_INET, SOCK_STREAM)] + else: + return [] + + +def htmloptionstext(nameval): + return ''' +<%s> Use the shared memory extension</input><%s><br> +<font size=-1>Note: Disable it for remote connections or old X servers</font> +''' % (nameval("checkbox", "shm", "yes", default="yes"), + nameval("hidden", "shm", "no")) |