コード例 #1
0
ファイル: x11_server_core.py プロジェクト: cattaka/Xpra
 def __init__(self):
     self.screen_number = display_get_default().get_default_screen(
     ).get_number()
     self.root_window = get_default_root_window()
     self.pointer_device = XTestPointerDevice()
     self.last_mouse_user = None
     GTKServerBase.__init__(self)
コード例 #2
0
 def init(self, opts):
     GTKServerBase.init(self, opts)
     ShadowServerBase.init(self, opts)
     self.tray = opts.tray
     self.tray_icon = opts.tray_icon
     if self.tray:
         self.setup_tray()
コード例 #3
0
ファイル: x11_server_base.py プロジェクト: byymster/Xpra
 def init(self, opts):
     self.randr = opts.resize_display
     self.fake_xinerama = opts.fake_xinerama
     self.current_xinerama_config = None
     with xsync:
         self.x11_init()
     GTKServerBase.init(self, opts)
コード例 #4
0
 def cleanup(self):
     tw = self.tray_widget
     traylog("cleanup() tray_widget=%s", tw)
     if tw:
         self.tray_widget = None
         tw.cleanup()
     GTKServerBase.cleanup(self)
コード例 #5
0
 def __init__(self):
     #TODO: root should be a wrapper for the win32 system metrics bits?
     #(or even not bother passing root to ShadowServerBase?
     import gtk.gdk
     ShadowServerBase.__init__(self, gtk.gdk.get_default_root_window())
     GTKServerBase.__init__(self)
     self.keycodes = {}
コード例 #6
0
 def init(self, opts):
     self.randr = opts.resize_display
     self.fake_xinerama = False  #only enabled in seamless server
     self.current_xinerama_config = None
     with xsync:
         self.x11_init()
     GTKServerBase.init(self, opts)
コード例 #7
0
 def last_client_exited(self):
     log("last_client_exited() mapped=%s", self.mapped)
     for wid in tuple(self.mapped):
         self.stop_refresh(wid)
     #revert to default icon:
     if not self.tray_icon:
         self.set_tray_icon("server-notconnected")
     GTKServerBase.last_client_exited(self)
コード例 #8
0
 def cleanup(self):
     self.cleanup_tray()
     #root window models aren't like regular window models
     #(which get cleaned up using the unmanage signal)
     for model in self._id_to_window.values():
         model.cleanup()
     ShadowServerBase.cleanup(self)
     GTKServerBase.cleanup(self)
コード例 #9
0
 def __init__(self):
     ShadowServerBase.__init__(self, gtk.gdk.get_default_root_window())
     GTKServerBase.__init__(self)
     #for managing the systray
     self.tray_menu = None
     self.tray_menu_shown = False
     self.tray_widget = None
     self.tray = False
     self.tray_icon = None
コード例 #10
0
ファイル: x11_server_base.py プロジェクト: rudresh2319/Xpra
 def init(self, opts):
     self.fake_xinerama = opts.fake_xinerama
     self.current_xinerama_config = None
     if self.fake_xinerama:
         self.libfakeXinerama_so = find_libfakeXinerama()
     else:
         self.libfakeXinerama_so = None
     self.x11_init()
     GTKServerBase.init(self, opts)
コード例 #11
0
ファイル: shadow_server.py プロジェクト: svn2github/Xpra
 def __init__(self):
     import gtk.gdk
     ShadowServerBase.__init__(self, gtk.gdk.get_default_root_window())
     GTKServerBase.__init__(self)
     self.keycodes = {}
     from xpra.net.bytestreams import set_continue_wait
     #on win32, we want to wait just a little while,
     #to prevent servers spinning wildly on non-blocking sockets:
     set_continue_wait(5)
