7
pygtkウィンドウが現在のデスクトップにあることを確認するにはどうすればよいですか?ウィンドウが現在のデスクトップにあるかどうかを確認しますか?
私は固定だプログラムがあります。私のようにwnck
でwindow_is_on_current_workspace(window)
を実装することができ
if self.pymp.window.get_property('visible') and window_is_on_current_workspace(self.pymp.window):
:
if self.pymp.window.get_property('visible'):
で:
if self.pymp.window.get_property('visible'):
self.pymp.window.hide()
else:
self.pymp.window.move(self.pymp.position[0], self.pymp.position[1])
self.pymp.window.show()
self.pymp.window.present()
は私が交換したい
def window_is_on_current_workspace(window):
import wnck
v = wnck.screen_get_default() # needed due to known bug
xid = window.window.xid
win = None
while win is None:
win = wnck.window_get(xid)
if gtk.events_pending():
gtk.main_iteration()
wor = win.get_screen().get_active_workspace()
return win.is_on_workspace(wor)
それは動作しますが、それは不気味です。これを行うより良い方法はありますか?
ループ全体を 'window.is_on_workspace(screen.get_active_workspace()) 'に置き換えることができます。すべてのウィンドウを反復処理する必要はありません。 –