From d49a811d16770ae48e64d090ea15e301808d0671 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Mon, 7 Apr 2025 15:49:40 +1000 Subject: bar: show windows on each workspace --- src/config/defaults.ts | 1 + src/config/types.ts | 1 + src/modules/bar.tsx | 74 ++++++++++++++++++++++++++++++-------------------- 3 files changed, 46 insertions(+), 30 deletions(-) (limited to 'src') diff --git a/src/config/defaults.ts b/src/config/defaults.ts index 7532d7f..f256265 100644 --- a/src/config/defaults.ts +++ b/src/config/defaults.ts @@ -49,6 +49,7 @@ export default { showLabels: false, labels: ["󰮯", "󰮯", "󰮯", "󰮯", "󰮯"], xalign: -1, + showWindows: false, }, dateTime: { format: "%d/%m/%y %R", diff --git a/src/config/types.ts b/src/config/types.ts index 0a30145..eea8738 100644 --- a/src/config/types.ts +++ b/src/config/types.ts @@ -37,6 +37,7 @@ export default { "bar.modules.workspaces.showLabels": BOOL, "bar.modules.workspaces.labels": ARR(STR), "bar.modules.workspaces.xalign": NUM, + "bar.modules.workspaces.showWindows": BOOL, "bar.modules.dateTime.format": STR, "bar.modules.dateTime.detailedFormat": STR, // Launcher diff --git a/src/modules/bar.tsx b/src/modules/bar.tsx index 97ce4d5..447b69d 100644 --- a/src/modules/bar.tsx +++ b/src/modules/bar.tsx @@ -204,47 +204,61 @@ const MediaPlaying = ({ monitor, ...props }: ModuleProps) => { }; const Workspace = ({ idx }: { idx: number }) => { - let wsId = hyprland.focusedWorkspace - ? Math.floor((hyprland.focusedWorkspace.id - 1) / config.modules.workspaces.shown.get()) * - config.modules.workspaces.shown.get() + - idx - : idx; + const wsId = Variable.derive([bind(hyprland, "focusedWorkspace"), config.modules.workspaces.shown], (f, s) => + f ? Math.floor((f.id - 1) / s) * s + idx : idx + ); + + const label = ( +