コード例 #12
0
ファイル: shadow_server.py プロジェクト: ljmljz/xpra
 def add_listen_socket(self, socktype, sock):
     log("add_listen_socket(%s, %s)", socktype, sock)
     if socktype=="named-pipe":
         #named pipe listener uses a thread:
         sock.new_connection_cb = self._new_connection
         self.socket_types[sock] = socktype
         sock.start()
     else:
         GTKServerBase.add_listen_socket(self, socktype, sock)
コード例 #13
0
 def __init__(self):
     import gtk.gdk
     ShadowServerBase.__init__(self, gtk.gdk.get_default_root_window())
     GTKServerBase.__init__(self)
     self.keycodes = {}
     from xpra.net.bytestreams import set_continue_wait
     #on win32, we want to wait just a little while,
     #to prevent servers spinning wildly on non-blocking sockets:
     set_continue_wait(5)
コード例 #14
0
ファイル: shadow_server.py プロジェクト: TianyouLi/Xpra
 def add_listen_socket(self, socktype, sock):
     log("add_listen_socket(%s, %s)", socktype, sock)
     if socktype == "named-pipe":
         #named pipe listener uses a thread:
         sock.new_connection_cb = self._new_connection
         self.socket_types[sock] = socktype
         sock.start()
     else:
         GTKServerBase.add_listen_socket(self, socktype, sock)
コード例 #15
0
ファイル: shadow_server.py プロジェクト: Brainiarc7/xpra
 def __init__(self):
     #sanity check:
     image = CG.CGWindowListCreateImage(CG.CGRectInfinite,
                 CG.kCGWindowListOptionOnScreenOnly,
                 CG.kCGNullWindowID,
                 CG.kCGWindowImageDefault)
     if image is None:
         raise Exception("cannot grab test screenshot - maybe you need to run this command whilst logged in via the UI")
     ShadowServerBase.__init__(self, gtk.gdk.get_default_root_window())
     GTKServerBase.__init__(self)
コード例 #16
0
ファイル: shadow_server.py プロジェクト: rudresh2319/Xpra
 def __init__(self):
     #sanity check:
     image = CG.CGWindowListCreateImage(CG.CGRectInfinite,
                 CG.kCGWindowListOptionOnScreenOnly,
                 CG.kCGNullWindowID,
                 CG.kCGWindowImageDefault)
     if image is None:
         raise Exception("cannot grab test screenshot - maybe you need to run this command whilst logged in via the UI")
     ShadowServerBase.__init__(self, gtk.gdk.get_default_root_window())
     GTKServerBase.__init__(self)
コード例 #17
0
 def __init__(self):
     from xpra.gtk_common.gtk_util import get_default_root_window
     ShadowServerBase.__init__(self, get_default_root_window())
     GTKServerBase.__init__(self)
     #for managing the systray
     self.tray_menu = None
     self.tray_menu_shown = False
     self.tray_widget = None
     self.tray = False
     self.tray_icon = None
コード例 #18
0
 def __init__(self):
     from xpra.gtk_common.gtk_util import get_default_root_window
     ShadowServerBase.__init__(self, get_default_root_window())
     GTKServerBase.__init__(self)
     self.session_type = "shadow"
     self.pointer_position_timer = None
     #for managing the systray
     self.tray_menu = None
     self.tray_menu_shown = False
     self.tray_widget = None
     self.tray = False
     self.tray_icon = None
コード例 #19
0
 def __init__(self):
     self.screen_number = display_get_default().get_default_screen(
     ).get_number()
     self.root_window = get_default_root_window()
     self.pointer_device = XTestPointerDevice()
     self.touchpad_device = None
     self.pointer_device_map = {}
     self.keys_pressed = {}
     self.last_mouse_user = None
     self.x11_filter = False
     GTKServerBase.__init__(self)
     log("XShape=%s", X11Window.displayHasXShape())
