def get_windows(self, *args): def nfg(task): return "^fg(" + self.TASKS_NFG + ")" + task + "^fg()" def nbg(task): return "^bg(" + self.TASKS_NBG + ")" + task + "^bg()" def ifg(task): return task.replace("^fg(" + self.TASKS_NFG, "^fg(" + self.TASKS_IFG) def ibg(task): return task.replace("^fg(" + self.TASKS_NBG, "^fg(" + self.TASKS_IBG) def afg(task): return task.replace("^fg(" + self.TASKS_NFG, "^fg(" + self.TASKS_AFG) def abg(task): return task.replace("^bg(" + self.TASKS_NBG, "^bg(" + self.TASKS_ABG) def ca_task(task, uniq): return " ^ca(1, polaris.py -t " + uniq + ")" + task + "^ca() " self.windows = "" workspaces = self.screen.get_workspaces() windows = self.screen.get_windows() if windows != None: windows_workspaces_dict = {} for workspace in workspaces: windows_workspaces_dict[workspace.get_name()] = [] for window in windows: if not window.is_skip_tasklist(): window_workspace = window.get_workspace() window_workspace_name = window_workspace.get_name() if window_workspace != None: if not window_workspace_name in windows_workspaces_dict: windows_workspaces_dict[window_workspace_name] = [] windows_workspaces_dict[window_workspace.get_name()].append(window) else: if window.is_sticky() or self.screen.get_window_manager_name() == "Openbox": for workspace in windows_workspaces_dict: windows_workspaces_dict[workspace].append(window) cw_window_full_names = [] active_workspace = self.screen.get_active_workspace().get_name() count = 0 for window in windows_workspaces_dict[active_workspace]: window.connect("name-changed", self.filter_name_change) window_full_name = unicode(window.get_name()) window_name = window_full_name if len(window_full_name) > 30: window_name = window_full_name[:29] + u"\u2026" cw_window_full_names.append(ca_task(nbg(nfg("^ro(3x3) " + window_name)), str(window.get_xid()))) if window.is_minimized(): cw_window_full_names[count] = ibg(ifg(cw_window_full_names[count])) self.active_window = self.screen.get_active_window() if self.active_window != None: if window_full_name == self.active_window.get_name(): cw_window_full_names[count] = util.fill_ro(abg(afg(cw_window_full_names[count]))) self.windows = " ".join([cw_window_full_names[count]]) count = count + 1 #self.windows = " ".join(cw_window_full_names) #self.windows = " ".join([cw_window_full_names[count]]) else: self.windows = "" if args: self.output_dzen_line()
def get_workspaces(self, *args): def nfg(workspace): return "^fg(" + self.WORKSPACES_NFG + ")" + workspace + "^fg()" def nbg(workspace): return "^bg(" + self.WORKSPACES_NBG + ")" + workspace + "^bg()" def afg(workspace): return workspace.replace("^fg(" + self.WORKSPACES_NFG, "^fg(" + self.WORKSPACES_AFG) def abg(workspace): return workspace.replace("^bg(" + self.WORKSPACES_NBG, "^bg(" + self.WORKSPACES_ABG) def ca_workspace(workspace_label, workspace_number): return "^ca(1, polaris.py -w " + str(workspace_number) + ")" + workspace_label + "^ca()" wm_workspaces = self.screen.get_workspaces() wm_windows = self.screen.get_windows() workspaces = {} active_ws = self.screen.get_active_workspace() active_ws_num = active_ws.get_number() for ws in wm_workspaces: ws_num = ws.get_number() ws_in_use = ws_num == active_ws_num if not ws_in_use: for win in wm_windows: win_ws = win.get_workspace() win_ws_num = win_ws.get_number() if win.is_skip_tasklist() or ws_num != win_ws_num: continue ws_in_use = True break ws.connect("name-changed", self.get_workspaces) if ws_in_use: workspaces[ws_num] = ca_workspace(nbg(nfg("^p(;2)^ro(4x4)^p(;-2) " + ws.get_name() + " ")), ws_num) workspaces[active_ws_num] = util.fill_ro(abg(afg(workspaces[active_ws_num]))) self.workspaces = " ".join([ x[1] for x in sorted(workspaces.iteritems()) ]) + "^p()" #self.get_windows() if args: self.output_dzen_line()