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)
और यह काम करता है लेकिन यह icky है। क्या ऐसा करने के लिए इससे अच्छा तरीका है?
पूरे लूप को 'window.is_on_workspace (screen.get_active_workspace()) द्वारा प्रतिस्थापित किया जा सकता है। सभी खिड़कियों पर फिर से शुरू करने की जरूरत नहीं है। –