Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from gi.repository import Gtk as gtk
- from gi.repository import Gdk as gdk
- from gi.repository import GObject as gobject
- from gi.repository import Wnck as wnck
- class App:
- def __init__(self):
- self.checker = wnck.Screen.get_default()
- self.checker.connect("active-window-changed", self.RefreshItAgain)
- self.checker.connect("active-workspace-changed", self.RefreshIt)
- self.checker.connect("window-opened", self.RefreshIt)
- self.checker.connect("window-closed", self.RefreshIt)
- self.checker.get_active_workspace()
- self.checker.get_active_window()
- self.checker.get_windows()
- self.checker.get_workspaces()
- #create appbar box and window#
- self.appbarHBox = gtk.HBox()
- self.appbarHBox.set_name("appbarHBox")
- self.appbarHBox.show()
- dockWindow = gtk.Window()
- dockWindow.connect("destroy",lambda w: gtk.main_quit())
- dockWindow.set_size_request(gdk.Screen.get_default().get_width(),0)
- dockWindow.set_decorated(True)
- dockWindow.set_keep_above(True)
- dockWindow.set_decorated(False)
- dockWindow.add(self.appbarHBox)
- dockWindow.show_all()
- gobject.timeout_add(2,self.RefreshIt)
- dockWindow.show_all()
- gtk.main()
- def Activate(self,checker,widnow):
- widnow.activate(int(gobject.get_current_time()))
- def RefreshItAgain(self,checker,widnow):
- try:
- activeWindow = self.checker.get_active_window()
- for b in self.appbarHBox.get_children():
- b.set_active(b.window == window)
- except Exception:
- pass
- def RefreshIt(self,*args):
- for b in self.appbarHBox.get_children():
- self.appbarHBox.remove(b)
- activeWorkspace = self.checker.get_active_workspace()
- activeWindow = self.checker.get_active_window()
- for w in self.checker.get_windows():
- if w.get_workspace() == activeWorkspace:
- self.appButton = gtk.ToggleButton()
- self.appButton.set_relief(gtk.ReliefStyle.NONE)
- self.appButton.w = w
- self.appButton.set_active(w == activeWindow)
- self.appButtonIcon = w.get_icon()
- self.appButton.set_image(gtk.Image.new_from_pixbuf(self.appButtonIcon))
- self.appButton.set_tooltip_text(w.get_name())
- self.appButton.connect("clicked",self.Activate,w)
- self.appButton.show()
- self.appbarHBox.pack_start(self.appButton,False,False,0)
- App()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement