本文整理汇总了Python中window.Window.set_prop方法的典型用法代码示例。如果您正苦于以下问题:Python Window.set_prop方法的具体用法?Python Window.set_prop怎么用?Python Window.set_prop使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类window.Window
的用法示例。
在下文中一共展示了Window.set_prop方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from window import Window [as 别名]
# 或者: from window.Window import set_prop [as 别名]
#.........这里部分代码省略.........
event_mask = xcffib.xproto.EventMask.ButtonPress | \
xcffib.xproto.EventMask.ButtonRelease | \
xcffib.xproto.EventMask.Button1Motion
modmask = get_modmask(modifiers)
pointer_mode = xproto.GrabMode.Async # I don't know what it is
keyboard_mode = xproto.GrabMode.Async # do not block other keyboard events
confine_to = xcffib.xproto.Atom._None # do not restrict cursor movements
cursor = xcffib.xproto.Atom._None # do not change cursor
event = ("on_mouse", modmask, button) # event to be used in hooks
self._conn.core.GrabButton(
owner_events,
wid,
event_mask,
pointer_mode,
keyboard_mode,
confine_to,
cursor,
button,
modmask,
)
self.flush() # TODO: do we need this?
return event
def hotkey(self, keys, cmd):
""" Setup hook to launch a command on specific hotkeys. """
@self.hook(self.grab_key(*keys))
def cb(event):
run_(cmd)
def focus_on(self, window, warp=False):
""" Focuses on given window. """
self.cur_desktop.focus_on(window, warp)
self.root.set_prop('_NET_ACTIVE_WINDOW', window.wid)
def switch_to(self, desktop: Desktop):
""" Switches to another desktop. """
if isinstance(desktop, int):
desktop = self.desktops[desktop]
if self.cur_desktop == desktop:
self.log.notice("attempt to switch to the same desktop")
return
self.log.debug("switching from {} to {}".format(
self.cur_desktop, desktop))
self.cur_desktop.hide()
self.cur_desktop = desktop
self.cur_desktop.show()
# TODO: move this code to Desktop.show()
self.root.props[self.atom._NET_CURRENT_DESKTOP] = desktop.id
def relocate_to(self, window: Window, to_desktop: Desktop):
""" Relocates window to a specific desktop. """
if window.sticky:
self.log.debug(
"%s is meant to be on all desktops, cannot relocate to specific one" % window)
return
from_desktop = self.cur_desktop
if from_desktop == to_desktop:
self.log.debug(
"no need to relocate %s because remains on the same desktop" % window)
return
from_desktop.remove(window)
to_desktop.add(window)