Switch to using wmctrl to activate window. So, new dependency: wmctrl.
Switch to using wmctrl to activate window. So, new dependency: wmctrl.
diff --git a/qwerty.py b/qwerty.py
index 14e9b4c..4d84081 100755
--- a/qwerty.py
+++ b/qwerty.py
@@ -218,7 +218,7 @@ class GUI(object):
self.buttons = {}
self.sbuttons = []
self.by_class = {}
- self.by_xid = {}
+# self.by_xid = {}
for c in A:
self.buttons[c] = SuperButton(c)
@@ -266,8 +266,8 @@ class GUI(object):
self.window.connect('destroy', self.exit)
self.window.connect('key-release-event', self.on_key)
- self.window.fullscreen()
-# self.window.resize(800,600)
+# self.window.fullscreen()
+ self.window.resize(800,600)
self.collect_windows()
@@ -286,7 +286,7 @@ class GUI(object):
elif clss:
self.by_class[clss] = w
- self.by_xid = dict([(w.id,w) for w in self.clients_list])
+# self.by_xid = dict([(w.id,w) for w in self.clients_list])
def exit(self,widget=None):
gtk.main_quit()
@@ -316,22 +316,27 @@ class GUI(object):
self.root.send_event(ev, event_mask=mask)
def activate_window(self,cls):
- self.display.flush()
- wnd = self.by_class[cls]
- wnd.configure(stack_mode=X.Above)
- wnd.set_input_focus(X.RevertToNone, X.CurrentTime)
-# self.send_event(wnd, self.NET_ACTIVE_WINDOW, [X.CurrentTime])
+# self.display.flush()
+# wnd = self.by_class[cls]
+# wnd = self.display.create_resource_object('window',wnd)
+# wnd.configure(stack_mode=X.Above)
+# wnd.set_input_focus(X.RevertToNone, X.CurrentTime)
+# src = self.window.window.xid
+# self.send_event(wnd, self.NET_ACTIVE_WINDOW, [1, X.CurrentTime, src])
+# self.display.flush()
# wnd.map()
+# print wnd.id
+ os.system("wmctrl -x -a %s" % cls)
def on_button(self,widget,event=None):
if widget.running:
- print "Activating", widget.label.get_text()
+# print "Activating", widget.label
self.activate_window(widget.cls)
else:
self.key_exec(widget.key)
self.exit()
- def on_section(self,widget):
+ def on_section(self,widget,event=None):
self.show_section(widget.key)
def show_section(self,k):