• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python x11_server_base.X11ServerBase类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中xpra.x11.x11_server_base.X11ServerBase的典型用法代码示例。如果您正苦于以下问题:Python X11ServerBase类的具体用法?Python X11ServerBase怎么用?Python X11ServerBase使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了X11ServerBase类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: x11_init

    def x11_init(self):
        X11ServerBase.x11_init(self)
        init_x11_filter()

        self._has_focus = 0
        # Do this before creating the Wm object, to avoid clobbering its
        # selecting SubstructureRedirect.
        root = gtk.gdk.get_default_root_window()
        root.set_events(root.get_events() | gtk.gdk.SUBSTRUCTURE_MASK)
        root.property_change(gtk.gdk.atom_intern("XPRA_SERVER", False),
                            gtk.gdk.atom_intern("STRING", False),
                            8,
                            gtk.gdk.PROP_MODE_REPLACE,
                            xpra.__version__)
        add_event_receiver(root, self)

        ### Create the WM object
        self._wm = Wm(self.clobber)
        self._wm.connect("new-window", self._new_window_signaled)
        self._wm.connect("bell", self._bell_signaled)
        self._wm.connect("quit", lambda _: self.quit(True))

        self.default_cursor_data = None
        self.last_cursor_serial = None
        self.send_cursor_pending = False
        self.cursor_data = None
        self.cursor_sizes = None
        def get_default_cursor():
            self.default_cursor_data = X11Keyboard.get_cursor_image()
            log("get_default_cursor=%s", self.default_cursor_data)
        trap.swallow_synced(get_default_cursor)
        self._wm.enableCursors(True)
开发者ID:bossjones,项目名称:Xpra,代码行数:32,代码来源:server.py


示例2: _move_pointer

 def _move_pointer(self, wid, pos):
     window = self._id_to_window.get(wid)
     if not window:
         log("_process_mouse_common() invalid window id: %s", wid)
     else:
         window.raise_window()
     X11ServerBase._move_pointer(self, wid, pos)
开发者ID:bossjones,项目名称:Xpra,代码行数:7,代码来源:server.py


示例3: _move_pointer

 def _move_pointer(self, wid, pos):
     window = self._id_to_window.get(wid)
     if not window:
         mouselog("_move_pointer(%s, %s) invalid window id", wid, pos)
     else:
         mouselog("raising %s", window)
         window.raise_window()
     X11ServerBase._move_pointer(self, wid, pos)
开发者ID:svn2github,项目名称:Xpra,代码行数:8,代码来源:server.py


示例4: _move_pointer

 def _move_pointer(self, wid, pos):
     if wid>=0:
         window = self._id_to_window.get(wid)
         if not window:
             mouselog("_move_pointer(%s, %s) invalid window id", wid, pos)
         else:
             #TODO: just like shadow server, adjust for window position
             pass
     X11ServerBase._move_pointer(self, wid, pos)
开发者ID:svn2github,项目名称:Xpra,代码行数:9,代码来源:desktop_server.py


示例5: cleanup_source

 def cleanup_source(self, protocol):
     had_client = len(self._server_sources)>0
     X11ServerBase.cleanup_source(self, protocol)
     has_client = len(self._server_sources)>0
     if had_client and not has_client:
         #last client is gone:
         self.reset_settings()
         if self._has_grab:
             self.X11_ungrab()
开发者ID:svn2github,项目名称:Xpra,代码行数:9,代码来源:server.py


示例6: x11_init

 def x11_init(self):
     X11ServerBase.x11_init(self)
     assert init_x11_filter() is True
     display = gtk.gdk.display_get_default()
     screens = display.get_n_screens()
     for n in range(screens):
         screen = display.get_screen(n)
         root = screen.get_root_window()
         add_event_receiver(root, self)
     add_catchall_receiver("xpra-motion-event", self)
     add_catchall_receiver("xpra-xkb-event", self)
     X11Keyboard.selectBellNotification(True)
开发者ID:svn2github,项目名称:Xpra,代码行数:12,代码来源:desktop_server.py


示例7: _set_client_properties

 def _set_client_properties(self, proto, wid, window, new_client_properties):
     """
     Override so we can update the workspace on the window directly,
     instead of storing it as a client property
     """
     workspace = new_client_properties.get("workspace")
     workspacelog("workspace from client properties %s: %s", new_client_properties, workspace)
     if workspace is not None:
         window.move_to_workspace(workspace)
         #we have handled it on the window directly, so remove it from client properties
         del new_client_properties["workspace"]
     #handle the rest as normal:
     X11ServerBase._set_client_properties(self, proto, wid, window, new_client_properties)