コード例 #20
0
ファイル: x11_server_core.py プロジェクト: DiGuoZhiMeng/Xpra
 def __init__(self):
     self.screen_number = Gdk.Screen.get_default().get_number()
     self.root_window = get_default_root_window()
     self.pointer_device = XTestPointerDevice()
     self.touchpad_device = None
     self.pointer_device_map = {}
     self.keys_pressed = {}
     self.last_mouse_user = None
     self.libfakeXinerama_so = None
     self.x11_filter = False
     self.randr_sizes_added = []
     GTKServerBase.__init__(self)
     log("XShape=%s", X11Window.displayHasXShape())
コード例 #21
0
ファイル: x11_server_base.py プロジェクト: svn2github/Xpra
 def do_get_info(self, proto, server_sources, window_ids):
     info = GTKServerBase.do_get_info(self, proto, server_sources, window_ids)
     info["server.type"] = "Python/gtk/x11"
     try:
         from xpra.x11.gtk_x11.composite import CompositeHelper
         info["server.XShm"] = CompositeHelper.XShmEnabled
     except:
         pass
     #randr:
     try:
         sizes = RandR.get_screen_sizes()
         if self.randr and len(sizes)>=0:
             info["server.randr.options"] = list(reversed(sorted(sizes)))
     except:
         pass
     try:
         from xpra.scripts.server import find_fakeXinerama
         fx = find_fakeXinerama()
     except:
         fx = None
     info["server.fakeXinerama"] = self.fake_xinerama and bool(fx)
     info["server.libfakeXinerama"] = fx or ""
     #this is added here because the server keyboard config doesn't know about "keys_pressed"..
     info["keyboard.state.keys_pressed"] = list(self.keys_pressed.keys())
     return info
コード例 #22
0
ファイル: x11_server_base.py プロジェクト: svn2github/Xpra
 def make_hello(self, source):
     capabilities = GTKServerBase.make_hello(self, source)
     capabilities["server_type"] = "Python/gtk/x11"
     if source.wants_features:
         capabilities["resize_screen"] = self.randr
         capabilities["force_ungrab"] = True
     return capabilities
コード例 #23
0
ファイル: x11_server_base.py プロジェクト: byymster/Xpra
 def get_ui_info(self, proto, wids=None, *args):
     import threading
     log("do_get_info thread=%s", threading.current_thread())
     info = GTKServerBase.get_ui_info(self, proto, wids, *args)
     #this is added here because the server keyboard config doesn't know about "keys_pressed"..
     info.setdefault("keyboard", {}).update({
         "state": {
             "keys_pressed": list(self.keys_pressed.keys())
         },
         "fast-switching": True,
     })
     sinfo = info.setdefault("server", {})
     try:
         from xpra.x11.gtk2.composite import CompositeHelper
         sinfo["XShm"] = CompositeHelper.XShmEnabled
     except:
         pass
     #cursor:
     log("do_get_info: adding cursor=%s", self.last_cursor_data)
     info.setdefault("cursor", {}).update(self.get_cursor_info())
     with xswallow:
         sinfo.update({
             "Xkb": X11Keyboard.hasXkb(),
             "XTest": X11Keyboard.hasXTest(),
         })
     #randr:
     try:
         with xsync:
             sizes = RandR.get_screen_sizes()
             if self.randr and len(sizes) >= 0:
                 sinfo["randr"] = {"options": list(reversed(sorted(sizes)))}
     except:
         pass
     return info
