#!/usr/bin/env python #!coding: utf-8 from gi.repository import Gtk from gi.repository import Wnck class windowcontextmenu(Gtk.Menu): def switch_window(self, widget, window_list): self.popdown() try: workspace=window_list.get_workspace() workspace.activate(Gtk.get_current_event_time()) except: pass window_list.activate(Gtk.get_current_event_time()) def displaymenue(self): default = Wnck.Screen.get_default() default.force_update() workspace=default.get_active_workspace() active_window=default.get_active_window().get_name() menu_item=Gtk.MenuItem('_'+active_window) menu_item.connect("activate", self.switch_window, default.get_active_window()) menu_item.set_use_underline(True) self.append(menu_item) for window_list in default.get_windows(): window_name=window_list.get_name() if window_name!=active_window: menu_item=Gtk.MenuItem('_'+window_name) menu_item.connect("activate", self.switch_window, window_list) menu_item.set_use_underline(True) self.append(menu_item) self.connect("deactivate", Gtk.main_quit) self.show_all() self.select_first(True) self.show_all() self.popup(None, None, None, None, 0, Gtk.get_current_event_time())