From 19120d4f9761c67d99ed1ce3da6084b83f5a49c9 Mon Sep 17 00:00:00 2001 From: srdusr Date: Sat, 30 Aug 2025 19:22:59 +0200 Subject: Linux-specific dotfiles --- .config/ags/widget/bar/buttons/Workspaces.ts | 66 ---------------------------- 1 file changed, 66 deletions(-) delete mode 100644 .config/ags/widget/bar/buttons/Workspaces.ts (limited to '.config/ags/widget/bar/buttons/Workspaces.ts') diff --git a/.config/ags/widget/bar/buttons/Workspaces.ts b/.config/ags/widget/bar/buttons/Workspaces.ts deleted file mode 100644 index a59f61b..0000000 --- a/.config/ags/widget/bar/buttons/Workspaces.ts +++ /dev/null @@ -1,66 +0,0 @@ -import PanelButton from '../PanelButton'; -import options from 'options'; -import { sh, range } from 'lib/utils'; - -const hyprland = await Service.import('hyprland'); -const { workspaces } = options.bar.workspaces; - -const dispatch = arg => { - sh(`hyprctl dispatch workspace ${arg}`); -}; - -const Workspaces = ws => - Widget.Box({ - children: range(ws || 20).map(i => - Widget.Label({ - attribute: i, - vpack: 'center', - label: `${i}`, - setup: self => { - const updateState = () => { - const monitorData = JSON.parse(hyprland.message('j/monitors')); - const activeWorkspaceId = monitorData[0]?.activeWorkspace?.id; - const workspaceData = hyprland.getWorkspace(i); - - if (activeWorkspaceId !== undefined) { - self.toggleClassName('active', activeWorkspaceId === i); - } - self.toggleClassName('occupied', (workspaceData?.windows || 0) > 0); - }; - - // Hook to Hyprland for updates - self.hook(hyprland, updateState); - - // Initial update - updateState(); - }, - }), - ), - setup: box => { - box.hook(hyprland, () => { - const monitorData = JSON.parse(hyprland.message('j/monitors')); - const activeWorkspaceId = monitorData[0]?.activeWorkspace?.id; - - if (activeWorkspaceId !== undefined) { - for (const btn of box.children) { - const workspaceId = btn.attribute; - btn.toggleClassName('active', workspaceId === activeWorkspaceId); - - if (ws === 0) { - btn.visible = hyprland.workspaces.some(workspace => workspace.id === workspaceId); - } - } - } - }); - }, - }); - -export default () => - PanelButton({ - window: 'overview', - class_name: 'workspaces', - on_scroll_up: () => dispatch('m+1'), - on_scroll_down: () => dispatch('m-1'), - on_clicked: () => App.toggleWindow('overview'), - child: workspaces.bind().as(Workspaces), - }); -- cgit v1.2.3