开发者ID:svn2github,项目名称:Xpra,代码行数:13,代码来源:server.py


示例8: load_existing_windows

 def load_existing_windows(self):
     #at present, just one  window is forwarded:
     #the root window covering the whole display
     display = gtk.gdk.display_get_default()
     screens = display.get_n_screens()
     for n in range(screens):
         screen = display.get_screen(n)
         root = screen.get_root_window()
         model = DesktopModel(root)
         model.setup()
         windowlog("adding root window model %s", model)
         X11ServerBase._add_new_window_common(self, model)
         model.managed_connect("client-contents-changed", self._contents_changed)
         model.managed_connect("resized", self._window_resized_signaled)
开发者ID:svn2github,项目名称:Xpra,代码行数:14,代码来源:desktop_server.py


示例9: cleanup

 def cleanup(self, *args):
     if self._tray:
         self._tray.cleanup()
         self._tray = None
     X11ServerBase.cleanup(self)
     cleanup_x11_filter()
     cleanup_all_event_receivers()
     if self._wm:
         self._wm.cleanup()
         self._wm = None
     if self._has_grab:
         #normally we set this value when we receive the NotifyUngrab
         #but at this point in the cleanup, we probably won't, so force set it:
         self._has_grab = 0
         self.X11_ungrab()
开发者ID:svn2github,项目名称:Xpra,代码行数:15,代码来源:server.py


示例10: make_hello

 def make_hello(self, source):
     capabilities = X11ServerBase.make_hello(self, source)
     if source.wants_features:
         capabilities["window.raise"] = True
         capabilities["window.resize-counter"] = True
         capabilities["window.configure.skip-geometry"] = True
         capabilities["pointer.grabs"] = True
     return capabilities
开发者ID:svn2github,项目名称:Xpra,代码行数:8,代码来源:server.py


示例11: _add_new_window_common

 def _add_new_window_common(self, window):
     wid = X11ServerBase._add_new_window_common(self, window)
     window.managed_connect("client-contents-changed", self._contents_changed)
     window.managed_connect("unmanaged", self._lost_window)
     window.managed_connect("raised", self._raised_window)
     window.managed_connect("pointer-grab", self._pointer_grab)
     window.managed_connect("pointer-ungrab", self._pointer_ungrab)
     return wid
开发者ID:bossjones,项目名称:Xpra,代码行数:8,代码来源:server.py


示例12: x11_init

    def x11_init(self):
        X11ServerBase.x11_init(self)
        assert init_x11_filter() is True

        self._has_grab = 0
        self._has_focus = 0
        # Do this before creating the Wm object, to avoid clobbering its
        # selecting SubstructureRedirect.
        root = gtk.gdk.get_default_root_window()
        root.set_events(root.get_events() | gtk.gdk.SUBSTRUCTURE_MASK)
        root.property_change(gtk.gdk.atom_intern("XPRA_SERVER", False),
                            gtk.gdk.atom_intern("STRING", False),
                            8,
                            gtk.gdk.PROP_MODE_REPLACE,
                            xpra.__version__)
        add_event_receiver(root, self)

        ### Create the WM object
        self._wm = Wm(self.clobber, self.wm_name)
        self._wm.connect("new-window", self._new_window_signaled)
        self._wm.connect("bell", self._bell_signaled)
        self._wm.connect("quit", lambda _: self.clean_quit(True))
        self._wm.connect("show-desktop", self._show_desktop)

        #save default xsettings:
        self.default_xsettings = XSettingsHelper().get_settings()
        settingslog("default_xsettings=%s", self.default_xsettings)
        self._settings = {}
        self._xsettings_manager = None

        #for handling resize synchronization between client and server (this is not xsync!):
        self.last_client_configure_event = 0
        self.snc_timer = 0

        #cursor:
        self.default_cursor_data = None
        self.last_cursor_serial = None
        self.last_cursor_data = None
        self.send_cursor_pending = False
        def get_default_cursor():
            self.default_cursor_data = X11Keyboard.get_cursor_image()
            cursorlog("get_default_cursor=%s", self.default_cursor_data)
        trap.swallow_synced(get_default_cursor)
        self._wm.enableCursors(True)
开发者ID:svn2github,项目名称:Xpra,代码行数:44,代码来源:server.py


示例13: get_ui_info

 def get_ui_info(self, proto, wids, *args):
     info = X11ServerBase.get_ui_info(self, proto, wids, *args)
     #now cursor size info:
     display = gtk.gdk.display_get_default()
     for prop, size in {"default" : display.get_default_cursor_size(),
                        "max"     : display.get_maximal_cursor_size()}.items():
         if size is None:
             continue
         info["cursor.%s_size" % prop] = size
     return info