コード例 #24
0
ファイル: x11_server_base.py プロジェクト: rudresh2319/Xpra
 def do_get_info(self, proto, server_sources, window_ids):
     start = time.time()
     info = GTKServerBase.do_get_info(self, proto, server_sources, window_ids)
     if self.opengl_props:
         info["opengl"] = self.opengl_props
     #this is added here because the server keyboard config doesn't know about "keys_pressed"..
     info.setdefault("keyboard", {}).update({
                                             "state"           : {
                                                                  "keys_pressed"   : list(self.keys_pressed.keys())
                                                                  },
                                             "fast-switching"  : True,
                                             })
     sinfo = info.setdefault("server", {})
     sinfo.update({"type"                : "Python/gtk/x11",
                   "fakeXinerama"        : self.fake_xinerama and bool(self.libfakeXinerama_so),
                   "libfakeXinerama"     : self.libfakeXinerama_so or "",
                   "Xkb"                 : X11Keyboard.hasXkb(),
                   "XTest"               : X11Keyboard.hasXTest(),
                   })
     try:
         from xpra.x11.gtk2.composite import CompositeHelper
         sinfo["XShm"] = CompositeHelper.XShmEnabled
     except:
         pass
     #randr:
     try:
         sizes = RandR.get_screen_sizes()
         if self.randr and len(sizes)>=0:
             sinfo["randr"] = {"options" : list(reversed(sorted(sizes)))}
     except:
         pass
     log("X11ServerBase.do_get_info took %ims", (time.time()-start)*1000)
     return info
コード例 #25
0
ファイル: x11_server_base.py プロジェクト: ljmljz/xpra
 def do_get_info(self, proto, server_sources, window_ids):
     start = time.time()
     info = GTKServerBase.do_get_info(self, proto, server_sources, window_ids)
     if self.opengl_props:
         info["opengl"] = self.opengl_props
     #this is added here because the server keyboard config doesn't know about "keys_pressed"..
     info.setdefault("keyboard", {}).update({
                                             "state"           : {
                                                                  "keys_pressed"   : list(self.keys_pressed.keys())
                                                                  },
                                             "fast-switching"  : True,
                                             })
     sinfo = info.setdefault("server", {})
     sinfo.update({"type"                : "Python/gtk/x11",
                   "fakeXinerama"        : self.fake_xinerama and bool(self.libfakeXinerama_so),
                   "libfakeXinerama"     : self.libfakeXinerama_so or "",
                   "Xkb"                 : X11Keyboard.hasXkb(),
                   "XTest"               : X11Keyboard.hasXTest(),
                   })
     try:
         from xpra.x11.gtk2.composite import CompositeHelper
         sinfo["XShm"] = CompositeHelper.XShmEnabled
     except:
         pass
     #randr:
     try:
         sizes = RandR.get_screen_sizes()
         if self.randr and len(sizes)>=0:
             sinfo["randr"] = {"options" : list(reversed(sorted(sizes)))}
     except:
         pass
     log("X11ServerBase.do_get_info took %ims", (time.time()-start)*1000)
     return info
コード例 #26
0
 def make_hello(self, source):
     capabilities = GTKServerBase.make_hello(self, source)
     capabilities["server_type"] = "Python/gtk/x11"
     if source.wants_features:
         capabilities["resize_screen"] = self.randr
         capabilities["force_ungrab"] = True
     return capabilities
コード例 #27
0
 def do_get_info(self, proto, server_sources, window_ids):
     info = GTKServerBase.do_get_info(self, proto, server_sources,
                                      window_ids)
     info["server.type"] = "Python/gtk/x11"
     try:
         from xpra.x11.gtk_x11.composite import CompositeHelper
         info["server.XShm"] = CompositeHelper.XShmEnabled
     except:
         pass
     #randr:
     try:
         sizes = RandR.get_screen_sizes()
         if self.randr and len(sizes) >= 0:
             info["server.randr.options"] = list(reversed(sorted(sizes)))
     except:
         pass
     try:
         from xpra.scripts.server import find_fakeXinerama
         fx = find_fakeXinerama()
     except:
         fx = None
     info["server.fakeXinerama"] = self.fake_xinerama and bool(fx)
     info["server.libfakeXinerama"] = fx or ""
     #this is added here because the server keyboard config doesn't know about "keys_pressed"..
     info["keyboard.state.keys_pressed"] = list(self.keys_pressed.keys())
     return info
