i3-companion: don't display layout for workspaces unless empty

This commit is contained in:
Vincent Bernat 2021-07-09 20:11:56 +02:00
parent 28688357a1
commit 47d4fc848c

View file

@ -269,22 +269,32 @@ async def workspace_info(i3, event):
if not focused: if not focused:
return return
workspace = focused[0] 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() tree = await i3.get_tree()
workspace = [w for w in tree.workspaces() workspace = [w for w in tree.workspaces()
if w.num == workspace.num] if w.num == workspace.num]
def format(container): def format(container):
if container.focused: if container.type == "workspace":
style = 'foreground="#ffaf00"' 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: else:
style = 'foreground="#6c98ee"' if container.focused:
root = (f"<span {style}>" style = 'foreground="#ffaf00"'
f"({container.layout})" else:
"</span>") style = 'foreground="#6c98ee"'
if container.window_title: root = (f"<span {style}>"
root += (f" {html.escape(container.window_class.lower())}:" f"({container.layout})"
f" {html.escape(container.window_title)}") "</span>")
if container.window_title:
root += (f" {html.escape(container.window_class.lower())}:"
f" {html.escape(container.window_title)}")
children = [] children = []
for child in container.nodes: for child in container.nodes:
if child == container.nodes[-1]: if child == container.nodes[-1]:
@ -303,7 +313,7 @@ async def workspace_info(i3, event):
"-i", "system-search", "-i", "system-search",
"-t", "15000", "-t", "15000",
summary, summary,
body) body.lstrip("\n"))
output_update_running = None output_update_running = None