加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

使用Python和Xorg获取当前窗口标题

发布时间:2020-12-13 19:11:40 所属栏目:Linux 来源:网络整理
导读:在stackoverflow回答了我之前关于我的Wiimote左/右点击问题的问题之后,我不仅可以移动鼠标光标,而且我现在可以左/右点击事物了.我现在还有一个问题. 我在python中使用什么来获取当前活动窗口的标题?谷歌搜索X11 Python窗口标题,Linux Python窗口标题和类似

在stackoverflow回答了我之前关于我的Wiimote左/右点击问题的问题之后,我不仅可以移动鼠标光标,而且我现在可以左/右点击事物了.我现在还有一个问题.

我在python中使用什么来获取当前活动窗口的标题?谷歌搜索’X11 Python窗口标题’,’Linux Python窗口标题’和类似的东西,我发现所有是win32和tkinker(再次?),这不是我需要的.

如果你能提供帮助,那就太棒了!

最佳答案
编辑

最好的办法:

import gtk
import wnck
import glib

class WindowTitle(object):
    def __init__(self):
        self.title = None
        glib.timeout_add(100,self.get_title)

    def get_title(self):
        try:
            title = wnck.screen_get_default().get_active_window().get_name()
            if self.title != title:
                self.title  = title
                print title
        except AttributeError:
            pass
        return True

WindowTitle()
gtk.main()

替代方式:

from subprocess import PIPE,Popen
import time

title = ''
root_check = ''

while True:
    time.sleep(0.6)
    root = Popen(['xprop','-root'],stdout=PIPE)

    if root.stdout != root_check:
        root_check = root.stdout

        for i in root.stdout:
            if '_NET_ACTIVE_WINDOW(WINDOW):' in i:
                id_ = i.split()[4]
                id_w = Popen(['xprop','-id',id_],stdout=PIPE)

        for j in id_w.stdout:
            if 'WM_ICON_NAME(STRING)' in j:
                if title != j.split()[2]:
                    title = j.split()[2]
                    print "current window title: %s" % title

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读