コード例 #28
0
 def make_hello(self, source):
     capabilities = GTKServerBase.make_hello(self, source)
     capabilities["server_type"] = "Python/gtk/x11"
     if source.wants_features:
         capabilities.update({
             "resize_screen":
             self.randr,
             "resize_exact":
             self.randr_exact_size,
             "force_ungrab":
             True,
             "keyboard.fast-switching":
             True,
             "wheel.precise":
             self.pointer_device.has_precise_wheel(),
             "touchpad-device":
             bool(self.touchpad_device),
         })
         if self.randr:
             sizes = RandR.get_xrr_screen_sizes()
             if len(sizes) > 1:
                 capabilities["screen-sizes"] = sizes
         if self.default_cursor_image and source.wants_default_cursor:
             capabilities["cursor.default"] = self.default_cursor_image
     return capabilities
コード例 #29
0
ファイル: shadow_server.py プロジェクト: ljmljz/xpra
 def _new_connection(self, listener, *args):
     socktype = self.socket_types.get(listener)
     log("_new_connection(%s) socktype=%s", listener, socktype)
     if socktype!="named-pipe":
         return GTKServerBase._new_connection(self, listener)
     pipe_handle = args[0]
     conn = NamedPipeConnection(listener.pipe_name, pipe_handle)
     return self.make_protocol(socktype, conn, frominfo=" on %s" % conn.target)
コード例 #30
0
 def get_info(self, proto):
     info = GTKServerBase.get_info(self, proto)
     info.setdefault("features", {})["shadow"] = True
     info.setdefault("server", {
                                "type"       : "Python/gtk2/win32-shadow",
                                "tray"       : self.tray,
                                "tray-icon"  :self.tray_icon or ""})
     return info
コード例 #31
0
ファイル: x11_server_base.py プロジェクト: rudresh2319/Xpra
 def get_child_env(self):
     #adds fakexinerama:
     env = GTKServerBase.get_child_env(self)
     if self.fake_xinerama:
         libfakeXinerama_so = self.find_fakeXinerama()
         if libfakeXinerama_so:
             env["LD_PRELOAD"] = libfakeXinerama_so
     return env
コード例 #32
0
ファイル: shadow_server.py プロジェクト: ljmljz/xpra
 def get_info(self, proto):
     info = GTKServerBase.get_info(self, proto)
     info.setdefault("features", {})["shadow"] = True
     info.setdefault("server", {
                                "type"       : "Python/gtk2/win32-shadow",
                                "tray"       : self.tray,
                                "tray-icon"  :self.tray_icon or ""})
     return info
コード例 #33
0
 def _new_connection(self, listener, *args):
     socktype = self.socket_types.get(listener)
     log("_new_connection(%s) socktype=%s", listener, socktype)
     if socktype!="named-pipe":
         return GTKServerBase._new_connection(self, listener)
     pipe_handle = args[0]
     conn = NamedPipeConnection(listener.pipe_name, pipe_handle)
     return self.make_protocol(socktype, conn, frominfo=" on %s" % conn.target)
コード例 #34
0
ファイル: x11_server_base.py プロジェクト: svn2github/Xpra
 def do_get_info(self, proto, server_sources, window_ids):
     info = GTKServerBase.do_get_info(self, proto, server_sources, window_ids)
     info["server.type"] = "Python/gtk/x11"
     try:
         from xpra.x11.gtk_x11.composite import CompositeHelper
         info["server.XShm"] = CompositeHelper.XShmEnabled
     except:
         pass
     return info
コード例 #35
0
ファイル: x11_server_base.py プロジェクト: rudresh2319/Xpra
 def do_get_info(self, proto, server_sources, window_ids):
     info = GTKServerBase.do_get_info(self, proto, server_sources,
                                      window_ids)
     info["server.type"] = "Python/gtk/x11"
     try:
         from xpra.x11.gtk_x11.composite import CompositeHelper
         info["server.XShm"] = CompositeHelper.XShmEnabled
     except:
         pass
     return info
