diff options
| author | Robin Seger <pixelkhaos@gmail.com> | 2026-03-15 07:34:52 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-15 17:34:52 +1100 |
| commit | 1508abd3e13fe30bd90bc11d80b52aa8d8d4596e (patch) | |
| tree | aea4c81ace0344dbda5515b3e0ad613a3dd37568 /modules/bar | |
| parent | dash: use currentIndex for width, restore binding (#1286) (diff) | |
| download | caelestia-shell-1508abd3e13fe30bd90bc11d80b52aa8d8d4596e.tar.gz caelestia-shell-1508abd3e13fe30bd90bc11d80b52aa8d8d4596e.tar.bz2 caelestia-shell-1508abd3e13fe30bd90bc11d80b52aa8d8d4596e.zip | |
workspaces: window icons limit (#1267)
* workspace window icons display limit
* serialization
Diffstat (limited to 'modules/bar')
| -rw-r--r-- | modules/bar/components/workspaces/SpecialWorkspaces.qml | 6 | ||||
| -rw-r--r-- | modules/bar/components/workspaces/Workspace.qml | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/modules/bar/components/workspaces/SpecialWorkspaces.qml b/modules/bar/components/workspaces/SpecialWorkspaces.qml index ad85af8..cd3572b 100644 --- a/modules/bar/components/workspaces/SpecialWorkspaces.qml +++ b/modules/bar/components/workspaces/SpecialWorkspaces.qml @@ -224,7 +224,11 @@ Item { Repeater { model: ScriptModel { - values: Hypr.toplevels.values.filter(c => c.workspace?.id === ws.wsId) + values: { + const windows = Hypr.toplevels.values.filter(c => c.workspace?.id === ws.wsId); + const maxIcons = Config.bar.workspaces.maxWindowIcons; + return maxIcons > 0 ? windows.slice(0, maxIcons) : windows; + } } MaterialIcon { diff --git a/modules/bar/components/workspaces/Workspace.qml b/modules/bar/components/workspaces/Workspace.qml index 3c8238b..f6e767e 100644 --- a/modules/bar/components/workspaces/Workspace.qml +++ b/modules/bar/components/workspaces/Workspace.qml @@ -87,7 +87,11 @@ ColumnLayout { Repeater { model: ScriptModel { - values: Hypr.toplevels.values.filter(c => c.workspace?.id === root.ws) + values: { + const windows = Hypr.toplevels.values.filter(c => c.workspace?.id === root.ws); + const maxIcons = Config.bar.workspaces.maxWindowIcons; + return maxIcons > 0 ? windows.slice(0, maxIcons) : windows; + } } MaterialIcon { |