From 47d4fc848c9c690b87d1424e51a7be25158f7ace Mon Sep 17 00:00:00 2001 From: Vincent Bernat Date: Fri, 9 Jul 2021 20:11:56 +0200 Subject: [PATCH] i3-companion: don't display layout for workspaces unless empty --- bin/i3-companion | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/bin/i3-companion b/bin/i3-companion index 3b41ef3..6709829 100755 --- a/bin/i3-companion +++ b/bin/i3-companion @@ -269,22 +269,32 @@ async def workspace_info(i3, event): if not focused: return workspace = focused[0] - summary = f"About workspace {workspace.num} on {workspace.output}" + summary = f"Workspace {workspace.num} on {workspace.output}" tree = await i3.get_tree() workspace = [w for w in tree.workspaces() if w.num == workspace.num] def format(container): - if container.focused: - style = 'foreground="#ffaf00"' + if container.type == "workspace": + if container.nodes: + root = "" + else: + if container.ipc_data['workspace_layout'] != "default": + layout = container.ipc_data['workspace_layout'] + else: + layout = container.layout + root = f"Empty workspace, with {layout} layout" else: - style = 'foreground="#6c98ee"' - root = (f"" - f"({container.layout})" - "") - if container.window_title: - root += (f" {html.escape(container.window_class.lower())}:" - f" {html.escape(container.window_title)}") + if container.focused: + style = 'foreground="#ffaf00"' + else: + style = 'foreground="#6c98ee"' + root = (f"" + f"({container.layout})" + "") + if container.window_title: + root += (f" {html.escape(container.window_class.lower())}:" + f" {html.escape(container.window_title)}") children = [] for child in container.nodes: if child == container.nodes[-1]: @@ -303,7 +313,7 @@ async def workspace_info(i3, event): "-i", "system-search", "-t", "15000", summary, - body) + body.lstrip("\n")) output_update_running = None