コード例 #36
0
ファイル: x11_server_base.py プロジェクト: svn2github/Xpra
 def make_hello(self, source):
     capabilities = GTKServerBase.make_hello(self, source)
     capabilities["server_type"] = "Python/gtk/x11"
     if source.wants_features:
         capabilities.update({
                 "resize_screen"             : self.randr,
                 "force_ungrab"              : True,
                 "keyboard.fast-switching"   : True,
                 })
     return capabilities
コード例 #37
0
ファイル: shadow_server.py プロジェクト: rudresh2319/Xpra
 def get_info(self, proto):
     info = GTKServerBase.get_info(self, proto)
     info.setdefault("features", {})["shadow"] = True
     info.setdefault("server", {})["type"] = "Python/gtk2/osx-shadow"
     info.setdefault("damage", {}).update({
                                           "notifications"   : self.refresh_registered,
                                           "count"           : self.refresh_count,
                                           "rectangles"      : self.refresh_rectangle_count,
                                           })
     return info
コード例 #38
0
ファイル: shadow_server.py プロジェクト: svn2github/Xpra
 def get_info(self, proto):
     info = GTKServerBase.get_info(self, proto)
     info.setdefault("features", {})["shadow"] = True
     info.setdefault("server", {})["type"] = "Python/gtk2/osx-shadow"
     info.setdefault("damage", {}).update({
                                           "notifications"   : self.refresh_registered,
                                           "count"           : self.refresh_count,
                                           "rectangles"      : self.refresh_rectangle_count,
                                           })
     return info
コード例 #39
0
 def make_hello(self, source):
     capabilities = GTKServerBase.make_hello(self, source)
     capabilities["server_type"] = "Python/gtk/x11"
     if source.wants_features:
         capabilities.update({
             "resize_screen": self.randr,
             "force_ungrab": True,
             "keyboard.fast-switching": True,
         })
     return capabilities
コード例 #40
0
ファイル: shadow_server.py プロジェクト: TijZwa/xpra
 def get_info(self, proto, *_args):
     info = GTKServerBase.get_info(self, proto)
     info.update(GTKShadowServerBase.get_info(self, proto))
     info.setdefault("features", {})["shadow"] = True
     info.setdefault("server", {
                                "pixel-depth": self.pixel_depth,
                                "type"       : "Python/gtk2/win32-shadow",
                                "tray"       : self.tray,
                                "tray-icon"  : self.tray_icon or ""
                                })
     return info
コード例 #41
0
 def do_get_info(self, proto, server_sources):
     start = monotonic_time()
     info = GTKServerBase.do_get_info(self, proto, server_sources)
     if self.opengl_props:
         info["opengl"] = self.opengl_props
     sinfo = info.setdefault("server", {})
     sinfo.update({
         "type"                  : "Python/gtk/x11",
         "fakeXinerama"          : self.fake_xinerama and bool(self.libfakeXinerama_so),
         "libfakeXinerama"       : self.libfakeXinerama_so or "",
         })
     log("X11ServerBase.do_get_info took %ims", (monotonic_time()-start)*1000)
     return info
コード例 #42
0
ファイル: x11_server_base.py プロジェクト: svn2github/Xpra
 def do_get_info(self, proto, server_sources, window_ids):
     info = GTKServerBase.do_get_info(self, proto, server_sources, window_ids)
     info["server.type"] = "Python/gtk/x11"
     try:
         from xpra.x11.gtk2.composite import CompositeHelper
         info["server.XShm"] = CompositeHelper.XShmEnabled
     except:
         pass
     #randr:
     try:
         sizes = RandR.get_screen_sizes()
         if self.randr and len(sizes)>=0:
             info["server.randr.options"] = list(reversed(sorted(sizes)))
     except:
         pass
     info["server.fakeXinerama"] = self.fake_xinerama and bool(self.libfakeXinerama_so)
     info["server.libfakeXinerama"] = self.libfakeXinerama_so or ""
     #this is added here because the server keyboard config doesn't know about "keys_pressed"..
     info["keyboard.state.keys_pressed"] = list(self.keys_pressed.keys())
     info["keyboard.fast-switching"] = True
     info["server.Xkb"] = X11Keyboard.hasXkb()
     info["server.XTest"] = X11Keyboard.hasXTest()
     return info