开发者ID:bossjones,项目名称:Xpra,代码行数:10,代码来源:server.py


示例14: _add_new_window_common

 def _add_new_window_common(self, window):
     windowlog("adding window %s", window)
     for prop in window.get_dynamic_property_names():
         window.connect("notify::%s" % prop, self._update_metadata)
     wid = X11ServerBase._add_new_window_common(self, window)
     window.managed_connect("client-contents-changed", self._contents_changed)
     window.managed_connect("unmanaged", self._lost_window)
     window.managed_connect("raised", self._raised_window)
     window.managed_connect("initiate-moveresize", self._initiate_moveresize)
     window.managed_connect("grab", self._window_grab)
     window.managed_connect("ungrab", self._window_ungrab)
     return wid
开发者ID:svn2github,项目名称:Xpra,代码行数:12,代码来源:server.py


示例15: make_hello

 def make_hello(self, source):
     capabilities = X11ServerBase.make_hello(self, source)
     if source.wants_features:
         capabilities.update({
                              "pointer.grabs"    : True,
                              "desktop"          : True,
                              })
         updict(capabilities, "window", {
             "decorations"            : True,
             "resize-counter"         : True,
             "configure.skip-geometry": True,
             "configure.pointer"      : True,
             })
     return capabilities
开发者ID:svn2github,项目名称:Xpra,代码行数:14,代码来源:desktop_server.py


示例16: get_ui_info

 def get_ui_info(self, proto, wids, *args):
     info = X11ServerBase.get_ui_info(self, proto, wids, *args)
     #_NET_WM_NAME:
     wm = self._wm
     if wm:
         info["window-manager-name"] = wm.get_net_wm_name()
     #now cursor size info:
     display = gtk.gdk.display_get_default()
     pos = display.get_default_screen().get_root_window().get_pointer()[:2]
     info["cursor.position"] = pos
     for prop, size in {"default" : display.get_default_cursor_size(),
                        "max"     : display.get_maximal_cursor_size()}.items():
         if size is None:
             continue
         info["cursor.%s_size" % prop] = size
     return info
开发者ID:svn2github,项目名称:Xpra,代码行数:16,代码来源:server.py


示例17: do_get_info

 def do_get_info(self, proto, server_sources, window_ids):
     info = X11ServerBase.do_get_info(self, proto, server_sources, window_ids)
     log("do_get_info: adding cursor=%s", self.cursor_data)
     #copy to prevent race:
     cd = self.cursor_data
     if cd is None:
         info["cursor"] = "None"
     else:
         info["cursor.is_default"] = bool(self.default_cursor_data and len(self.default_cursor_data)>=8 and len(cd)>=8 and cd[7]==cd[7])
         #all but pixels:
         i = 0
         for x in ("x", "y", "width", "height", "xhot", "yhot", "serial", None, "name"):
             if x:
                 v = cd[i] or ""
                 info["cursor." + x] = v
             i += 1
     return info
开发者ID:bossjones,项目名称:Xpra,代码行数:17,代码来源:server.py


示例18: do_get_info

 def do_get_info(self, proto, server_sources, window_ids):
     info = X11ServerBase.do_get_info(self, proto, server_sources, window_ids)
     info["focused"] = self._has_focus
     info["grabbed"] = self._has_grab
     log("do_get_info: adding cursor=%s", self.last_cursor_data)
     #copy to prevent race:
     cd = self.last_cursor_data
     if cd is None:
         info["cursor"] = "None"
     else:
         info["cursor.is_default"] = bool(self.default_cursor_data and len(self.default_cursor_data)>=8 and len(cd)>=8 and cd[7]==cd[7])
         #all but pixels:
         for i, x in enumerate(("x", "y", "width", "height", "xhot", "yhot", "serial", None, "name")):
             if x:
                 v = cd[i] or ""
                 info["cursor." + x] = v
     return info
开发者ID:svn2github,项目名称:Xpra,代码行数:17,代码来源:server.py


示例19: cleanup

 def cleanup(self, *args):
     if self._tray:
         self._tray.cleanup()
         self._tray = None
     X11ServerBase.cleanup(self)
开发者ID:bossjones,项目名称:Xpra,代码行数:5,代码来源:server.py


示例20: get_window_info

 def get_window_info(self, window):
     info = X11ServerBase.get_window_info(self, window)
     info["focused"] = self._window_to_id.get(window, -1)==self._has_focus
     return info
开发者ID:bossjones,项目名称:Xpra,代码行数:4,代码来源:server.py



注:本文中的xpra.x11.x11_server_base.X11ServerBase类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python xray.concat函数代码示例发布时间:2022-05-26
下一篇:
Python prop.prop_set函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap