【问题标题】:Python: Xlib -- How can I raise(bring to top) windows?Python:Xlib——我如何提升(置顶)窗口?
【发布时间】:2009-10-24 00:49:18
【问题描述】:

我尝试过使用:

   win.configure(stack_mode=X.TopIf)
   win.set_input_focus(X.RevertToParent, X.CurrentTime)

但是,即使我的窗口管理器没有任何焦点丢失预防措施,这也不起作用,有人知道另一种方法吗? Xlib 与否。

【问题讨论】:

    标签: python linux xlib


    【解决方案1】:

    有一个名为wmctrl 的命令行工具允许您与兼容 EWMH/NetWM 的 X 窗口管理器进行交互。

    例如,

    wmctrl -l
    

    列出由窗口管理器管理的所有窗口,并且

    wmctrl -a Mozilla 
    

    激活列表中标题中包含字符串“Mozilla”的第一个窗口。 还有其他选择窗口的方法;以上只是一个例子。

    wmctrl 也可以让您移动和调整窗口大小。

    【讨论】:

      【解决方案2】:

      试试这个:

      window=Display().screen().root.query_pointer().child
      window.set_input_focus(X.RevertToParent, X.CurrentTime)
      window.configure(stack_mode=X.Above)
      

      【讨论】:

      • 添加一个 display.sync() 有助于强制它,我需要这条线用于 Ubuntu 上的 Xorg
      【解决方案3】:

      也许这是解决方案:
      [Xlib] Force Raise/Map/Focus a given Window

      给定的解决方案(按照线程)涉及使用 wnck,它在 Python 中是 Gtk+ 绑定的一部分。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-18
        • 1970-01-01
        • 2020-06-29
        • 1970-01-01
        相关资源
        最近更新 更多