コード例 #43
0
ファイル: shadow_server.py プロジェクト: Brainiarc7/xpra
 def init(self, opts):
     GTKServerBase.init(self, opts)
     self.keycodes = {}
コード例 #44
0
ファイル: shadow_server.py プロジェクト: Brainiarc7/xpra
 def get_info(self, proto):
     info = GTKServerBase.get_info(self, proto)
     info["features.shadow"] = True
     info["server.type"] = "Python/gtk2/win32-shadow"
     return info
コード例 #45
0
ファイル: x11_server_base.py プロジェクト: svn2github/Xpra
 def do_cleanup(self, *args):
     GTKServerBase.do_cleanup(self)
     cleanup_fakeXinerama()
コード例 #46
0
ファイル: shadow_server.py プロジェクト: Brainiarc7/xpra
 def __init__(self):
     import gtk.gdk
     ShadowServerBase.__init__(self, gtk.gdk.get_default_root_window())
     GTKServerBase.__init__(self)
     self.keycodes = {}
コード例 #47
0
ファイル: shadow_server.py プロジェクト: Brainiarc7/xpra
 def make_hello(self):
     capabilities = GTKServerBase.make_hello(self)
     capabilities["shadow"] = True
     capabilities["server_type"] = "Python/gtk2/win32-shadow"
     return capabilities
コード例 #48
0
 def client_startup_complete(self, ss):
     GTKServerBase.client_startup_complete(self, ss)
     if not self.tray_icon:
         self.set_tray_icon("server-connected")
コード例 #49
0
 def last_client_exited(self):
     self.stop_refresh()
     #revert to default icon:
     if not self.tray_icon:
         self.set_tray_icon("server-notconnected")
     GTKServerBase.last_client_exited(self)
コード例 #50
0
 def init(self, opts):
     GTKServerBase.init(self, opts)
     self.tray = opts.tray
     self.tray_icon = opts.tray_icon
     if self.tray:
         self.setup_tray()
コード例 #51
0
ファイル: x11_server_base.py プロジェクト: svn2github/Xpra
 def get_window_info(self, window):
     info = GTKServerBase.get_window_info(self, window)
     info["XShm"] = window.uses_XShm()
     return info
コード例 #52
0
ファイル: x11_server_base.py プロジェクト: svn2github/Xpra
 def get_child_env(self):
     #adds fakeXinerama:
     env = GTKServerBase.get_child_env(self)
     if self.fake_xinerama and self.libfakeXinerama_so:
         env["LD_PRELOAD"] = self.libfakeXinerama_so
     return env
コード例 #53
0
ファイル: x11_server_base.py プロジェクト: svn2github/Xpra
 def init_packet_handlers(self):
     GTKServerBase.init_packet_handlers(self)
     self._authenticated_ui_packet_handlers["force-ungrab"] = self._process_force_ungrab
コード例 #54
0
ファイル: x11_server_base.py プロジェクト: svn2github/Xpra
 def __init__(self, clobber):
     self.clobber = clobber
     self.screen_number = gtk.gdk.display_get_default().get_default_screen().get_number()
     self.root_window = gtk.gdk.get_default_root_window()
     GTKServerBase.__init__(self)
コード例 #55
0
ファイル: shadow_server.py プロジェクト: svn2github/Xpra
 def make_hello(self, source):
     capabilities = GTKServerBase.make_hello(self, source)
     capabilities["shadow"] = True
     capabilities["server_type"] = "Python/gtk2/osx-shadow"
     return capabilities
コード例 #56
0
ファイル: x11_server_base.py プロジェクト: svn2github/Xpra
 def init_keyboard(self):
     GTKServerBase.init_keyboard(self)
     #clear all modifiers
     clean_keyboard_state()