我想(通过编程)知道哪个窗口当前处于焦点。有没有独立于窗口管理器的方式来发现这一点?
否则,如何确定 Compiz 或 Metacity 中哪个窗口具有焦点?
答案1
答案2
您可以使用的另一件事是xdotool:
xdotool getwindowfocus
将返回焦点窗口的窗口 ID,并且:
xdotool getwindowfocus getwindowname
会告诉你它的名字。
答案3
尝试使用 wnck 库,然后使用此代码:
import wnck
import gtk
while True:
if __name__ == '__main__':
screen = wnck.screen_get_default()
screen.force_update()
while True:
while gtk.events_pending():
gtk.main_iteration()
#time.sleep(0.5)
print screen.get_active_window().get_name()
答案4
如果你能将某些内容 ping 回到 shell:
xdpyinfo | grep focus
应该管用。
编辑:为了获得稍微干净的输出,请尝试以下操作:
xdpyinfo | grep -Eo 'window 0x[^,]+' | cut -d" " -f2