From a9626cfd899a821346af5be020a480ecdd267351 Mon Sep 17 00:00:00 2001 From: notohh Date: Wed, 3 Jan 2024 17:08:17 -0500 Subject: [PATCH] ags: updates --- home/ags/config/import.js | 2 ++ home/ags/config/js/main.js | 25 +++++++++++------- home/ags/config/js/widgets/hyprland.js | 17 ++++++++++++ home/ags/config/js/widgets/image.js | 9 ------- home/ags/config/js/widgets/images/image.js | 9 +++++++ .../config/js/widgets/images/static/nixos.png | Bin 0 -> 28684 bytes home/ags/config/js/widgets/music.js | 17 ++++++++++++ home/ags/config/js/widgets/system.js | 0 home/ags/config/js/widgets/time.js | 2 +- home/ags/config/main.scss | 9 ++++++- home/ags/config/scss/bar.scss | 8 ++---- home/ags/config/scss/colors.scss | 24 +++++++++++++++++ home/ags/config/scss/general.scss | 7 ----- home/ags/config/scss/widgets.scss | 21 +++++++++++++++ home/ags/default.nix | 2 +- 15 files changed, 117 insertions(+), 35 deletions(-) create mode 100644 home/ags/config/js/widgets/hyprland.js delete mode 100644 home/ags/config/js/widgets/image.js create mode 100644 home/ags/config/js/widgets/images/image.js create mode 100644 home/ags/config/js/widgets/images/static/nixos.png create mode 100644 home/ags/config/js/widgets/music.js create mode 100644 home/ags/config/js/widgets/system.js create mode 100644 home/ags/config/scss/colors.scss create mode 100644 home/ags/config/scss/widgets.scss diff --git a/home/ags/config/import.js b/home/ags/config/import.js index aa7ddb2..e6b5813 100644 --- a/home/ags/config/import.js +++ b/home/ags/config/import.js @@ -7,6 +7,7 @@ import Audio from "resource:///com/github/Aylur/ags/service/audio.js"; import Hyprland from "resource:///com/github/Aylur/ags/service/hyprland.js"; import Network from "resource:///com/github/Aylur/ags/service/network.js"; import SystemTray from "resource:///com/github/Aylur/ags/service/systemtray.js"; +import Mpris from 'resource:///com/github/Aylur/ags/service/mpris.js'; export { App, @@ -18,4 +19,5 @@ export { Utils, Variable, Widget, + Mpris, }; \ No newline at end of file diff --git a/home/ags/config/js/main.js b/home/ags/config/js/main.js index b879778..00c1656 100644 --- a/home/ags/config/js/main.js +++ b/home/ags/config/js/main.js @@ -1,26 +1,31 @@ import { Widget } from '../import.js'; import { Time } from './widgets/time.js' -import { nixosLogo } from './widgets/image.js'; +import { nixosLogo } from './widgets/images/image.js'; +import { Media } from './widgets/music.js'; +import { Workspaces } from './widgets/hyprland.js'; const Start = () => Widget.Box({ hpack: "start", children: [ - nixosLogo() + nixosLogo(), + Workspaces(), ] -}) +}); const Center = () => Widget.Box({ - children: [] -}) + children: [ + Media(), + ] +}); const End = () => Widget.Box({ hpack: "end", children: [ - Time() + Time(), ] -}) +}); const Bar = (monitor) => Widget.Window({ monitor, - name: `bar-${monitor}`, + name: `bar`, anchor: ['top', 'left', 'right'], exclusivity: 'exclusive', child: Widget.CenterBox({ @@ -28,8 +33,8 @@ const Bar = (monitor) => Widget.Window({ centerWidget: Center(), endWidget: End(), }), -}) +}); export { Bar -} \ No newline at end of file +} diff --git a/home/ags/config/js/widgets/hyprland.js b/home/ags/config/js/widgets/hyprland.js new file mode 100644 index 0000000..930db18 --- /dev/null +++ b/home/ags/config/js/widgets/hyprland.js @@ -0,0 +1,17 @@ +import { Hyprland, Widget } from "../../import.js"; + +const Workspaces = () => Widget.Box({ + class_name: 'workspaces', + children: Hyprland.bind('workspaces').transform(ws => { + return ws.map(({ id }) => Widget.Button({ + on_clicked: () => Hyprland.sendMessage(`dispatch workspace ${id}`), + child: Widget.Label(`${id}`), + class_name: Hyprland.active.workspace.bind('id') + .transform(i => `${i === id ? 'focused' : ''}`), + })); + }), +}); + +export { + Workspaces +} \ No newline at end of file diff --git a/home/ags/config/js/widgets/image.js b/home/ags/config/js/widgets/image.js deleted file mode 100644 index 23e1dd4..0000000 --- a/home/ags/config/js/widgets/image.js +++ /dev/null @@ -1,9 +0,0 @@ -import { Widget } from '../../import.js'; - -const nixosLogo = () => Widget.Icon({ - icon: '/home/notoh/Pictures/icons/nixos.png' -}); - -export { - nixosLogo -} \ No newline at end of file diff --git a/home/ags/config/js/widgets/images/image.js b/home/ags/config/js/widgets/images/image.js new file mode 100644 index 0000000..bf3635a --- /dev/null +++ b/home/ags/config/js/widgets/images/image.js @@ -0,0 +1,9 @@ +import { Widget } from '../../../import.js'; + +const nixosLogo = () => Widget.Icon({ + icon: '/home/notoh/snowflake/home/ags/config/js/widgets/images/static/nixos.png' +}); + +export { + nixosLogo +} \ No newline at end of file diff --git a/home/ags/config/js/widgets/images/static/nixos.png b/home/ags/config/js/widgets/images/static/nixos.png new file mode 100644 index 0000000000000000000000000000000000000000..acbaad447a878c1a51db324ed07d8e938cb38127 GIT binary patch literal 28684 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 Widget.Box({ + class_name: 'media', + child: Widget.Label('-').hook(Mpris, self => { + if (Mpris.players[0]) { + const { track_artists, track_title } = Mpris.players[0]; + self.label = `${track_artists.join(', ')} - ${track_title}`; + } else { + self.label = 'Nothing is playing'; + } + }, 'player-changed'), +}); + +export { + Media +} \ No newline at end of file diff --git a/home/ags/config/js/widgets/system.js b/home/ags/config/js/widgets/system.js new file mode 100644 index 0000000..e69de29 diff --git a/home/ags/config/js/widgets/time.js b/home/ags/config/js/widgets/time.js index 0518b83..e2e7f27 100644 --- a/home/ags/config/js/widgets/time.js +++ b/home/ags/config/js/widgets/time.js @@ -1,7 +1,7 @@ import { Widget, Utils } from '../../import.js'; -const Time = () => Widget.EventBox({ +const Time = () => Widget.Box({ child: Widget.Label({ className: "date" }).poll( diff --git a/home/ags/config/main.scss b/home/ags/config/main.scss index 83a584f..2e31397 100644 --- a/home/ags/config/main.scss +++ b/home/ags/config/main.scss @@ -1,2 +1,9 @@ @import 'scss/bar.scss'; -@import 'scss/general.scss'; \ No newline at end of file +@import 'scss/general.scss'; +@import 'scss/widgets.scss'; + +* { + all: unset; + margin: 3px; + font-family: 'Monaspace Krypton'; +} \ No newline at end of file diff --git a/home/ags/config/scss/bar.scss b/home/ags/config/scss/bar.scss index 78616b6..0bfb0c4 100644 --- a/home/ags/config/scss/bar.scss +++ b/home/ags/config/scss/bar.scss @@ -1,9 +1,5 @@ -* { - all: unset; - margin: 3px; - font-family: 'Monaspace Krypton'; -} +@import 'colors.scss'; window { - background-color: black; + background-color: $background; } \ No newline at end of file diff --git a/home/ags/config/scss/colors.scss b/home/ags/config/scss/colors.scss new file mode 100644 index 0000000..2e92c60 --- /dev/null +++ b/home/ags/config/scss/colors.scss @@ -0,0 +1,24 @@ +/* tokyonight */ + +$red: #f7768e; +$orange: #ff9e64; +$yellow: #e0af68; +$light-green: #9ece6a; +$green: #73daca; +$turquoise: #89ddff; +$light-cyan: #b4f9f8; +$teal: #2ac3de; +$cyan: #7dcfff; +$blue: #7aa2f7; +$magenta: #bb9af7; +$white: #c0caf5; +$light-gray: #9aa5ce; +$parameters: #cfc9c2; +$comment: #565f89; +$black: #414868; +$foreground: #a9b1d6; +$foreground-highlight: #c0caf5; +$foreground-gutter: #363b54; +$background: #1a1b26; +$background-highlight: #30374b; +$background-menu: #16161e; \ No newline at end of file diff --git a/home/ags/config/scss/general.scss b/home/ags/config/scss/general.scss index ec4f763..e69de29 100644 --- a/home/ags/config/scss/general.scss +++ b/home/ags/config/scss/general.scss @@ -1,7 +0,0 @@ -.date { - color: #ffffff; -} - -image { - font-size: 24px; -} \ No newline at end of file diff --git a/home/ags/config/scss/widgets.scss b/home/ags/config/scss/widgets.scss new file mode 100644 index 0000000..9730f6a --- /dev/null +++ b/home/ags/config/scss/widgets.scss @@ -0,0 +1,21 @@ +@import 'colors.scss'; + +@mixin widget { + color: $white +}; + +.date { + @include widget(); +} + +.workspaces { + @include widget(); +}; + +.media { + @include widget(); +} + +image { + font-size: 24px; +} \ No newline at end of file diff --git a/home/ags/default.nix b/home/ags/default.nix index 05a4dc7..db78e95 100644 --- a/home/ags/default.nix +++ b/home/ags/default.nix @@ -7,7 +7,7 @@ in { programs.ags = { enable = true; - extraPackages = with pkgs; [libsoup_3]; + extraPackages = with pkgs; [libsoup_3 libdbusmenu-gtk3]; }; home.packages = with pkgs; [dart-sass]; xdg.configFile = {