diff --git a/config/ags/js/bar/workspaces.js b/config/ags/js/bar/workspaces.js index db33c5d..3bd4966 100644 --- a/config/ags/js/bar/workspaces.js +++ b/config/ags/js/bar/workspaces.js @@ -1,22 +1,14 @@ -// https://github.com/Aylur/dotfiles/blob/f03e58ba0d3b56f1144631c179ab27357e466753/.config/ags/modules/hyprland.js#L4 -import Gdk from 'gi://Gdk'; -const display = Gdk.Display.get_default(); -const { App } = ags; const { Hyprland, Applications } = ags.Service; -const { execAsync, lookUpIcon } = ags.Utils; -const { Box, Button, EventBox, Label, Icon } = ags.Widget; +const { execAsync } = ags.Utils; +const { Box, Button, Label, Revealer } = ags.Widget; -export const Workspace = ({ i, } = {}) => -ags.Widget.Revealer({ +import { EventBox } from '../common.js'; + +const Workspace = ({ i } = {}) => +Revealer({ transition: "slide_right", child: EventBox({ onPrimaryClickRelease: () => execAsync(`hyprctl dispatch workspace ${i}`).catch(print), - onHover: box => { - box.window.set_cursor(Gdk.Cursor.new_from_name(display, 'pointer')); - }, - onHoverLost: box => { - box.window.set_cursor(null); - }, child: Box({ className: 'button', child: Label(`${i}`), @@ -33,32 +25,22 @@ ags.Widget.Revealer({ }), }); -var prev = Hyprland.active.workspace.id; - export const Workspaces = props => Box({ - className: 'workspaces panel-button', + className: 'workspaces', children: [EventBox({ child: Box({ + children: Array.from({ length: 15 }, (_, i) => i + 1).map(i => Workspace({ i: i})), connections: [[Hyprland, box => { let workspaces = []; + Hyprland.workspaces.forEach(ws => { + if (ws.id > 0) workspaces.push(ws); + }); - new Promise(resolve => { - - Hyprland.workspaces.forEach(ws => { - if (ws.id > 0) workspaces.push(ws); - }); - - resolve(); - }).then(value => { - - box.children.forEach(rev => rev.reveal_child = false); - workspaces.forEach(ws => { - box.children[ws.id - 1].reveal_child = true; - }); - + box.children.forEach(rev => rev.reveal_child = false); + workspaces.forEach(ws => { + box.children[ws.id - 1].reveal_child = true; }); }]], - children: Array.from({ length: 15 }, (_, i) => i + 1).map(i => Workspace({ i: i})), }), })], });