From 912479c43dcb61c8721b37b63f7fcf87af1ae68e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thea=20Sch=C3=B6bl?= Date: Sun, 29 Oct 2023 15:05:17 +0100 Subject: [PATCH] ags steal --- desktops/hyprland/ags/config.js | 51 + desktops/hyprland/ags/data/keybinds.js | 132 ++ desktops/hyprland/ags/data/keyboardlayouts.js | 114 ++ desktops/hyprland/ags/data/quotes.js | 14 + desktops/hyprland/ags/imports.js | 40 + desktops/hyprland/ags/modules/calendar.js | 364 ++++ desktops/hyprland/ags/modules/keybinds.js | 60 + desktops/hyprland/ags/modules/leftspace.js | 101 ++ .../hyprland/ags/modules/lib/actioncenter.js | 245 +++ .../modules/lib/animatedcircularprogress.js | 74 + .../ags/modules/lib/contextmenuitem.js | 10 + .../hyprland/ags/modules/lib/cursorhover.js | 70 + .../hyprland/ags/modules/lib/materialicon.js | 7 + .../ags/modules/lib/navigationindicator.js | 73 + .../hyprland/ags/modules/lib/notification.js | 298 ++++ .../hyprland/ags/modules/lib/roundedcorner.js | 51 + .../hyprland/ags/modules/lib/searchitem.js | 69 + .../hyprland/ags/modules/lib/separator.js | 9 + desktops/hyprland/ags/modules/misctoggles.js | 111 ++ desktops/hyprland/ags/modules/music.js | 78 + .../hyprland/ags/modules/musiccontrols.js | 9 + .../hyprland/ags/modules/notificationlist.js | 123 ++ .../hyprland/ags/modules/onscreendisplay.js | 192 ++ .../hyprland/ags/modules/onscreenkeyboard.js | 114 ++ desktops/hyprland/ags/modules/overview.js | 580 +++++++ desktops/hyprland/ags/modules/quicktoggles.js | 148 ++ desktops/hyprland/ags/modules/rightspace.js | 44 + .../hyprland/ags/modules/sessionscreen.js | 144 ++ desktops/hyprland/ags/modules/sideleft.js | 75 + desktops/hyprland/ags/modules/sideright.js | 109 ++ desktops/hyprland/ags/modules/statusicons.js | 93 + desktops/hyprland/ags/modules/sysinfo.js | 108 ++ desktops/hyprland/ags/modules/system.js | 89 + desktops/hyprland/ags/modules/tray.js | 71 + desktops/hyprland/ags/modules/workspaces.js | 97 ++ desktops/hyprland/ags/scripts/README.md | 2 + desktops/hyprland/ags/scripts/brightness.js | 58 + .../hyprland/ags/scripts/calendarlayout.js | 101 ++ .../scripts/color_generation/applycolor.sh | 153 ++ .../ags/scripts/color_generation/colorgen.sh | 55 + .../generate_colors_material.py | 93 + .../color_generation/pywal_to_material.scss | 57 + .../scripts/color_generation/switchwall.sh | 27 + desktops/hyprland/ags/scripts/dumptows | Bin 0 -> 1806872 bytes desktops/hyprland/ags/scripts/dumptows.cpp | 79 + desktops/hyprland/ags/scripts/indicator.js | 40 + .../hyprland/ags/scripts/record-script.sh | 14 + desktops/hyprland/ags/scripts/scripts.js | 107 ++ desktops/hyprland/ags/scripts/swapws | Bin 0 -> 1807136 bytes desktops/hyprland/ags/scripts/swapws.cpp | 85 + .../ags/scripts/templates/foot/foot.ini | 156 ++ .../ags/scripts/templates/fuzzel/fuzzel.ini | 21 + .../scripts/templates/gradience/preset.json | 139 ++ .../templates/gradience/preset_template.json | 139 ++ .../ags/scripts/templates/gtklock/main.scss | 86 + .../ags/scripts/templates/gtklock/style.css | 102 ++ .../ags/scripts/templates/hypr/colors.conf | 5 + desktops/hyprland/ags/scripts/todo.js | 86 + .../ags/scripts/utils/find_firefox_profile.sh | 9 + desktops/hyprland/ags/scss/_bar.scss | 471 +++++ desktops/hyprland/ags/scss/_cheatsheet.scss | 51 + desktops/hyprland/ags/scss/_colors.scss | 79 + desktops/hyprland/ags/scss/_common.scss | 43 + desktops/hyprland/ags/scss/_lib.scss | 695 ++++++++ desktops/hyprland/ags/scss/_material.scss | 29 + .../hyprland/ags/scss/_notifications.scss | 126 ++ desktops/hyprland/ags/scss/_osd.scss | 59 + desktops/hyprland/ags/scss/_osk.scss | 97 ++ desktops/hyprland/ags/scss/_overview.scss | 130 ++ desktops/hyprland/ags/scss/_session.scss | 36 + desktops/hyprland/ags/scss/_sidebars.scss | 389 +++++ desktops/hyprland/ags/scss/main.scss | 28 + desktops/hyprland/ags/scss/scss.js | 30 + desktops/hyprland/ags/style.css | 1537 +++++++++++++++++ desktops/hyprland/ags/windows/bar.js | 53 + desktops/hyprland/ags/windows/cheatsheet.js | 88 + desktops/hyprland/ags/windows/corners.js | 36 + .../hyprland/ags/windows/lib/popupwindow.js | 27 + desktops/hyprland/ags/windows/osd.js | 12 + desktops/hyprland/ags/windows/osk.js | 12 + desktops/hyprland/ags/windows/overview.js | 18 + desktops/hyprland/ags/windows/session.js | 13 + desktops/hyprland/ags/windows/sideleft.js | 11 + desktops/hyprland/ags/windows/sideright.js | 12 + desktops/hyprland/decoration.nix | 18 + desktops/hyprland/foot.nix | 45 + desktops/hyprland/fuzzel.nix | 25 + .../hyprland/hypr/shaders/bluefilter.frag | 20 + desktops/hyprland/hypr/shaders/blur.frag | 39 + .../hypr/shaders/chromatic_abberation.frag | 24 + desktops/hyprland/hypr/shaders/crt.frag | 511 ++++++ desktops/hyprland/hypr/shaders/drugs.frag | 42 + desktops/hyprland/hypr/shaders/extradark.frag | 21 + desktops/hyprland/hypr/shaders/gaussian.frag | 31 + .../hyprland/hypr/shaders/motion-blur.frag | 28 + desktops/hyprland/hypr/shaders/nothing.frag | 14 + desktops/hyprland/hypr/shaders/solarized.frag | 41 + desktops/hyprland/hypr/shaders/vibrance.frag | 39 + desktops/hyprland/hyprland.nix | 32 +- desktops/hyprland/layerrules.nix | 34 + desktops/hyprland/waybar.nix | 13 + 101 files changed, 10639 insertions(+), 1 deletion(-) create mode 100644 desktops/hyprland/ags/config.js create mode 100644 desktops/hyprland/ags/data/keybinds.js create mode 100644 desktops/hyprland/ags/data/keyboardlayouts.js create mode 100644 desktops/hyprland/ags/data/quotes.js create mode 100644 desktops/hyprland/ags/imports.js create mode 100644 desktops/hyprland/ags/modules/calendar.js create mode 100644 desktops/hyprland/ags/modules/keybinds.js create mode 100644 desktops/hyprland/ags/modules/leftspace.js create mode 100644 desktops/hyprland/ags/modules/lib/actioncenter.js create mode 100644 desktops/hyprland/ags/modules/lib/animatedcircularprogress.js create mode 100644 desktops/hyprland/ags/modules/lib/contextmenuitem.js create mode 100644 desktops/hyprland/ags/modules/lib/cursorhover.js create mode 100644 desktops/hyprland/ags/modules/lib/materialicon.js create mode 100644 desktops/hyprland/ags/modules/lib/navigationindicator.js create mode 100644 desktops/hyprland/ags/modules/lib/notification.js create mode 100644 desktops/hyprland/ags/modules/lib/roundedcorner.js create mode 100644 desktops/hyprland/ags/modules/lib/searchitem.js create mode 100644 desktops/hyprland/ags/modules/lib/separator.js create mode 100644 desktops/hyprland/ags/modules/misctoggles.js create mode 100644 desktops/hyprland/ags/modules/music.js create mode 100644 desktops/hyprland/ags/modules/musiccontrols.js create mode 100644 desktops/hyprland/ags/modules/notificationlist.js create mode 100644 desktops/hyprland/ags/modules/onscreendisplay.js create mode 100644 desktops/hyprland/ags/modules/onscreenkeyboard.js create mode 100644 desktops/hyprland/ags/modules/overview.js create mode 100644 desktops/hyprland/ags/modules/quicktoggles.js create mode 100644 desktops/hyprland/ags/modules/rightspace.js create mode 100644 desktops/hyprland/ags/modules/sessionscreen.js create mode 100644 desktops/hyprland/ags/modules/sideleft.js create mode 100644 desktops/hyprland/ags/modules/sideright.js create mode 100644 desktops/hyprland/ags/modules/statusicons.js create mode 100644 desktops/hyprland/ags/modules/sysinfo.js create mode 100644 desktops/hyprland/ags/modules/system.js create mode 100644 desktops/hyprland/ags/modules/tray.js create mode 100644 desktops/hyprland/ags/modules/workspaces.js create mode 100755 desktops/hyprland/ags/scripts/README.md create mode 100644 desktops/hyprland/ags/scripts/brightness.js create mode 100644 desktops/hyprland/ags/scripts/calendarlayout.js create mode 100755 desktops/hyprland/ags/scripts/color_generation/applycolor.sh create mode 100755 desktops/hyprland/ags/scripts/color_generation/colorgen.sh create mode 100755 desktops/hyprland/ags/scripts/color_generation/generate_colors_material.py create mode 100755 desktops/hyprland/ags/scripts/color_generation/pywal_to_material.scss create mode 100755 desktops/hyprland/ags/scripts/color_generation/switchwall.sh create mode 100755 desktops/hyprland/ags/scripts/dumptows create mode 100755 desktops/hyprland/ags/scripts/dumptows.cpp create mode 100644 desktops/hyprland/ags/scripts/indicator.js create mode 100755 desktops/hyprland/ags/scripts/record-script.sh create mode 100644 desktops/hyprland/ags/scripts/scripts.js create mode 100755 desktops/hyprland/ags/scripts/swapws create mode 100755 desktops/hyprland/ags/scripts/swapws.cpp create mode 100755 desktops/hyprland/ags/scripts/templates/foot/foot.ini create mode 100755 desktops/hyprland/ags/scripts/templates/fuzzel/fuzzel.ini create mode 100644 desktops/hyprland/ags/scripts/templates/gradience/preset.json create mode 100644 desktops/hyprland/ags/scripts/templates/gradience/preset_template.json create mode 100755 desktops/hyprland/ags/scripts/templates/gtklock/main.scss create mode 100755 desktops/hyprland/ags/scripts/templates/gtklock/style.css create mode 100755 desktops/hyprland/ags/scripts/templates/hypr/colors.conf create mode 100644 desktops/hyprland/ags/scripts/todo.js create mode 100755 desktops/hyprland/ags/scripts/utils/find_firefox_profile.sh create mode 100644 desktops/hyprland/ags/scss/_bar.scss create mode 100644 desktops/hyprland/ags/scss/_cheatsheet.scss create mode 100755 desktops/hyprland/ags/scss/_colors.scss create mode 100644 desktops/hyprland/ags/scss/_common.scss create mode 100644 desktops/hyprland/ags/scss/_lib.scss create mode 100755 desktops/hyprland/ags/scss/_material.scss create mode 100644 desktops/hyprland/ags/scss/_notifications.scss create mode 100644 desktops/hyprland/ags/scss/_osd.scss create mode 100644 desktops/hyprland/ags/scss/_osk.scss create mode 100644 desktops/hyprland/ags/scss/_overview.scss create mode 100644 desktops/hyprland/ags/scss/_session.scss create mode 100644 desktops/hyprland/ags/scss/_sidebars.scss create mode 100644 desktops/hyprland/ags/scss/main.scss create mode 100644 desktops/hyprland/ags/scss/scss.js create mode 100644 desktops/hyprland/ags/style.css create mode 100644 desktops/hyprland/ags/windows/bar.js create mode 100644 desktops/hyprland/ags/windows/cheatsheet.js create mode 100644 desktops/hyprland/ags/windows/corners.js create mode 100644 desktops/hyprland/ags/windows/lib/popupwindow.js create mode 100644 desktops/hyprland/ags/windows/osd.js create mode 100644 desktops/hyprland/ags/windows/osk.js create mode 100644 desktops/hyprland/ags/windows/overview.js create mode 100644 desktops/hyprland/ags/windows/session.js create mode 100644 desktops/hyprland/ags/windows/sideleft.js create mode 100644 desktops/hyprland/ags/windows/sideright.js create mode 100644 desktops/hyprland/decoration.nix create mode 100644 desktops/hyprland/foot.nix create mode 100644 desktops/hyprland/fuzzel.nix create mode 100755 desktops/hyprland/hypr/shaders/bluefilter.frag create mode 100755 desktops/hyprland/hypr/shaders/blur.frag create mode 100755 desktops/hyprland/hypr/shaders/chromatic_abberation.frag create mode 100755 desktops/hyprland/hypr/shaders/crt.frag create mode 100755 desktops/hyprland/hypr/shaders/drugs.frag create mode 100755 desktops/hyprland/hypr/shaders/extradark.frag create mode 100755 desktops/hyprland/hypr/shaders/gaussian.frag create mode 100755 desktops/hyprland/hypr/shaders/motion-blur.frag create mode 100755 desktops/hyprland/hypr/shaders/nothing.frag create mode 100755 desktops/hyprland/hypr/shaders/solarized.frag create mode 100755 desktops/hyprland/hypr/shaders/vibrance.frag create mode 100644 desktops/hyprland/layerrules.nix diff --git a/desktops/hyprland/ags/config.js b/desktops/hyprland/ags/config.js new file mode 100644 index 0000000..206debb --- /dev/null +++ b/desktops/hyprland/ags/config.js @@ -0,0 +1,51 @@ +// Import +import { App, Utils } from './imports.js'; +// Windows +import Bar from './windows/bar.js'; +import Cheatsheet from './windows/cheatsheet.js'; +import { CornerTopleft, CornerTopright, CornerBottomleft, CornerBottomright } from './windows/corners.js'; +import Indicator from './windows/osd.js'; +import Osk from './windows/osk.js'; +import Overview from './windows/overview.js'; +import Session from './windows/session.js'; +import SideLeft from './windows/sideleft.js'; +import SideRight from './windows/sideright.js'; + +const CLOSE_ANIM_TIME = 150; + +// Init +Utils.exec(`bash -c 'mkdir -p ~/.cache/ags/user'`); +// SCSS compilation +Utils.exec(`sassc ${App.configDir}/scss/main.scss ${App.configDir}/style.css`); +App.resetCss(); +App.applyCss(`${App.configDir}/style.css`); + +// Config object +export default { + style: `${App.configDir}/style.css`, + stackTraceOnError: true, + closeWindowDelay: { + // For animations + 'sideright': CLOSE_ANIM_TIME, + 'sideleft': CLOSE_ANIM_TIME, + 'osk': CLOSE_ANIM_TIME, + // No anims, but allow menu service update + 'session': 1, + 'overview': 1, + 'cheatsheet': 1, + }, + windows: [ + Bar(), + CornerTopleft(), + CornerTopright(), + CornerBottomleft(), + CornerBottomright(), + Overview(), + Indicator(), + Cheatsheet(), + SideRight(), + SideLeft(), + Osk(), // On-screen keyboard + Session(), + ], +}; diff --git a/desktops/hyprland/ags/data/keybinds.js b/desktops/hyprland/ags/data/keybinds.js new file mode 100644 index 0000000..3aa0a7d --- /dev/null +++ b/desktops/hyprland/ags/data/keybinds.js @@ -0,0 +1,132 @@ +export const keybindList = [[ + { + "icon": "pin_drop", + "name": "Workspaces: navigation", + "binds": [ + { "keys": ["", "+", "#"], "action": "Go to workspace #" }, + { "keys": ["", "+", "S"], "action": "Toggle special workspace" }, + { "keys": ["", "+", "(Scroll ↑↓)"], "action": "Go to workspace -1/+1" }, + { "keys": ["Ctrl", "", "+", "←"], "action": "Go to workspace on the left" }, + { "keys": ["Ctrl", "", "+", "→"], "action": "Go to workspace on the right" }, + { "keys": ["", "+", "PageUp"], "action": "Go to workspace on the left" }, + { "keys": ["", "+", "PageDown"], "action": "Go to workspace on the right" } + ], + "appeartick": 1 + }, + { + "icon": "overview_key", + "name": "Workspaces: management", + "binds": [ + { "keys": ["", "Alt", "+", "#"], "action": "Move window to workspace #" }, + { "keys": ["", "Alt", "+", "S"], "action": "Move window to special workspace" }, + { "keys": ["", "Alt", "+", "PageUp"], "action": "Move window to workspace on the left" }, + { "keys": ["", "Alt", "+", "PageDown"], "action": "Move window to workspace on the right" } + ], + "appeartick": 1 + }, + { + "icon": "move_group", + "name": "Windows", + "binds": [ + { "keys": ["", "+", "←↑→↓"], "action": "Focus window in direction" }, + { "keys": ["", "Shift", "+", "←↑→↓"], "action": "Swap window in direction" }, + { "keys": ["", "+", ";"], "action": "Split ratio -" }, + { "keys": ["", "+", "'"], "action": "Split ratio +" }, + { "keys": ["", "+", "Lmb"], "action": "Move window" }, + { "keys": ["", "+", "Mmb"], "action": "Move window" }, + { "keys": ["", "+", "Rmb"], "action": "Resize window" }, + { "keys": ["", "+", "F"], "action": "Fullscreen" }, + { "keys": ["", "Alt", "+", "F"], "action": "Fake fullscreen" } + ], + "appeartick": 1 + } +], +[ + { + "icon": "widgets", + "name": "Widgets (AGS)", + "binds": [ + { "keys": ["", "OR", "", "+", "Tab"], "action": "Toggle overview/launcher" }, + { "keys": ["Ctrl", "", "+", "R"], "action": "Restart AGS" }, + { "keys": ["", "+", "/"], "action": "Toggle this cheatsheet" }, + { "keys": ["", "+", "N"], "action": "Toggle sidebar" }, + { "keys": ["", "+", "K"], "action": "Toggle virtual keyboard" }, + { "keys": ["Ctrl", "Alt", "+", "Del"], "action": "Power/Session menu" }, + + { "keys": ["Esc"], "action": "Exit a window" }, + { "keys": ["rightCtrl"], "action": "Dismiss/close sidebar" }, + + // { "keys": ["", "+", "B"], "action": "Toggle left sidebar" }, + // { "keys": ["", "+", "N"], "action": "Toggle right sidebar" }, + // { "keys": ["", "+", "G"], "action": "Toggle volume mixer" }, + // { "keys": ["", "+", "M"], "action": "Toggle useless audio visualizer" }, + // { "keys": ["(right)Ctrl"], "action": "Dismiss notification & close menus" } + ], + "appeartick": 2 + }, + { + "icon": "construction", + "name": "Utilities", + "binds": [ + { "keys": ["PrtSc"], "action": "Screenshot >> clipboard" }, + { "keys": ["", "Shift", "+", "S"], "action": "Screen snip >> clipboard" }, + { "keys": ["", "Shift", "+", "T"], "action": "Image to text >> clipboard" }, + { "keys": ["", "Shift", "+", "C"], "action": "Color picker" }, + { "keys": ["", "Alt", "+", "R"], "action": "Record region" }, + { "keys": ["Ctrl", "Alt", "+", "R"], "action": "Record region with sound" }, + { "keys": ["", "Shift", "Alt", "+", "R"], "action": "Record screen with sound" } + ], + "appeartick": 2 + }, + // { + // "icon": "edit", + // "name": "Edit mode", + // "binds": [ + // { "keys": ["Esc"], "action": "Exit Edit mode" }, + // { "keys": ["#"], "action": "Go to to workspace #" }, + // { "keys": ["Alt", "+", "#"], "action": "Dump windows to workspace #" }, + // { "keys": ["Shift", "+", "#"], "action": "Swap windows with workspace #" }, + // { "keys": ["Lmb"], "action": "Move window" }, + // { "keys": ["Mmb"], "action": "Move window" }, + // { "keys": ["Rmb"], "action": "Resize window" } + // ], + // "appeartick": 2 + // } +], +[ + { + "icon": "apps", + "name": "Apps", + "binds": [ + { "keys": ["", "+", "T"], "action": "Launch terminal: foot" }, + { "keys": ["", "+", "↵"], "action": "Launch terminal: WezTerm" }, + { "keys": ["", "+", "W"], "action": "Launch browser: Firefox" }, + { "keys": ["", "+", "C"], "action": "Launch editor: vscode" }, + { "keys": ["", "+", "X"], "action": "Launch editor: GNOME Text Editor" }, + { "keys": ["", "+", "I"], "action": "Launch settings: GNOME Control center" } + ], + "appeartick": 3 + }, + { + "icon": "keyboard", + "name": "Typing", + "binds": [ + { "keys": ["", "+", "V"], "action": "Clipboard history >> clipboard" }, + { "keys": ["", "+", "."], "action": "Emoji picker >> clipboard" }, + { "keys": ["", "+", " 󱁐 "], "action": "Switch language" } + ], + "appeartick": 3 + }, + { + "icon": "terminal", + "name": "Launcher commands", + "binds": [ + { "keys": [">raw"], "action": "Toggle mouse acceleration" }, + { "keys": [">img"], "action": "Select wallpaper and generate colorscheme" }, + { "keys": [">light"], "action": "Use light theme for next color generations" }, + { "keys": [">dark"], "action": "Use dark theme for next color generations" }, + { "keys": [">todo"], "action": "Type something after that to add a To-do item" }, + ], + "appeartick": 3 + } +]]; diff --git a/desktops/hyprland/ags/data/keyboardlayouts.js b/desktops/hyprland/ags/data/keyboardlayouts.js new file mode 100644 index 0000000..f58e378 --- /dev/null +++ b/desktops/hyprland/ags/data/keyboardlayouts.js @@ -0,0 +1,114 @@ +// We're going to use ydotool +// See /usr/include/linux/input-event-codes.h for keycodes + +export const defaultOskLayout = "qwerty_full" +export const oskLayouts = { + qwerty_full: { + name: "QWERTY - Full", + name_short: "US", + comment: "Like physical keyboard", + // A key looks like this: { k: "a", ks: "A", t: "normal" } (key, key-shift, type) + // key types are: normal, tab, caps, shift, control, fn (normal w/ half height), space, expand + // keys: [ + // [{ k: "Esc", t: "fn" }, { k: "F1", t: "fn" }, { k: "F2", t: "fn" }, { k: "F3", t: "fn" }, { k: "F4", t: "fn" }, { k: "F5", t: "fn" }, { k: "F6", t: "fn" }, { k: "F7", t: "fn" }, { k: "F8", t: "fn" }, { k: "F9", t: "fn" }, { k: "F10", t: "fn" }, { k: "F11", t: "fn" }, { k: "F12", t: "fn" }, { k: "PrtSc", t: "fn" }, { k: "Del", t: "fn" }], + // [{ k: "`", ks: "~", t: "normal" }, { k: "1", ks: "!", t: "normal" }, { k: "2", ks: "@", t: "normal" }, { k: "3", ks: "#", t: "normal" }, { k: "4", ks: "$", t: "normal" }, { k: "5", ks: "%", t: "normal" }, { k: "6", ks: "^", t: "normal" }, { k: "7", ks: "&", t: "normal" }, { k: "8", ks: "*", t: "normal" }, { k: "9", ks: "(", t: "normal" }, { k: "0", ks: ")", t: "normal" }, { k: "-", ks: "_", t: "normal" }, { k: "=", ks: "+", t: "normal" }, { k: "Backspace", t: "shift" }], + // [{ k: "Tab", t: "tab" }, { k: "q", ks: "Q", t: "normal" }, { k: "w", ks: "W", t: "normal" }, { k: "e", ks: "E", t: "normal" }, { k: "r", ks: "R", t: "normal" }, { k: "t", ks: "T", t: "normal" }, { k: "y", ks: "Y", t: "normal" }, { k: "u", ks: "U", t: "normal" }, { k: "i", ks: "I", t: "normal" }, { k: "o", ks: "O", t: "normal" }, { k: "p", ks: "P", t: "normal" }, { k: "[", ks: "{", t: "normal" }, { k: "]", ks: "}", t: "normal" }, { k: "\\", ks: "|", t: "expand" }], + // [{ k: "Caps", t: "caps" }, { k: "a", ks: "A", t: "normal" }, { k: "s", ks: "S", t: "normal" }, { k: "d", ks: "D", t: "normal" }, { k: "f", ks: "F", t: "normal" }, { k: "g", ks: "G", t: "normal" }, { k: "h", ks: "H", t: "normal" }, { k: "j", ks: "J", t: "normal" }, { k: "k", ks: "K", t: "normal" }, { k: "l", ks: "L", t: "normal" }, { k: ";", ks: ":", t: "normal" }, { k: "'", ks: '"', t: "normal" }, { k: "Enter", t: "expand" }], + // [{ k: "Shift", t: "shift" }, { k: "z", ks: "Z", t: "normal" }, { k: "x", ks: "X", t: "normal" }, { k: "c", ks: "C", t: "normal" }, { k: "v", ks: "V", t: "normal" }, { k: "b", ks: "B", t: "normal" }, { k: "n", ks: "N", t: "normal" }, { k: "m", ks: "M", t: "normal" }, { k: ",", ks: "<", t: "normal" }, { k: ".", ks: ">", t: "normal" }, { k: "/", ks: "?", t: "normal" }, { k: "Shift", t: "expand" }], + // [{ k: "Ctrl", t: "control" }, { k: "Fn", t: "normal" }, { k: "Win", t: "normal" }, { k: "Alt", t: "normal" }, { k: "Space", t: "space" }, { k: "Alt", t: "normal" }, { k: "Menu", t: "normal" }, { k: "Ctrl", t: "control" }] + // ] + // A normal key looks like this: {label: "a", labelShift: "A", shape: "normal", keycode: 30, type: "normal"} + // A modkey looks like this: {label: "Ctrl", shape: "control", keycode: 29, type: "modkey"} + // key types are: normal, tab, caps, shift, control, fn (normal w/ half height), space, expand + keys: [ + [ + { keytype: "normal", label: "Esc", shape: "fn", keycode: 1 }, + { keytype: "normal", label: "F1", shape: "fn", keycode: 59 }, + { keytype: "normal", label: "F2", shape: "fn", keycode: 60 }, + { keytype: "normal", label: "F3", shape: "fn", keycode: 61 }, + { keytype: "normal", label: "F4", shape: "fn", keycode: 62 }, + { keytype: "normal", label: "F5", shape: "fn", keycode: 63 }, + { keytype: "normal", label: "F6", shape: "fn", keycode: 64 }, + { keytype: "normal", label: "F7", shape: "fn", keycode: 65 }, + { keytype: "normal", label: "F8", shape: "fn", keycode: 66 }, + { keytype: "normal", label: "F9", shape: "fn", keycode: 67 }, + { keytype: "normal", label: "F10", shape: "fn", keycode: 68 }, + { keytype: "normal", label: "F11", shape: "fn", keycode: 87 }, + { keytype: "normal", label: "F12", shape: "fn", keycode: 88 }, + { keytype: "normal", label: "PrtSc", shape: "fn", keycode: 99 }, + { keytype: "normal", label: "Del", shape: "fn", keycode: 111 } + ], + [ + { keytype: "normal", label: "`", labelShift: "~", shape: "normal", keycode: 41 }, + { keytype: "normal", label: "1", labelShift: "!", shape: "normal", keycode: 2 }, + { keytype: "normal", label: "2", labelShift: "@", shape: "normal", keycode: 3 }, + { keytype: "normal", label: "3", labelShift: "#", shape: "normal", keycode: 4 }, + { keytype: "normal", label: "4", labelShift: "$", shape: "normal", keycode: 5 }, + { keytype: "normal", label: "5", labelShift: "%", shape: "normal", keycode: 6 }, + { keytype: "normal", label: "6", labelShift: "^", shape: "normal", keycode: 7 }, + { keytype: "normal", label: "7", labelShift: "&", shape: "normal", keycode: 8 }, + { keytype: "normal", label: "8", labelShift: "*", shape: "normal", keycode: 9 }, + { keytype: "normal", label: "9", labelShift: "(", shape: "normal", keycode: 10 }, + { keytype: "normal", label: "0", labelShift: ")", shape: "normal", keycode: 11 }, + { keytype: "normal", label: "-", labelShift: "_", shape: "normal", keycode: 12 }, + { keytype: "normal", label: "=", labelShift: "+", shape: "normal", keycode: 13 }, + { keytype: "normal", label: "Backspace", shape: "expand", keycode: 14 } + ], + [ + { keytype: "normal", label: "Tab", shape: "tab", keycode: 15 }, + { keytype: "normal", label: "q", labelShift: "Q", shape: "normal", keycode: 16 }, + { keytype: "normal", label: "w", labelShift: "W", shape: "normal", keycode: 17 }, + { keytype: "normal", label: "e", labelShift: "E", shape: "normal", keycode: 18 }, + { keytype: "normal", label: "r", labelShift: "R", shape: "normal", keycode: 19 }, + { keytype: "normal", label: "t", labelShift: "T", shape: "normal", keycode: 20 }, + { keytype: "normal", label: "y", labelShift: "Y", shape: "normal", keycode: 21 }, + { keytype: "normal", label: "u", labelShift: "U", shape: "normal", keycode: 22 }, + { keytype: "normal", label: "i", labelShift: "I", shape: "normal", keycode: 23 }, + { keytype: "normal", label: "o", labelShift: "O", shape: "normal", keycode: 24 }, + { keytype: "normal", label: "p", labelShift: "P", shape: "normal", keycode: 25 }, + { keytype: "normal", label: "[", labelShift: "{", shape: "normal", keycode: 26 }, + { keytype: "normal", label: "]", labelShift: "}", shape: "normal", keycode: 27 }, + { keytype: "normal", label: "\\", labelShift: "|", shape: "expand", keycode: 43 } + ], + [ + { keytype: "normal", label: "Caps", shape: "caps", keycode: 58 }, + { keytype: "normal", label: "a", labelShift: "A", shape: "normal", keycode: 30 }, + { keytype: "normal", label: "s", labelShift: "S", shape: "normal", keycode: 31 }, + { keytype: "normal", label: "d", labelShift: "D", shape: "normal", keycode: 32 }, + { keytype: "normal", label: "f", labelShift: "F", shape: "normal", keycode: 33 }, + { keytype: "normal", label: "g", labelShift: "G", shape: "normal", keycode: 34 }, + { keytype: "normal", label: "h", labelShift: "H", shape: "normal", keycode: 35 }, + { keytype: "normal", label: "j", labelShift: "J", shape: "normal", keycode: 36 }, + { keytype: "normal", label: "k", labelShift: "K", shape: "normal", keycode: 37 }, + { keytype: "normal", label: "l", labelShift: "L", shape: "normal", keycode: 38 }, + { keytype: "normal", label: ";", labelShift: ":", shape: "normal", keycode: 39 }, + { keytype: "normal", label: "'", labelShift: '"', shape: "normal", keycode: 40 }, + { keytype: "normal", label: "Enter", shape: "expand", keycode: 28 } + ], + [ + { keytype: "modkey", label: "Shift", shape: "shift", keycode: 42 }, + { keytype: "normal", label: "z", labelShift: "Z", shape: "normal", keycode: 44 }, + { keytype: "normal", label: "x", labelShift: "X", shape: "normal", keycode: 45 }, + { keytype: "normal", label: "c", labelShift: "C", shape: "normal", keycode: 46 }, + { keytype: "normal", label: "v", labelShift: "V", shape: "normal", keycode: 47 }, + { keytype: "normal", label: "b", labelShift: "B", shape: "normal", keycode: 48 }, + { keytype: "normal", label: "n", labelShift: "N", shape: "normal", keycode: 49 }, + { keytype: "normal", label: "m", labelShift: "M", shape: "normal", keycode: 50 }, + { keytype: "normal", label: ",", labelShift: "<", shape: "normal", keycode: 51 }, + { keytype: "normal", label: ".", labelShift: ">", shape: "normal", keycode: 52 }, + { keytype: "normal", label: "/", labelShift: "?", shape: "normal", keycode: 53 }, + { keytype: "modkey", label: "Shift", shape: "expand", keycode: 54 } + ], + [ + { keytype: "modkey", label: "Ctrl", shape: "control", keycode: 29 }, + // { label: "Super", shape: "normal", keycode: 125 }, // dangerous + { keytype: "modkey", label: "Alt", shape: "normal", keycode: 56 }, + { keytype: "normal", label: "Space", shape: "space", keycode: 57 }, + { keytype: "modkey", label: "Alt", shape: "normal", keycode: 100 }, + // { label: "Super", shape: "normal", keycode: 126 }, // dangerous + { keytype: "normal", label: "Menu", shape: "normal", keycode: 139 }, + { keytype: "modkey", label: "Ctrl", shape: "control", keycode: 97 } + ] + ] + } +} \ No newline at end of file diff --git a/desktops/hyprland/ags/data/quotes.js b/desktops/hyprland/ags/data/quotes.js new file mode 100644 index 0000000..7cea990 --- /dev/null +++ b/desktops/hyprland/ags/data/quotes.js @@ -0,0 +1,14 @@ +export const quotes = [ + { + quote: 'Nvidia, fuck you', + author: 'Linus Torvalds', + }, + { + quote: 'reproducible system? cock and vagina?', + author: 'vaxry', + }, + { + quote: "haha pointers hee hee i love pointe-\\\nProcess Vaxry exited with signal SIGSEGV", + author: 'vaxry', + } +]; diff --git a/desktops/hyprland/ags/imports.js b/desktops/hyprland/ags/imports.js new file mode 100644 index 0000000..89aa0db --- /dev/null +++ b/desktops/hyprland/ags/imports.js @@ -0,0 +1,40 @@ +const resource = file => `resource:///com/github/Aylur/ags/${file}.js`; +const require = async file => (await import(resource(file))).default; +const service = async file => (await require(`service/${file}`)); + +export const App = await require('app'); +export const Widget = await require('widget'); +export const Service = await require('service'); +export const Variable = await require('variable'); +export const Utils = await import(resource('utils')); + +export const Applications = await service('applications'); +export const Audio = await service('audio'); +export const Battery = await service('battery'); +export const Bluetooth = await service('bluetooth'); +export const Hyprland = await service('hyprland'); +export const Mpris = await service('mpris'); +export const Network = await service('network'); +export const Notifications = await service('notifications'); +export const SystemTray = await service('systemtray'); + +globalThis['App'] = App; ////////////////////////////// +// globalThis['Widget'] = Widget; +// globalThis['Service'] = Service; +// globalThis['Variable'] = Variable; +globalThis['Utils'] = Utils; /////////////////////////// +// globalThis['Applications'] = Applications; +// globalThis['Audio'] = Audio; +// globalThis['Battery'] = Battery; +// globalThis['Bluetooth'] = Bluetooth; +// globalThis['Hyprland'] = Hyprland; +// globalThis['Mpris'] = Mpris; +// globalThis['Network'] = Network; +globalThis['Notifications'] = Notifications; +// globalThis['SystemTray'] = SystemTray; + +const { exec } = Utils; +const SCREEN_WIDTH = Number(exec(`bash -c "xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f1 | head -1"`)); +const SCREEN_HEIGHT = Number(exec(`bash -c "xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f2 | head -1"`)); +globalThis['SCREEN_WIDTH'] = SCREEN_WIDTH; +globalThis['SCREEN_HEIGHT'] = SCREEN_HEIGHT; \ No newline at end of file diff --git a/desktops/hyprland/ags/modules/calendar.js b/desktops/hyprland/ags/modules/calendar.js new file mode 100644 index 0000000..a349b13 --- /dev/null +++ b/desktops/hyprland/ags/modules/calendar.js @@ -0,0 +1,364 @@ +const { Gio, Gdk, Gtk } = imports.gi; +import { App, Widget, Utils } from '../imports.js'; +const { Box, CenterBox, Label, Button } = Widget; +import { MaterialIcon } from "./lib/materialicon.js"; +import { getCalendarLayout } from "../scripts/calendarlayout.js"; +import Todo from "../scripts/todo.js"; +import { setupCursorHover } from "./lib/cursorhover.js"; +import { NavigationIndicator } from "./lib/navigationindicator.js"; + +let calendarJson = getCalendarLayout(undefined, true); +let monthshift = 0; + +function fileExists(filePath) { + let file = Gio.File.new_for_path(filePath); + return file.query_exists(null); +} + +function getDateInXMonthsTime(x) { + var currentDate = new Date(); // Get the current date + var targetMonth = currentDate.getMonth() + x; // Calculate the target month + var targetYear = currentDate.getFullYear(); // Get the current year + + // Adjust the year and month if necessary + targetYear += Math.floor(targetMonth / 12); + targetMonth = (targetMonth % 12 + 12) % 12; + + // Create a new date object with the target year and month + var targetDate = new Date(targetYear, targetMonth, 1); + + // Set the day to the last day of the month to get the desired date + // targetDate.setDate(0); + + return targetDate; +} + +const weekDays = [ // stupid stupid stupid!! how tf is Sunday the first day of the week?? + { day: 'Su', today: 0 }, + { day: 'Mo', today: 0 }, + { day: 'Tu', today: 0 }, + { day: 'We', today: 0 }, + { day: 'Th', today: 0 }, + { day: 'Fr', today: 0 }, + { day: 'Sa', today: 0 }, +] + +const CalendarDay = (day, today) => Widget.Button({ + className: `sidebar-calendar-btn ${today == 1 ? 'sidebar-calendar-btn-today' : (today == -1 ? 'sidebar-calendar-btn-othermonth' : '')}`, + child: Widget.Overlay({ + child: Box({}), + overlays: [Label({ + halign: 'center', + className: 'txt-smallie txt-semibold sidebar-calendar-btn-txt', + label: String(day), + })], + }) +}) + +const CalendarWidget = () => { + const calendarMonthYear = Widget.Button({ + className: 'txt txt-large sidebar-calendar-monthyear-btn', + onClicked: () => shiftCalendarXMonths(0), + setup: (button) => { + button.label = `${new Date().toLocaleString('default', { month: 'long' })} ${new Date().getFullYear()}`; + setupCursorHover(button); + } + }); + const addCalendarChildren = (box, calendarJson) => { + box.children = calendarJson.map((row, i) => Widget.Box({ + // homogeneous: true, + className: 'spacing-h-5', + children: row.map((day, i) => + CalendarDay(day.day, day.today) + ) + })) + } + function shiftCalendarXMonths(x) { + if (x == 0) + monthshift = 0; + else + monthshift += x; + var newDate = undefined; + if (monthshift == 0) + newDate = new Date(); + else + newDate = getDateInXMonthsTime(monthshift); + calendarJson = getCalendarLayout(newDate, monthshift == 0); + calendarMonthYear.label = `${monthshift == 0 ? '' : '• '}${newDate.toLocaleString('default', { month: 'long' })} ${newDate.getFullYear()}`; + addCalendarChildren(calendarDays, calendarJson); + } + const calendarHeader = Widget.Box({ + className: 'spacing-h-5 sidebar-calendar-header', + setup: (box) => { + box.pack_start(calendarMonthYear, false, false, 0); + box.pack_end(Widget.Box({ + className: 'spacing-h-5', + children: [ + Button({ + className: 'sidebar-calendar-monthshift-btn', + onClicked: () => shiftCalendarXMonths(-1), + child: MaterialIcon('chevron_left', 'norm'), + setup: (button) => setupCursorHover(button), + }), + Button({ + className: 'sidebar-calendar-monthshift-btn', + onClicked: () => shiftCalendarXMonths(1), + child: MaterialIcon('chevron_right', 'norm'), + setup: (button) => setupCursorHover(button), + }) + ] + }), false, false, 0); + } + }) + const calendarDays = Widget.Box({ + hexpand: true, + vertical: true, + className: 'spacing-v-5', + setup: (box) => { + addCalendarChildren(box, calendarJson); + } + }); + return Widget.EventBox({ + onScrollUp: () => shiftCalendarXMonths(-1), + onScrollDown: () => shiftCalendarXMonths(1), + child: Widget.Box({ + halign: 'center', + children: [ + Widget.Box({ + hexpand: true, + vertical: true, + className: 'spacing-v-5', + children: [ + calendarHeader, + Widget.Box({ + homogeneous: true, + className: 'spacing-h-5', + children: weekDays.map((day, i) => CalendarDay(day.day, day.today)) + }), + calendarDays, + ] + }) + ] + }) + }); +}; + +const defaultTodoSelected = 'undone'; + +const todoItems = (isDone) => Widget.Scrollable({ + child: Widget.Box({ + vertical: true, + connections: [[Todo, (self) => { + self.children = Todo.todo_json.map((task, i) => { + if (task.done != isDone) return null; + return Widget.Box({ + className: 'spacing-h-5', + children: [ + Widget.Label({ + className: 'txt txt-small', + label: '•', + }), + Widget.Label({ + hexpand: true, + xalign: 0, + wrap: true, + className: 'txt txt-small sidebar-todo-txt', + label: task.content, + }), + Widget.Button({ + valign: 'center', + className: 'txt sidebar-todo-item-action', + child: MaterialIcon(`${isDone ? 'remove_done' : 'check'}`, 'norm', { valign: 'center' }), + onClicked: () => { + if (isDone) + Todo.uncheck(i); + else + Todo.check(i); + }, + setup: (button) => setupCursorHover(button), + }), + Widget.Button({ + valign: 'center', + className: 'txt sidebar-todo-item-action', + child: MaterialIcon('delete_forever', 'norm', { valign: 'center' }), + onClicked: () => { + Todo.remove(i); + }, + setup: (button) => setupCursorHover(button), + }), + ] + }); + }) + if (self.children.length == 0) { + self.homogeneous = true; + self.children = [ + Widget.Box({ + hexpand: true, + vertical: true, + valign: 'center', + className: 'txt', + children: [ + MaterialIcon(`${isDone ? 'checklist' : 'check_circle'}`, 'badonkers'), + Label({ label: `${isDone ? 'Finished tasks will go here' : 'Nothing here!'}` }) + ] + }) + ] + } + else self.homogeneous = false; + }, 'updated']] + }) +}); + +const todoItemsBox = Widget.Stack({ + valign: 'fill', + transition: 'slide_left_right', + items: [ + ['undone', todoItems(false)], + ['done', todoItems(true)], + ], +}); + +const TodoWidget = () => { + const TodoTabButton = (isDone, navIndex) => Widget.Button({ + hexpand: true, + className: 'sidebar-todo-selector-tab', + onClicked: (button) => { + todoItemsBox.shown = `${isDone ? 'done' : 'undone'}`; + const kids = button.get_parent().get_children(); + for (let i = 0; i < kids.length; i++) { + if (kids[i] != button) kids[i].toggleClassName('sidebar-todo-selector-tab-active', false); + else button.toggleClassName('sidebar-todo-selector-tab-active', true); + } + // Fancy highlighter line width + const buttonWidth = button.get_allocated_width(); + const highlightWidth = button.get_children()[0].get_allocated_width(); + navIndicator.style = ` + font-size: ${navIndex}px; + padding: 0px ${(buttonWidth - highlightWidth) / 2}px; + `; + }, + child: Box({ + halign: 'center', + className: 'spacing-h-5', + children: [ + MaterialIcon(`${isDone ? 'task_alt' : 'format_list_bulleted'}`, 'larger'), + Label({ + className: 'txt txt-smallie', + label: `${isDone ? 'Done' : 'Unfinished'}`, + }) + ] + }), + setup: (button) => { + button.toggleClassName('sidebar-todo-selector-tab-active', defaultTodoSelected === `${isDone ? 'done' : 'undone'}`); + setupCursorHover(button); + }, + }); + const undoneButton = TodoTabButton(false, 0); + const doneButton = TodoTabButton(true, 1); + const navIndicator = NavigationIndicator(2, false, { + className: 'sidebar-todo-selector-highlight', + style: 'font-size: 0px;', + setup: (self) => { + // Fancy highlighter line width + const buttonWidth = undoneButton.get_allocated_width(); + const highlightWidth = undoneButton.get_children()[0].get_allocated_width(); + navIndicator.style = ` + font-size: ${navIndex}px; + padding: 0px ${(buttonWidth - highlightWidth) / 2}px; + `; + } + }) + return Widget.Box({ + hexpand: true, + vertical: true, + className: 'spacing-v-10', + setup: (box) => { + // undone/done selector rail + box.pack_start(Widget.Box({ + vertical: true, + children: [ + Widget.Box({ + className: 'sidebar-todo-selectors spacing-h-5', + homogeneous: true, + setup: (box) => { + box.pack_start(undoneButton, false, true, 0); + box.pack_start(doneButton, false, true, 0); + } + }), + Widget.Box({ + className: 'sidebar-todo-selector-highlight-offset', + homogeneous: true, + children: [navIndicator] + }) + ] + }), false, false, 0); + box.pack_end(todoItemsBox, true, true, 0); + } + }); +}; + +const defaultShown = 'calendar'; +const contentStack = Widget.Stack({ + hexpand: true, + items: [ + ['calendar', CalendarWidget()], + ['todo', TodoWidget()], + // ['stars', Widget.Label({ label: 'GitHub feed will be here' })], + ], + transition: 'slide_up_down', + transitionDuration: 180, + setup: (stack) => { + stack.shown = defaultShown; + } +}) + +const StackButton = (stackItemName, icon, name) => Widget.Button({ + className: 'button-minsize sidebar-navrail-btn sidebar-button-alone txt-small spacing-h-5', + onClicked: (button) => { + contentStack.shown = stackItemName; + const kids = button.get_parent().get_children(); + for (let i = 0; i < kids.length; i++) { + if (kids[i] != button) kids[i].toggleClassName('sidebar-navrail-btn-active', false); + else button.toggleClassName('sidebar-navrail-btn-active', true); + } + }, + child: Box({ + className: 'spacing-v-5', + vertical: true, + children: [ + Label({ + className: `txt icon-material txt-hugeass`, + label: icon, + }), + Label({ + label: name, + className: 'txt txt-smallie', + }), + ] + }), + setup: (button) => { + button.toggleClassName('sidebar-navrail-btn-active', defaultShown === stackItemName); + setupCursorHover(button); + } +}); + +export const ModuleCalendar = () => Box({ + className: 'sidebar-group spacing-h-5', + setup: (box) => { + box.pack_start(Box({ + valign: 'center', + homogeneous: true, + vertical: true, + className: 'sidebar-navrail spacing-v-10', + children: [ + StackButton('calendar', 'calendar_month', 'Calendar'), + StackButton('todo', 'lists', 'To Do'), + // StackButton(box, 'stars', 'star', 'GitHub'), + ] + }), false, false, 0); + // ags.Widget({ // TDOO: replace this sad default calendar with a custom one + // type: imports.gi.Gtk.Calendar, + // }), + box.pack_end(contentStack, false, false, 0); + } +}) diff --git a/desktops/hyprland/ags/modules/keybinds.js b/desktops/hyprland/ags/modules/keybinds.js new file mode 100644 index 0000000..3bcfec8 --- /dev/null +++ b/desktops/hyprland/ags/modules/keybinds.js @@ -0,0 +1,60 @@ +import { Widget } from '../imports.js'; +import { keybindList } from "../data/keybinds.js"; + +export const Keybinds = () => Widget.Box({ + vertical: false, + className: "spacing-h-15", + homogeneous: true, + children: keybindList.map((group, i) => Widget.Box({ // Columns + vertical: true, + className: "spacing-v-15", + children: group.map((category, i) => Widget.Box({ // Categories + vertical: true, + className: "spacing-v-15", + children: [ + Widget.Box({ // Category header + vertical: false, + className: "spacing-h-10", + children: [ + Widget.Label({ + xalign: 0, + className: "icon-material txt txt-larger", + label: category.icon, + }), + Widget.Label({ + xalign: 0, + className: "cheatsheet-category-title txt", + label: category.name, + }), + ] + }), + Widget.Box({ + vertical: false, + className: "spacing-h-10", + children: [ + Widget.Box({ // Keys + vertical: true, + homogeneous: true, + children: category.binds.map((keybinds, i) => Widget.Box({ // Binds + vertical: false, + children: keybinds.keys.map((key, i) => Widget.Label({ // Specific keys + className: `${key == 'OR' || key == '+' ? 'cheatsheet-key-notkey' : 'cheatsheet-key'} txt-small`, + label: key, + })) + })) + }), + Widget.Box({ // Actions + vertical: true, + homogeneous: true, + children: category.binds.map((keybinds, i) => Widget.Label({ // Binds + xalign: 0, + label: keybinds.action, + className: "txt chearsheet-action txt-small", + })) + }) + ] + }) + ] + })) + })), +}); \ No newline at end of file diff --git a/desktops/hyprland/ags/modules/leftspace.js b/desktops/hyprland/ags/modules/leftspace.js new file mode 100644 index 0000000..d1239a9 --- /dev/null +++ b/desktops/hyprland/ags/modules/leftspace.js @@ -0,0 +1,101 @@ +import { App, Service, Utils, Widget } from '../imports.js'; +import Hyprland from 'resource:///com/github/Aylur/ags/service/hyprland.js'; +const { CONFIG_DIR, exec, execAsync } = Utils; +import { deflisten } from '../scripts/scripts.js'; +import { setupCursorHover } from "./lib/cursorhover.js"; +import { RoundedCorner } from "./lib/roundedcorner.js"; +import Brightness from '../scripts/brightness.js'; +import Indicator from '../scripts/indicator.js'; + +// Removes everything after the last +// em dash, en dash, minus, vertical bar, or middle dot (note: maybe add open parenthesis?) +// For example: +// • Discord | #ricing-theming | r/unixporn — Mozilla Firefox --> • Discord | #ricing-theming +// GJS Error · Issue #112 · Aylur/ags — Mozilla Firefox --> GJS Error · Issue #112 +function truncateTitle(str) { + let lastDash = -1; + let found = -1; // 0: em dash, 1: en dash, 2: minus, 3: vertical bar, 4: middle dot + for (let i = str.length - 1; i >= 0; i--) { + if (str[i] === '—') { + found = 0; + lastDash = i; + } + else if (str[i] === '–' && found < 1) { + found = 1; + lastDash = i; + } + else if (str[i] === '-' && found < 2) { + found = 2; + lastDash = i; + } + else if (str[i] === '|' && found < 3) { + found = 3; + lastDash = i; + } + else if (str[i] === '·' && found < 4) { + found = 4; + lastDash = i; + } + } + if (lastDash === -1) return str; + return str.substring(0, lastDash); +} + +export const ModuleLeftSpace = () => Widget.EventBox({ + onScrollUp: () => { + Indicator.popup(1); // Since the brightness and speaker are both on the same window + Brightness.screen_value += 0.05; + }, + onScrollDown: () => { + Indicator.popup(1); // Since the brightness and speaker are both on the same window + Brightness.screen_value -= 0.05; + }, + child: Widget.Box({ + homogeneous: false, + children: [ + RoundedCorner('topleft', { className: 'corner-black' }), + Widget.Overlay({ + overlays: [ + Widget.Box({ hexpand: true }), + Widget.Box({ + className: 'bar-sidemodule', hexpand: true, + children: [Widget.Button({ + className: 'bar-space-button', + child: Widget.Box({ + vertical: true, + children: [ + Widget.Scrollable({ + hexpand: true, vexpand: true, + hscroll: 'automatic', vscroll: 'never', + child: Widget.Box({ + vertical: true, + children: [ + Widget.Label({ + xalign: 0, + className: 'txt txt-smaller bar-topdesc', + connections: [[Hyprland, label => { // Hyprland.active.client + label.label = Hyprland.active.client._class.length === 0 ? 'Desktop' : Hyprland.active.client._class; + }]], + }), + Widget.Label({ + xalign: 0, + className: 'txt txt-smallie', + connections: [ + [Hyprland, label => { // Hyprland.active.client + label.label = Hyprland.active.client._title.length === 0 ? `Workspace ${Hyprland.active.workspace.id}` : truncateTitle(Hyprland.active.client._title); + }] + ], + }) + ] + }) + }) + ] + }), + setup: (button) => setupCursorHover(button), + })] + }), + ] + }) + ] + }) +}); \ No newline at end of file diff --git a/desktops/hyprland/ags/modules/lib/actioncenter.js b/desktops/hyprland/ags/modules/lib/actioncenter.js new file mode 100644 index 0000000..9b8fb60 --- /dev/null +++ b/desktops/hyprland/ags/modules/lib/actioncenter.js @@ -0,0 +1,245 @@ +// Not yet used. For cool drag and drop stuff. Thanks DevAlien + +const Toggles = {}; +Toggles.Wifi = NetworkToggle; +Toggles.Bluetooth = BluetoothToggle; +Toggles.DND = DNDToggle; +Toggles.ThemeToggle = ThemeToggle; +Toggles.ProfileToggle = ProfileToggle; +// Toggles.Record = RecordToggle; +// Toggles.Airplane = AirplaneToggle; +// Toggles.DoNotDisturb = DoNotDisturbToggle; +const TARGET = [Gtk.TargetEntry.new("text/plain", Gtk.TargetFlags.SAME_APP, 0)]; + +export class ActionCenter extends Gtk.Box { + static { + GObject.registerClass({ + GTypeName: 'ActionCenter', + Properties: { + + }, + }, this); + } + + constructor({ className = "ActionCenter", toggles, ...rest }) { + super(rest); + this.toggles = Toggles + this.currentToggles = Settings.getSetting("toggles", []); + this.mainFlowBox = this._setupFlowBox(className + QSView.editing && className + "Editing"); + this.mainFlowBox.connect("drag_motion", this._dragMotionMain); + this.mainFlowBox.connect("drag_drop", this._dragDropMain); + this._dragged = {}; + this._draggedExtra = {}; + + this._dragged; + this._currentPosition = 0; + this._orderedState; + this._draggedName; + + this.updateList(toggles, this.mainFlowBox) + + this.set_orientation(Gtk.Orientation.VERTICAL); + this.add(this.mainFlowBox) + this.mainFlowBox.set_size_request(1, 30) + if (QSView.editing) { + this.extraFlowBox = this._setupFlowBox(className); + this.extraFlowBox.connect("drag_motion", this._dragMotionExtra); + this.extraFlowBox.connect("drag_drop", this._dragDropExtra); + this.updateList(this._getExtraToggles(), this.extraFlowBox) + this.add(Box({ + vertical: true, + children: [ + Label("Extra widgets"), + Label("Drop here to remove or drag from here to add"), + this.extraFlowBox + ] + })) + } + } + + _getExtraToggles() { + let toggles = { ...this.toggles } + this.currentToggles.map(t => { + if (toggles[t]) { + delete toggles[t]; + } + }); + return Object.keys(toggles); + } + + _setupFlowBox(className) { + const flowBox = new Gtk.FlowBox(); + flowBox.set_valign(Gtk.Align.FILL); + flowBox.set_min_children_per_line(2); + flowBox.set_max_children_per_line(2); + flowBox.set_selection_mode(Gtk.SelectionMode.NONE); + flowBox.get_style_context().add_class(className); + flowBox.set_homogeneous(true); + flowBox.drag_dest_set(Gtk.DestDefaults.ALL, TARGET, Gdk.DragAction.COPY); + + return flowBox; + } + + createWidget = (name, index, type) => { + const editSetup = (widget) => { + widget.drag_source_set( + Gdk.ModifierType.BUTTON1_MASK, + TARGET, + Gdk.DragAction.COPY + ); + + widget.connect("drag-begin", (w, context) => { + const widgetContainer = widget.get_parent(); + + Gtk.drag_set_icon_surface(context, createSurfaceFromWidget(widgetContainer)); + this._dragged = { + widget: widgetContainer.get_parent().get_parent(), + container: widgetContainer, + name: name, + currentPosition: type === "Main" ? index : null, + currentPositionExtra: type === "Extra" ? index : null, + from: type, + } + widgetContainer.get_style_context().add_class("hidden"); + if (type !== "Main") { + this.extraFlowBox.remove(this._dragged.widget); + } + + + return true; + }); + widget.connect("drag-failed", () => { + this.updateList(Settings.getSetting("toggles"), this.mainFlowBox) + this.updateList(this._getExtraToggles(), this.extraFlowBox) + }); + } + + let row = new Gtk.FlowBoxChild({ visible: true }); + row.add(Toggles[name]({ setup: QSView.editing && editSetup, QSView: QSView })); + row._index = index; + row._name = name; + return row; + } + + updateList(toggles, flowBox) { + let type = flowBox === this.mainFlowBox ? "Main" : "Extra" + var childrenBox = flowBox.get_children(); + childrenBox.forEach((element) => { + flowBox.remove(element); + element.destroy(); + }); + + if (!toggles) return; + + toggles.forEach((name, i) => { + if (Toggles[name]) + flowBox.add(this.createWidget(name, i, type)); + }); + flowBox.show_all(); + } + + + _dragMotionMain = (widget, context, x, y, time) => { + if (this._dragged.currentPositionExtra !== null) { + this._dragged.currentPositionExtra = null; + if (this._isChild(this.extraFlowBox, this._dragged.widget)) { + this.extraFlowBox.remove(this._dragged.widget); + } + } + const children = this.mainFlowBox.get_children(); + const sampleItem = children[0]; + const sampleWidth = sampleItem.get_allocation().width; + const sampleHeight = sampleItem.get_allocated_height(); + const perLine = Math.floor(this.mainFlowBox.get_allocation().width / sampleWidth); + const pos = Math.floor(y / sampleHeight) * perLine + Math.floor(x / sampleWidth); + if (pos >= children.length && pos !== 0) return false; + + if (this._dragged.currentPosition === null) { + this.mainFlowBox.insert(this._dragged.widget, pos); + + this._dragged.currentPosition = pos; + } else if (this._dragged.currentPosition !== pos) { + if (this._isChild(this.mainFlowBox, this._dragged.widget)) { + this.mainFlowBox.remove(this._dragged.widget); + } + + this.mainFlowBox.insert(this._dragged.widget, pos); + + this._dragged.currentPosition = pos; + } + + return true; + } + + _dragDropMain = () => { + if (this._dragged.from !== "Main") { + this.currentToggles.splice(this._dragged.currentPosition, 0, this._dragged.name); + } else { + const indexCurrentToggle = this.currentToggles.indexOf(this._dragged.name); + this.currentToggles.splice(indexCurrentToggle, 1); + this.currentToggles.splice(this._dragged.currentPosition, 0, this._dragged.name); + } + + Settings.setSetting("toggles", this.currentToggles); + this._dragged.container.get_style_context().remove_class("hidden"); + return true; + } + + _dragDropExtra = () => { + if (this._dragged.from === "Main") { + const indexCurrentToggle = this.currentToggles.indexOf(this._dragged.name); + this.currentToggles.splice(indexCurrentToggle, 1); + } + + Settings.setSetting("toggles", this.currentToggles); + this._dragged.container.get_style_context().remove_class("hidden"); + return true; + } + + _dragMotionExtra = (widget, context, x, y, time) => { + if (this._dragged.currentPosition !== null) { + this._dragged.currentPosition = null; + if (this._isChild(this.mainFlowBox, this._dragged.widget)) { + this.mainFlowBox.remove(this._dragged.widget); + } + } + + const children = this.extraFlowBox.get_children(); + const sampleItem = children[0]; + let pos = 0; + if (sampleItem) { + const sampleWidth = sampleItem.get_allocation().width; + const sampleHeight = sampleItem.get_allocated_height(); + const perLine = Math.floor(this.extraFlowBox.get_allocation().width / sampleWidth); + pos = Math.floor(y / sampleHeight) * perLine + Math.floor(x / sampleWidth); + } + + if (pos >= children.length && pos !== 0) return false; + + if (this._dragged.currentPositionExtra === null) { + this.extraFlowBox.insert(this._dragged.widget, pos); + + this._dragged.currentPositionExtra = pos; + } + + if (this._dragged.currentPositionExtra !== pos) { + if (this._isChild(this.extraFlowBox, this._dragged.widget)) { + this.extraFlowBox.remove(this._dragged.widget); + } + + this.extraFlowBox.insert(this._dragged.widget, pos); + + this._dragged.currentPositionExtra = pos; + } + + return true; + } + + _isChild(container, widget) { + let found = false; + container.get_children().forEach((c) => { + if (c === widget) found = true; + }) + return found; + } +} \ No newline at end of file diff --git a/desktops/hyprland/ags/modules/lib/animatedcircularprogress.js b/desktops/hyprland/ags/modules/lib/animatedcircularprogress.js new file mode 100644 index 0000000..9ea548f --- /dev/null +++ b/desktops/hyprland/ags/modules/lib/animatedcircularprogress.js @@ -0,0 +1,74 @@ +const { Gdk, Gtk } = imports.gi; +const GObject = imports.gi.GObject; +const Lang = imports.lang; +import { Utils, Widget } from '../../imports.js'; + +// min-height for diameter +// min-width for trough stroke +// padding for space between trough and progress +// margin for space between widget and parent +// background-color for trough color +// color for progress color +// font size for progress value (0-100px) (hacky i know, but i want animations) +// TODO: border-radius for rounded ends maybe (unimportant) +export const AnimatedCircProg = (props) => Widget({ + ...props, + type: Gtk.DrawingArea, + setup: (area) => { + const styleContext = area.get_style_context(); + const width = styleContext.get_property('min-height', Gtk.StateFlags.NORMAL); + const height = styleContext.get_property('min-height', Gtk.StateFlags.NORMAL); + const padding = styleContext.get_padding(Gtk.StateFlags.NORMAL).left; + const marginLeft = styleContext.get_margin(Gtk.StateFlags.NORMAL).left; + const marginRight = styleContext.get_margin(Gtk.StateFlags.NORMAL).right; + const marginTop = styleContext.get_margin(Gtk.StateFlags.NORMAL).top; + const marginBottom = styleContext.get_margin(Gtk.StateFlags.NORMAL).bottom; + area.set_size_request(width + marginLeft + marginRight, height + marginTop + marginBottom); + area.connect('draw', Lang.bind(area, (area, cr) => { + const styleContext = area.get_style_context(); + const width = styleContext.get_property('min-height', Gtk.StateFlags.NORMAL); + const height = styleContext.get_property('min-height', Gtk.StateFlags.NORMAL); + const padding = styleContext.get_padding(Gtk.StateFlags.NORMAL).left; + const marginLeft = styleContext.get_margin(Gtk.StateFlags.NORMAL).left; + const marginRight = styleContext.get_margin(Gtk.StateFlags.NORMAL).right; + const marginTop = styleContext.get_margin(Gtk.StateFlags.NORMAL).top; + const marginBottom = styleContext.get_margin(Gtk.StateFlags.NORMAL).bottom; + area.set_size_request(width + marginLeft + marginRight, height + marginTop + marginBottom); + + const progressValue = styleContext.get_property('font-size', Gtk.StateFlags.NORMAL) / 100.0; + + const bg_stroke = styleContext.get_property('min-width', Gtk.StateFlags.NORMAL); + const fg_stroke = bg_stroke - padding; + const radius = Math.min(width, height) / 2.0 - Math.max(bg_stroke, fg_stroke) / 2.0; + const center_x = width / 2.0 + marginLeft; + const center_y = height / 2.0 + marginTop; + const start_angle = -Math.PI / 2.0; + const end_angle = start_angle + (2 * Math.PI * progressValue); + const start_x = center_x + Math.cos(start_angle) * radius; + const start_y = center_y + Math.sin(start_angle) * radius; + const end_x = center_x + Math.cos(end_angle) * radius; + const end_y = center_y + Math.sin(end_angle) * radius; + + // Draw background + const background_color = styleContext.get_property('background-color', Gtk.StateFlags.NORMAL); + cr.setSourceRGBA(background_color.red, background_color.green, background_color.blue, background_color.alpha); + cr.arc(center_x, center_y, radius, 0, 2 * Math.PI); + cr.setLineWidth(bg_stroke); + cr.stroke(); + + // Draw progress + const color = styleContext.get_property('color', Gtk.StateFlags.NORMAL); + cr.setSourceRGBA(color.red, color.green, color.blue, color.alpha); + cr.arc(center_x, center_y, radius, start_angle, end_angle); + cr.setLineWidth(fg_stroke); + cr.stroke(); + + // Draw rounded ends for progress arcs + cr.setLineWidth(0); + cr.arc(start_x, start_y, fg_stroke / 2, 0, 0 - 0.01); + cr.fill(); + cr.arc(end_x, end_y, fg_stroke / 2, 0, 0 - 0.01); + cr.fill(); + })) + }, +}) \ No newline at end of file diff --git a/desktops/hyprland/ags/modules/lib/contextmenuitem.js b/desktops/hyprland/ags/modules/lib/contextmenuitem.js new file mode 100644 index 0000000..8dca27c --- /dev/null +++ b/desktops/hyprland/ags/modules/lib/contextmenuitem.js @@ -0,0 +1,10 @@ +const { Gdk, Gtk } = imports.gi; +import { Widget } from '../../imports.js'; + +export const ContextMenuItem = ({ label, onClick }) => Widget({ + type: Gtk.MenuItem, + label: `${label}`, + setup: menuItem => { + menuItem.connect("activate", onClick); + } +}) \ No newline at end of file diff --git a/desktops/hyprland/ags/modules/lib/cursorhover.js b/desktops/hyprland/ags/modules/lib/cursorhover.js new file mode 100644 index 0000000..89717df --- /dev/null +++ b/desktops/hyprland/ags/modules/lib/cursorhover.js @@ -0,0 +1,70 @@ +const { Gdk, Gtk } = imports.gi; + +const CLICK_BRIGHTEN_AMOUNT = 0.13; + +export function setupCursorHover(button) { + var clicked = false; + var dummy = false; + var cursorX = 0; + var cursorY = 0; + const styleContext = button.get_style_context(); + var clickColor = styleContext.get_property('background-color', Gtk.StateFlags.HOVER); + clickColor.green += CLICK_BRIGHTEN_AMOUNT; + clickColor.blue += CLICK_BRIGHTEN_AMOUNT; + clickColor.red += CLICK_BRIGHTEN_AMOUNT; + clickColor = clickColor.to_string(); + + const display = Gdk.Display.get_default(); + button.connect('enter-notify-event', () => { + const cursor = Gdk.Cursor.new_from_name(display, 'pointer'); + button.get_window().set_cursor(cursor); + }); + + button.connect('leave-notify-event', () => { + const cursor = Gdk.Cursor.new_from_name(display, 'default'); + button.get_window().set_cursor(cursor); + }); + + // button.add_events(Gdk.EventMask.POINTER_MOTION_MASK); + // button.connect('motion-notify-event', (widget, event) => { + // [dummy, cursorX, cursorY] = event.get_coords(); // Get the mouse coordinates relative to the widget + // if(!clicked) widget.style = ` + // background-image: radial-gradient(circle at ${cursorX}px ${cursorY}px, rgba(0,0,0,0), rgba(0,0,0,0) 0%, rgba(0,0,0,0) 0%, ${clickColor} 0%, ${clickColor} 0%, ${clickColor} 0%, ${clickColor} 0%, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 0%); + // `; + // }); + + // button.connect('button-press-event', (widget, event) => { + // clicked = true; + // [dummy, cursorX, cursorY] = event.get_coords(); // Get the mouse coordinates relative to the widget + // cursorX = Math.round(cursorX); cursorY = Math.round(cursorY); + // widget.style = ` + // background-image: radial-gradient(circle at ${cursorX}px ${cursorY}px, rgba(0,0,0,0), rgba(0,0,0,0) 0%, rgba(0,0,0,0) 0%, ${clickColor} 0%, ${clickColor} 0%, ${clickColor} 0%, ${clickColor} 0%, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 0%); + // `; + // widget.toggleClassName('growingRadial', true); + // widget.style = ` + // background-image: radial-gradient(circle at ${cursorX}px ${cursorY}px, rgba(0,0,0,0), rgba(0,0,0,0) 0%, rgba(0,0,0,0) 0%, ${clickColor} 0%, ${clickColor} 0%, ${clickColor} 70%, ${clickColor} 70%, rgba(0,0,0,0) 70%, rgba(0,0,0,0) 70%); + // ` + // }); + // button.connect('button-release-event', (widget, event) => { + // widget.toggleClassName('growingRadial', false); + // widget.toggleClassName('fadingRadial', false); + // widget.style = ` + // background-image: radial-gradient(circle at ${cursorX}px ${cursorY}px, rgba(0,0,0,0), rgba(0,0,0,0) 0%, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 70%, rgba(0,0,0,0) 70%, rgba(0,0,0,0) 70%, rgba(0,0,0,0) 70%); + // ` + // clicked = false; + // }); +} + +export function setupCursorHoverAim(button) { + button.connect('enter-notify-event', () => { + const display = Gdk.Display.get_default(); + const cursor = Gdk.Cursor.new_from_name(display, 'crosshair'); + button.get_window().set_cursor(cursor); + }); + + button.connect('leave-notify-event', () => { + const display = Gdk.Display.get_default(); + const cursor = Gdk.Cursor.new_from_name(display, 'default'); + button.get_window().set_cursor(cursor); + }); +} \ No newline at end of file diff --git a/desktops/hyprland/ags/modules/lib/materialicon.js b/desktops/hyprland/ags/modules/lib/materialicon.js new file mode 100644 index 0000000..6bcb6c6 --- /dev/null +++ b/desktops/hyprland/ags/modules/lib/materialicon.js @@ -0,0 +1,7 @@ +import { Widget } from '../../imports.js'; + +export const MaterialIcon = (icon, size, props = {}) => Widget.Label({ + className: `icon-material txt-${size}`, + label: icon, + ...props, +}) \ No newline at end of file diff --git a/desktops/hyprland/ags/modules/lib/navigationindicator.js b/desktops/hyprland/ags/modules/lib/navigationindicator.js new file mode 100644 index 0000000..b0a6340 --- /dev/null +++ b/desktops/hyprland/ags/modules/lib/navigationindicator.js @@ -0,0 +1,73 @@ +const { Gdk, Gtk } = imports.gi; +const GObject = imports.gi.GObject; +const Lang = imports.lang; +import { Utils, Widget } from '../../imports.js'; + +// min-height/min-width for height/width +// background-color/color for background/indicator color +// padding for pad of indicator +// font-size for selected index (0-based) +export const NavigationIndicator = (count, vertical, props) => Widget({ + ...props, + type: Gtk.DrawingArea, + setup: (area) => { + const styleContext = area.get_style_context(); + const width = Math.max(styleContext.get_property('min-width', Gtk.StateFlags.NORMAL), area.get_allocated_width()); + const height = Math.max(styleContext.get_property('min-height', Gtk.StateFlags.NORMAL), area.get_allocated_height()); + area.set_size_request(width, height); + + area.connect('draw', Lang.bind(area, (area, cr) => { + const styleContext = area.get_style_context(); + const width = Math.max(styleContext.get_property('min-width', Gtk.StateFlags.NORMAL), area.get_allocated_width()); + const height = Math.max(styleContext.get_property('min-height', Gtk.StateFlags.NORMAL), area.get_allocated_height()); + // console.log('allocated width/height:', area.get_allocated_width(), '/', area.get_allocated_height()) + area.set_size_request(width, height); + const paddingLeft = styleContext.get_padding(Gtk.StateFlags.NORMAL).left; + const paddingRight = styleContext.get_padding(Gtk.StateFlags.NORMAL).right; + const paddingTop = styleContext.get_padding(Gtk.StateFlags.NORMAL).top; + const paddingBottom = styleContext.get_padding(Gtk.StateFlags.NORMAL).bottom; + + const selectedCell = styleContext.get_property('font-size', Gtk.StateFlags.NORMAL); + + let cellWidth = width; + let cellHeight = height; + if (vertical) cellHeight /= count; + else cellWidth /= count; + const indicatorWidth = cellWidth - paddingLeft - paddingRight; + const indicatorHeight = cellHeight - paddingTop - paddingBottom; + + const background_color = styleContext.get_property('background-color', Gtk.StateFlags.NORMAL); + const color = styleContext.get_property('color', Gtk.StateFlags.NORMAL); + cr.setLineWidth(2); + // Background + cr.setSourceRGBA(background_color.red, background_color.green, background_color.blue, background_color.alpha); + cr.rectangle(0, 0, width, height); + cr.fill(); + + // The indicator line + cr.setSourceRGBA(color.red, color.green, color.blue, color.alpha); + if (vertical) { + cr.rectangle(paddingLeft, paddingTop + cellHeight * selectedCell + indicatorWidth / 2, indicatorWidth, indicatorHeight - indicatorWidth); + cr.stroke(); + cr.rectangle(paddingLeft, paddingTop + cellHeight * selectedCell + indicatorWidth / 2, indicatorWidth, indicatorHeight - indicatorWidth); + cr.fill(); + cr.arc(paddingLeft + indicatorWidth / 2, paddingTop + cellHeight * selectedCell + indicatorWidth / 2, indicatorWidth / 2, Math.PI, 2 * Math.PI); + cr.fill(); + cr.arc(paddingLeft + indicatorWidth / 2, paddingTop + cellHeight * selectedCell + indicatorHeight - indicatorWidth / 2, indicatorWidth / 2, 0, Math.PI); + cr.fill(); + } + else { + cr.rectangle(paddingLeft + cellWidth * selectedCell + indicatorHeight / 2, paddingTop, indicatorWidth - indicatorHeight, indicatorHeight); + cr.stroke(); + cr.rectangle(paddingLeft + cellWidth * selectedCell + indicatorHeight / 2, paddingTop, indicatorWidth - indicatorHeight, indicatorHeight); + cr.fill(); + cr.arc(paddingLeft + cellWidth * selectedCell + indicatorHeight / 2, paddingTop + indicatorHeight / 2, indicatorHeight / 2, 0.5 * Math.PI, 1.5 * Math.PI); + cr.fill(); + cr.arc(paddingLeft + cellWidth * selectedCell + indicatorWidth - indicatorHeight / 2, paddingTop + indicatorHeight / 2, indicatorHeight / 2, -0.5 * Math.PI, 0.5 * Math.PI); + cr.fill(); + } + })) + }, +}) + + diff --git a/desktops/hyprland/ags/modules/lib/notification.js b/desktops/hyprland/ags/modules/lib/notification.js new file mode 100644 index 0000000..6ae5a56 --- /dev/null +++ b/desktops/hyprland/ags/modules/lib/notification.js @@ -0,0 +1,298 @@ +// This file is for the actual widget for each single notification + +const { GLib, Gdk, Gtk } = imports.gi; +import { Utils, Widget } from '../../imports.js'; +const { lookUpIcon, timeout } = Utils; +const { Box, EventBox, Icon, Scrollable, Label, Button, Revealer } = Widget; +import { MaterialIcon } from "./materialicon.js"; +import { setupCursorHover } from "./cursorhover.js"; + +const NotificationIcon = (notifObject) => { + // { appEntry, appIcon, image }, urgency = 'normal' + if (notifObject.image) { + return Box({ + valign: 'center', + hexpand: false, + className: 'notif-icon', + style: ` + background-image: url("${notifObject.image}"); + background-size: auto 100%; + background-repeat: no-repeat; + background-position: center; + `, + }); + } + + let icon = 'NO_ICON'; + if (lookUpIcon(notifObject.appIcon)) + icon = notifObject.appIcon; + if (lookUpIcon(notifObject.appEntry)) + icon = notifObject.appEntry; + + return Box({ + valign: 'center', + hexpand: false, + className: 'notif-icon', + setup: box => { + if (icon != 'NO_ICON') box.pack_start(Icon({ + icon, size: 30, + halign: 'center', hexpand: true, + valign: 'center', + setup: () => { + box.toggleClassName(`notif-icon-material-${notifObject.urgency}`, true); + }, + }), false, true, 0); + else box.pack_start(MaterialIcon(`${notifObject.urgency == 'critical' ? 'release_alert' : 'chat'}`, 'hugeass', { + hexpand: true, + setup: () => box.toggleClassName(`notif-icon-material-${notifObject.urgency}`, true), + }), false, true, 0) + } + }); +}; + +export default ({ + notifObject, + isPopup = false, + props = {}, +} = {}) => { + const command = (isPopup ? + () => notifObject.dismiss() : + () => notifObject.close() + ) + const destroyWithAnims = () => { + widget.sensitive = false; + notificationBox.setStyle(rightAnim1); + Utils.timeout(200, () => { + wholeThing.revealChild = false; + }); + Utils.timeout(400, () => { + command(); + wholeThing.destroy(); + }); + } + const widget = EventBox({ + onHover: (self) => { + self.window.set_cursor(Gdk.Cursor.new_from_name(display, 'grab')); + if (!wholeThing._hovered) + wholeThing._hovered = true; + }, + onHoverLost: (self) => { + self.window.set_cursor(null); + if (wholeThing._hovered) + wholeThing._hovered = false; + if(isPopup) { + command(); + } + }, + onMiddleClick: (self) => { + destroyWithAnims(); + } + }); + const wholeThing = Revealer({ + properties: [ + ['id', notifObject.id], + ['close', undefined], + ['hovered', false], + ['dragging', false], + ['destroyWithAnims', () => destroyWithAnims] + ], + revealChild: false, + transition: 'slide_down', + transitionDuration: 200, + child: Box({ // Box to make sure css-based spacing works + homogeneous: true, + }) + }); + + const display = Gdk.Display.get_default(); + const notificationContent = Box({ + ...props, + className: `${isPopup ? 'popup-' : ''}notif-${notifObject.urgency} spacing-h-10`, + children: [ + NotificationIcon(notifObject), + Box({ + valign: 'center', + vertical: true, + hexpand: true, + children: [ + Box({ + children: [ + Label({ + xalign: 0, + className: 'txt-small txt-semibold titlefont', + justify: Gtk.Justification.LEFT, + hexpand: true, + maxWidthChars: 24, + ellipsize: 3, + wrap: true, + useMarkup: notifObject.summary.startsWith('<'), + label: notifObject.summary, + }), + ] + }), + Label({ + xalign: 0, + className: 'txt-smallie notif-body-${urgency}', + useMarkup: true, + xalign: 0, + justify: Gtk.Justification.LEFT, + wrap: true, + label: notifObject.body, + }), + ] + }), + Box({ + className: 'spacing-h-5', + children: [ + Label({ + valign: 'center', + className: 'txt-smaller txt-semibold', + justify: Gtk.Justification.RIGHT, + setup: (label) => { + const messageTime = GLib.DateTime.new_from_unix_local(notifObject.time); + if (messageTime.get_day_of_year() == GLib.DateTime.new_now_local().get_day_of_year()) { + label.label = messageTime.format('%H:%M'); + } + else if (messageTime.get_day_of_year() == GLib.DateTime.new_now_local().get_day_of_year() - 1) { + label.label = messageTime.format('%H:%M\nYesterday'); + } + else { + label.label = messageTime.format('%H:%M\n%d/%m'); + } + } + }), + Button({ + className: 'notif-close-btn', + onClicked: () => { + destroyWithAnims() + }, + child: MaterialIcon('close', 'large', { + valign: 'center', + }), + setup: (button) => setupCursorHover(button), + }), + ] + }), + + // what is this? i think it should be at the bottom not on the right + // Box({ + // className: 'actions', + // children: actions.map(action => Button({ + // className: 'action-button', + // onClicked: () => Notifications.invoke(id, action.id), + // hexpand: true, + // child: Label(action.label), + // })), + // }), + ] + }) + + // Gesture stuff + + const gesture = Gtk.GestureDrag.new(widget); + var initialDir = 0; + // in px + const startMargin = 0; + const dragThreshold = 100; + // in rem + const maxOffset = 10.227; + const endMargin = 20.455; + const disappearHeight = 6.818; + const leftAnim1 = `transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); + margin-left: -${Number(maxOffset + endMargin)}rem; + margin-right: ${Number(maxOffset + endMargin)}rem; + opacity: 0;`; + + const rightAnim1 = `transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); + margin-left: ${Number(maxOffset + endMargin)}rem; + margin-right: -${Number(maxOffset + endMargin)}rem; + opacity: 0;`; + + const notificationBox = Box({ + properties: [ + ['leftAnim1', leftAnim1], + ['rightAnim1', rightAnim1], + ['ready', false], + ], + homogeneous: true, + children: [notificationContent], + connections: [ + [gesture, self => { + var offset = gesture.get_offset()[1]; + if (initialDir == 0 && offset != 0) + initialDir = (offset > 0 ? 1 : -1) + + if (offset > 0) { + if (initialDir < 0) + self.setStyle(`margin-left: 0px; margin-right: 0px;`); + else + self.setStyle(` + margin-left: ${Number(offset + startMargin)}px; + margin-right: -${Number(offset + startMargin)}px; + `); + } + else if (offset < 0) { + if (initialDir > 0) + self.setStyle(`margin-left: 0px; margin-right: 0px;`); + else { + offset = Math.abs(offset); + self.setStyle(` + margin-right: ${Number(offset + startMargin)}px; + margin-left: -${Number(offset + startMargin)}px; + `); + } + } + + wholeThing._dragging = Math.abs(offset) > 10; + + if (widget.window) + widget.window.set_cursor(Gdk.Cursor.new_from_name(display, 'grabbing')); + }, 'drag-update'], + + [gesture, self => { + if (!self._ready) { + wholeThing.revealChild = true; + self._ready = true; + return; + } + + const offset = gesture.get_offset()[1]; + + if (Math.abs(offset) > dragThreshold && offset * initialDir > 0) { + if (offset > 0) { + self.setStyle(rightAnim1); + widget.sensitive = false; + } + else { + self.setStyle(leftAnim1); + widget.sensitive = false; + } + Utils.timeout(200, () => { + wholeThing.revealChild = false + }); + Utils.timeout(400, () => { + command(); + wholeThing.destroy(); + }); + } + else { + self.setStyle(`transition: margin 200ms cubic-bezier(0.05, 0.7, 0.1, 1), opacity 200ms cubic-bezier(0.05, 0.7, 0.1, 1); + margin-left: ${startMargin}px; + margin-right: ${startMargin}px; + margin-bottom: unset; margin-top: unset; + opacity: 1;`); + if (widget.window) + widget.window.set_cursor(Gdk.Cursor.new_from_name(display, 'grab')); + + wholeThing._dragging = false; + } + initialDir = 0; + }, 'drag-end'], + + ], + }) + widget.add(notificationBox); + wholeThing.child.children = [widget]; + + return wholeThing; +} diff --git a/desktops/hyprland/ags/modules/lib/roundedcorner.js b/desktops/hyprland/ags/modules/lib/roundedcorner.js new file mode 100644 index 0000000..bef91ca --- /dev/null +++ b/desktops/hyprland/ags/modules/lib/roundedcorner.js @@ -0,0 +1,51 @@ +import { Widget } from '../../imports.js'; +const { Gtk } = imports.gi; +const Lang = imports.lang; + +export const RoundedCorner = (place, props) => Widget({ + ...props, + type: Gtk.DrawingArea, + halign: place.includes('left') ? 'start' : 'end', + valign: place.includes('top') ? 'start' : 'end', + setup: widget => { + const c = widget.get_style_context().get_property('background-color', Gtk.StateFlags.NORMAL); + const r = widget.get_style_context().get_property('border-radius', Gtk.StateFlags.NORMAL); + widget.set_size_request(r, r); + widget.connect('draw', Lang.bind(widget, (widget, cr) => { + const c = widget.get_style_context().get_property('background-color', Gtk.StateFlags.NORMAL); + const r = widget.get_style_context().get_property('border-radius', Gtk.StateFlags.NORMAL); + // const borderColor = widget.get_style_context().get_property('color', Gtk.StateFlags.NORMAL); + // const borderWidth = widget.get_style_context().get_border(Gtk.StateFlags.NORMAL).left; // ur going to write border-width: something anyway + widget.set_size_request(r, r); + + switch (place) { + case 'topleft': + cr.arc(r, r, r, Math.PI, 3 * Math.PI / 2); + cr.lineTo(0, 0); + break; + + case 'topright': + cr.arc(0, r, r, 3 * Math.PI / 2, 2 * Math.PI); + cr.lineTo(r, 0); + break; + + case 'bottomleft': + cr.arc(r, 0, r, Math.PI / 2, Math.PI); + cr.lineTo(0, r); + break; + + case 'bottomright': + cr.arc(0, 0, r, 0, Math.PI / 2); + cr.lineTo(r, r); + break; + } + + cr.closePath(); + cr.setSourceRGBA(c.red, c.green, c.blue, c.alpha); + cr.fill(); + // cr.setLineWidth(borderWidth); + // cr.setSourceRGBA(borderColor.red, borderColor.green, borderColor.blue, borderColor.alpha); + // cr.stroke(); + })); + }, +}); \ No newline at end of file diff --git a/desktops/hyprland/ags/modules/lib/searchitem.js b/desktops/hyprland/ags/modules/lib/searchitem.js new file mode 100644 index 0000000..38f79d0 --- /dev/null +++ b/desktops/hyprland/ags/modules/lib/searchitem.js @@ -0,0 +1,69 @@ +const { Gdk, Gtk } = imports.gi; +import { App, Service, Utils, Widget } from '../../imports.js'; +const { execAsync, exec } = Utils; +import { setupCursorHover, setupCursorHoverAim } from "./cursorhover.js"; +import { MaterialIcon } from './materialicon.js'; + +export const searchItem = ({ materialIconName, name, actionName, content, onActivate }) => { + const actionText = Widget.Revealer({ + revealChild: false, + transition: "crossfade", + transitionDuration: 200, + child: Widget.Label({ + className: 'overview-search-results-txt txt txt-small txt-action', + label: `${actionName}`, + }) + }); + const actionTextRevealer = Widget.Revealer({ + revealChild: false, + transition: "slide_left", + transitionDuration: 300, + child: actionText, + }) + return Widget.Button({ + className: 'overview-search-result-btn', + onClicked: onActivate, + child: Widget.Box({ + children: [ + Widget.Box({ + vertical: false, + children: [ + Widget.Label({ + className: `icon-material overview-search-results-icon`, + label: `${materialIconName}`, + }), + Widget.Box({ + vertical: true, + children: [ + Widget.Label({ + halign: 'start', + className: 'overview-search-results-txt txt txt-smallie txt-subtext', + label: `${name}`, + truncate: "end", + }), + Widget.Label({ + halign: 'start', + className: 'overview-search-results-txt txt txt-norm', + label: `${content}`, + truncate: "end", + }), + ] + }), + Widget.Box({ hexpand: true }), + actionTextRevealer, + ], + }) + ] + }), + connections: [ + ['focus-in-event', (button) => { + actionText.revealChild = true; + actionTextRevealer.revealChild = true; + }], + ['focus-out-event', (button) => { + actionText.revealChild = false; + actionTextRevealer.revealChild = false; + }], + ] + }); +} diff --git a/desktops/hyprland/ags/modules/lib/separator.js b/desktops/hyprland/ags/modules/lib/separator.js new file mode 100644 index 0000000..4eaa02c --- /dev/null +++ b/desktops/hyprland/ags/modules/lib/separator.js @@ -0,0 +1,9 @@ +const { Gdk, Gtk } = imports.gi; +import { App, Service, Utils, Widget } from '../../imports.js'; +const { execAsync, exec } = Utils; +import { setupCursorHover, setupCursorHoverAim } from "./cursorhover.js"; +import { MaterialIcon } from './materialicon.js'; + +export const separatorLine = Widget.Box({ + className: 'separator-line', +}) \ No newline at end of file diff --git a/desktops/hyprland/ags/modules/misctoggles.js b/desktops/hyprland/ags/modules/misctoggles.js new file mode 100644 index 0000000..0031fca --- /dev/null +++ b/desktops/hyprland/ags/modules/misctoggles.js @@ -0,0 +1,111 @@ +import { App, Utils, Widget } from '../imports.js'; +const { execAsync, exec } = Utils; +import { MaterialIcon } from "./lib/materialicon.js"; +import { setupCursorHover } from "./lib/cursorhover.js"; + +const RECORD_SCRIPT_DIR = `${App.configDir}/scripts/record-script.sh`; +const RECORDER_PROCESS = 'record-script.sh'; +const CLOSE_ANIM_TIME = 150; + +async function toggleSystemdService(serviceName, button) { + const serviceState = exec(`systemctl is-enabled ${serviceName}`) == 'enabled'; + // console.log(`pkexec bash -c "systemctl ${serviceState ? 'disable' : 'enable'} ${serviceName}"`) + exec(`pkexec bash -c "systemctl ${serviceState ? 'disable' : 'enable'} ${serviceName}"`); + const newServiceState = exec(`systemctl is-enabled ${serviceName}`) == 'enabled'; + button.toggleClassName('sidebar-button-active', newServiceState); + serviceState.toggleClassName('invisible', newServiceState); +} + +const ModuleRecord = (props = {}) => Widget.Button({ + ...props, + className: 'button-minsize sidebar-button-nopad sidebar-button-alone-normal txt-small', + onClicked: () => { + execAsync(['bash', '-c', RECORD_SCRIPT_DIR]).catch(print); + setTimeout(() => { + button.toggleClassName('sidebar-button-active', exec(`pidof ${RECORDER_PROCESS} >/dev/null && echo 1 || echo`) == '1'); + }, CLOSE_ANIM_TIME); + }, + child: MaterialIcon('screen_record', 'larger'), + setup: button => { + button.toggleClassName('sidebar-button-active', exec(`pidof ${RECORDER_PROCESS} >/dev/null && echo 1 || echo`)); + setupCursorHover(button); + } +}) + +const SystemdService = (serviceName) => { + const serviceState = Widget.Label({ + className: `icon-material txt-larger`, + label: 'check', + setup: label => { + // label.toggleClassName('invisible', exec(`bash -c "systemctl is-enabled ${serviceName} >/dev/null && echo ON || echo OFF"`) == 'OFF'); + } + }); + return Widget.Button({ + className: 'button-minsize sidebar-button sidebar-button-alone-normal txt-small', + onClicked: (button) => { + toggleSystemdService(serviceName, button); + }, + setup: button => { + button.toggleClassName('sidebar-button-active', exec(`systemctl is-enabled ${serviceName}`) == 'enabled'); + setupCursorHover(button); + }, + child: Widget.Box({ + setup: box => { + box.pack_start(Widget.Label({ + xalign: 0, + label: serviceName, + }), true, true, 0); + // box.pack_end(serviceState, false, false, 0); + } + }) + }); +} + +export const ModuleMiscToggles = () => { + const PowerSavers = Widget.Revealer({ + revealChild: false, + transition: 'slide_left', + transitionDuration: 100, + child: Widget.Box({ + className: 'spacing-v-5 margin-right-10', + vertical: true, + children: [ + SystemdService('tlp'), + SystemdService('auto-cpufreq'), + ] + }) + }) + const ModulePowerSavers = Widget.Button({ + className: 'button-minsize sidebar-button-nopad sidebar-button-alone-normal txt-small', + child: MaterialIcon('keyboard_arrow_leftenergy_savings_leaf', 'larger', { + xalign: 0.2, + }), + onClicked: (button) => { + const revealed = PowerSavers.revealChild; + PowerSavers.revealChild = !revealed; + button.toggleClassName('sidebar-button-active', !revealed); + button.child.label = revealed ? 'keyboard_arrow_leftenergy_savings_leaf' : 'keyboard_arrow_rightenergy_savings_leaf'; + }, + setup: (button) => setupCursorHover(button), + }) + return Widget.Box({ + className: 'sidebar-group spacing-h-10', + children: [ + PowerSavers, + Widget.Box({ + vertical: true, + className: 'spacing-v-5', + children: [ + ModulePowerSavers, + Widget.Box({ + className: 'spacing-h-5', + children: [ + ModuleNightLight(), + ModuleRecord(), + ] + }) + ] + }) + ] + }); +} diff --git a/desktops/hyprland/ags/modules/music.js b/desktops/hyprland/ags/modules/music.js new file mode 100644 index 0000000..667f4d9 --- /dev/null +++ b/desktops/hyprland/ags/modules/music.js @@ -0,0 +1,78 @@ +import { Service, Utils, Widget } from '../imports.js'; +import Mpris from 'resource:///com/github/Aylur/ags/service/mpris.js'; +import Audio from 'resource:///com/github/Aylur/ags/service/audio.js'; +const { execAsync, exec } = Utils; +import { AnimatedCircProg } from "./lib/animatedcircularprogress.js"; + +const TrackProgress = () => { + const _updateProgress = (circprog) => { + const mpris = Mpris.getPlayer(''); + if (!mpris) return; + // Set circular progress (font size cuz that's how this hacky circprog works) + circprog.style = `font-size: ${mpris.position / mpris.length * 100}px;` + } + return AnimatedCircProg({ + className: 'bar-music-circprog', + valign: 'center', + connections: [ // Update on change/once every 3 seconds + [Mpris, _updateProgress], + [3000, _updateProgress] + ] + }) +} + +export const ModuleMusic = () => Widget.EventBox({ + onScrollUp: () => execAsync('hyprctl dispatch workspace -1'), + onScrollDown: () => execAsync('hyprctl dispatch workspace +1'), + onSecondaryClick: () => Mpris.getPlayer('')?.next(), + onMiddleClick: () => Mpris.getPlayer('')?.playPause(), + child: Widget.Box({ + className: 'bar-group-margin bar-sides', + children: [ + Widget.Box({ + className: 'bar-group bar-group-standalone bar-group-pad-music spacing-h-10', + children: [ + Widget.Box({ // Wrap a box cuz overlay can't have margins itself + homogeneous: true, + children: [Widget.Overlay({ + child: Widget.Box({ + valign: 'center', + className: 'bar-music-playstate', + children: [Widget.Label({ + valign: 'center', + className: 'bar-music-playstate-txt', + connections: [[Mpris, label => { + const mpris = Mpris.getPlayer(''); + label.label = `${mpris !== null && mpris.playBackStatus == 'Playing' ? '' : ''}`; + }]], + })], + connections: [[Mpris, label => { + const mpris = Mpris.getPlayer(''); + if (!mpris) return; + label.toggleClassName('bar-music-playstate-playing', mpris !== null && mpris.playBackStatus == 'Playing'); + label.toggleClassName('bar-music-playstate', mpris !== null || mpris.playBackStatus == 'Paused'); + }]], + }), + overlays: [ + TrackProgress(), + ] + })] + }), + Widget.Scrollable({ + hexpand: true, + child: Widget.Label({ + className: 'txt txt-smallie', + connections: [[Mpris, label => { + const mpris = Mpris.getPlayer(''); + if (mpris) + label.label = `${mpris.trackTitle} • ${mpris.trackArtists.join(', ')}`; + else + label.label = 'No mewwsic'; + }]], + }) + }) + ] + }) + ] + }) +}); \ No newline at end of file diff --git a/desktops/hyprland/ags/modules/musiccontrols.js b/desktops/hyprland/ags/modules/musiccontrols.js new file mode 100644 index 0000000..3712718 --- /dev/null +++ b/desktops/hyprland/ags/modules/musiccontrols.js @@ -0,0 +1,9 @@ +import { Service, Utils, Widget } from '../imports.js'; +const { Box, CenterBox, Label } = Widget; +const { Mpris } = Service; +const { timeout } = Utils; +import { BluetoothIndicator, NetworkIndicator } from "./statusicons.js"; + +export const ModuleMusicControls = () => Box({ + +}) \ No newline at end of file diff --git a/desktops/hyprland/ags/modules/notificationlist.js b/desktops/hyprland/ags/modules/notificationlist.js new file mode 100644 index 0000000..6478e00 --- /dev/null +++ b/desktops/hyprland/ags/modules/notificationlist.js @@ -0,0 +1,123 @@ +// This file is for the notification widget on the sidebar +// For the popup notifications, see onscreendisplay.js +// The actual widget for each single notification is in lib/notification.js + +const { GLib, Gtk } = imports.gi; +import { Service, Utils, Widget } from '../imports.js'; +import Notifications from 'resource:///com/github/Aylur/ags/service/notifications.js'; +const { lookUpIcon, timeout } = Utils; +const { Box, Icon, Scrollable, Label, Button, Revealer } = Widget; +import { MaterialIcon } from "./lib/materialicon.js"; +import { setupCursorHover } from "./lib/cursorhover.js"; +import Notification from "./lib/notification.js"; + +const NotificationList = Box({ + vertical: true, + valign: 'start', + className: 'spacing-v-5-revealer', + connections: [ + [Notifications, (box, id) => { + if (box.children.length == 0) { + Notifications.notifications + .forEach(n => { + box.pack_end(Notification({ + notifObject: n, + isPopup: false, + }), false, false, 0) + }); + box.show_all(); + } + else if (id) { + const notif = Notifications.getNotification(id); + + const NewNotif = Notification({ + notifObject: notif, + isPopup: false, + }); + + if (NewNotif) { + box.pack_end(NewNotif, false, false, 0); + box.show_all(); + } + } + }, 'notified'], + + [Notifications, (box, id) => { + if (!id) return; + for (const ch of box.children) { + if (ch._id === id) { + ch._destroyWithAnims(); + } + } + }, 'closed'], + + [Notifications, box => box.visible = Notifications.notifications.length > 0], + ], +}); + +export default (props) => { + const listTitle = Revealer({ + revealChild: false, + connections: [[Notifications, (revealer) => { + revealer.revealChild = (Notifications.notifications.length > 0); + }]], + child: Box({ + valign: 'start', + className: 'sidebar-group-invisible txt', + children: [ + Label({ + hexpand: true, + xalign: 0, + className: 'txt-title-small', + label: 'Notifications', + }), + Button({ + className: 'notif-closeall-btn', + onClicked: () => { + Notifications.clear(); + }, + child: Box({ + className: 'spacing-h-5', + children: [ + MaterialIcon('clear_all', 'norm'), + Label({ + className: 'txt-small', + label: 'Clear', + }) + ] + }), + setup: button => { + setupCursorHover(button); + }, + }) + ] + }) + }); + const listContents = Scrollable({ + hexpand: true, + hscroll: 'never', + vscroll: 'automatic', + child: Widget({ + type: Gtk.Viewport, + className: 'sidebar-viewport', + setup: (viewport) => { + viewport.add(Box({ + vexpand: true, + children: [NotificationList], + })); + } + }) + }); + listContents.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC); + const vScrollbar = listContents.get_vscrollbar(); + vScrollbar.get_style_context().add_class('sidebar-scrollbar'); + return Box({ + ...props, + className: 'sidebar-group-invisible spacing-v-5', + vertical: true, + children: [ + listTitle, + listContents, + ] + }); +} diff --git a/desktops/hyprland/ags/modules/onscreendisplay.js b/desktops/hyprland/ags/modules/onscreendisplay.js new file mode 100644 index 0000000..217f6e6 --- /dev/null +++ b/desktops/hyprland/ags/modules/onscreendisplay.js @@ -0,0 +1,192 @@ +// This file is for brightness/volume indicator and popup notifications +// For the notification widget on the sidebar, see notificationlist.js +// The actual widget for each single notification is in lib/notification.js + +const { GLib, Gtk } = imports.gi; +import { App, Service, Utils, Widget } from '../imports.js'; +import Audio from 'resource:///com/github/Aylur/ags/service/audio.js'; +import Notifications from 'resource:///com/github/Aylur/ags/service/notifications.js'; +const { Box, EventBox, Icon, Scrollable, Label, Button, Revealer } = Widget; +import Brightness from '../scripts/brightness.js'; +import Indicator from '../scripts/indicator.js'; +import Notification from './lib/notification.js'; + +const OsdValue = (name, labelConnections, progressConnections, props = {}) => Widget.Box({ // Volume + ...props, + vertical: true, + className: 'osd-bg osd-value', + hexpand: true, + children: [ + Widget.Box({ + vexpand: true, + children: [ + Widget.Label({ + xalign: 0, yalign: 0, hexpand: true, + className: 'osd-label', + label: `${name}`, + }), + Widget.Label({ + hexpand: false, className: 'osd-value-txt', + label: '100', + connections: labelConnections, + }), + ] + }), + Widget.ProgressBar({ + className: 'osd-progress', + hexpand: true, + vertical: false, + connections: progressConnections, + }) + ], +}); + +const brightnessIndicator = OsdValue('Brightness', + [[Brightness, self => { + self.label = `${Math.round(Brightness.screen_value * 100)}`; + }, 'notify::screen-value']], + [[Brightness, (progress) => { + const updateValue = Brightness.screen_value; + progress.value = updateValue; + }, 'notify::screen-value']], +) + +const volumeIndicator = OsdValue('Volume', + [[Audio, (label) => { + label.label = `${Math.round(Audio.speaker?.volume * 100)}`; + }]], + [[Audio, (progress) => { + const updateValue = Audio.speaker?.volume; + if (!isNaN(updateValue)) progress.value = updateValue; + }]], +); + +const indicatorValues = Widget.Revealer({ + transition: 'slide_down', + connections: [ + [Indicator, (revealer, value) => { + revealer.revealChild = (value > -1); + }, 'popup'], + ], + child: Widget.Box({ + halign: 'center', + vertical: false, + children: [ + brightnessIndicator, + volumeIndicator, + ] + }) +}); + +const PopupNotification = (notifObject) => Widget.Box({ + homogeneous: true, + children: [ + Widget.EventBox({ + onHoverLost: () => { + notifObject.dismiss(); + }, + child: Widget.Revealer({ + revealChild: true, + child: Widget.Box({ + children: [Notification({ + notifObject: notifObject, + isPopup: true, + props: { halign: 'fill' }, + })], + }), + }) + }) + ] +}) + +const naiveNotifPopupList = Widget.Box({ + vertical: true, + className: 'spacing-v-5', + connections: [ + [Notifications, (box) => { + box.children = Notifications.popups.reverse() + .map(notifItem => PopupNotification(notifItem)); + }], + ], +}) + +const notifPopupList = Box({ + vertical: true, + className: 'spacing-v-5-revealer', + properties: [ + ['map', new Map()], + + ['dismiss', (box, id, force = false) => { + if (!id || !box._map.has(id) || box._map.get(id)._hovered && !force) + return; + + const notif = box._map.get(id); + // console.log(notif); + notif.revealChild = false; + Utils.timeout(200, () => { + notif._destroyWithAnims(); + }) + }], + + ['notify', (box, id) => { + if (!id || Notifications.dnd) + return; + + if (!Notifications.getNotification(id)) + return; + + box._map.delete(id); + + const notif = Notifications.getNotification(id); + box._map.set(id, Notification({ + notifObject: notif, + isPopup: true, + })); + + box.children = Array.from(box._map.values()).reverse(); + + Utils.timeout(10, () => { + box.get_parent().revealChild = true; + }); + + box._map.get(id).interval = Utils.interval(4500, () => { + const notif = box._map.get(id); + if (!notif._hovered) { + if (notif.interval) { + Utils.timeout(500, () => notif.destroy()); + GLib.source_remove(notif.interval); + notif.interval = undefined; + } + } + }); + }], + ], + connections: [ + [Notifications, (box, id) => box._notify(box, id), 'notified'], + [Notifications, (box, id) => box._dismiss(box, id), 'dismissed'], + [Notifications, (box, id) => box._dismiss(box, id, true), 'closed'], + ], +}); + +const notificationPopups = Widget.Revealer({ + className: 'osd-notifs', + transition: 'slide_down', + connections: [[Notifications, (self) => { + self.revealChild = Notifications.popups.length > 0; + }]], + child: notifPopupList, +}) + +export default () => Widget.EventBox({ + onHover: () => { //make the widget hide when hovering + Indicator.popup(-1); + }, + child: Widget.Box({ + vertical: true, + style: 'padding: 1px;', + children: [ + indicatorValues, + notificationPopups, + ] + }) +}); \ No newline at end of file diff --git a/desktops/hyprland/ags/modules/onscreenkeyboard.js b/desktops/hyprland/ags/modules/onscreenkeyboard.js new file mode 100644 index 0000000..5d44d27 --- /dev/null +++ b/desktops/hyprland/ags/modules/onscreenkeyboard.js @@ -0,0 +1,114 @@ +const { Gdk, Gtk } = imports.gi; +import { App, Service, Utils, Widget } from '../imports.js'; +const { Box, EventBox, Button, Revealer } = Widget; +const { execAsync, exec } = Utils; +import { setupCursorHover, setupCursorHoverAim } from "./lib/cursorhover.js"; +import { MaterialIcon } from './lib/materialicon.js'; +import { separatorLine } from './lib/separator.js'; +import { defaultOskLayout, oskLayouts } from '../data/keyboardlayouts.js'; + +const keyboardLayout = defaultOskLayout; +const keyboardJson = oskLayouts[keyboardLayout]; +execAsync(`ydotoold`).catch(print); // Start ydotool daemon + +function releaseAllKeys() { + const keycodes = Array.from(Array(249).keys()); + execAsync([`ydotool`, `key`, ...keycodes.map(keycode => `${keycode}:0`)]) + .then(console.log('Released all keys')) + .catch(print); +} +var modsPressed = false; + +const keyboardControlButton = (icon, text, runFunction) => Button({ + className: 'osk-control-button spacing-h-10', + onClicked: () => runFunction(), + child: Widget.Box({ + children: [ + MaterialIcon(icon, 'norm'), + Widget.Label({ + label: `${text}`, + }), + ] + }) +}) + +const keyboardControls = Box({ + vertical: true, + className: 'spacing-v-5', + children: [ + Button({ + className: 'osk-control-button txt-norm icon-material', + onClicked: () => { + releaseAllKeys(); + App.toggleWindow('osk'); + }, + label: 'keyboard_hide', + }), + Button({ + className: 'osk-control-button txt-norm', + label: `${keyboardJson['name_short']}`, + }), + Button({ + className: 'osk-control-button txt-norm icon-material', + onClicked: () => { // TODO: Proper clipboard widget, since fuzzel doesn't receive mouse inputs + execAsync([`bash`, `-c`, "pkill fuzzel || cliphist list | fuzzel --no-fuzzy --dmenu | cliphist decode | wl-copy"]).catch(print); + }, + label: 'assignment', + }), + ] +}) + +const keyboardItself = (kbJson) => { + return Box({ + vertical: true, + className: 'spacing-v-5', + children: kbJson.keys.map(row => Box({ + vertical: false, + className: 'spacing-h-5', + children: row.map(key => { + return Button({ + className: `osk-key osk-key-${key.shape}`, + hexpand: (key.shape == "space" || key.shape == "expand"), + label: key.label, + setup: (button) => { + let pressed = false; + if (key.keytype == "normal") { + button.connect('pressed', () => { // mouse down + execAsync(`ydotool key ${key.keycode}:1`); + }); + button.connect('clicked', () => { // release + execAsync(`ydotool key ${key.keycode}:0`); + }); + } + else if (key.keytype == "modkey") { + button.connect('pressed', () => { // release + if (pressed) { + execAsync(`ydotool key ${key.keycode}:0`); + button.toggleClassName('osk-key-active', false); + pressed = false; + } + else { + execAsync(`ydotool key ${key.keycode}:1`); + button.toggleClassName('osk-key-active', true); + pressed = true; + modsPressed = true; + } + }); + } + } + }) + }) + })) + }) +} + +export default () => Box({ + vexpand: true, + hexpand: true, + className: 'osk-window spacing-h-10', + children: [ + keyboardControls, + separatorLine, + keyboardItself(keyboardJson), + ], +}); diff --git a/desktops/hyprland/ags/modules/overview.js b/desktops/hyprland/ags/modules/overview.js new file mode 100644 index 0000000..f5e7425 --- /dev/null +++ b/desktops/hyprland/ags/modules/overview.js @@ -0,0 +1,580 @@ +const { Gdk, Gtk } = imports.gi; +import { App, Service, Utils, Widget } from '../imports.js'; +import Applications from 'resource:///com/github/Aylur/ags/service/applications.js'; +import Hyprland from 'resource:///com/github/Aylur/ags/service/hyprland.js'; +const { execAsync, exec } = Utils; +import { setupCursorHover, setupCursorHoverAim } from "./lib/cursorhover.js"; +import { MaterialIcon } from './lib/materialicon.js'; +import { searchItem } from './lib/searchitem.js'; +import { ContextMenuItem } from './lib/contextmenuitem.js'; +import Todo from "../scripts/todo.js"; + +var searching = false; +// Add math funcs +const { abs, sin, cos, tan, cot, asin, acos, atan, acot } = Math; +const pi = Math.PI; +// trigonometric funcs for deg +const sind = x => sin(x * pi / 180); +const cosd = x => cos(x * pi / 180); +const tand = x => tan(x * pi / 180); +const cotd = x => cot(x * pi / 180); +const asind = x => asin(x) * 180 / pi; +const acosd = x => acos(x) * 180 / pi; +const atand = x => atan(x) * 180 / pi; +const acotd = x => acot(x) * 180 / pi; + +const MAX_RESULTS = 10; +const OVERVIEW_SCALE = 0.18; // = overview workspace box / screen size +const TARGET = [Gtk.TargetEntry.new('text/plain', Gtk.TargetFlags.SAME_APP, 0)]; +const searchPromptTexts = [ + 'Try "Kolourpaint"', + 'Try "6*cos(pi)"', + 'Try "sudo pacman -Syu"', + 'Try "How to basic"', + 'Drag n\' drop to move windows', + 'Type to search', +] + +function launchCustomCommand(command) { + App.closeWindow('overview'); + const args = command.split(' '); + if (args[0] == '>raw') { // Mouse raw input + execAsync([`bash`, `-c`, `hyprctl keyword input:force_no_accel $(( 1 - $(hyprctl getoption input:force_no_accel -j | gojq ".int") ))`, `&`]).catch(print); + } + else if (args[0] == '>img') { // Change wallpaper + execAsync([`bash`, `-c`, `${App.configDir}/scripts/color_generation/switchwall.sh`, `&`]).catch(print); + } + else if (args[0] == '>light') { // Light mode + execAsync([`bash`, `-c`, `mkdir -p ~/.cache/ags/user && echo "-l" > ~/.cache/ags/user/colormode.txt`, `&`]).catch(print); + } + else if (args[0] == '>dark') { // Dark mode + execAsync([`bash`, `-c`, `mkdir -p ~/.cache/ags/user && echo "" > ~/.cache/ags/user/colormode.txt`, `&`]).catch(print); + } + else if (args[0] == '>material') { // Light mode + execAsync([`bash`, `-c`, `mkdir -p ~/.cache/ags/user && echo "material" > ~/.cache/ags/user/colorbackend.txt`, `&`]).catch(print); + } + else if (args[0] == '>pywal') { // Dark mode + execAsync([`bash`, `-c`, `mkdir -p ~/.cache/ags/user && echo "pywal" > ~/.cache/ags/user/colorbackend.txt`, `&`]).catch(print); + } + else if (args[0] == '>todo') { // Todo + Todo.add(args.slice(1).join(' ')); + } + else if (args[0] == '>shutdown') { // Shut down + execAsync([`bash`, `-c`, `systemctl poweroff`]).catch(print); + } + else if (args[0] == '>reboot') { // Reboot + execAsync([`bash`, `-c`, `systemctl reboot`]).catch(print); + } + else if (args[0] == '>sleep') { // Sleep + execAsync([`bash`, `-c`, `systemctl suspend`]).catch(print); + } + else if (args[0] == '>logout') { // Log out + execAsync([`bash`, `-c`, `loginctl terminate-user $USER`]).catch(print); + } +} + +function execAndClose(command, terminal) { + App.closeWindow('overview'); + if (terminal) { + execAsync([`bash`, `-c`, `foot fish -C "${command}"`, `&`]).catch(print); + } + else + execAsync(command).catch(print); +} + +function startsWithNumber(str) { + var pattern = /^\d/; + return pattern.test(str); +} + +function substitute(str) { + const subs = [ + { from: 'code-url-handler', to: 'visual-studio-code' }, + { from: 'Code', to: 'visual-studio-code' }, + { from: 'GitHub Desktop', to: 'github-desktop' }, + { from: 'wpsoffice', to: 'wps-office2019-kprometheus' }, + { from: 'gnome-tweaks', to: 'org.gnome.tweaks' }, + { from: 'Minecraft* 1.20.1', to: 'minecraft' }, + { from: '', to: 'image-missing' }, + ]; + + for (const { from, to } of subs) { + if (from === str) + return to; + } + + return str; +} + +function destroyContextMenu(menu) { + if (menu !== null) { + menu.remove_all(); + menu.destroy(); + menu = null; + } +} +const CalculationResultButton = ({ result, text }) => searchItem({ + materialIconName: 'calculate', + name: `Math result`, + actionName: "Copy", + content: `${result}`, + onActivate: () => { + App.closeWindow('overview'); + console.log(result); + execAsync(['bash', '-c', `wl-copy '${result}'`, `&`]).catch(print); + }, +}); + +const DesktopEntryButton = (app) => { + const actionText = Widget.Revealer({ + revealChild: false, + transition: "crossfade", + transitionDuration: 200, + child: Widget.Label({ + className: 'overview-search-results-txt txt txt-small txt-action', + label: 'Launch', + }) + }); + const actionTextRevealer = Widget.Revealer({ + revealChild: false, + transition: "slide_left", + transitionDuration: 300, + child: actionText, + }); + return Widget.Button({ + className: 'overview-search-result-btn', + onClicked: () => { + App.closeWindow('overview'); + app.launch(); + }, + child: Widget.Box({ + children: [ + Widget.Box({ + vertical: false, + children: [ + Widget.Icon({ + className: 'overview-search-results-icon', + icon: app.iconName, + size: 35, // TODO: Make this follow font size. made for 11pt. + }), + Widget.Label({ + className: 'overview-search-results-txt txt txt-norm', + label: app.name, + }), + Widget.Box({ hexpand: true }), + actionTextRevealer, + ] + }) + ] + }), + connections: [ + ['focus-in-event', (button) => { + actionText.revealChild = true; + actionTextRevealer.revealChild = true; + }], + ['focus-out-event', (button) => { + actionText.revealChild = false; + actionTextRevealer.revealChild = false; + }], + ] + }) +} + +const ExecuteCommandButton = ({ command, terminal = false }) => searchItem({ + materialIconName: `${terminal ? 'terminal' : 'settings_b_roll'}`, + name: `Run command`, + actionName: `Execute ${terminal ? 'in terminal' : ''}`, + content: `${command}`, + onActivate: () => execAndClose(command, terminal), +}) + +const CustomCommandButton = ({ text = '' }) => searchItem({ + materialIconName: 'settings_suggest', + name: 'Action', + actionName: 'Run', + content: `${text}`, + onActivate: () => { + App.closeWindow('overview'); + launchCustomCommand(text); + }, +}); + +const SearchButton = ({ text = '' }) => searchItem({ + materialIconName: 'travel_explore', + name: 'Search Google', + actionName: 'Go', + content: `${text}`, + onActivate: () => { + App.closeWindow('overview'); + execAsync(['xdg-open', `https://www.google.com/search?q=${text}`]).catch(print); + }, +}); + +const ContextWorkspaceArray = ({ label, onClickBinary, thisWorkspace }) => Widget({ + type: Gtk.MenuItem, + label: `${label}`, + setup: menuItem => { + let submenu = new Gtk.Menu(); + submenu.className = 'menu'; + for (let i = 1; i <= 10; i++) { + let button = new Gtk.MenuItem({ label: `${i}` }); + button.connect("activate", () => { + execAsync([`${onClickBinary}`, `${thisWorkspace}`, `${i}`]).catch(print); + }); + submenu.append(button); + } + menuItem.set_reserve_indicator(true); + menuItem.set_submenu(submenu); + } +}) + +const client = ({ address, size: [w, h], workspace: { id, name }, class: c, title }) => Widget.Button({ + className: 'overview-tasks-window', + halign: 'center', + valign: 'center', + onClicked: () => { + execAsync([`bash`, `-c`, `hyprctl dispatch focuswindow address:${address}`, `&`]).catch(print); + App.closeWindow('overview'); + }, + onMiddleClick: () => execAsync([`bash`, `-c`, `hyprctl dispatch closewindow address:${address}`, `&`]).catch(print), + onSecondaryClick: (button) => { + button.toggleClassName('overview-tasks-window-selected', true); + const menu = Widget({ + type: Gtk.Menu, + className: 'menu', + setup: menu => { + menu.append(ContextMenuItem({ label: "Close (Middle-click)", onClick: () => { execAsync([`bash`, `-c`, `hyprctl dispatch closewindow address:${address}`, `&`]).catch(print); destroyContextMenu(menu); } })); + menu.append(ContextWorkspaceArray({ label: "Dump windows to workspace", onClickBinary: `${App.configDir}/scripts/dumptows`, thisWorkspace: Number(id) })); + menu.append(ContextWorkspaceArray({ label: "Swap windows with workspace", onClickBinary: `${App.configDir}/scripts/dumptows`, thisWorkspace: Number(id) })); + menu.show_all(); + } + }); + menu.connect("deactivate", () => { + button.toggleClassName('overview-tasks-window-selected', false); + }) + menu.connect("selection-done", () => { + button.toggleClassName('overview-tasks-window-selected', false); + }) + menu.popup_at_pointer(null); // Show the menu at the pointer's position + }, + child: Widget.Box({ + vertical: true, + children: [ + Widget.Icon({ + style: ` + min-width: ${w * OVERVIEW_SCALE - 4}px; + min-height: ${h * OVERVIEW_SCALE - 4}px; + `, + size: Math.min(w, h) * OVERVIEW_SCALE / 2.5, + icon: substitute(c), + }), + Widget.Scrollable({ + hexpand: true, + vexpand: true, + child: Widget.Label({ + style: ` + font-size: ${Math.min(w, h) * OVERVIEW_SCALE / 20}px; + `, + label: title, + }) + }) + ] + }), + tooltipText: `${c}: ${title}`, + setup: (button) => { + setupCursorHoverAim(button); + + button.drag_source_set(Gdk.ModifierType.BUTTON1_MASK, TARGET, Gdk.DragAction.MOVE); + button.drag_source_set_icon_name(substitute(c)); + // button.drag_source_set_icon_gicon(icon); + + button.connect('drag-begin', (button) => { // On drag start, add the dragging class + button.toggleClassName('overview-tasks-window-dragging', true); + }); + button.connect('drag-data-get', (_w, _c, data) => { // On drag finish, give address + data.set_text(address, address.length); + button.toggleClassName('overview-tasks-window-dragging', false); + }); + + // button.drag_source_set(Gdk.ModifierType.BUTTON1_MASK, TARGET, Gdk.DragAction.COPY); + // button.connect('drag-data-get', (_w, _c, data) => data.set_text(address, address.length)); + // button.connect('drag-begin', (_, context) => { + // Gtk.drag_set_icon_surface(context, createSurfaceFromWidget(button)); + // button.toggleClassName('hidden', true); + // }); + // button.connect('drag-end', () => button.toggleClassName('hidden', false)); + + }, +}); + +const workspace = index => { + const fixed = Gtk.Fixed.new(); + const widget = Widget.Box({ + className: 'overview-tasks-workspace', + valign: 'center', + style: ` + min-width: ${SCREEN_WIDTH * OVERVIEW_SCALE}px; + min-height: ${SCREEN_HEIGHT * OVERVIEW_SCALE}px; + `, + connections: [[Hyprland, box => { + box.toggleClassName('active', Hyprland.active.workspace.id === index); + }]], + children: [Widget.EventBox({ + hexpand: true, + vexpand: true, + onPrimaryClickRelease: () => { + execAsync([`bash`, `-c`, `hyprctl dispatch workspace ${index}`, `&`]).catch(print); + App.closeWindow('overview'); + }, + // onSecondaryClick: (eventbox) => { + // const menu = Widget({ + // type: Gtk.Menu, + // setup: menu => { + // menu.append(ContextWorkspaceArray({ label: "Dump windows to workspace", onClickBinary: `${App.configDir}/scripts/dumptows`, thisWorkspace: Number(index) })); + // menu.append(ContextWorkspaceArray({ label: "Swap windows with workspace", onClickBinary: `${App.configDir}/scripts/dumptows`, thisWorkspace: Number(index) })); + // menu.show_all(); + // } + // }); + // menu.popup_at_pointer(null); // Show the menu at the pointer's position + // }, + setup: eventbox => { + eventbox.drag_dest_set(Gtk.DestDefaults.ALL, TARGET, Gdk.DragAction.COPY); + eventbox.connect('drag-data-received', (_w, _c, _x, _y, data) => { + execAsync([`bash`, `-c`, `hyprctl dispatch movetoworkspacesilent ${index},address:${data.get_text()}`, `&`]).catch(print); + }); + }, + child: fixed, + })], + }); + widget.update = clients => { + clients = clients.filter(({ workspace: { id } }) => id === index); + + // this is for my monitor layout + // shifts clients back by SCREEN_WIDTHpx if necessary + clients = clients.map(client => { + // console.log(client); + const [x, y] = client.at; + if (x > SCREEN_WIDTH) + client.at = [x - SCREEN_WIDTH, y]; + return client; + }); + + fixed.get_children().forEach(ch => ch.destroy()); + clients.forEach(c => c.mapped && fixed.put(client(c), c.at[0] * OVERVIEW_SCALE, c.at[1] * OVERVIEW_SCALE)); + fixed.show_all(); + }; + return widget; +}; + +const arr = (s, n) => { + const array = []; + for (let i = 0; i < n; i++) + array.push(s + i); + + return array; +}; + +const OverviewRow = ({ startWorkspace = 1, workspaces = 5, windowName = 'overview' }) => Widget.Box({ + children: arr(startWorkspace, workspaces).map(workspace), + properties: [['update', box => { + execAsync('hyprctl -j clients').then(clients => { + const json = JSON.parse(clients); + box.get_children().forEach(ch => ch.update(json)); + }).catch(print); + }]], + setup: box => box._update(box), + connections: [[Hyprland, box => { + if (!App.getWindow(windowName).visible) + return; + + box._update(box); + }]], +}); + + +export const SearchAndWindows = () => { + var _appSearchResults = []; + + const clickOutsideToClose = Widget.EventBox({ + onPrimaryClick: () => App.closeWindow('overview'), + onSecondaryClick: () => App.closeWindow('overview'), + onMiddleClick: () => App.closeWindow('overview'), + }); + const resultsBox = Widget.Box({ + className: 'spacing-v-15 overview-search-results', + vertical: true, + vexpand: true, + }); + const resultsRevealer = Widget.Revealer({ + transitionDuration: 200, + revealChild: false, + transition: 'slide_down', + // duration: 200, + halign: 'center', + child: resultsBox, + }); + const overviewRevealer = Widget.Revealer({ + revealChild: true, + transition: 'slide_down', + transitionDuration: 200, + child: Widget.Box({ + vertical: true, + className: 'overview-tasks', + children: [ + OverviewRow({ startWorkspace: 1, workspaces: 5 }), + OverviewRow({ startWorkspace: 6, workspaces: 5 }), + ] + }), + }); + const entryPromptRevealer = Widget.Revealer({ + transition: 'crossfade', + transitionDuration: 150, + revealChild: true, + halign: 'center', + child: Widget.Label({ + className: 'overview-search-prompt txt-small txt', + label: searchPromptTexts[Math.floor(Math.random() * searchPromptTexts.length)], + }) + }); + + const entryIconRevealer = Widget.Revealer({ + transition: 'crossfade', + transitionDuration: 150, + revealChild: false, + halign: 'end', + child: Widget.Label({ + className: 'txt txt-large icon-material overview-search-icon', + label: 'search', + }), + }); + + const entryIcon = Widget.Box({ + className: 'overview-search-prompt-box', + setup: box => box.pack_start(entryIconRevealer, true, true, 0), + }); + + const entry = Widget.Entry({ + className: 'overview-search-box txt-small txt', + halign: 'center', + onAccept: ({ text }) => { // This is when you press Enter + const isAction = text.startsWith('>'); + if (startsWithNumber(text)) { // Eval on typing is dangerous, this is a workaround + try { + const fullResult = eval(text); + // copy + execAsync(['bash', '-c', `wl-copy '${fullResult}'`, `&`]).catch(print); + App.closeWindow('overview'); + return; + } catch (e) { + // console.log(e); + } + } + if (_appSearchResults.length > 0) { + App.closeWindow('overview'); + _appSearchResults[0].launch(); + return; + } + else if (text[0] == '>') { // Custom commands + launchCustomCommand(text); + return; + } + // Fallback: Execute command + if (!isAction && exec(`bash -c "command -v ${text.split(' ')[0]}"`) != '') { + if (text.startsWith('sudo')) + execAndClose(text, true); + else + execAndClose(text, false); + } + + else { + App.closeWindow('overview'); + execAsync(['xdg-open', `https://www.google.com/search?q=${text}`]).catch(print); + } + }, + // Actually onChange but this is ta workaround for a bug + connections: [ + ['notify::text', (entry) => { // This is when you type + const isAction = entry.text.startsWith('>'); + resultsBox.get_children().forEach(ch => ch.destroy()); + //check empty if so then dont do stuff + if (entry.text == '') { + resultsRevealer.set_reveal_child(false); + overviewRevealer.set_reveal_child(true); + entryPromptRevealer.set_reveal_child(true); + entryIconRevealer.set_reveal_child(false); + entry.toggleClassName('overview-search-box-extended', false); + searching = false; + } + else { + const text = entry.text; + resultsRevealer.set_reveal_child(true); + overviewRevealer.set_reveal_child(false); + entryPromptRevealer.set_reveal_child(false); + entryIconRevealer.set_reveal_child(true); + entry.toggleClassName('overview-search-box-extended', true); + _appSearchResults = Applications.query(text); + + // Calculate + if (startsWithNumber(text)) { // Eval on typing is dangerous, this is a workaround. + try { + const fullResult = eval(text); + resultsBox.add(CalculationResultButton({ result: fullResult, text: text })); + } catch (e) { + // console.log(e); + } + } + if (isAction) { // Eval on typing is dangerous, this is a workaround. + resultsBox.add(CustomCommandButton({ text: entry.text })); + } + // Add application entries + let appsToAdd = MAX_RESULTS; + _appSearchResults.forEach(app => { + if (appsToAdd == 0) return; + resultsBox.add(DesktopEntryButton(app)); + appsToAdd--; + }); + + // Fallbacks + // if the first word is an actual command + if (!isAction && exec(`bash -c "command -v ${text.split(' ')[0]}"`) != '') { + resultsBox.add(ExecuteCommandButton({ command: entry.text, terminal: entry.text.startsWith('sudo') })); + } + + // Add fallback: search + resultsBox.add(SearchButton({ text: entry.text })); + resultsBox.show_all(); + searching = true; + } + }] + ], + }); + + return Widget.Box({ + vertical: true, + children: [ + clickOutsideToClose, + Widget.Box({ + halign: 'center', + children: [ + entry, + Widget.Box({ + className: 'overview-search-icon-box', + setup: box => box.pack_start(entryPromptRevealer, true, true, 0), + }), + entryIcon, + ] + }), + overviewRevealer, + resultsRevealer, + ], + connections: [ + [App, (_b, name, visible) => { + if (name == 'overview' && !visible) { + entryPromptRevealer.child.label = searchPromptTexts[Math.floor(Math.random() * searchPromptTexts.length)]; + resultsBox.children = []; + entry.set_text(''); + } + }], + ], + }); +}; diff --git a/desktops/hyprland/ags/modules/quicktoggles.js b/desktops/hyprland/ags/modules/quicktoggles.js new file mode 100644 index 0000000..057d5bf --- /dev/null +++ b/desktops/hyprland/ags/modules/quicktoggles.js @@ -0,0 +1,148 @@ +import { Widget, Utils, Service } from '../imports.js'; +import Bluetooth from 'resource:///com/github/Aylur/ags/service/bluetooth.js'; +import Network from 'resource:///com/github/Aylur/ags/service/network.js'; +const { execAsync, exec } = Utils; +import { BluetoothIndicator, NetworkIndicator } from "./statusicons.js"; +import { setupCursorHover } from "./lib/cursorhover.js"; +import { MaterialIcon } from './lib/materialicon.js'; + +export const ToggleIconWifi = (props = {}) => Widget.Button({ + className: 'txt-small sidebar-iconbutton', + tooltipText: 'Wifi | Right-click to configure', + onClicked: Network.toggleWifi, + onSecondaryClickRelease: () => { + execAsync(['bash', '-c', 'XDG_CURRENT_DESKTOP="gnome" gnome-control-center wifi', '&']); + }, + child: NetworkIndicator(), + connections: [ + [Network, button => { + button.toggleClassName('sidebar-button-active', Network.wifi?.internet == 'connected' || Network.wired?.internet == 'connected') + }], + [Network, button => { + button.tooltipText = (`${Network.wifi?.ssid} | Right-click to configure` || 'Unknown'); + }], + ], + setup: (button) => setupCursorHover(button), + ...props, +}); + +export const ToggleIconBluetooth = (props = {}) => Widget.Button({ + className: 'txt-small sidebar-iconbutton', + tooltipText: 'Bluetooth | Right-click to configure', + onClicked: () => { // Provided service doesn't work hmmm + const status = Bluetooth?.enabled; + if (status) { + exec('rfkill block bluetooth'); + } + else { + exec('rfkill unblock bluetooth'); + } + }, + onSecondaryClickRelease: () => { + execAsync(['bash', '-c', 'XDG_CURRENT_DESKTOP="gnome" gnome-control-center bluetooth', '&']); + }, + child: BluetoothIndicator(), + connections: [ + [Bluetooth, button => { + button.toggleClassName('sidebar-button-active', Bluetooth?.enabled) + }], + ], + setup: (button) => setupCursorHover(button), + ...props, +}); + +export const HyprToggleIcon = (icon, name, hyprlandConfigValue, props = {}) => Widget.Button({ + className: 'txt-small sidebar-iconbutton', + tooltipText: `${name}`, + onClicked: (button) => { + // Set the value to 1 - value + Utils.execAsync(`hyprctl -j getoption ${hyprlandConfigValue}`).then((result) => { + const currentOption = JSON.parse(result).int; + execAsync(['bash', '-c', `hyprctl keyword ${hyprlandConfigValue} ${1 - currentOption} &`]).catch(print); + button.toggleClassName('sidebar-button-active', currentOption == 0); + }).catch(print); + }, + child: MaterialIcon(icon, 'norm', { halign: 'center' }), + setup: button => { + button.toggleClassName('sidebar-button-active', JSON.parse(Utils.exec(`hyprctl -j getoption ${hyprlandConfigValue}`)).int == 1); + setupCursorHover(button); + }, + ...props, +}) + +export const ModuleNightLight = (props = {}) => Widget.Button({ + className: 'txt-small sidebar-iconbutton', + tooltipText: 'Night Light', + onClicked: (button) => { + // Set the value to 1 - value + const shaderPath = JSON.parse(exec('hyprctl -j getoption decoration:screen_shader')).str; + if (shaderPath != "[[EMPTY]]" && shaderPath != "") { + execAsync(['bash', '-c', `hyprctl keyword decoration:screen_shader ''`]).catch(print); + button.toggleClassName('sidebar-button-active', false); + } + else { + execAsync(['bash', '-c', `hyprctl keyword decoration:screen_shader ~/.config/hypr/shaders/extradark.frag`]).catch(print); + button.toggleClassName('sidebar-button-active', true); + } + }, + child: MaterialIcon('nightlight', 'norm'), + setup: (button) => setupCursorHover(button), + ...props, +}) + +export const ModuleEditIcon = (props = {}) => Widget.Button({ // TODO: Make this work + ...props, + className: 'txt-small sidebar-iconbutton', + onClicked: () => { + execAsync(['bash', '-c', 'XDG_CURRENT_DESKTOP="gnome" gnome-control-center', '&']); + App.toggleWindow('sideright'); + }, + child: MaterialIcon('edit', 'norm'), + setup: button => { + setupCursorHover(button); + } +}) + +export const ModuleReloadIcon = (props = {}) => Widget.Button({ + ...props, + className: 'txt-small sidebar-iconbutton', + tooltipText: 'Reload Hyprland', + onClicked: () => { + execAsync(['bash', '-c', 'hyprctl reload &']); + App.toggleWindow('sideright'); + }, + child: MaterialIcon('refresh', 'norm'), + setup: button => { + setupCursorHover(button); + } +}) + +export const ModuleSettingsIcon = (props = {}) => Widget.Button({ + ...props, + className: 'txt-small sidebar-iconbutton', + tooltipText: 'Open Settings', + onClicked: () => { + execAsync(['bash', '-c', 'XDG_CURRENT_DESKTOP="gnome" gnome-control-center', '&']); + App.toggleWindow('sideright'); + }, + child: MaterialIcon('settings', 'norm'), + setup: button => { + setupCursorHover(button); + } +}) + +export const ModulePowerIcon = (props = {}) => Widget.Button({ + ...props, + className: 'txt-small sidebar-iconbutton', + tooltipText: 'Session', + onClicked: () => { + App.toggleWindow('session'); + }, + child: MaterialIcon('power_settings_new', 'norm'), + setup: button => { + setupCursorHover(button); + } +}) + + + diff --git a/desktops/hyprland/ags/modules/rightspace.js b/desktops/hyprland/ags/modules/rightspace.js new file mode 100644 index 0000000..2ecc867 --- /dev/null +++ b/desktops/hyprland/ags/modules/rightspace.js @@ -0,0 +1,44 @@ +import { App, Service, Utils, Widget } from '../imports.js'; +import Audio from 'resource:///com/github/Aylur/ags/service/audio.js'; +import Mpris from 'resource:///com/github/Aylur/ags/service/mpris.js'; +const { exec, execAsync, CONFIG_DIR } = Utils; +import Indicator from '../scripts/indicator.js'; +import { StatusIcons } from "./statusicons.js"; +import { RoundedCorner } from "./lib/roundedcorner.js"; +import { Tray } from "./tray.js"; + +export const ModuleRightSpace = () => Widget.EventBox({ + onScrollUp: () => { + if (Audio.speaker == null) return; + Audio.speaker.volume += 0.03; + Indicator.popup(1); + }, + onScrollDown: () => { + if (Audio.speaker == null) return; + Audio.speaker.volume -= 0.03; + Indicator.popup(1); + }, + onPrimaryClick: () => App.toggleWindow('sideright'), + onSecondaryClick: () => Mpris.getPlayer('')?.next(), + onMiddleClick: () => Mpris.getPlayer('')?.playPause(), + child: Widget.Box({ + homogeneous: false, + children: [ + Widget.Box({ + hexpand: true, + className: 'spacing-h-5 txt', + children: [ + Widget.Box({ + hexpand: true, + className: 'spacing-h-15 txt', + setup: box => { + box.pack_end(StatusIcons(), false, false, 0); + box.pack_end(Tray(), false, false, 0); + } + }), + ] + }), + RoundedCorner('topright', { className: 'corner-black' }) + ] + }) +}); diff --git a/desktops/hyprland/ags/modules/sessionscreen.js b/desktops/hyprland/ags/modules/sessionscreen.js new file mode 100644 index 0000000..f99d651 --- /dev/null +++ b/desktops/hyprland/ags/modules/sessionscreen.js @@ -0,0 +1,144 @@ +// This is for the cool memory indicator on the sidebar +// For the right pill of the bar, see system.js +const { Gdk, Gtk } = imports.gi; +const GObject = imports.gi.GObject; +const Lang = imports.lang; +import { App, Service, Utils, Widget } from '../imports.js'; +const { exec, execAsync } = Utils; + +const SessionButton = (name, icon, command, props = {}) => { + const buttonDescription = Widget.Revealer({ + valign: 'end', + transitionDuration: 200, + transition: 'slide_down', + revealChild: false, + child: Widget.Label({ + className: 'txt-smaller session-button-desc', + label: name, + }), + }); + return Widget.Button({ + onClicked: command, + className: 'session-button', + child: Widget.Overlay({ + className: 'session-button-box', + child: Widget.Label({ + vexpand: true, + className: 'icon-material', + label: icon, + }), + overlays: [ + buttonDescription, + ] + }), + onHover: (button) => { + const display = Gdk.Display.get_default(); + const cursor = Gdk.Cursor.new_from_name(display, 'pointer'); + button.get_window().set_cursor(cursor); + buttonDescription.revealChild = true; + }, + onHoverLost: (button) => { + const display = Gdk.Display.get_default(); + const cursor = Gdk.Cursor.new_from_name(display, 'default'); + button.get_window().set_cursor(cursor); + buttonDescription.revealChild = false; + }, + connections: [ + ['focus-in-event', (self) => { + buttonDescription.revealChild = true; + self.toggleClassName('session-button-focused', true); + }], + ['focus-out-event', (self) => { + buttonDescription.revealChild = false; + self.toggleClassName('session-button-focused', false); + }], + ], + ...props, + }); +} + +export default () => { + // lock, logout, sleep + const lockButton = SessionButton('Lock', 'lock', () => { App.closeWindow('session'); execAsync('gtklock') }); + const logoutButton = SessionButton('Logout', 'logout', () => { App.closeWindow('session'); execAsync(['bash', '-c', 'loginctl terminate-user $USER']) }); + const sleepButton = SessionButton('Sleep', 'sleep', () => { App.closeWindow('session'); execAsync('systemctl suspend') }); + // hibernate, shutdown, reboot + const hibernateButton = SessionButton('Hibernate', 'downloading', () => { App.closeWindow('session'); execAsync('systemctl hibernate') }); + const shutdownButton = SessionButton('Shutdown', 'power_settings_new', () => { App.closeWindow('session'); execAsync('systemctl poweroff') }); + const rebootButton = SessionButton('Reboot', 'restart_alt', () => { App.closeWindow('session'); execAsync('systemctl reboot') }); + const cancelButton = SessionButton('Cancel', 'close', () => App.closeWindow('session'), { className: 'session-button-cancel' }); + return Widget.Box({ + className: 'session-bg', + style: ` + min-width: ${SCREEN_WIDTH * 2}px; + min-height: ${SCREEN_HEIGHT * 2}px; + `, // Hack to draw over reserved bar space + vertical: true, + children: [ + Widget.EventBox({ + onPrimaryClick: () => App.closeWindow('session'), + onSecondaryClick: () => App.closeWindow('session'), + onMiddleClick: () => App.closeWindow('session'), + }), + Widget.Box({ + halign: 'center', + vexpand: true, + vertical: true, + children: [ + Widget.Box({ + valign: 'center', + vertical: true, + className: 'spacing-v-15', + children: [ + Widget.Box({ + vertical: true, + style: 'margin-bottom: 0.682rem;', + children: [ + Widget.Label({ + className: 'txt-title txt', + label: 'Session', + }), + Widget.Label({ + justify: Gtk.Justification.CENTER, + className: 'txt-small txt', + label: 'Use arrow keys to navigate.\nEnter to select, Esc to cancel.' + }), + ] + }), + Widget.Box({ + halign: 'center', + className: 'spacing-h-15', + children: [ // lock, logout, sleep + lockButton, + logoutButton, + sleepButton, + ] + }), + Widget.Box({ + halign: 'center', + className: 'spacing-h-15', + children: [ // hibernate, shutdown, reboot + hibernateButton, + shutdownButton, + rebootButton, + ] + }), + Widget.Box({ + halign: 'center', + className: 'spacing-h-15', + children: [ // hibernate, shutdown, reboot + cancelButton, + ] + }), + ] + }) + ] + }) + ], + connections: [ + [App, (_b, name, visible) => { + if (visible) lockButton.grab_focus(); // Lock is the default option + }], + ], + }); +} diff --git a/desktops/hyprland/ags/modules/sideleft.js b/desktops/hyprland/ags/modules/sideleft.js new file mode 100644 index 0000000..7fb347c --- /dev/null +++ b/desktops/hyprland/ags/modules/sideleft.js @@ -0,0 +1,75 @@ +const { Gdk, Gtk } = imports.gi; +import { App, Service, Utils, Widget } from '../imports.js'; +import Applications from 'resource:///com/github/Aylur/ags/service/applications.js'; +import Hyprland from 'resource:///com/github/Aylur/ags/service/hyprland.js'; +const { execAsync, exec } = Utils; +const { Box, EventBox, Button, Label, Scrollable } = Widget; + +const CLIPBOARD_SHOWN_ENTRIES = 20; + +const ClipboardItems = () => { + return Box({ + vertical: true, + className: 'spacing-v-5', + connections: [ + [App, (box, name, visible) => { + if (name != 'sideleft') + return; + + let clipboardContents = exec('cliphist list'); // Output is lines like this: 1000 copied text + clipboardContents = clipboardContents.split('\n'); + + // console.log(clipboardContents); + // console.log(`bash -c 'echo "${clipboardContents[0]}" | sed "s/ /\\t/" | cliphist decode'`); + // console.log(exec(`bash -c 'echo "${clipboardContents[0]}" | sed "s/ /\\t/" | cliphist decode'`)); + + box.children = clipboardContents.map((text, i) => { + if (i >= CLIPBOARD_SHOWN_ENTRIES) return; + return Button({ + onClicked: () => { + print(`bash` + `-c` + `echo "${clipboardContents[i]}" | sed "s/ /\\\t/" | cliphist decode | wl-copy`); + execAsync(`bash`, `-c`, `echo "${clipboardContents[i]}" | sed "s/ /\\\t/" | cliphist decode | wl-copy`).catch(print); + App.closeWindow('sideleft'); + }, + className: 'sidebar-clipboard-item', + child: Box({ + children: [ + Label({ + label: text, + className: 'txt-small', + truncate: 'end', + }) + ] + }) + }) + }); + }] + ] + }); +} + +export default () => Box({ + vertical: true, + children: [ + EventBox({ + onPrimaryClick: () => App.closeWindow('sideleft'), + onSecondaryClick: () => App.closeWindow('sideleft'), + onMiddleClick: () => App.closeWindow('sideleft'), + }), + ClipboardItems(), + // Box({ + // vertical: true, + // vexpand: true, + // className: 'sidebar-left', + // children: [ + // Widget.Box({ + // className: 'spacing-v-5', + // children: [ + // ClipboardItems(), + // ] + // }) + // ], + // }), + ] +}); + diff --git a/desktops/hyprland/ags/modules/sideright.js b/desktops/hyprland/ags/modules/sideright.js new file mode 100644 index 0000000..d900578 --- /dev/null +++ b/desktops/hyprland/ags/modules/sideright.js @@ -0,0 +1,109 @@ +const { Gdk, Gtk } = imports.gi; +import { Utils, Widget } from '../imports.js'; +const { execAsync, exec } = Utils; +const { Box, EventBox } = Widget; +import { + ToggleIconBluetooth, ToggleIconWifi, HyprToggleIcon, ModuleNightLight, + ModuleEditIcon, ModuleReloadIcon, ModuleSettingsIcon, ModulePowerIcon +} from "./quicktoggles.js"; +import ModuleNotificationList from "./notificationlist.js"; +import { ModuleMusicControls } from "./musiccontrols.js"; +import { ModuleCalendar } from "./calendar.js"; + +const NUM_OF_TOGGLES_PER_LINE = 5; + +const togglesFlowBox = Widget({ + type: Gtk.FlowBox, + className: 'sidebar-group spacing-h-10', + setup: (self) => { + self.set_max_children_per_line(NUM_OF_TOGGLES_PER_LINE); + self.add(ToggleIconWifi({ hexpand: 'true' })); + self.add(ToggleIconBluetooth({ hexpand: 'true' })); + self.add(HyprToggleIcon('mouse', 'Raw input', 'input:force_no_accel', { hexpand: 'true' })); + self.add(HyprToggleIcon('front_hand', 'No touchpad while typing', 'input:touchpad:disable_while_typing', { hexpand: 'true' })); + self.add(ModuleNightLight({ hexpand: 'true' })); + // Setup flowbox rearrange + self.connect('child-activated', (self, child) => { + if (child.get_index() === 0) { + self.reorder_child(child, self.get_children().length - 1); + } else { + self.reorder_child(child, 0); + } + }); + } +}) + +const togglesBox = Widget.Box({ + className: 'sidebar-group spacing-h-10', + children: [ + ToggleIconWifi({ hexpand: 'true' }), + ToggleIconBluetooth({ hexpand: 'true' }), + HyprToggleIcon('mouse', 'Raw input', 'input:force_no_accel', { hexpand: 'true' }), + HyprToggleIcon('front_hand', 'No touchpad while typing', 'input:touchpad:disable_while_typing', { hexpand: 'true' }), + ModuleNightLight({ hexpand: 'true' }), + ] +}) + +export default () => Box({ + // vertical: true, + vexpand: true, + hexpand: true, + children: [ + EventBox({ + onPrimaryClick: () => App.closeWindow('sideright'), + onSecondaryClick: () => App.closeWindow('sideright'), + onMiddleClick: () => App.closeWindow('sideright'), + }), + Box({ + vertical: true, + vexpand: true, + className: 'sidebar-right', + children: [ + Box({ + vertical: true, + vexpand: true, + className: 'spacing-v-15', + children: [ + Box({ + vertical: true, + className: 'spacing-v-5', + children: [ + Box({ // Header + className: 'spacing-h-5 sidebar-group-invisible-morehorizpad', + children: [ + Widget.Label({ + className: 'txt-title txt', + connections: [[5000, label => { + execAsync([`date`, "+%H:%M"]).then(timeString => { + label.label = timeString; + }).catch(print); + }]], + }), + Widget.Label({ + halign: 'center', + className: 'txt-small txt', + connections: [[5000, label => { + execAsync(['bash', '-c', `uptime -p | sed -e 's/up //;s/ hours,/h/;s/ minutes/m/'`]).then(upTimeString => { + label.label = `• uptime ${upTimeString}`; + }).catch(print); + }]], + }), + Widget.Box({ hexpand: true }), + // ModuleEditIcon({ halign: 'end' }), // TODO: Make this work + ModuleReloadIcon({ halign: 'end' }), + ModuleSettingsIcon({ halign: 'end' }), + ModulePowerIcon({ halign: 'end' }), + ] + }), + // togglesFlowBox, + togglesBox, + ] + }), + ModuleNotificationList({ vexpand: true, }), + ModuleCalendar(), + ] + }), + ], + }), + ] +}); diff --git a/desktops/hyprland/ags/modules/statusicons.js b/desktops/hyprland/ags/modules/statusicons.js new file mode 100644 index 0000000..88e34fe --- /dev/null +++ b/desktops/hyprland/ags/modules/statusicons.js @@ -0,0 +1,93 @@ +import { Service, Utils, Widget } from '../imports.js'; +const { exec, execAsync } = Utils; +import Audio from 'resource:///com/github/Aylur/ags/service/audio.js'; +import Battery from 'resource:///com/github/Aylur/ags/service/battery.js'; +import Bluetooth from 'resource:///com/github/Aylur/ags/service/bluetooth.js'; +import Network from 'resource:///com/github/Aylur/ags/service/network.js'; + +export const BluetoothIndicator = () => Widget.Stack({ + transition: 'slide_up_down', + items: [ + ['true', Widget.Label({ className: 'txt-norm icon-material', label: 'bluetooth' })], + ['false', Widget.Label({ className: 'txt-norm icon-material', label: 'bluetooth_disabled' })], + ], + connections: [[Bluetooth, stack => { stack.shown = String(Bluetooth.enabled); }]], +}); + + +const NetworkWiredIndicator = () => Widget.Stack({ + transition: 'slide_up_down', + items: [ + ['unknown', Widget.Label({ className: 'txt-norm icon-material', label: 'wifi_off' })], + ['disconnected', Widget.Label({ className: 'txt-norm icon-material', label: 'signal_wifi_off' })], + ['disabled', Widget.Label({ className: 'txt-norm icon-material', label: 'signal_wifi_statusbar_not_connected' })], + ['connected', Widget.Label({ className: 'txt-norm icon-material', label: 'lan' })], + ['connecting', Widget.Label({ className: 'txt-norm icon-material', label: 'signal_wifi_0_bar' })], + ], + connections: [[Network, stack => { + if (!Network.wired) + return; + + const { internet } = Network.wired; + if (internet === 'connected' || internet === 'connecting') + stack.shown = internet; + + if (Network.connectivity !== 'full') + stack.shown = 'disconnected'; + + stack.shown = 'disabled'; + }]], +}); + +const NetworkWifiIndicator = () => Widget.Stack({ + transition: 'slide_up_down', + items: [ + ['disabled', Widget.Label({ className: 'txt-norm icon-material', label: 'wifi_off' })], + ['disconnected', Widget.Label({ className: 'txt-norm icon-material', label: 'signal_wifi_off' })], + ['connecting', Widget.Label({ className: 'txt-norm icon-material', label: 'signal_wifi_statusbar_not_connected' })], + ['4', Widget.Label({ className: 'txt-norm icon-material', label: 'signal_wifi_4_bar' })], + ['3', Widget.Label({ className: 'txt-norm icon-material', label: 'network_wifi_3_bar' })], + ['2', Widget.Label({ className: 'txt-norm icon-material', label: 'network_wifi_2_bar' })], + ['1', Widget.Label({ className: 'txt-norm icon-material', label: 'network_wifi_1_bar' })], + ['0', Widget.Label({ className: 'txt-norm icon-material', label: 'signal_wifi_0_bar' })], + ], + connections: [[Network, + stack => { + if (!Network.wifi) + return; + const { internet, enabled, strength } = Network.wifi; + + if (internet == 'connected') { + stack.shown = String(Math.ceil(strength / 25)); + } + else { + stack.shown = 'disconnected' + } + } + ]], +}); + +export const NetworkIndicator = () => Widget.Stack({ + transition: 'slide_up_down', + items: [ + ['wifi', NetworkWifiIndicator()], + ['wired', NetworkWiredIndicator()], + ], + connections: [[Network, stack => { + const primary = Network.primary || 'wifi'; + stack.shown = primary; + }]], +}); + +export const StatusIcons = (props = {}) => Widget.Box({ + ...props, + children: [Widget.EventBox({ + child: Widget.Box({ + className: 'spacing-h-15', + children: [ + BluetoothIndicator(), + NetworkIndicator(), + ] + }) + })] +}); diff --git a/desktops/hyprland/ags/modules/sysinfo.js b/desktops/hyprland/ags/modules/sysinfo.js new file mode 100644 index 0000000..d5cc797 --- /dev/null +++ b/desktops/hyprland/ags/modules/sysinfo.js @@ -0,0 +1,108 @@ +// This is for the cool memory indicator on the sidebar +// For the right pill of the bar, see system.js +const { Gdk, Gtk } = imports.gi; +const GObject = imports.gi.GObject; +const Lang = imports.lang; +import { App, Service, Utils, Widget } from '../imports.js'; +import Bluetooth from 'resource:///com/github/Aylur/ags/service/bluetooth.js'; +import Hyprland from 'resource:///com/github/Aylur/ags/service/hyprland.js'; +import Network from 'resource:///com/github/Aylur/ags/service/network.js'; +const { execAsync, exec } = Utils; +import { CircularProgress } from "./lib/circularprogress.js"; +import { MaterialIcon } from "./lib/materialicon.js"; + +let cpuUsageQueue = []; +const CPU_HISTORY_LENGTH = 10; + +export const ModuleSysInfo = (props = {}) => { + const swapCircle = Widget({ + type: CircularProgress, + className: 'sidebar-memory-swap-circprog', + valign: 'center', + }); + const ramCircle = Widget({ + type: CircularProgress, + className: 'sidebar-memory-ram-circprog margin-right-10', // margin right 10 here cuz overlay can't have margins itself + valign: 'center', + }); + const cpuCircle = Widget.Box({ + children: [Widget({ + type: CircularProgress, + className: 'sidebar-cpu-circprog margin-right-10', // margin right 10 here cuz overlay can't have margins itself + valign: 'center', + })] + }); + const memoryCircles = Widget.Box({ + homogeneous: true, + children: [Widget.Overlay({ + child: ramCircle, + overlays: [ + swapCircle, + ] + })] + }); + const ramText = Widget.Label({ + halign: 'start', xalign: 0, + className: 'txt txt-small', + }); + const swapText = Widget.Label({ + halign: 'start', xalign: 0, + className: 'txt txt-small', + }); + const memoryText = Widget.Box({ + vertical: true, + valign: 'center', + className: 'spacing-v--5', + children: [ + Widget.Box({ + className: 'spacing-h-5', + children: [ + MaterialIcon('memory', 'large', { setup: icon => icon.toggleClassName('txt', true) }), + ramText + ] + }), + Widget.Box({ + className: 'spacing-h-5', + children: [ + MaterialIcon('swap_horiz', 'large', { setup: icon => icon.toggleClassName('txt', true) }), + swapText + ] + }), + ] + }); + return Widget.Box({ + ...props, + className: 'sidebar-group-nopad', + children: [Widget.Scrollable({ + hexpand: true, + vscroll: 'never', + hscroll: 'automatic', + child: Widget.Box({ + className: 'sidebar-sysinfo-grouppad spacing-h--5', + children: [ + memoryCircles, + memoryText, + // cpuCircle, + // maybe make cpu a graph? + ], + connections: [ + [3000, () => { + // Get memory info + const ramString = exec(`bash -c 'free -h --si | rg "Mem:"'`); + const [ramTotal, ramUsed] = ramString.split(/\s+/).slice(1, 3); + const ramPerc = Number(exec(`bash -c "printf '%.1f' \\\"$(free -m | rg Mem | awk '{print ($3/$2)*100}')\\\""`)); + const swapString = exec(`bash -c 'free -h --si | rg "Swap:"'`); + const [swapTotal, swapUsed] = swapString.split(/\s+/).slice(1, 3); + const swapPerc = Number(exec(`bash -c "printf '%.1f' \\\"$(free -m | rg Swap | awk '{print ($3/$2)*100}')\\\""`)); + // const cpuPerc = parseFloat(exec(`bash -c "top -bn1 | grep 'Cpu(s)' | awk '{print $2 + $4}'"`)); + // Set circular progress (font size cuz hack for anims) + ramCircle.style = `font-size: ${ramPerc}px;` + swapCircle.style = `font-size: ${swapPerc}px;` + ramText.label = `${ramUsed} / ${ramTotal}`; + swapText.label = `${swapUsed} / ${swapTotal}`; + }] + ] + }) + })] + }); +}; diff --git a/desktops/hyprland/ags/modules/system.js b/desktops/hyprland/ags/modules/system.js new file mode 100644 index 0000000..8ca7dd4 --- /dev/null +++ b/desktops/hyprland/ags/modules/system.js @@ -0,0 +1,89 @@ +// This is for the right pill of the bar. +// For the cool memory indicator on the sidebar, see sysinfo.js +import { Service, Utils, Widget } from '../imports.js'; +const { exec, execAsync } = Utils; +import Battery from 'resource:///com/github/Aylur/ags/service/battery.js'; + +export const ModuleSystem = () => Widget.EventBox({ + onScrollUp: () => execAsync('hyprctl dispatch workspace -1'), + onScrollDown: () => execAsync('hyprctl dispatch workspace +1'), + child: Widget.Box({ + className: 'bar-group-margin bar-sides', + children: [ + Widget.Box({ + className: 'bar-group bar-group-standalone bar-group-pad-system spacing-h-15', + children: [ + Widget.Box({ // Clock + valign: 'center', + className: 'spacing-h-5', + children: [ + Widget.Label({ + className: 'bar-clock', + connections: [[5000, label => { + execAsync([`date`, "+%H:%M"]).then(timeString => { + label.label = timeString; + }).catch(print); + }]], + }), + Widget.Label({ + className: 'txt-norm txt', + label: '•', + }), + Widget.Label({ + className: 'txt-smallie txt', + connections: [[5000, label => { + execAsync([`date`, "+%A, %d/%m"]).then(dateString => { + label.label = dateString; + }).catch(print); + }]], + }), + ], + }), + /*Widget.Box({ // Battery + valign: 'center', + hexpand: true, + className: 'spacing-h-5 bar-batt', + connections: [[Battery, box => { + box.toggleClassName('bar-batt-low', Battery.percent <= 20); + box.toggleClassName('bar-batt-full', Battery.charged); + }]], + children: [ + Widget.Label({ + className: 'bar-batt-percentage', + connections: [[Battery, label => { + label.label = `${Battery.percent}`; + }]], + }), + Widget.ProgressBar({ + valign: 'center', + hexpand: true, + className: 'bar-prog-batt', + connections: [[Battery, progress => { + progress.value = Math.abs(Battery.percent / 100); // battery could be initially negative wtf + progress.toggleClassName('bar-prog-batt-low', Battery.percent <= 20); + progress.toggleClassName('bar-prog-batt-full', Battery.charged); + }]], + }), + Widget.Revealer({ + transitionDuration: 150, + revealChild: false, + transition: 'slide_left', + child: Widget.Box({ + valign: 'center', + className: 'bar-batt-chargestate-charging', + connections: [[Battery, box => { + box.toggleClassName('bar-batt-chargestate-low', Battery.percent <= 20); + box.toggleClassName('bar-batt-chargestate-full', Battery.charged); + }]], + }), + connections: [[Battery, revealer => { + revealer.revealChild = Battery.charging; + }]], + }), + ], + }),]*/ + ], + }), + ] + }) +}); diff --git a/desktops/hyprland/ags/modules/tray.js b/desktops/hyprland/ags/modules/tray.js new file mode 100644 index 0000000..1871a59 --- /dev/null +++ b/desktops/hyprland/ags/modules/tray.js @@ -0,0 +1,71 @@ +import { Service, Widget } from '../imports.js'; +import SystemTray from 'resource:///com/github/Aylur/ags/service/systemtray.js'; +const { Box, Icon, Button, Revealer } = Widget; +const { Gravity } = imports.gi.Gdk; + +const revealerDuration = 200; + +const SysTrayItem = item => Button({ + className: 'bar-systray-item', + child: Icon({ + halign: 'center', + size: 16, + binds: [['icon', item, 'icon']] + }), + binds: [['tooltipMarkup', item, 'tooltipMarkup']], + // setup: btn => { + // const id = item.menu.connect('popped-up', menu => { + // menu.disconnect(id); + // }); + // }, + onClicked: btn => item.menu.popup_at_widget(btn, Gravity.SOUTH, Gravity.NORTH, null), + onSecondaryClick: btn => item.menu.popup_at_widget(btn, Gravity.SOUTH, Gravity.NORTH, null), +}); + +export const Tray = (props = {}) => { + const trayContent = Box({ + valign: 'center', + className: 'bar-systray bar-group', + properties: [ + ['items', new Map()], + ['onAdded', (box, id) => { + const item = SystemTray.getItem(id); + if (!item) return; + item.menu.className = 'menu'; + if (box._items.has(id) || !item) + return; + const widget = SysTrayItem(item); + box._items.set(id, widget); + box.pack_start(widget, false, false, 0); + box.show_all(); + if (box._items.size === 1) + trayRevealer.revealChild = true; + }], + ['onRemoved', (box, id) => { + if (!box._items.has(id)) + return; + + box._items.get(id).destroy(); + box._items.delete(id); + if (box._items.size === 0) + trayRevealer.revealChild = false; + }], + ], + connections: [ + [SystemTray, (box, id) => box._onAdded(box, id), 'added'], + [SystemTray, (box, id) => box._onRemoved(box, id), 'removed'], + ], + }); + const trayRevealer = Widget.Revealer({ + revealChild: false, + transition: 'slide_left', + transitionDuration: revealerDuration, + child: trayContent, + }); + return Box({ + ...props, + children: [ + trayRevealer, + ] + }); +} diff --git a/desktops/hyprland/ags/modules/workspaces.js b/desktops/hyprland/ags/modules/workspaces.js new file mode 100644 index 0000000..f7637f0 --- /dev/null +++ b/desktops/hyprland/ags/modules/workspaces.js @@ -0,0 +1,97 @@ +import { App, Service, Utils, Widget } from '../imports.js'; +import Hyprland from 'resource:///com/github/Aylur/ags/service/hyprland.js'; +import { deflisten } from '../scripts/scripts.js'; + +const WORKSPACE_SIDE_PAD = 0.546; // rem +const NUM_OF_WORKSPACES = 10; +let lastWorkspace = 0; + +const activeWorkspaceIndicator = Widget.Box({ + // style: 'margin-left: -1px;', + children: [ + Widget.Box({ + valign: 'center', + halign: 'start', + className: 'bar-ws-active-box', + connections: [ + [Hyprland.active.workspace, (box) => { + const ws = Hyprland.active.workspace.id; + box.setStyle(` + margin-left: -${1.772 * (10 - ws + 1)}rem; + `); + lastWorkspace = ws; + }], + ], + children: [ + Widget.Label({ + valign: 'center', + className: 'bar-ws-active', + label: `•`, + }) + ] + }) + ] +}); + +export const ModuleWorkspaces = () => Widget.EventBox({ + onScrollUp: () => Utils.execAsync(['bash', '-c', 'hyprctl dispatch workspace -1 &']), + onScrollDown: () => Utils.execAsync(['bash', '-c', 'hyprctl dispatch workspace +1 &']), + onMiddleClickRelease: () => App.toggleWindow('overview'), + onSecondaryClickRelease: () => App.toggleWindow('osk'), + child: Widget.Box({ + homogeneous: true, + className: 'bar-ws-width', + children: [ + Widget.Overlay({ + passThrough: true, + child: Widget.Box({ + homogeneous: true, + className: 'bar-group-center', + children: [Widget.Box({ + className: 'bar-group-standalone bar-group-pad', + })] + }), + overlays: [ + Widget.Box({ + style: ` + padding: 0rem ${WORKSPACE_SIDE_PAD}rem; + `, + children: [ + Widget.Box({ + halign: 'center', + // homogeneous: true, + children: Array.from({ length: NUM_OF_WORKSPACES }, (_, i) => i + 1).map(i => Widget.Button({ + onPrimaryClick: () => Utils.execAsync(['bash', '-c', `hyprctl dispatch workspace ${i} &`]).catch(print), + child: Widget.Label({ + valign: 'center', + label: `${i}`, + className: 'bar-ws txt', + }), + })), + connections: [ + [Hyprland, (box) => { // TODO: connect to the right signal so that it doesn't update too much + // console.log('update'); + const kids = box.children; + kids.forEach((child, i) => { + child.child.toggleClassName('bar-ws-occupied', false); + child.child.toggleClassName('bar-ws-occupied-left', false); + child.child.toggleClassName('bar-ws-occupied-right', false); + child.child.toggleClassName('bar-ws-occupied-left-right', false); + }); + const occupied = Array.from({ length: NUM_OF_WORKSPACES }, (_, i) => Hyprland.getWorkspace(i + 1)?.windows > 0); + for (let i = 0; i < occupied.length; i++) { + if (!occupied[i]) continue; + const child = kids[i]; + child.child.toggleClassName(`bar-ws-occupied${!occupied[i - 1] ? '-left' : ''}${!occupied[i + 1] ? '-right' : ''}`, true); + } + }], + ], + }), + activeWorkspaceIndicator, + ] + }) + ] + }) + ] + }) +}); diff --git a/desktops/hyprland/ags/scripts/README.md b/desktops/hyprland/ags/scripts/README.md new file mode 100755 index 0000000..1292e1c --- /dev/null +++ b/desktops/hyprland/ags/scripts/README.md @@ -0,0 +1,2 @@ +# scripts folder +- For ARM devices, you have to compile C++ files yourself. \ No newline at end of file diff --git a/desktops/hyprland/ags/scripts/brightness.js b/desktops/hyprland/ags/scripts/brightness.js new file mode 100644 index 0000000..b86558c --- /dev/null +++ b/desktops/hyprland/ags/scripts/brightness.js @@ -0,0 +1,58 @@ +import { Service, Utils } from '../imports.js'; +const { exec, execAsync } = Utils; + +const clamp = (num, min, max) => Math.min(Math.max(num, min), max); + +class BrightnessService extends Service { + static { + Service.register( + this, + { 'screen-changed': ['float'], }, + { 'screen-value': ['float', 'rw'], }, + ); + } + + _screenValue = 0; + + // the getter has to be in snake_case + get screen_value() { return this._screenValue; } + + // the setter has to be in snake_case too + set screen_value(percent) { + percent = clamp(percent, 0, 1); + this._screenValue = percent; + + Utils.execAsync(`brightnessctl s ${percent * 100}% -q`) + .then(() => { + // signals has to be explicity emitted + this.emit('screen-changed', percent); + this.notify('screen-value'); + + // or use Service.changed(propName: string) which does the above two + // this.changed('screen'); + }) + .catch(print); + } + + constructor() { + super(); + const current = Number(exec('brightnessctl g')); + const max = Number(exec('brightnessctl m')); + this._screenValue = current / max; + } + + // overwriting connectWidget method, let's you + // change the default event that widgets connect to + connectWidget(widget, callback, event = 'screen-changed') { + super.connectWidget(widget, callback, event); + } +} + +// the singleton instance +const service = new BrightnessService(); + +// make it global for easy use with cli +globalThis.brightness = service; + +// export to use in other modules +export default service; \ No newline at end of file diff --git a/desktops/hyprland/ags/scripts/calendarlayout.js b/desktops/hyprland/ags/scripts/calendarlayout.js new file mode 100644 index 0000000..691ee5e --- /dev/null +++ b/desktops/hyprland/ags/scripts/calendarlayout.js @@ -0,0 +1,101 @@ +export function getCalendarLayout(d, highlight) { + if (!d) d = new Date(); + var calendar = [...Array(6)].map(() => Array(7)); + var today = [...Array(6)].map(() => Array(7)); + const year = d.getFullYear(); + const month = d.getMonth() + 1; + const day = d.getDate(); + const weekdayOfMonthFirst = new Date(`${year}-${month}-01`).getDay(); + const leapYear = (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)); + const daysInMonth = (((month <= 7 && month % 2 == 1) || (month >= 8 && month % 2 == 0)) ? 31 : ((month == 2 && leapYear) ? 29 : ((month == 2 && !leapYear) ? 28 : 30))); + const daysInNextMonth = ((month == 1 && leapYear) ? 29 : ((month == 1 && !leapYear) ? 28 : ((month == 7 || month == 12) ? 31 : (((month <= 6 && month % 2 == 1) || (month >= 8 && month % 2 == 0)) ? 30 : 31)))); + const daysInLastMonth = ((month == 3 && leapYear) ? 29 : ((month == 3 && !leapYear) ? 28 : ((month == 1 || month == 8) ? 31 : ((month <= 7 && month % 2 == 1) || (month >= 9 && month % 2 == 0)) ? 30 : 31))); + var monthDiff = (weekdayOfMonthFirst == 0 ? 0 : -1); + var dim = daysInLastMonth; + var toFill = (weekdayOfMonthFirst == 0 ? 1 : (daysInLastMonth + 1 - weekdayOfMonthFirst)); + var i = 0, j = 0; + while (i < 6 && j < 7) { + calendar[i][j] = toFill; + if (toFill == day && monthDiff == 0 && highlight) today[i][j] = 1; + else if (monthDiff == 0) today[i][j] = 0; + else today[i][j] = -1; + toFill++; + if (toFill > dim) { + monthDiff++; + if (monthDiff == 0) dim = daysInMonth; + else if (monthDiff == 1) dim = daysInNextMonth; + toFill = 1; + } + j++; + if (j == 7) { + j = 0; + i++; + } + } + var cal = []; + for (var i = 0; i < 6; i++) { + var arr = []; + for (var j = 0; j < 7; j++) { + arr.push({ + day: calendar[i][j], + today: today[i][j] + }); + } + cal.push(arr); + } + + return cal; +} + +export default getCalendarLayout; + +// export function getCalendarLayout(d, highlight) { +// if (!d) d = new Date(); +// var calendar = [...Array(6)].map(() => Array(7)); +// var today = [...Array(6)].map(() => Array(7)); +// const year = d.getFullYear(); +// const month = d.getMonth() + 1; +// const day = d.getDate(); +// const weekdayOfMonthFirst = new Date(`${year}-${month}-01`).getDay(); +// const leapYear = (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)); +// const daysInMonth = (((month <= 7 && month % 2 == 1) || (month >= 8 && month % 2 == 0)) ? 31 : ((month == 2 && leapYear) ? 29 : ((month == 2 && !leapYear) ? 28 : 30))); +// const daysInNextMonth = ((month == 1 && leapYear) ? 29 : ((month == 1 && !leapYear) ? 28 : ((month == 7 || month == 12) ? 31 : (((month <= 6 && month % 2 == 1) || (month >= 8 && month % 2 == 0)) ? 30 : 31)))); +// const daysInLastMonth = ((month == 3 && leapYear) ? 29 : ((month == 3 && !leapYear) ? 28 : ((month == 1 || month == 8) ? 31 : ((month <= 7 && month % 2 == 1) || (month >= 9 && month % 2 == 0)) ? 30 : 31))); +// var monthDiff = (weekdayOfMonthFirst == 1 ? 0 : -1); +// var dim = daysInLastMonth; +// var toFill = (weekdayOfMonthFirst == 1 ? 1 : (weekdayOfMonthFirst == 0 ? (daysInLastMonth - 5) : (daysInLastMonth + 2 - weekdayOfMonthFirst))); +// var i = 0, j = 0; +// while (i < 6 && j < 7) { +// calendar[i][j] = toFill; +// if (toFill == day && monthDiff == 0 && highlight) today[i][j] = 1; +// else if (monthDiff == 0) today[i][j] = 0; +// else today[i][j] = -1; +// toFill++; +// if (toFill > dim) { +// monthDiff++; +// if (monthDiff == 0) dim = daysInMonth; +// else if (monthDiff == 1) dim = daysInNextMonth; +// toFill = 1; +// } +// j++; +// if (j == 7) { +// j = 0; +// i++; +// } +// } +// var cal = []; +// for (var i = 0; i < 6; i++) { +// var arr = []; +// for (var j = 0; j < 7; j++) { +// arr.push({ +// day: calendar[i][j], +// today: today[i][j] +// }); +// } +// cal.push(arr); +// } + +// return cal; +// } + +// export default getCalendarLayout; \ No newline at end of file diff --git a/desktops/hyprland/ags/scripts/color_generation/applycolor.sh b/desktops/hyprland/ags/scripts/color_generation/applycolor.sh new file mode 100755 index 0000000..4e301f3 --- /dev/null +++ b/desktops/hyprland/ags/scripts/color_generation/applycolor.sh @@ -0,0 +1,153 @@ +#!/usr/bin/env bash + +cd "$HOME/.config/ags" || exit + +# filelist=$(ls 'images/svg/template/' | grep -v /) + +# cat scss/_material.scss +colornames=$(cat scss/_material.scss | cut -d: -f1) +colorstrings=$(cat scss/_material.scss | cut -d: -f2 | cut -d ' ' -f2 | cut -d ";" -f1) +IFS=$'\n' +# filearr=( $filelist ) # Get colors +colorlist=( $colornames ) # Array of color names +colorvalues=( $colorstrings ) # Array of color values + +transparentize() { + local hex="$1" + local alpha="$2" + local red green blue + + red=$((16#${hex:1:2})) + green=$((16#${hex:3:2})) + blue=$((16#${hex:5:2})) + + printf 'rgba(%d, %d, %d, %.2f)\n' "$red" "$green" "$blue" "$alpha" +} + +get_light_dark() { + lightdark="" + if [ ! -f ~/.cache/ags/user/colormode.txt ]; then + echo "" > ~/.cache/ags/user/colormode.txt + else + lightdark=$(cat ~/.cache/ags/user/colormode.txt) # either "" or "-l" + fi + echo "$lightdark" +} + +# apply_svgs() { +# for i in "${!filearr[@]}"; do # Loop through folders +# colorvalue=$(echo "$colorscss" | grep "${filearr[$i]}" | awk '{print $2}' | cut -d ";" -f1) +# for file in images/svg/template/"${filearr[$i]}"/*; do # Loop through files +# cp "$file" images/svg/ +# sed -i "s/black/$colorvalue/g" images/svg/"${file##*/}" +# done +# done +# } + +apply_gtklock() { + # Check if scripts/templates/gtklock/main.scss exists + if [ ! -f "scripts/templates/gtklock/main.scss" ]; then + echo "SCSS not found. Fallback to CSS." + else + sassc ~/.config/ags/scripts/templates/gtklock/main.scss ~/.config/gtklock/style.css + return + fi + + # Check if scripts/templates/gtklock/style.css exists + if [ ! -f "scripts/templates/gtklock/style.css" ]; then + echo "Template file not found for Gtklock. Skipping that." + return + fi + # Copy template + cp "scripts/templates/gtklock/style.css" "$HOME/.config/gtklock/style.css" + # Apply colors + for i in "${!colorlist[@]}"; do + sed -i "s/${colorlist[$i]};/${colorvalues[$i]};/g" "$HOME/.config/gtklock/style.css" + done +} + +apply_fuzzel() { + # Check if scripts/templates/fuzzel/fuzzel.ini exists + if [ ! -f "scripts/templates/fuzzel/fuzzel.ini" ]; then + echo "Template file not found for Fuzzel. Skipping that." + return + fi + # Copy template + cp "scripts/templates/fuzzel/fuzzel.ini" "$HOME/.config/fuzzel/fuzzel.ini" + # Apply colors + for i in "${!colorlist[@]}"; do + sed -i "s/${colorlist[$i]}ff/${colorvalues[$i]#\#}ff/g" "$HOME/.config/fuzzel/fuzzel.ini" + sed -i "s/${colorlist[$i]}cc/${colorvalues[$i]#\#}cc/g" "$HOME/.config/fuzzel/fuzzel.ini" + done +} + +apply_foot() { + # Check if scripts/templates/foot/foot.ini exists + if [ ! -f "scripts/templates/foot/foot.ini" ]; then + echo "Template file not found for Foot. Skipping that." + return + fi + # Copy template + cp "scripts/templates/foot/foot.ini" "$HOME/.config/foot/foot.ini" + # Apply colors + for i in "${!colorlist[@]}"; do + sed -i "s/${colorlist[$i]} #/${colorvalues[$i]#\#}/g" "$HOME/.config/foot/foot.ini" # note: ff because theyre opaque + done +} + +apply_hyprland() { + # Check if scripts/templates/hypr/colors.conf exists + if [ ! -f "scripts/templates/hypr/colors.conf" ]; then + echo "Template file not found for Hyprland colors. Skipping that." + return + fi + # Copy template + cp "scripts/templates/hypr/colors.conf" "$HOME/.config/hypr/colors.conf" + # Apply colors + for i in "${!colorlist[@]}"; do + sed -i "s/(${colorlist[$i]}/(${colorvalues[$i]#\#}/g" "$HOME/.config/hypr/colors.conf" + done +} + +apply_gtk() { # Using gradience-cli + lightdark=$(get_light_dark) + + background=$(cat scss/_material.scss | grep "background" | awk '{print $2}' | cut -d ";" -f1) + secondaryContainer=$(cat scss/_material.scss | grep "secondaryContainer" | awk '{print $2}' | cut -d ";" -f1) + window_bg_color=$(transparentize "$background" 0.9) + card_bg_color=$(transparentize "$background" 0.2) + headerbar_border_color=$(transparentize "$secondaryContainer" 0.12) + + # Copy template + cp "scripts/templates/gradience/preset_template.json" "scripts/templates/gradience/preset.json" + + # Apply colors + for i in "${!colorlist[@]}"; do + sed -i "s/\"${colorlist[$i]}\"/\"${colorvalues[$i]}\"/g" "scripts/templates/gradience/preset.json" + done + sed -i "s|\"\$windowBgColor\"|\"$window_bg_color\"|g" "scripts/templates/gradience/preset.json" + sed -i "s|\"\$cardBgColor\"|\"$card_bg_color\"|g" "scripts/templates/gradience/preset.json" + sed -i "s|\"\$headerbarBorderColor\"|\"$headerbar_border_color\"|g" "scripts/templates/gradience/preset.json" + + gradience-cli apply -p scripts/templates/gradience/preset.json --gtk both + + # Set light/dark preference + # And set GTK theme manually as Gradience defaults to light adw-gtk3 + # (which is unreadable when broken when you use dark mode) + if [ "$lightdark" = "-l" ]; then + gsettings set org.gnome.desktop.interface color-scheme 'prefer-light' + gsettings set org.gnome.desktop.interface gtk-application-prefer-dark-theme false + gsettings set org.gnome.desktop.interface gtk-theme adw-gtk3 + else + gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' + gsettings set org.gnome.desktop.interface gtk-application-prefer-dark-theme true + gsettings set org.gnome.desktop.interface gtk-theme adw-gtk3-dark + fi +} + +# apply_svgs +apply_gtklock +apply_fuzzel +apply_foot +apply_hyprland +apply_gtk diff --git a/desktops/hyprland/ags/scripts/color_generation/colorgen.sh b/desktops/hyprland/ags/scripts/color_generation/colorgen.sh new file mode 100755 index 0000000..4da2eb4 --- /dev/null +++ b/desktops/hyprland/ags/scripts/color_generation/colorgen.sh @@ -0,0 +1,55 @@ +#!/usr/bin/bash + +# check if no arguments +if [ $# -eq 0 ]; then + echo "Usage: colorgen.sh /path/to/image (--apply)" + exit 1 +fi + +# check if the file ~/.cache/ags/user/colormode.txt exists. if not, create it. else, read it to $lightdark +lightdark="" +if [ ! -f "$HOME/.cache/ags/user/colormode.txt" ]; then + echo "" > "$HOME/.cache/ags/user/colormode.txt" +else + lightdark=$(cat "$HOME/.cache/ags/user/colormode.txt") # either "" or "-l" +fi +# check if the file ~/.cache/ags/user/colorbackend.txt exists. if not, create it. else, read it to $lightdark +backend="material" +if [ ! -f "$HOME/.cache/ags/user/colorbackend.txt" ]; then + echo "material" > "$HOME/.cache/ags/user/colorbackend.txt" +else + backend=$(cat "$HOME/.cache/ags/user/colorbackend.txt") # either "" or "-l" +fi + +cd "$HOME/.config/ags/scripts/" || exit +if [ "$backend" = "material" ]; then + color_generation/generate_colors_material.py --path "$1" "$lightdark" > $HOME/.cache/ags/user/generated_colors.txt + if [ "$2" = "--apply" ]; then + cp $HOME/.cache/ags/user/generated_colors.txt "$HOME/.config/ags/scss/_material.scss" + color_generation/applycolor.sh + fi +elif [ "$backend" = "pywal" ]; then + # clear and generate + wal -c + echo wal -i "$1" -n -t -s -e "$lightdark" -q + wal -i "$1" -n -t -s -e $lightdark -q + # copy scss + cp "$HOME/.cache/wal/colors.scss" $HOME/.cache/ags/user/generated_colors.txt + + cat color_generation/pywal_to_material.scss >> $HOME/.cache/ags/user/generated_colors.txt + if [ "$2" = "--apply" ]; then + sassc $HOME/.cache/ags/user/generated_colors.txt $HOME/.cache/ags/user/generated_colors_classes.scss --style compact + sed -i "s/ { color//g" $HOME/.cache/ags/user/generated_colors_classes.scss + sed -i "s/\./$/g" $HOME/.cache/ags/user/generated_colors_classes.scss + sed -i "s/}//g" $HOME/.cache/ags/user/generated_colors_classes.scss + if [ "$lightdark" = "-l" ]; then + printf "\n"'$darkmode: false;'"\n" >> $HOME/.cache/ags/user/generated_colors_classes.scss + else + printf "\n"'$darkmode: true;'"\n" >> $HOME/.cache/ags/user/generated_colors_classes.scss + fi + + cp $HOME/.cache/ags/user/generated_colors_classes.scss "$HOME/.config/ags/scss/_material.scss" + + color_generation/applycolor.sh + fi +fi diff --git a/desktops/hyprland/ags/scripts/color_generation/generate_colors_material.py b/desktops/hyprland/ags/scripts/color_generation/generate_colors_material.py new file mode 100755 index 0000000..d26ecf8 --- /dev/null +++ b/desktops/hyprland/ags/scripts/color_generation/generate_colors_material.py @@ -0,0 +1,93 @@ +#!/bin/python3 +from material_color_utilities_python import * +from pathlib import Path +import sys +import subprocess + +img = 0 +newtheme=0 +if len(sys.argv) > 1 and sys.argv[1] == '--path': + img = Image.open(sys.argv[2]) + basewidth = 64 + wpercent = (basewidth/float(img.size[0])) + hsize = int((float(img.size[1])*float(wpercent))) + img = img.resize((basewidth,hsize),Image.Resampling.LANCZOS) + newtheme = themeFromImage(img) +elif len(sys.argv) > 1 and sys.argv[1] == '--color': + colorstr = sys.argv[2] + newtheme = themeFromSourceColor(argbFromHex(colorstr)) +else: + imagePath = subprocess.check_output("swww query | awk -F 'image: ' '{print $2}'", shell=True) + imagePath = imagePath[:-1].decode("utf-8") + img = Image.open(imagePath) + basewidth = 64 + wpercent = (basewidth/float(img.size[0])) + hsize = int((float(img.size[1])*float(wpercent))) + img = img.resize((basewidth,hsize),Image.Resampling.LANCZOS) + newtheme = themeFromImage(img) + +colorscheme=0 +if("-l" in sys.argv): + colorscheme = newtheme.get('schemes').get('light') + print('$darkmode: false;') +else: + colorscheme = newtheme.get('schemes').get('dark') + print('$darkmode: true;') + +primary = colorscheme.get_primary() +onPrimary = colorscheme.get_onPrimary() +primaryContainer = colorscheme.get_primaryContainer() +onPrimaryContainer = colorscheme.get_onPrimaryContainer() +secondary = colorscheme.get_secondary() +onSecondary = colorscheme.get_onSecondary() +secondaryContainer = colorscheme.get_secondaryContainer() +onSecondaryContainer = colorscheme.get_onSecondaryContainer() +tertiary = colorscheme.get_tertiary() +onTertiary = colorscheme.get_onTertiary() +tertiaryContainer = colorscheme.get_tertiaryContainer() +onTertiaryContainer = colorscheme.get_onTertiaryContainer() +error = colorscheme.get_error() +onError = colorscheme.get_onError() +errorContainer = colorscheme.get_errorContainer() +onErrorContainer = colorscheme.get_onErrorContainer() +background = colorscheme.get_background() +onBackground = colorscheme.get_onBackground() +surface = colorscheme.get_surface() +onSurface = colorscheme.get_onSurface() +surfaceVariant = colorscheme.get_surfaceVariant() +onSurfaceVariant = colorscheme.get_onSurfaceVariant() +outline = colorscheme.get_outline() +shadow = colorscheme.get_shadow() +inverseSurface = colorscheme.get_inverseSurface() +inverseOnSurface = colorscheme.get_inverseOnSurface() +inversePrimary = colorscheme.get_inversePrimary() + + +print('$primary: ' + hexFromArgb(primary) + ';') +print('$onPrimary: ' + hexFromArgb(onPrimary) + ';') +print('$primaryContainer: ' + hexFromArgb(primaryContainer) + ';') +print('$onPrimaryContainer: ' + hexFromArgb(onPrimaryContainer) + ';') +print('$secondary: ' + hexFromArgb(secondary) + ';') +print('$onSecondary: ' + hexFromArgb(onSecondary) + ';') +print('$secondaryContainer: ' + hexFromArgb(secondaryContainer) + ';') +print('$onSecondaryContainer: ' + hexFromArgb(onSecondaryContainer) + ';') +print('$tertiary: ' + hexFromArgb(tertiary) + ';') +print('$onTertiary: ' + hexFromArgb(onTertiary) + ';') +print('$tertiaryContainer: ' + hexFromArgb(tertiaryContainer) + ';') +print('$onTertiaryContainer: ' + hexFromArgb(onTertiaryContainer) + ';') +print('$error: ' + hexFromArgb(error) + ';') +print('$onError: ' + hexFromArgb(onError) + ';') +print('$errorContainer: ' + hexFromArgb(errorContainer) + ';') +print('$onErrorContainer: ' + hexFromArgb(onErrorContainer) + ';') +print('$colorbarbg: ' + hexFromArgb(background) + ';') +print('$background: ' + hexFromArgb(background) + ';') +print('$onBackground: ' + hexFromArgb(onBackground) + ';') +print('$surface: ' + hexFromArgb(surface) + ';') +print('$onSurface: ' + hexFromArgb(onSurface) + ';') +print('$surfaceVariant: ' + hexFromArgb(surfaceVariant) + ';') +print('$onSurfaceVariant: ' + hexFromArgb(onSurfaceVariant) + ';') +print('$outline: ' + hexFromArgb(outline) + ';') +print('$shadow: ' + hexFromArgb(shadow) + ';') +print('$inverseSurface: ' + hexFromArgb(inverseSurface) + ';') +print('$inverseOnSurface: ' + hexFromArgb(inverseOnSurface) + ';') +print('$inversePrimary: ' + hexFromArgb(inversePrimary) + ';') \ No newline at end of file diff --git a/desktops/hyprland/ags/scripts/color_generation/pywal_to_material.scss b/desktops/hyprland/ags/scripts/color_generation/pywal_to_material.scss new file mode 100755 index 0000000..ff049b2 --- /dev/null +++ b/desktops/hyprland/ags/scripts/color_generation/pywal_to_material.scss @@ -0,0 +1,57 @@ +$primary: lighten($color4, 20%); +$onPrimary: darken($color2, 20%); +$primaryContainer: darken($color2, 10%); +$onPrimaryContainer: lighten($color4, 10%); +$secondary: desaturate(lighten($color5, 20%), 20%); +$onSecondary: desaturate(darken($color3, 20%), 20%); +$secondaryContainer: desaturate(darken($color3, 20%), 20%); +$onSecondaryContainer: desaturate(lighten($color5, 20%), 20%); +$tertiary: adjust-hue(lighten($color4, 20%), 30deg); +$onTertiary: adjust-hue(darken($color2, 20%), 30deg); +$tertiaryContainer: adjust-hue(darken($color2, 10%), 30deg); +$tertiaryContainer: adjust-hue(lighten($color4, 10%), 30deg); +$error: #ffb4a9; +$onError: #680003; +$errorContainer: #930006; +$onErrorContainer: #ffb4a9; +$colorbarbg: $color0; +$background: $color0; +$onBackground: $color7; +$surface: $color0; +$onSurface: $color7; +$surfaceVariant: $color1; +$onSurfaceVariant: $color7; +$outline: $color7; +$shadow: #000000; +$inverseSurface: invert($surface); +$inverseOnSurface: invert($onSurface); +$inversePrimary: invert($primary); + +.primary { color: $primary; } +.onPrimary { color: $onPrimary; } +.primaryContainer { color: $primaryContainer; } +.onPrimaryContainer { color: $onPrimaryContainer; } +.secondary { color: $secondary; } +.onSecondary { color: $onSecondary; } +.secondaryContainer { color: $secondaryContainer; } +.onSecondaryContainer { color: $onSecondaryContainer; } +.tertiary { color: $tertiary; } +.onTertiary { color: $onTertiary; } +.tertiaryContainer { color: $tertiaryContainer; } +.onTertiaryContainer { color: $tertiaryContainer; } +.error { color: $error; } +.onError { color: $onError; } +.errorContainer { color: $errorContainer; } +.onErrorContainer { color: $onErrorContainer; } +.colorbarbg { color: $colorbarbg; } +.background { color: $background; } +.onBackground { color: $onBackground; } +.surface { color: $surface; } +.onSurface { color: $onSurface; } +.surfaceVariant { color: $surfaceVariant; } +.onSurfaceVariant { color: $onSurfaceVariant; } +.outline { color: $outline; } +.shadow { color: $shadow; } +.inverseSurface { color: $inverseSurface; } +.inverseOnSurface { color: $inverseOnSurface; } +.inversePrimary { color: $inversePrimary; } diff --git a/desktops/hyprland/ags/scripts/color_generation/switchwall.sh b/desktops/hyprland/ags/scripts/color_generation/switchwall.sh new file mode 100755 index 0000000..4590974 --- /dev/null +++ b/desktops/hyprland/ags/scripts/color_generation/switchwall.sh @@ -0,0 +1,27 @@ +#!/usr/bin/bash +# Switches sww wallpaper +# Requires: coreutils, xrandr, hyprland + +# Select and set image (hyprland) +cd "$HOME/Pictures" +imgpath=$(yad --width 1200 --height 800 --file --title='Choose wallpaper') +screensizey=$(xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f2 | head -1) +cursorposx=$(hyprctl cursorpos -j | gojq '.x') +cursorposy=$(hyprctl cursorpos -j | gojq '.y') +cursorposy_inverted=$(( screensizey - cursorposy )) + +if [ "$imgpath" == '' ]; then + echo 'Aborted' + exit 0 +fi + +echo Sending "$imgpath" to swww. Cursor pos: ["$cursorposx, $cursorposy_inverted"] & +# Change swww wallpaper +swww img "$imgpath" --transition-step 100 --transition-fps 60 \ +--transition-type grow --transition-angle 30 --transition-duration 1 \ +--transition-pos "$cursorposx, $cursorposy_inverted" & + +# Generate colors for ags n stuff +"$HOME"/.config/ags/scripts/color_generation/colorgen.sh "${imgpath}" --apply +sassc "$HOME"/.config/ags/scss/main.scss "$HOME"/.config/ags/style.css +ags run-js "App.resetCss(); App.applyCss('${HOME}/.config/ags/style.css');" & diff --git a/desktops/hyprland/ags/scripts/dumptows b/desktops/hyprland/ags/scripts/dumptows new file mode 100755 index 0000000000000000000000000000000000000000..273e968f332dd32b9aecd8d4c8ad7f61e42e7d62 GIT binary patch literal 1806872 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]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 literal 0 HcmV?d00001 diff --git a/desktops/hyprland/ags/scripts/dumptows.cpp b/desktops/hyprland/ags/scripts/dumptows.cpp new file mode 100755 index 0000000..6548af7 --- /dev/null +++ b/desktops/hyprland/ags/scripts/dumptows.cpp @@ -0,0 +1,79 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +#include "nlohmann/json.hpp" +using namespace std; +using json = nlohmann::json; + +int workspace_a, workspace_b; +string clients; +json clientjson; +vector windows_a, windows_b; +bool output = false; + +string exec(const char* cmd) { + array buffer; + string result; + unique_ptr pipe(popen(cmd, "r"), pclose); + if (!pipe) { + throw runtime_error("popen() failed!"); + } + while (fgets(buffer.data(), buffer.size(), pipe.get()) != nullptr) { + result += buffer.data(); + } + return result; +} + +void tryAddApp(const json& client) { + if (int(client["workspace"]["id"]) == workspace_a) + windows_a.push_back(client["address"]); + else if (int(client["workspace"]["id"]) == workspace_b) + windows_b.push_back(client["address"]); +} + +void getApps() { + // Get clients + clients = exec("hyprctl clients -j | gojq -c -M"); + clientjson = json::parse(clients); + + // Access the values + for (json client : clientjson) { + tryAddApp(client); + } +} + +void dumptoWorkspace() { + for (string address : windows_a) { + string cmd = "hyprctl dispatch movetoworkspacesilent " + + to_string(workspace_b) + ",address:" + address; + if (output) cout << cmd << '\n'; + exec(&cmd[0]); + } +} + +int main(int argc, char* argv[]) { + ios::sync_with_stdio(false); + + if (argc < 3) { + cout << "Usage: dumptows [WORKSPACE_NUMBER_1] [WORKSPACE_NUMBER_2]" + << endl; + return 0; + } + if (argc == 4 && string(argv[3]) == "--output") output = true; + + workspace_a = stoi(string(argv[1])); + workspace_b = stoi(string(argv[2])); + if (workspace_a <= 0 || workspace_b <= 0 || workspace_a == workspace_b) { + cout << "Nahhh that's stupid" << endl; + return 0; + } + + getApps(); + dumptoWorkspace(); +} \ No newline at end of file diff --git a/desktops/hyprland/ags/scripts/indicator.js b/desktops/hyprland/ags/scripts/indicator.js new file mode 100644 index 0000000..fcb8948 --- /dev/null +++ b/desktops/hyprland/ags/scripts/indicator.js @@ -0,0 +1,40 @@ +import { Service, Utils } from '../imports.js'; +const { exec, execAsync } = Utils; + +const clamp = (num, min, max) => Math.min(Math.max(num, min), max); + +class IndicatorService extends Service { + static { + Service.register( + this, + { 'popup': ['double'], }, + ); + } + + _delay = 1500; + _count = 0; + + popup(value) { + this.emit('popup', value); + this._count++; + Utils.timeout(this._delay, () => { + this._count--; + + if (this._count === 0) + this.emit('popup', -1); + }); + } + + connectWidget(widget, callback) { + connect(this, widget, callback, 'popup'); + } +} + +// the singleton instance +const service = new IndicatorService(); + +// make it global for easy use with cli +globalThis['indicator'] = service; + +// export to use in other modules +export default service; \ No newline at end of file diff --git a/desktops/hyprland/ags/scripts/record-script.sh b/desktops/hyprland/ags/scripts/record-script.sh new file mode 100755 index 0000000..57f4508 --- /dev/null +++ b/desktops/hyprland/ags/scripts/record-script.sh @@ -0,0 +1,14 @@ +#!/usr/bin/bash + +cd ~/Videos || exit +if [[ "$(pidof wf-recorder)" == "" ]]; then + notify-send "Starting recording" './recording_'"$(date '+%Y_%m_%_d..%H.%M.%S')"'.mp4' -a 'record-script.sh' + if [[ "$1" == "--sound" ]]; then + wf-recorder -t -f './recording_'"$(date '+%Y_%m_%_d..%H.%M.%S')"'.mp4' --geometry "$(slurp)" --audio=alsa_output.pci-0000_08_00.6.analog-stereo.monitor + else + wf-recorder -t -f './recording_'"$(date '+%Y_%m_%_d..%H.%M.%S')"'.mp4' --geometry "$(slurp)" + fi +else + /usr/bin/kill --signal SIGINT wf-recorder + notify-send "Recording Stopped" "Stopped" -a 'record-script.sh' +fi diff --git a/desktops/hyprland/ags/scripts/scripts.js b/desktops/hyprland/ags/scripts/scripts.js new file mode 100644 index 0000000..a5449ae --- /dev/null +++ b/desktops/hyprland/ags/scripts/scripts.js @@ -0,0 +1,107 @@ +import { App, Service, Utils, Widget } from '../imports.js'; +const { exec, execAsync, CONFIG_DIR } = Utils; + +export const deflisten = function (name, command, transformer = (a) => a) { + const { Service } = ags; + const GObject = imports.gi.GObject; + + const v = GObject.registerClass( + { + GTypeName: name, + Properties: { + state: GObject.ParamSpec.string( + "state", + "State", + "Read-Write string state.", + GObject.ParamFlags.READWRITE, + "" + ), + }, + Signals: { + [`${name}-changed`]: {}, + }, + }, + class Subclass extends Service { + get state() { + return this._state || ""; + } + + set state(value) { + this._state = value; + this.emit("changed"); + } + + get proc() { + return this._proc || null; + } + + set proc(value) { + this._proc = value; + } + + start = () => { + this.proc = Utils.subprocess(command, (line) => { + this.state = transformer(line); + }); + } + + stop = () => { + this.proc.force_exit(); + this.proc = null; + } + + constructor() { + super(); + this.proc = Utils.subprocess(command, (line) => { + this.state = transformer(line); + }); + } + } + ); + + class State { + static { + globalThis[name] = this; + } + + static instance = new v(); + + static get state() { + return State.instance.state; + } + + static set state(value) { + State.instance.state = value; + } + + static start() { + State.instance.start(); + } + static stop() { + State.instance.stop(); + } + } + + return State; +} + +export async function switchWall() { + try { + path = exec(`bash -c 'cd ~/Pictures && yad --width 1200 --height 800 --file --title="Choose wallpaper"'`); + screensizey = JSON.parse(exec(`hyprctl monitors -j`))[0]['height']; + cursorposx = exec(`bash -c 'hyprctl cursorpos -j | gojq ".x"'`); + cursorposy = exec(`bash -c 'hyprctl cursorpos -j | gojq ".y"'`); + cursorposy_inverted = screensizey - cursorposy; + // print all those + if (path == '') { + print('Switch wallpaper: Aborted'); + return; + } + print(`Sending ${path} to swww. Cursor pos: [${cursorposx}, ${cursorposy_inverted}]`); + exec(`swww img ${path} --transition-step 230 --transition-fps 60 --transition-type grow --transition-angle 30 --transition-duration 1 --transition-pos "${cursorposx}, ${cursorposy_inverted}"`); + exec(CONFIG_DIR + `/scripts/colorgen.sh ${path} --apply`); + imports.scss.scss.setupScss(); + } catch (error) { + print(error); + } +} diff --git a/desktops/hyprland/ags/scripts/swapws b/desktops/hyprland/ags/scripts/swapws new file mode 100755 index 0000000000000000000000000000000000000000..b0dc8d336ff535285e94981e62afb8bbfc4748d8 GIT binary patch literal 1807136 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

m@MX=r<8k9_EV zfwosC$tz))ri78DgzC&DGd7`=!SKq)Cm9Tt1RLOkaRw%^M*Mlju%1w$=#$1 zwyL(q03Kv9*n6aSuCJnAH_mZbT*9usT1|cl+|EsEkeSwqqbCi!_6{}q4MKC8R2HVV zDUP*zZnjPh^oWtk&)!)__El*9#b~ASLtD`Z6|r$6U;b^c>LSbQ0~pQ|8Tq^@Q5j4(nWN79yxm=7o z+oYPNhvRPh9JK9RII|9{F_V34jEmDfoq!hV=axV-vFQlfi)S&h5_&u-e%$es4o$P? z0UbZJm14(QjgFnYI+qJ{JhbhvBS-OyyQvf}tx4M(dgb}(g`pr*sz{X%1~==a5*SI2 zrCBuCA5v>n{<~-oRX%3Y>oF_lmJuP{e%afG<$u?tOBJGT`6zYmF-nm}vo~7H z+n{>TM43U;0|9$Kw!9C`aOplWAf!<$ptd)vHud(S_#TyqrYt;{W+Y7aV1_6(S84D3 zmN)Qdkd|{eLAC>Lq3-{G{zMxnBQTZOaR|*=*o(>k%Z$aX=b572e8$4wwVp6zQNZ%F zm$}Oqpaw%Q7^f&>>Cpi8W_bDJ0RSj!sS6CxJ75xTQW?9nF{MFueuc(9Wh+!E>$B)l z+Crf<9cEh+$67tdfdKx3<6^~7SrE(5Je*uJ#&kPIc^*oZW5zjjjH=kEd&!NgAiCPV zzXMHd=o&S2l5WJCxJh@hEMuoCe?n`LO{#P(EFa(wlNCK`RDXJGG+!nX<-u)gV2!GL zSzB=_Cf_`d%%|GuTA+r@CnZ^9GvxLKZWr{}I|7Bu#lpf8jCe-LiV}S0%NrM?N|%Lb z%#@2pUyq^QS)k3hu)q4_Q=<5yp}6fp6bEXGe@~>i+fe+6PtmvM6UEmJ#Wxl}zf;*w zNpXAz*c8deM3Q?9$>)5Mv~I~y_Pd7UmIcrVno)e&P`r3CMvY|{SyHlpHWW95B7MIu zG4o#raX-8m6ImIuH5&b}?16=*A-`4Ib-pdAXan+=s$$a@>Na4%4ZRu0fHaJi@?btg z4mUFh46HXqK1Jsdz{JN!T6JcJ|5_)RVPU9)u{w!vS?g@jABck+IvAEtme=_XtfrJY zfXO9`OLX1W-OV!=r&$lLEd_7bP+G+o2zfTB&cPjas2@cwjVv|srlmy#npFQ9HKblQ zoqCwx$pXBO&ZBsfDl^0UR^T5K@4CG3uUa4er+MXMegUIzvzJlF7>MIRm2yho*@@Bag^*vRt zUl`h<0(#zox=SeiRl$v1vpz-bFN4nb{(=%(PMP~YlVOc#2U?U+sY=fsMIZ^aPY|Ks{`k8n9K3s8R!H(Gc{09=(RPs$z5q1)&RUkHK?X ztic6qY2HDh9N>`>)U$hYLVmN+Mr-SGIO`cfi0{xKsdAd~qlAp|5amhb6ii@gaGuCA z{KNd=5W6rrj+t(IQ|v&3iqVwpW$uW7!B~U?jmn#YIbG=Ss@*wBq39WOX~cYbP#Xqn zQKhSblT=Tn6W06xJ)IK|kj}~f*VEZYCv(DoOlA0NN^-DPl?1VnkQV+(IRO$VaeHxQ z1>GuRfp}A3Skwls?l7!6DUo3p7YYH|2k2wMk3zU|d*y0loNnSCzQPo|%?^wJv9Gnp zg&uRd_tt3NtT|s}cDnK}Fz2E&BI=-VgMGsa5+2R#n!MIxJ_vP9$ucwC%jQbF!3MT5 z`fP2TZjy`Ga`u7^Mhm}J_1>X|k)G%9l$pC1B_MP+e{A_kqk^ds{NA&Yd@5u*XzwGc zJTa-Mu4^<@X$9Vasjergnv$k^h^ESMZBDOxg`o!vF*n`1-ow(Hv4W#)ELndnNVH^8 z&33W0hHEUDKD8z5qlIK?(t+z;7zki#IzYOsZp4j=s=Qu}*{BBfqIVeCM`QX%rj@G+ zWb-d&B2vzP@rfqvK3d3Ds0_ItIizF(v=`m-x91%1w9+Jk2Txe2V*0;y4jpDgpG3c% zgWeIVT({`%Qv*!30ILDed6TND^ZHla^VeH||7H_<%>w?P+k{eS2Mm7A?LApAx`f@< zHuMR{fi|sjckztIs>NbOshtK!eda81D}p|jw^Xl=509$tVb!zd`q?V95rLLEo}N=(?@e~pR$3XJWB@3qqr zhnlLVfm*FHK&t^Xbgx#wo79*jpdl9Mvj0G7ng!a7zOdUC)!(e$)_j)O&?gYu8-sOY zJ<_4q+R&#ETG^zklR_V~q0b<+*A_L*%n@tcw`}Om2aKFH-TiEV9)Rf%RZsrv>+{@9LC~m>=?0`&x1!5TG4RRvc1aY0kC;c@u zv<*NGa4;RA-{6`V#RLsO533)HN~(JZb*%wvrao(%NsbM@iZXJaw%1^Q#fI2= z6@+0`6V1nxeb`JwaWa?WF5N_Gm(+s`8U?SnbpG>_!WS%9^332MnEZ~hD-_Axn0lRw z^c~4#6}^73z=r;3W>prfxiz5H2Keh2!`!dc*?^4!ZMwg7A$o0u$sb%(hQr(*uC{_ctN;cPePGgSg+)BtvJxsmU#o&~)yHdh!=W<)3eDHFyJg5nYIl$0cDE|m9Z9lt z*?KpAor(2R!fE0GvzEgw>tE&&U#Pg{ZojB5^%~+I76S9579?Z}N+}NtvTiiAuSONk zhN_=|wYu2(MH;mkn^DUWx|_^Syoy|#ot9a=4_cU=O1Y?BYXRrFtd7bb7UMdUKpPc|CjUArx&fKB-Xx(}1END0{6%P#=kYJGq5ntg2OhOp$*n}f z`T?y|1aC4i`|pKbBOGfHK1{)uwWVrUJ?+;SXEtJ$acNj$VV*%#T>OJ>iLtScGOSMJ zjiF_qZRo@EYrjmze=-FG1BJ0F_8G>u8BoHasIE(S^U)gBIy6tUy9@KvC8~0%8eFH^ zVL{R|+lEpdzV>F5oWGu5)6-_3TEGUHUyJNCTMWuoA2YkAm)LZ<#n5YjhTkD{I7gAH z89F0qB&E8%Y4z`H3;PNB0dyrrM*Y*F4L0;U6rEPsDwU)hZm^+i5ZZP#$~~mB0|O8< z8K*VGw=C33KqYI4x+HyP0h*OFoppcM&;zem&_F$JH7VX4f?(S2)XE&DRVmSXv23?I zahh_ag?=?mV*Ff>LNI(GXpGWQjO9bq{?S6;iW(Wk=F56jfYl)NY_ME44}E5WZGAJyQ{MxW;6+m@^>_@<2V`taT!S% zWE3$0bkxC!=(q-C&~YFM=#Nn+1V$O1`G3zj_f)-l^}4onR+CRY-PLvOyYKGzEZ=j^ zMl-6{%)ME-0sdp&%|ba!6#auK6K2uBzO*#P}joWgAGixcoy2U?4O3fnh4P~Nk@36 zQV(N}mO_J7YgSqnqdb1M7T5*Aj_Yw*00)&yK$gp20j6)B2v}pVE{g-dQu4#41K8aI z0^Fz%@xPB6vsH=;lI^Yc+YU2kE?7^X7J|q@lSAk=RtCaRCyAXU$l7FrtWBePaTu`T z#epIFZ9P9s5}5Ar6`0C02u#t0z%(uwfhlSQrg0vDiM+p#Q?vv8a~>Hi8~Dmz0B+$f zxKve^RI2KML@9U^!WMr>O4-he+VUJq!e2h7*CxLZR(PTY_p)(N599tWQHC$Bet6%I6m$$ z!}pm9z{SW6ZR7@$Zh2b0nQ^ZmypPJ4EoQRtH%A3{fkLzPmrmry?_*KZ7 z78)5E;UJB_XN32~J203=cqn5ZE~QZ(2JyEjNIMioV725A@Ki9=2#Y;C+LbG}HJ9r90k4SPFodIW{~?tDGZci)%x-ADM{bDW2WtC--txO1;_ zB?ioH4))?u<$*YyJP@{Q%3E}m$eED`$BuXTUVts4c9SmHpE)(o1>L;jcd&T&Ya@hmzYojfeF!i8imN zVWn@~!@5|9m5V2a^}{^r^rhdho&eVhYfum#AI|&X@>Avf&CbAVYZ6*uS=$JB8=U3N z6~P#)fvrdhH(0`v0;a%}C;B0%m&=NrCtzwyE`O8|rgo!ysyZU1Spe>N-|__^&2^5Y zkp5mtCsIi77t%CzD@YbwSF=wL8$KRA{t!rkYPrk_`F!tp3iuz#p_%=t$P)kz;&I5- z>a{-(3e4ib547y3FM)0sp83J2h36Q@d~m^GTh-?;A%F5wFG4#^)d1*qf?5N64;h7l z|DL|u+yF7FmR*P6yA>{M&a(v@3&*jv9B@8WOq5~H3tM4s949`K&c5PWs9!G=5zvXT zp_Uj6xFruGqsmo*dg&FhI+%Ue^MLp%Ts3 zJ!m4UYUe+%Y$BAg1OGsvb@<;G!LSGky8RWa0e31phJjVGS_#(6YVhk*7#etGz zw)`Ihh;PHJGyqG90FZFTbem2sx5slEn5q~5LI!5&uX7ui4O;#} zUorFkUv2{v)AASYz=)s08VYiaf6m|Hq#X+Zy_!7-*$G}sY}XQhgbAX;L2w|8Y(jXT zeG-?2)FlCg_8^!OGaBolFTG@=xfbSq8+=!wT~BCTlLtVVy-6KfSrk1ez%rn^>O@x| zsII}kwGDh3ub)7oJe@4KJA$N1gx-(dN#S$g$HuTOdDHFs7(D1kvC|whhNLTjMRFB> zA&e`~V+jlZ${zeX+b%CKYL*fbz$kfQr4q98+Yp=e zhxD0Lo3(&L9?=3hfkTe#Q+>m-6#2r#Nq zpZfz4JL3<*Mn-d{(Kw{cU0UWBL4>3uTii9f49AK+$O{Ro-AS+r+L#qkV^d(~0IkoT zo8ebdg%l+S%Gw*++5?j>ss<7AKqwl>J9Z~JzU@M7Y4E(zwopjdj6}{tfvRiq47k7TMYf$WriXC z$c<(g#j4`3oIjCDFtC_7LTO{;A8Z?6ko9}qG+zMg_nFsiuTDA`449}9#EVb)6F_>E zm<|N;kwK*Gg!M~*1!U-H`4%lTleXBv7-stSAs{6!Vk(HGQ3{3aVm z;9902P$}{eEkXffM!~9)TI9!C|9G_%9P1#Ynd%A&t^Bh}nH%anT zaF?ulI0z)gC%H`v=I)E~us)h5KFJX+a9GAxk8~WxTg{ljm7^X7M(ra4RKw2?8?()gRr^3uQhV~is!6|=4RqHNn2q%- zW9tA{co*93f z@WivN6%T*oLCR|}<@VSsKS=_jC^X^UJtmvRA1c07Ol_#QNfsRM349xvH9j zsz#aXr7FHvs^u?)fTChhB_YVWjjte;zowP%f#T;}8^p(l*q-mjxp``X2+XGpV%F$; z8J`pS+>bGjqX^7N0LP>uoN}qH`Wsw?j&5&}HClvXe#Nf|F2%>Iyz6c)MPBZsa5kjW z^Q4xbFzdc0PHG8wzE(0eC;b#YQ89UsXLiPGP8^VQ7#2c&FhwtkZ<;8yOGem+y$3xXgBVJ7 zT!cD9sYk6=d=ZTvwBlFWn^fSn-CFESM+K0LG9`^tcRbru z{oeiFX|~mf8V+9OPAxJK{_(+Uc+dcdW@UkaB5|}x^heF?B80?eq$s5O;1g!R_CO(V z2{Ty_^~TF=<35c8vGAlB$u~cFMS@v$Lmhb1@RiBpL{djC{y&E&mmd{RMk6;ujwyzs`bs{@PI@=dT)BF@gsZ_zb zNEAKJ80bJzfx{6%g4basRKMEC$dGlb$oZ$8EhtnNB;}Zc=p_AVAgh>=+vsiA^8LFu zC_qhrE_^ZJ9-e4BcOpsM@q(Ya_yRF6NEP^*;s zU&+r7W=>~~Qh$Y9Gl2KM$U8uo83TOc2jyHPHC&mQTthi0Cf9Hon~D(^Agjge%nZa! z+UyR;GHHtcAjlA1*#}jOH&-jQFXIin{=1Af@6ZS6@=9yGnacp!A87fpaJCGN<}N{L z4~I@`M3Q1dr`kUBRZMt`HCpWG&;d|LLV?M?6M{&GCVwpI2jG&eWBbgQI=s?mwBn)0 zHAdzP5_4%V9jqwgZ=Gs0x>qb@;83LsdqFNCa*HWrW)tf2fkkyP^aA-IaS0BxX`~JB;+z0nPc)D#@MxJdNYy`!Dw`=)7W2cn9 zY6ievlSS%r>>KqlB~yaM%V4?Tc#8+&g17nr`i6)@)Wg6A9?TPlbPB*(FB!qMnZk`+ z9BCVhJ}unaIL1)CZ-#B-M+rH-Cm!T+9G)r;>{IFon96U#!biMW-ml}JcrFe+u7!4c ztC$Sx50&~}OFf`{B9QlSr5?S6WXu=M++7k{aH9k%p#_sjcp++!jifIxh1&04Q~a2j zs5TNZ>kNSL1rAZ;?*&GCJN!9ziS@#oVvrPyth9)aJT0(u^xgE&%=rvMz3=ah#i8EQ zP*K476HwioaY)R$i3@zLcfY5=yAclb7AjD|1@1|y;Z78w8m3kvoFU?(4V{PIRc6w5 zGYv7pHi>d^93;o$z!;$XnY;f+@(>CqK1ZqdV_o?8N{fWBUQ4|y(N8XmL6SpqTQkSX zb5hw(Eyn5zLY)6Ij%BBDv?P4+x4kG zQ21ck@Dji8b4qy<15$|S@S}n@wTr~%`>E2sA^urPkDpUPWc!TA_9s>GqAP4W5tPXt zwqMTh^-A?zb7T2#d7Dz7Lu`zpNQ@Bo^QD@1D)m26GZ~2ERLW`aaiym8^a-W((bJPk z&#|W)=cemvw^Dt3`YxsV_H>_8eS7+dQd4?*Tq%9@wB$ZwEVmQPih1tsu)gC$*7h4v>;cEY_KSVwhTK) zQ5hW)phaK!yq3!nCNdMMvEsm`WwzP(L+oB`gDF@Aq>|DpAhirN&ZB@-QdSB`0i%3Q zpSc5?w?g=zQ(q-d6(SZShfn>bmUX{c%w@k(5=Hd53{kBShHVp18wQT`3Nc}O_nBe! zW(uy%`^_{GaxZg!yA#|wfiH^@O!K2iA))b`q=DPZ?QlIwio-`u;Vv`nMl)fTz>f}s zzqDUnhh(r4}-h(w0C9A89GBj(M}nt{~A7IWDhX7v5^k?W5G*Q}A1IOAwv~Eek9kNqMXb znJ)3F$=EpgX{i&_~hE+Te-1r3R$d zDza)%0XIFNrToB6bW6Of1$;xzNbs#;^WB4vSY^a!)3T^T9$(vZ{DRq}1ivV9I&n>~ z>f@^8km*wpIkY(NA+6@C7@fVEm*WH+p#xWqw$73OP-*5NbDTI z7B?&$Qb~;x6oU=o0<>Sfz*pkvhL!vTe~A+>biiCuD;wwplIozcYWWLoqWX79s$Sv0 zsck-QC-WISS%ezm@C>ZRQm9vv2HP_<#YJ!7!iUW?JUCMHhDSMO4hDyWq`)rxpuw4r z!9m`m>GU^72H1q6-GN)=V5B8>c!^y;e}-1K1gE);wEGr3LW&^gW4FaI(5%)|pb700 zbiO*F+#7*I;U&Wnb_aglj3SwiG{iutT_xgyh*%%G+P*PEWC_7^pVZR(EWG*=Od*uUST9^8 za-r2A>wN%8>f)C=dE17r&0;Z%PDY`zi?Bqi?oGajDl z{Di!jQNTHXvnr9BX9CLsQ&!l~egHfK!d_hxGt*;Gv{*3h7@TFrfwyU)-;Y2>4upM% zM=~`N*V_<@E%JQ3D=Fw0IR~Ae47V-4+B$=OvxB?{_>goSAC45CoMMPT!}~a1C=Cal z0@TkI=`Q@DM(tr`|BsVj!Txg23*J{e#IF$I5AceKn#BmQp9vxRukD;bG!dBo*TW?q z|HB=DE3k!=W8FVDRASx#cNYMzQ-ep*`f1Kxmx}wz7dzUa+tDeHTV^D%?Tn6(6*(_zb^djPon>Wb&tBd0A=}-b@_Ga3D1n+-&Oi zYgl3c=-?Fo-M8`x65cg%6h8_BE9fr5eQV*Wlr{&;-&tidI(@SPYXeh)>A>Mj!{#KC zIz1%BQO*yDNUP6rW+0|6aIQF~19L_P#?VO(%{bOb;q`VQJyJB_Rdhs5K)BX%MYt1b zh^ehbOaC{cImiDRhWITKRSm(R@g@LZSrLR?OPd#gO!>gJLB6ZC3`hyMAF&n$OPyYC zF0C`ugL1^9qCwbrW0WC9$To(J$tk?6#x^_eQ&^;#@>*MuN173V;TokvW7;YV+EHdZ zaUae>s}VDG74^~^GxcxvIhG%=QQ`swO5^szPt<@3v3gNqmWt|ZTk>Rnf(5d?w-Ee@6}gD|4qzB*+PNS9Qq zRH-?Q%d&K&N6XI}K+YZPt-unVj2g@HlHP-SJBSQr_X_+P2>k;_@=_AU#asIF4%;w( zbzo+u{HLhIaQAxEag~&5Kh#>j0>6b3BAzCWxXZaSEIHY6RE&2e_RTjS8j+}oCc1bn5Knr;Xrlg)|``FWhbw^J&zurr)QVgv2WX{J%))RIkAMC`FCr9KMV!Wbm^~QD5!8= z><-KT_Q_eZ5B8?f@L(o;6RTgHZw)FnBkLpvJG9FKZ76=JY~o+pw>4-Y3@uT}^boW0+xjnJS)1!eV?tA4pCNFG$i)De);-yMUD#L)F25!zRZP zkEnxM=nxt-bdSeh>abEj3{b=z*cYw?HjNEp^7N}p{}DZX2zkYYDy7=i8S@mFnAC2Qm)Awba(sS&~m-RVMU*rh+fl@t3h|Jn^O7-pO>q_on0Qk_($CXMx!c**Uu`CTpP|<#IsgR<7(xOiR&j94c zOL9h1QxNE?=m9krlR*5oyX;G64)~s0amj9*g8RHn3$pxeai6SHhyy=m^?yeTdRBiK zEd0VRvt zHwf21h2A1Sp_rKmNCAC;5K{Ai1gvD9I;r+qe`8zuZ&W*lF&g+Nqv{4qRahS!9WBPW z%Hi8mLDj`LZUic)fLlfIZN5<$0BLbd>--)TcnOeYCq z|BkoFavBGeL~-Ey_uKw_co1QHieIEUp=$)nsdA(#Ms{>!VSu%y?|EARvC6O>z;!0o z(+jD&fll#f*=UA+E}pPT-ca=c`-VTmSt3S>>8!%&pc#Xiy^L!^m!<~FFEg`_-DgVg z3v3*X;AJCC>05IAwftso{y{UjXz3OihJEI$O$3#laIXZ#Ic%nXPYO}9_tHo9PLk{o z963&7nUGens0ev`_Q(TJsxFh{_WR7jO{V&onSC!)2!!JVTc{p=b~-*6;ecCmvw0h| zSewk^>IzfoY~P5<8dYr;I@>l<1(lyMi;kJ;pXsX_X+pKB+(hLjNVyhz-Cm5{C^M}U z^^Jk9Yl?HrMpN@)(@||!!P97-sd**wd4e+np7~B!a*5hkOlP%0CJDa>5HPsLxou;j z4k^7&OQ(DIRdYq9DMNmmd(70gVoJ@_&z!G6$2cz(0I-H@>T+i)ualy{b)@N|bT>R{ zEy!|XF8>@p2Z{nW_>i2@6d$J#Vw&eH>CJvs4zg9Q_aWNnQb_e?>g_ZQqnrbO6>|o) zIAdDqC;ktnpAaa%_YTOK&Nm7-24;|cS+?&_KVi4;;eh}gV)vFjZia6o^lM4*CNml% zGs>A*YD#+b*eY>aaAxEC5ciXjc%>XlR zw<%A`WB#lX*;Qu-4EBc-*2jX7(#){Eaq9 zF7c|C*%EiYXSGTse1SWk_2ig`i{PjL$;UEicFeuDrQb%e#Rn0e&Ah=f#Nzf>p#`1= z(>CdlnQB>B;SB4Q>Pb8(m2Xlig)zDY+*7T&mIiMZ&TYBL1!uWk%RP(Geqtva%UAq9 zB^<-ck&D%$D=V$?XDntJY_t|Sg13yeS#J-TV6XM%rI7QQ0au3mHGQK0hP&l6b{x|W z_kCKdui<`N3-}KAGfMRx?&C`BbGT(x3-7aSO*g93v{2TgdXqkp_o$xmtl@8Kjp+w9 z@YxJ&c)S+y9n=L%^&QleO3g5+jan|-S47^J%&t2MY{B;t?TJn3)ooGeR8V4tT zExV||Z&uEA(#Gteo{dfY4a+t+*+{X`tQWxLFB%XNt3?Dbl}?Kmqd;mu0&C}e~h?Soow z2IIPnDfI!ocN}afg|sjZ3S0pmel#-B##zr_sqqng#`8X@@d>4-uknCv4|!(L0o(hm zo)NXs8hz%E6jpX7M~jt(XeyIp+;=ecE)<4XQKe0s4_ zCPFh;Dh0&Y5qQ|X<=41y$DhQ-G*1pVQT@+SGBnAg`iItGvW*Zb1y*T+zeC)tBW8$8 zrB4?ttnAB>mcmBtF@uAjra+TpZbaNCc$OnW0xb}->(>QtB9(`1!X00=jq=@uf34Jv zn^3TR&uaO;LR26EYEu4_@sHToXMBM)w^Pe|nk&wFJC&NjSx@TvcP;H(*Kd`YRb6Yp z=0A+`rkneqN~_zHn$?@Wucduk{hU%W)K$SYvtCy9(N*hjgHrW~>@oCy!zQPwzxS6Rrd zcpFlXZ*n&@;%-QOoLFT;61dR^v=&}vf$5oWqlAd93k;?T1oE-wQQHiOf!nJ7`XA2~8+#~p=<6E@ZX4JDh z44&q(#2^jmdOT_PM&&$wcF>B%Nj`bhGQYn0>u2@#8^4kF>%GH&#AnrH?*E#9&bt9T zvBV$Hn$2_gS9~++^|@~zdOf%k|M%y!X=GKld@HG4XKq!BPI1$>?dx4}j5Rp2#2>y( zOJo^;SnB<@K9#ou=tNxqBNFQs|6*I}f!c}5e6dm=11mbl8BB`h-Da$Hl&86qkV43Y zGf5&!!ty}t3P$I94B!uZP{^CUsCE4w!p20W7#;v7xLK|p;b@=H66Z+N%cq~PWAha- zh1o{E6n^gV@7PB_0)BA*ZnG$kD{s8zeo!X)Z4rM?Cw!tj$Yeq6;F^c=dg zr26ezAZo&3E%k$!>C`<@+(zB+lm7Vzz4qf#?; z@?BakT_^9>LRoZj7Jx;?foJrIbTGUDPuVU~4&?>A%u1`F6p-GfN~QCCIY4?=nIzQN zN_`p6R_`*k_F37s3zhnsfiiD~GvcU?PGbfh6BD3eEc%^V?$rrUSH3E|Ipp41)`BP; z^8;GSBSw`0qEj4rRH;9q)HcUaFYc>@CKh~(PH=+0YLvXn9{B%iU)3K@19N|9EAu!F z$YsAoslIH*^-4V@wn8TRYg(5_JetM}=CD#ffMqux`faO9tE2(j$9O()zksCjN%0Ext8h88^GwBsmyUWyQD+%vM;hoJfu`@}V zx__dJ25p*z?Go(O!6I1yCzbpK+^b?*!Jq(BG18Q5HN}By!TknfCm7&~v;=0@hbZja z5X2^=7b0&0{fe2|O{O7cZmKrp_L|X~%!rtvKM)%!clzZw$y7KUWZOa9?jmP2iQNN= zTJY1^OR=TULSx-vq^Gz1%=Yvdtd-)RYa<4^78-2CNFU6P&P2|q;uB^VW<*>R1a}vh zHo}dbBY+_x?@H>C*yk2PE%FL+w#FDdiq4l)s}3UY^-$nm;|R^+7};+hvCa7?{2<04 zeK0Rwpnb4rc(sb|<#jDa`j1ObQgx!L@xXQ$K5eV>9Ezg9T&2{nVV1A4Ifw)&bI@E{ zbR@to#Dcf}h?e!_2M|u}0i_tObyJ%S=0DuCVun+yu`n^$X~A zF|d=PY7K09!yi!h-2n9vp+jwOcAz+IkWBbAO-<-No1aP7-EO63(cN!oS>NtHtJJ=_ zdr}K{x+_QW(4X68{*0mAOOKl+wUBzRbN1XGSVYYG4Cko=3g|Y>`3&5-D$TXd-`-Ac zT}v?x0p~S`H%}3#2q|)Ybvts6AR4{%S?92s^gOQx)-U0V8(Z{$X5gJH4m>Nx20EW} z0>}WfEHP@W&!!u-?MlsJ)Sl3?zN7XlrS>&yuWJF%sL7dM@^9&yIYp^iG_y;~`Zn_} zrS{d#`?P?knKHSLEA?zot|$-2{=$x$TPg8r5x}KHeVP)I$?Tn4f-{)~CEmaZM9i~W zTyFn=&{Fq7zMT|UP$DalbxmwKclc)^;SX?CO+ixXBoxBOe`#C#E~p(wJZcs^i#<`{ z{Bj4hu1W5V#fDqpJc)eaj$VEU8DSjS9 z_8s|TGr3hCJ_!lQCzs$prKk90lG13uQs0M7vGfq{h^JF_#9*_+`H^F7lQN6P^+C@p z3bpX4?UCO z*7z`OLdx=6%PuAmUo;)CcnS|aW*e5vEJ>f%>7%a)(dtAhzx^qx{A|c{E&pY>c8oBk zFN*XD?-4pifP*6Win8bg>bPfY4Z(SF8KPL4fxE~eJdG?oLxTV04#zqbD!2E&6TPu+ zV6q`Uf86%Vvt5Oq`-)PDolBc{sEWOWf-lEEMD_ViDvPo||l z(+71hjAuw?qtxdI55VdBv?)E1m=2l~n8}Oqi|`J+g<~Deh>FIS>>#~}2NBR6Vf2e` zG)UhP(58#O-^aDwJ;Mq8R`!w^{+gMBjE?l0gBm=4@E#KcR))UYC`(t;ELrcXBPK{B zw1JyaOB)1X*$a!_Y$n%>lh9ECRt5LrrkY-~$;`&mngQ3ES~G)Unh!vjp~3tc2EjWh zVd%74S&5rQjlRtP!YFa5pkf}HO*b{Bz(Y3=k8x=U=D zAJazxWW?=@%ViK9dW7mVmlpLxR$hYZh>Vf6vRh zKcD8#oVg|T{{KsKnrFe>`=UF{)L>&1W$OoJjGTDnpq6PiE z51KR2QqG?AOvY4Bx9@)!NB=Qp``Kn;Euqoq#PTl-+6ao zsTglAVF{+U$hPxuA#+U%t~N*z1u14ineg#8Y9qM%12^)W>O3sR19FnyMvN`%sYJN@ zjaK#l052I6yi5vGtA{v0x*ZvK+&3&9alTbxnL(Emi;}z?dIz!uY2KW{BJDZ<>yQjdp2bB)uefFG|JKKS zds&2NTfC^V=;a12>)Xo?rS{d!_h}<&HP_2>)XsRgKUTUYG#EN z@NH(jQhl4bNvT;h^9x$mx0&BmYG2KKP78RNDZ3e(EGB_wv}-93tV6c@?MnSm*z+bIGShARBo1Q#zupJX`<&r~Z zsgmD=UX6q;7eOc46bng=Pir2mBMNw@ua3g<3(;l3Re@9#oVq`vIK=+lr#Wx89a>7xH3Aj!&lak_^+@Ic{2v)p;2;Ar6_XE;(SO|)@% zy1xQAWTfQ5nQK{LcqklvnND1IY@h5+*RL`Cg zYx2uVO-V;j8pEPXZ9_j}1`u-pI_Hsh1g`1Zu1Y0tgG6lYu7FMsE5)Tokk)|nI~Y~R z*T^5F2X>&QqjUK(S`M;V4(j{9CvKdTapee6i&9Dk ze(A7u17EMyYzO{ceZY6%A62UFz#mbnXW->X`n^)W3x}s-L=qW`&P--N!GNN9!M(ze z$R=4m+;-|eQFeOp9aw%A7A&3KsdV4f_CBR%+v(@^0pCvlNvXb_9zDV~)zfKdXqi%d z8@f!X**5ee`hagkA5f}qLk}y}(@>e6=arfiEv>fNthP8hDHa%Md+ULC33ZrK(@wFJ z?a;EB95^4=f_*!1%AyIB^tEWjs9LFX2A~C}@M)N0s19qX_rOqH8Mtz!Sxp7WF1>D- ztWl}%ds>iV$_8(=)r~5$8(a*`f6`LVfi-po(iK*C&?wvFegN-_HU8~dBU|Hld*bB& zl~UQRY%x8gF$~ZThu}%+%f72Ux$52y(K7&1_+JKPZ36Km{%Oh*f6T z$H@P|lxz{J7-EQmMA;UH;9j8`*f>;FRAweWYOaJaPK{`yN`|SbxK1Q0E;tk^v)Ou= zWImz``p$87jQ&-+ULNl{#Y*_NQvIS7>=Tn7VkKBCsVt@E^qIpW20%?8{IyxoBSr&w z5O21&$=990))wv~$l5$6WN=tg+x}yKxuhdibX50wHM8J7I z$q6%^I~}@&IsUtew#&K11(1{Kr~2r75i@(*NjTgRv;iik%eR@4Ut=T1XSb8x1I#sH z^qw0Cu)<@qbt+hxS~1DK+~cw&t0PQL2a2lI~S2l~jnucgk!_E3a2l zwyoT!5BRq75vBUJ^2bW`v{IV#vQo2c%8Ds=NPL@elTv+~vQ??RP1&o|Y@2diAMkBT z!PInfH&&^hri@^nYn4)=BVZlfT9=A$gt&w_TVQCk?101$Y}BW|2ZiTVhfGyGrphdw zFSjf8QH0%{a#FDExQ@lm+!X_O3~(CA?XAThMDfWd%{19#Z$O42x+ic6SjhMo)Knb! zl@>pY;*(C=n7{}$&7YErm!kNHX?Ae#L-DaE1yOR)RN$^ou3e7qYqhvXyb;6p84||O+OH`}^`e=?G3t6Hr*n*YyB6||PyPX=rmRrnIsQSZzVXQqE0r+2 z#Wq`ku!GMi>3ujk3*k+Y#4Mgr>K`E4j196_<3bkzATY70PU2$5jR%vKO2EvcytXl% zvzD5%yUZoK;}!%NvX9NM1L{9yk19FckR8)PzC-5Bv~TbovI$D{44G`(YNaCnHmiJA z2g(u}pAm9Tx%aJH-#hiO_rSt3_oQIHz+=woHDhC@Vz;>(fwA{fbTEgwE)hI_st?_Z z=^5c%60ClsxpYlJfg$5HXjaFKOL_O7)-3BT7!! zy8qKczO9=uJKbz9RH~)1Zsh4#m6}%dG5HGHoxUY- zsqSyIp!M4au3f-|?&yKChyJKV`@_L->s;GFkM>D8!#zsv2W5)%^Z#j$o+**p|D#fW z3Ty9_;C6DvLnwsV&R|4&29F=S8!WQ99LfP}ky3%$cOC3xV3)xTTQ`OJ}k3EjO z61x$%mae!WoJiw}kO2_35|`e&ex7~Jmv9#V8&2^N|M9ONY*2tiGRpo4He8nCT0X!+knkPIhsvPdD1fYuxk(wdEhVCLlj=_B02Xc&R z0U~Z5ep4hL65J8Vr}}7II2-JI6aGyAf;rE@D~XHmDirXmv(GtVM&5yBL%RXy+GzrT znPUXRB~b%EQl<+8Tg@B0Fhw309_AT+#>2yidgi!NDbm5!5Nie?R1hEcLcg@!zVSVv zFJSs)H+{a+VWBfiUFscq{4Gj;5aeYpvh1E+O3oC~@CRBjfBXdodI08wvA7)ig`t4+ zFcIUpv77Dtr&JVdp^-Qb|j1R(5_#JR$Sw%gxA84A@B zH*ixd$Pr5Yk{GyCVnNQ*0$-E@6_QT{TA>Q8+yMC%JEH9)jw3RZzY6BHh~i8_H6`6BdNhnyEd6S7Iyj`edH>iCrbUEn0bwD!rveV zh4&pE4qV=GK%aP5<|pKEu6l!ghez6!)w*7(=ZJId`sKE@nVf4sp#?L$ZL&icKuK2= zS*IN7`ZHQXZW~n|p1i`gvkxEJ4NCW1iPl!3R8M&AeJPHkQvTaoK1H=iOZA9SeNVbq zl$vsu(X&IZwf*pY_6nu?KD$b(zRxx()%V$*O7(sA@0IF#Rz~AtrM?Oo8Rly^SeDe9 zY5U9^%QOjV@Cz;GIpRe$eOamh3sH7taHTaL)0tGXA3x#aIS!Y53D|+ngg6w(Js0P` zVWk~8PxT_lH!Ah_;OE8wNL_e`DZ5HeB9>|aww+jXza%d@C`x{SsDoR?`*VvKz6a+e zU;sCOTdEWuLAo_G9~?t>|~j7oNyiM!1h zK*H%jtu~9{+={R%@KQw#p3!7Fhm+Anc)0>G8U9-^-6;OT5{ zgP*OkBSEXgb6<)46}Zlp$Xk2kN@OBzMNF%_6Yx2=!}%wa;Ey1YW8+aR)E6R3R?oj_ zvCKddnf7JZr&|>DX{npiQn&O$l{<8+QayL5pwIUx^@CV$L*SEFN`lA$EdAx0X;iE( zU(Bp>||MIpU^6@UuWaj*(6%v*(}CEfKe}LUA|ze*OZ#2qEDEyx7FGK zcprAkASAf75|&WksZ=<9fFA>=7Wew#Eh^^~{iN6g!JG5d`YLae!wBA^uHJ?qphYyK1ZNV*L5U)4gM z21@h)MX7zT!zYyP(cjA?6|T13`!1%T7+2InoaNMVQg#Kf$^%&Tz|@L=ko0q-J_Cg= z825W2@JZmcqpZP2NOe)*LLKZ<@$qn+pjxq++##3;J60=8C7_ul{Vn!aiemOEQ@8>6 zk1E-7vZ-6v*yejUEE$@ZQhn|QL3H1vB|PW>*%OD9N_Srg?!JkKTo>PEH)3FbgOpn@ zV3&f_d&OGYE{~>2aBZuUitwF5-d#|&bCjY1ak#Ry;PYBi_pA-7E0gyvrBeTvd!u0f zLaEA|#CWlWH?3LJ(bl=8J<`!pzTlRg&W>=Tu{FH4GF)CBu2|3fHKGo!DC_NLeS2?|+t3hOur=Bg>rCI8^0LNAPis?{x?Ix`t89;SHI#+XqlIC9 zd3kw-6zGX{w{~op^Q9BGlwiV_SQ3Lu5@uMYy~w(%csAiFUU} z+FEamc85@7%@!2ff?`y>AruaUFl?dlf~M|hBo?h{xGr3aK3#|JL+dt#S9Y!4P!Xwsta`bM-U8Vz@JHb?pUhVrl-sfutx zcy+it+7?A|J5;%LZ+>@6Ye#bk6W-ol(AJ6xi?oGf(d{v=&ox`9xTCYX9aJtv}PG|w&Vi8U`-;+k>(dYSz` z($?15#O0~PveIP*vCeQ)V`n#wcxwmNKr9@6doM<#t#ca|In7Q%e6FzCsU&S6U8^~d z)G4jia-X&89wEC_%NL+GJzKB=ZVjV`K?~3iv*Oo7cuU# zaiLIoS##9Z77eX$SP)*nBswSM}(dKu0qzD6=N0jE||XGc#=&b0n(>WpQxvZ{C4jM+<;RJTRi8=E7u`g^!$ z$aksH?LJooTvNx|rr-bZIuU71L$*=t0@BBnqr-?TJM?ny}m; zdu^pp_TEqtLeI?8IxjRcZJiyPOItf)=nTXq>SGG8v^W&1j6(3>Ga4eEo;3C#a`90h zCRi*yRuPGX+U3HQjzF}t9Tmw=?@*EKl&#NpW!Xj37VYV&-rCvPtTPn|c9H}AkAk%f0>+P(Y zEuZU68EYtzQnVopT=xS+g(M+7M7PBTT(V{1hSlMQdcAhtk{8KNE}kUUZk==L9hy54 zK5Hs4v+k}E&&lKS#&DE5Af2woDB&QF;^^w!QJwAfpEHMVjr1%=Q>ZCafx#zz zTvuc>lv80S1ADebx^M>bJt<;w;`O~9J*}HNqRq^)$}4ad=PH|4CHPd=F@H{~Ll!kf zx*|=jE=f9N%JSJVd81C>-rC;VUeMgy(h_TJ2b;7S-}T&TB})(gUmmK>d*1R{Bs$Sqs=U@f zd6Yr6BN>Tw&)4I(M=OS}@FmGlTcG44#n}3AL05NcXEzpqI2PGlUB)L$T^5WeF_j`T zL0l>e`>hOJQl~O5s5#}naVveTD!n1x+({a7Qr?o>)eys}Xu08s}kMYL$_S$FT?RVO!PIM2_i!PPCqL+Bx&VOrMmJeIzX69 z>!FJhle935X?vnAXEgG6L=lxz#E2yE$~ z!zlBnE3bf!jVi!m+Z;_ufNU&F2utM^i$bCKP$9bHtnvk|9S}IhfE8|o$e5pII3c|G z-6HAwkn?(j83m`Jk3Fxl-_=Z5Ch@CuLAW;M;9Nil=lt$yPc#;4Si?N5i>a})>-?5( zsM~PG#@b2x#k6C@N%htZK{amvT(Ts^pq4$uXN6SZ*s^}iK9$&(*)o`MCx+BX%@D0c5jPx zHmWt!zJ6YY{47TRI!Y*85+M z4QuswM6x}!Zup_$B{21g) z9|^GndYQ#xvVi#SJf`8|OTPTp5M+h=h()%xp+RrH1g|k4oQ7JV({XvZU0J*}v1XDs zsr{q>&dj-`jh&rs3AMHT6xV-%p_^OU+}YdM7WMA?^mk%1Tqvm%)$!Wta`0B0OtrT! z4@SW>ZVhc9zWxR7CzG^$-)p;o&2B3)fz@Us&f=C?(+ zM**BWi-J09E-KU%1;eciE0~3Z-mrqy8Ej--3q^7x^}Eic`SdgQo*&a`u~!#FUr49S zf_AR#1L>s53=mqE0H9i!hF~Jou}r7yYR#aNW6qV}1j2w_2QB{f;R4bORO99-oi%61 z>{$vYgQ2Iu^5txpOcoRh*j5hqJq&>d%7Qk4772_b)g;%FouXhd>lJz;+o2b02euT@ znX|k7LyJlG!H_vwBbhcYfVpZLwu&xgv%oFI5q9}-PImt2;9c!VI zRI%XJNfTSeW|;K^Ph_1DgD0{Twk_|_(c9KW@I^AZV-H1JBE4+@VaG2AUo}nc=A8V2 zpsrEtCu;`w8;+Ul!Yy5$J>eK>(b{`9!-B&q{WPML!rm(}*a^T_O>I7lX#Mg^;7%KW z)2_o0Tukljz+MZmNHNE0^(F$rU$Vr5nvZ!{Kpdxeuh)F~m8)2>m>2kB8i51?m!$@L zCsKpx%dif8@u~R!{KJlh7Fm9rz_E3t2alts>DW0nVOisI1m`)oGy#F~s1DLy`#Eb$&NYQ{vQ^flP;P{ds4)~uwM(Ze@y`y> zI-%!V?4#$qHgORO$G(oNk*pd@b2^_cE-r(DWIp^udZIvSU2g$SN-tG|4WmXIgOB`LDWCiWch|4U6kAvVe!N9e^*`c{0MSDof zIWV;iZo58Mnk3b7J}ge&{8XNttPlTB-ZWSTkp?JL!Te_@(|Op|e7auC94oV~#Imlh zQ`balLheF=2)_mTyKGgmeyYliEhPBg9)wPW0WaOaDY z*3seT*VUi40Jkdp+`B8loRWWRh_uY=uHZt6G2a3{kd$P6+NgRbXEklV!#`a7Dlu4m zLs#MAabe0r>+rR-em#7Ma1Ht6ec*Ch5MBdcE5b!(lm+|t(UKd~TFr8`8RY|TNGr4E z(@wTtxe@&R{sw#GBuryT3t+7H+CPQ!lcHCdH!^<%R8wtFEC8$yZtDQpsf0M3d?$+<;gg zO|f#o-@(j#P^jcFBPtE3P+Ndc*`{CwkCPCB1RzM0$}hRL{Ty)>gBOE6dizf`mczSMC@3KBSsUF%)#hBKF2avBYqRbMT@Is;H7uiK3xlg$T2gz+I1pe$L{juR!kEgHEM zmu)XR#nJ~zgq;A@#Nc_RK^g5+&%#BIIT!E1o?l ziKovBZj!H}qi?_q4mp=zqVICKwlrD7?7QC69srHD@i}M~hVr{7+|k?KNIu}?_KKjW zFkv&t)fIui1Q;rcFl*VTGvNN?azaZVJz=q1+3)WPgV#r?Z$ zz*xeDOYw5oP@vW=@B&BZM~EdL5YLi|Zo>mOvd?m)CQKTu#R&$9&z+gJI&HLMXU2-f zH@m;X37Z8Mmg_#u`oy@XS@CLC`j36RIB93fvMWs61<0h3;w9XU2m}bk0!ylId}|j3 zo_F)v5O=%)Ia2h*!*w8b2l#Cq-U)R{9Y^ycEm;yO>HPJ(Mps-x%=>hBRmX)J&IePz zUgMdhjJmj(;V0sP7~){y%+jUAGAL-QGxY`2K!zDNsISERaZ zcjztR)^OD!@a-S})=DNC%a)?c%U9XQ7rw~Ao+$=a)W$AX<^>ej7d%dLz!7Glah8BoV$rMHk}zRv82AlgH?!d5 zQ;&0w64@|Yk$Bu%2eM|gnwXDnUr*fgPWBrBKV$i+3oZdk6|BtV^W*0ke4sanWB95P zxkq}UJrWbXjHI6&lrelprqN5fRWqd=j;aFcnha0neom$^sHfu{rzgV&w3SWUBf`Cf zG4f4YXaSOyWg+$lSZV8?vb8n3%`Zz7e0V72QMfJALm~M%lM)>obZui^#jc}kI-yg~ z%a)Y)`I9GGl6subt*tIAbU4aLrOG~OY-*>A2hL;|4=uFt7P6s*6b6t}({uJTCC@Y! zfPDGxbf(eV-V|I&DbUq|Q+jw!Ij^60F6Y)#tizbT6{Tf)*SCP5hG$AUISKASxt_iU*41S6zte zJ_?a)v!xNk-j~V`zHg)qOc+-rcN9QL$+K`ydWcjd;;S~q7PXN56lpnXRyDS!+uT-s zF0Zty7qk#LdPpng2iKimB`JIsNnEfGgM3hsVSQS@JGz!VnztIY@x%@kN zc7nPlLiN)Q7gtP-fe+p<-K6GxVxPTHz#RzHojX{^4Q;qD2n8q-`9kvMe4`w7E8LivH`e+yX*(P&~HhK=yD)0@`&aomd=u180eZJO;y@|Ma zX$1B2h@0uF<4Cg0e9T%+v)fQ>^X#sMuBHWH{AI}yvzyFP^edYeTBv>n%ybbCAn%RO zLn^octhnR|%uN|p$;zmf)^5>8A!|9uTf(w;rzE_9fC=DI5tlldk(E%@5?1BS7-|HT zK}MCHFzgPA`Hm-iX5q#?0i2{!Bm(4SzP69#U4XJwB6%162tk%fWD@m*#e=7&6zlZ% zG&@d(!g4DVc6WDnv&w<2;YrCxP!XmSR(w~kxC(f&l#!Adrgr4R)eyVD<7?uziZClL zR)^JYEy+po2y6n0kfSw}{uBcF8Gvh^mZSm5+>{=@g3wqb=pgJ(8A&-FId3D@S0^TpG;?;kg!K$2eM%tS)>hw&I1`jST$Z(1)cU|xVd^2;N!sx$Jr7-J$1@0d zXGO-!$|>kN2H28cK&Y!NWK+7U;w~S_l<>NgFbIjI8^Rr(;!~kXrD%ht3HiaNbwbOB ze5F-Q@%%e@)K?3fioRG^hdjD%txyV)Sxjd4LR1ivdtNgV5@MK}MLpPu5-`mU)Kl}^ zi*;P?KFDG5fyT@I4Hj%8Vs9a&IR)T?J^%>pMTmoDttwgCpWHiq#H0v}TZMf@`6l>3IT(lAwno}|ql8?OENAI+uH+MO#>!uD zQ>!PGt|%sCPvzQm8znM>bsSf{cD#VG0~ulU>SveAh_;hH&f1XlP_vSa1m&aEa(?cP zGB}U0lUkJWKzs9&Nyu8Brbtbbjqw-;I8x5z_^L(;AT8s`j+R#}fVUmpiGAe_0>dU* z_2TJ*CNIr6L7qH887$~flW~c}63p~Kd{L6sDc4mA_H8vd!48h>G)GWUgu0WYnE3awG08@!sHHHQ@b7)CIT+6 zv~jk>u->DWgv7-So6HoKvupQRVP5>qEp7!dO^(aGH$Fi%I6El#7_lM5rov@Z@+Q}Z zIXy6~kR>`FzB{M_xxt=^X2B z?by6xe$)2t<>ioZ#LyNe$3hA*YKwMkj%~?w^5w3~Jg>n(yt#bLe&??=oFWYSX-up{ zET+HJBox1iWy&m;ArK;RHuv;4%G%2d+k`7?J?`u};uNptcVpk{rDTDHa?fpvVzXfJ zBGm%ilyP}wZe&IN35W8yj_Jt8NaB9Nf9$q)sB@rw>P1i;z_z2Ds|iqnu*EXxHC%D{ zEF{%*1K@XM>#({|Vf_;{hv$b~`6;LhB;_>zvKHLon&e!&aV9vAWQY#>X9LVI_Q`^R zEV7nv1Y2V}umRSs4{g|RV|djKYp&f;vvy559M^x$nw?$=mx$R5 z#RhE^$)f2emu-=4sBM5%m3SZ4X=WJm^J2u?+bQX$m}D2TnJqaENb7bnK)BhO-1Rw} zQIISURg7GKDZm?Ar@#hXq3Gh&p4{KD!20K60ab>p?1<^$LmRt6+KJL z4tR3jE(HA#H}!HV9M_Wc^N3D!?wqbpWI6&u1S8DK)$S=l%(6h0=C1I% z2)RrON}OW*NTS*>@;px$A(wQqV?@r24D=#aW*v&llcgYwotFc++^(_yTR=IyTgQPp zKe6*=(YcGq%IOCM_xq~2IBBPU(qua&N7~F{KjpAt`+ZsD@NV0?*-MsGw?*0;nTq>7O*&QsVm2c$)BGqEms=H=fV?d!=#G6m?rI1)3n&5A#QEUR^_Vqg?;`n z*;9{pe%=nHXEu(gJK-VEU~aF!IO$e0CfS$=3|>hBILD zeOA!i8bOAqo>*%W;*!K~xcCv@cRVTkt`u`bN*nC#VY9YG+IphP04HeggoP@B`gYr9 zp*W>*plX|AAcbbQ0E9hlU{(kXs*_M^^$T6i-B4UX{E|YPPHa3aVxc6v;JP zLKaET*q9qcQje(q+c&2zodrx^alc1q>(c73PZM*UhYGRZo5@O7(ctxa-6^MG>WLgz zcl7(q(J^;+%6_jui_RsI5dz_^C`Y%?DFy!|)osmI21+8Tt>!8MfjnAKz|V`dEDWy( z>%>Yn@3{TyF9V&6BbQQ)l)+cMvm@HmOQ8xmX%E2NQ5;##QMTb$_zJJ(A;hgu1hEf^ zJXj_E%j`i~7u~V8`eCn^ zMOk{iD5H>oP@Ii`w234&8Em08HaufJ)U({qBEI^$2rj2iIY;NYqt}aa0(=e0+KB;F)lg7;7&ITo&Xlvy1kOu8Yk$h*JbO2 zxpD6Vi~+<8j&Xq)&^X-E9AI`$FDB?Y>m;$LF%73_QTt6WO9~MP3iMC5CtSNE*h=CW zN%hT3*Q@ggWrR-q2!fk#n0j<=g%7@mQnZ@s#BE812_-Jazd+ta=H<^o zkfqa+6LVp7d#pQxRIzED{E*`kM#Sz2GEk8R4kssWj5LeOne_hxlnD@mASqZEkg01h z2YrMMLWnWDmr`VgvvqjnlDfzbmTPka2xqX4ID@s|3~F&^B*iPMX4}Br(j@g*DU0;b zy(fK3iJR5+usMpus~w?{QbUF$J!3bRpArAOx%S}O!>2_2KDmH2U7jP>x}f_hxzb*U z=bl)wmI6M+7&?KxU9?iG%dOg!zZF;7ix4na*UrAPteu$tLlWBxv$m0DZ4J4I35a6? zECej;p}WAb=oe#)^HIW(f;bCs@pKW-l5`@8IE9gtIDRMDqU|Um9 zth1LxQNie?apuw~h%864&t3D6Sc|D3dBlOt5WV$ z*Z>AplapBpi^}hvoT4b9ht}xnQjDUW`uRKK>(p?^jUjO&ZGrbWAUOr$nvSiVw?b)~ z(2*(wu6dPgnyhqz4AUt-@)4BOdf}(&b?FV~L)d^Se`^65E3?IHE}KIh@?N0O792?~ zv{1Uvo?}dH7r~>j=+Ya7<1vZynT~WDD&5p0%AwBW@^E=oq`57Ogk`PBHhLQp<^uf_ z*8oG_fOc9e(2=%nksXLW`S#vOn{*8;*~eCK!HZjz!#);iZG(dO)HS5U9DN$`;#=Z zKKY@of|l=<$|Pa4h60!;z%eVkBtX7gGwT~*QBF}?o=qSW&K2xEPg2@^CMConPp!Tr z(%l`|QPWi4US6>XaWpJKVrM+vJO%KQqUY;!cc+(vDF~;VE_sQmslD??o~%iahGh^g zf>|M+DwK8Yq`l~gEBg~*Vct9xTr%fiwTe8#u?yI3m}28Wm50m4H_m6y=J5Wo`S<}E z+>u+8f_tul1-P@Dg6(j`V$ol6uHA}CN+TKG7LD90u|G2f{lq><(E+=y<(!xzWbw){ zo!cq)y|EW?0IE%OnmW&9dS;aS$yF*JOL7 zEgmGZCNFL>F%DqrC=wo}b4UFo7xP+B4Ol-Qi`*jIb2h5|rF>Gji z?VqPM@C8kr+(8e-3(%6ipgZ0}SAHn6W@V{W^eEo@_K<-OjR+xZ<>fqeX^# zlbj|pm328d_*_@%4l{e`pG&yhbp)=m@&9t{jo;C%XL>%DlPYpD^4~Zc(d{8Mok{cW-fR%1 z<`6muPO*gXLVBKpcH{x*gxRE^rzt`+z)A$+9#S@_y`ZlQFS+u6Df2nJ1x0#|PJo?BbH!rQiBZ})T| zZx9yd)(DIOq-aVwz>-oh)47=|zwwvN8Ra@!V5H`jB574L9w$IVMdWNw&OVUp5E|<0 zN`zu|gZT4dJkkp4>6Wz%aota#Nj0^RCM3I2z@}f#f$HU2)Xi^2aO=8*>iq1t_9pf4 zPvs$`P)(z{NH-$+41bn@vFG*z}`hJ zAu*Vy$wPvH%weRYV;%uVML0?Zd`PLyTT?A2eEnaH>5^wa5_?X>`L~NqS8|TZl<|q9 znvx)Jj4~jnN>2s`MO9Q;7T4!&##b9HqQ_4$0(pQou-^~It)=!t9(H+Qy&o3MvCiQqYq$0bx=;ZDC&LunfI zP;OjDf$I@xfc@?=ck^8F@?=yMHZ6x>}ZS=eX-N@14#~N7uGnr+T zrO4SNbtZh1UHP@q)TGqgF7;&+cF9k1pL5@IR8EEA$&~GZViUocfS4P}Z(c9yMbhk_ z)5V)*Sc+IJ2nQ8w?`mmnQ(%RgE5G0`9Mx5vgHuBWJI=pd-wOPv7_ul|a2FzcGWX!C zNXutk=cIdEfCNO4@><$Dx3L8kK#&N;^GNg7NJmq&+MOTOYiDyIE#N7ZNwG;W1U1~; zvLsV-7Ctz5Hd|YVZAt&RlH~Ai@rX#$xMtBg+v1D9DjnfSV{3S8Wf&mPiX}^ub(MCM zPEFS7zg2N@(#}+jX@IyjG7VCsv0fnKVKXCX5B6Xh_~9;6up+DcrrKrvR=&+lcc(7oa8RK?<*I0{teus=%Nwj&?*EDMEcq z&BmT?2&!Nok-n~`mOplM#vnfN`hr?lF!F7!w?=D#kB4HSq8#6HRASyLY!yajH4Tdh zK3~2_sS=-!-oqqB!y>(K6i8Hs)Fb2|9QEVcOqZWiD(EdAwpwE~u4iNzlqeWM44sBB z@@VhNLbX^d7qr>a#tI-@#Fl7;1FgL|la9t-r{(3Hu`SqZ9B~w?w^o}({(?-%jyroT zN97{xh~M!+3wfHCqufaRm6k)fTuF<~}>Q6IK;7(#49#W3=F=7IZ%GJ_Nu zl-HCjwd-*2uHOI<`?ey|9xd!9Ev?mzxb zs0Q*}$Z-6gdn}wq2qgI#kR2TBL$!RlTK>)q7&jRXkv8@jEnW>B#Hbu)?h4i< z<;n%q_(Rv6bGBrAXppiV(Jsj*CAoEkRnPJ~x(GaT*+6L~a-Rsk7BK^0ABgRgN>as; zbNxt+C(N+Ow~i_^Ea;Y$?M=&m<65M>82{3br_E-Ynsu|3r90R&y2D!?}@P{ z3QeHn8#z5l$|H|CI^8&%2QlMoAcx{OUrzUvD7t{nLp44+EiA+}5Doof%;s^cHEHX*-^05Cf4=15LgTx z$6^I0q0OdQ2(_=TL)w%i`Kbz8Ltd5%FOv9v%7=@}djsYi%4Q*af!w|>T|4L$r$DQ3 zg8xfrH*1b_gcj1^V8~OH^7-~EpApn^D5E3T!e$AYRTFmru=~oNUG>8`g}T}ZR0HI1 zXVc=v;ceu!(qadpD!i($!MUhP+|0 za|(^+QK!jj^YHl>Iso0x_XDE}p)1@bdc{P7M9n!!=NeWRL@7e6Z;7@cSBi%3KVOyn za4*1yjpOL}sHBUx2(8ZD48fEMcJpvJ}B( zBTY@d&8woE2oWZodMxZxS%cCu{pMdZd!XNxcB=1&)%0cw{axh@~7zD z2Z!YF0|D*~jv{2M<$)-P7*h5(aldeMG#X737PbLEN}31%_Iom`vbuUf^+K#PW;`Q{ z3xMvf%E~->&dE)O2$J_%*#spO5o%b3arKadK&wZ9{!@>#H&cdcP*G9m%gjeCsXQ&! ziY7utTJWOPS>pW7uVWtGuIe2P?_!&DJd5?aDJvQpZ4^hDD_s#|Ak%1A6KPTZpl!Uu zO4#O#pfCK3-@fDyD{LR3soeX^d`yy9(xp)-I#JfCaO~_2@BGJJ^tBaIgh~bvcs21L zC;(cT$50hBJ{vzw?~#0jUp$FFi75DCK@f1L#5WEM$^-=|^Vg8|hp1uJEh%fJFejx8~TUaU{B>0!8(yOTkkqO`k}@Fe*g&3V2$PjnW1XO!&q9q`0NwNe)P&8EPU*U z5O@Xo0Y1N8KLyqDndQWp#0rdV4-I0vP&j@8g1O8t+au3Y^WtzHI3=>G959g_A!k_& zsi;69D1@4KXlCor$`h!l~T-0jCy63(k zkOllJ?a}HO6&3@2`_QM?IMA<=E7-*kwg-O#`S_+B6pSzs$3Ms9ztbvUsP>cGu7e4- zO>YosY7be&@R3=3N1FTNNpFB87Zd6QF7t7iv-y$Ed3EfS6;?UgEE_Q+0|Z{W+%*C^ z5g}#JNk_iL=_bZY&$De!J(ynfvD;y6`i{JOV`I}Y&lD4?qRCKbO+@cQSM&n~Aj2U< z9%Q}Ws^cP#Zk=*bNPE2gj5YG!KkJM}Fe@J7+%L$EbW|5s^IGG2M`?@bA{e-D-BR%l zSgqTe&REYwnXyV6adca0~=iKCV9RvEXL(;nguq|STW`aEl*1P;H5 zZ;!06jpyl+z34R!z~a^U_nBKp!|niBB7gfV#;7#)j)UPKm|*-xYQRRFrD}3i_^%pP zF50NbK*2#rD8NGEM5XwA+$4bxd;)3;bZ|pL?e)MHZsE9j^x?~T{9%=ym#wlIXUrEC zhXxBva0Qb(%R$;?dD?8d=<-CIjFWd?(-MGXm62OC4?sqOQUkKwU`$xhcru!e!cm{6 zU~>YlY90$m(%7*eOwW>8kA4isyY%kvXM@p{r=zrn-RPTAnOy7(JXRJbRP*8$9!8s7 zFcs$`%3Ds$E;AUPQK*B&_-B}bAV2*GpFy6-6sxjws4AIL&Lnq^2%Pua)Kp**tnmtP@GwKeuu4BC1yTY3j zSAcb3ruj+=F(vN0V)*={Z&64LdHmu5yf3)zB$^X*qfK6XY+{n zVi(ZXL778;8F&M)N#qhl`*Co`(x0Ky%4t##6Zb1LLJsv5Err}>`8;(lPgOw~_0k0u z(8^Zu^&Ylxct252q{D|n2PfDR(@kjKI-Wt^4qe1*%{!>Az5`YA9pmPsVoP4ByxBp< zhEz}p@MIbjWb{SZ9gO;i-DU*MHhJ^-Sd1+s{1{I{z@CvKMH2Yhu`7>G329K z+E3*CT#vnQDnq_QmxoZHU5>x@X7~Q|p+k~7)gaHat-uUHu_;*iYin}35h5g^5T2=M zOxYLy=6LxZUY(z7O5n?7ygocj!Blt{Mj(pGJ$BeUU|Qn=y7GHUXA6 zTT+>wjr2k9gfu;jV}8}fw>>)K8D^L$DM^`&yZBK1W zv*hC0j;$a;3JRLU&>Bu+#YRh?76jI30y%w=<2Q3)@4q07A*C)fZdg__Rj^7M`>|}B zxED(@i@;PHR1mpl5%^Y)S;VDpCT$vY)Rl{F5oI`CO+sypTW|o+epqqbPvG+=-u=wv z6UU8A_r79gz6#7kCP=FKC5M8w?OCj)NTeMN3}5Ph^jR>av8TiYtSNXjhK^S0N^c-G%>9~o-EUlsZVE$T3*WLPY` z^WsWcCty1{_9O`^WNwsMFeYVH+sObAB2?D`13&!st)}G2~eUn>G<%2?A=nWiwm`2`o;FM`PGY)rA9+D(I=D9gyroj0j^@~ zVRz5tELo;6B$*5$xXk$Hng+9}=bR8N81{FC&O_sX71Ou9$uuFEMn(7x*ANKg{+H-G zjYrJ2k<`#*Q|Rc-F&C}0`6`jrkr%2aPvIKOJX8{w@URVhh^n|>RgNE0B*Ry(gGOrg5YBR34#1cPDG8|g>^MR^++|-1`=bjjO_b3D49gFWJ z$Q8tNcd{q+{f%#*jBGMPR}tw7?*9DGnj=SIwhUQcN&^XWAwt-A-teHOpIN~>uBHAf z<&|a)N|1}eGXd2!QD4+5{Aza#Eso$~EF|WP`qNA2gmBTxV`P}$2-FKC{Cuzvq^AGD zn!wofh=+B>oK05e9GkpV#I&^3%+hl~UU`V&YI=R((C>F6{mCPMApi8KsR156tW1bf zPwn{3$<%0`#>yltIds&G7TFIPEecHS%lr1d2dOd`f#4Kqm4~(0a@z1!?~&ZxIzd6W zWJNp8BRvx#AO_PT>V!ae`L+uOzHLO}4F+m*AMR8cQ!)HFA4K@^T-y0#yEG_s_EmK*i5ex=-A-lrW}2uO#V}oCH;u+A1(tYreYBp!?CS z_|c`-!lqkByx}g{8)^w8Tc-FDzDOvXA`P${(C?wqHS5j3s{+-8(%qoET9rSCZ$L>A zlld;RJp|XtVx(6B3E-b!5)P`-gV<9`eV!$~8__@bYSsvCo}XK0VAPgm7wCEGK8@(? zwT56Ne+J8CZ;ojM9XZ@)GLk-e6MUr$q2GvfVKbWlS@_&R;LtI5fr%7R*RbCeb=pb- z@{0WJNVr?7dcbjGsz|Oa*YfELTEi@(Vp+ENtZ~I_D$I+0y-9RWyd)4P$Xnul)jdDYqv2)lk9m9v+#1{rKCxaax{D9n#R0N| zi-!LFQY4tF3k+{sa=}+3%YZ_n)Q~S;{_yI58-KihNtc@VlEvRsC-lNL4e(>?1K=3w zVsPe=e2utJE0{G`iL{v_(v-c2nWa$n7o|^F_UDxf)d7p;72k^}EK6{o!_H_z$71zK zruv8m){}7SX&fZ}ssU_1qkLs;!)MgZY~f&Y<&vCdO)ULQCwPR~ShSeya60-QPWpCt4|T4o((&A#giDQXpDu@)Fug;-ex2E*VEau+JAi1cX>2T(=NF0ZYbl+`_~ccnohuZ=6~R9mn1Ia6no3GiJ|Ga9o} z=(TR%_=vu9Ow9OuIJ8LjWFK5@wln1(Wo-Yd5nV?d)gk7TPjmR}S6FN_Ic13!fs%f406m~ncOM}Deyn5{ozUX$UnfibP@hWCK+nHc) zdqv5DotGiG!REO^G@AEtL&n%lcJpmrcM+&iPVihwt#pnpe`!%!*;iiPQ8h!Bxi~%Dt_UALT-=>XHGS?$ltZjopLTt*L7NZY_Y}Kd#=_n zHx*kADi~78a^aPrc*VLu$77Pc)wCxiNzVN|R_i0rhoiwA=zZD-EVls}*?lj-tPH3o zc+`A(TvcR{nn#bLUKcnTjY2SUFu|wmjiyY_Y8*|!4?|yxk!RiB2$tczxX%n8V=eeY z2=l>t4E;WtFiu;2*n8dwQ~y5?J(zrc3O=zBo;rIHWlU?}of@tN{Dk!mS^*(o8LqeS z%HQ;q*oz@W;akUPL-DMy7)-Xx8fa-6=Tft`>u@UDL12_ZE^fC#=55R3tbBt$Zpq2)L3q1 zYY474h@tffejRMqfo`*me8HKG{_TsGKfZctzVu4d5M+;tS$|2B>dSjH5D%`11D_>?_S!y> zX(Gop`l+q=Z`DvKelC`=W9$9Dr(;|@e(~l8KSqCR(%+a#w&M$lXUMLv!mS=dd~$PX zlAV4XJ!;-UqJz|??o?|C3WwBOrTgfx+;!+fivJkjsA_M#YonPqTIQ&69%k_)*xf>N z3u!SXb>Y=k%HF8hyN-DuRLH7I^~GOvdWcwvxe@f%5Q~gg$-5Lid+5jAn@HSB} zXoZBZ9Qom1dqlRd6V?Z?hC;EWchNCXie$D-;=5P}$R#xFkiPrMu$(AT*8mn&{$Dlg zS5-NNUh$ZsO9!~4`#onojgS!)R2e{KRyZXx;irFxnS7V1ebjaT&A=3P{KM`8oT9dL z3X+2S75s%@cn9`^J%vh@hx334pi_*AsVNKSB_)O;7O#yBa~)?bG!0_6$*7uv$Tx@$ z#Wi?Gfh-X^2ZAKpFx}SSuxr<^a(i1Y+>L#lTY3nWH04uEyxG7K z7caxOpJi0{bF}Yx$}-A$h|z^O)Ybu+ocIFtzsaGQzqPnjc!1u)$rSyI5I!7363=Oy zX_mLMx{gg8M?;E-YGNkP5>J04(p6@P6NK!}f!; z<%+B-;eg%UU$VT(b((i0(oCP9CkCmy%W#!S5IB4R6KOJe=FPhx%5+|%Izgu5W33K$ zwg{p}6>o|>Rz8g&0xoz&_7gKtQ#;~T7C9pDV^2JCaM)xV5o+Xv5+8Id|%UPS1aYA_{g&=jV&YN>Sl(!Q1H#gUNSD!V?MGMly!2 zk?_o?!7)s8VsIpmN<=%}wDWf-;j)H1#v09oKlmV|(j9&6B>yV(PJ(V1L4S&{E%WI! z-EUWO=Xvy(<=jI~8)q!lki4hCh(DTaC0Q}7fC{%7ZyaO=AE?omEGY0Lm=QIoC*DPt z3dDyJ_K!Y>+v((OOUbnJXM|eX5miB1Symo7yK)Fy8H32SYcm#4hNDnRS6~V%q@%8= z6{z|HX@CBtz#K896;9*eY%a~gnnX9T(9n`)J z$EHjyybYd3!@UM8fT_5&DVb1GbmE8%OloZH3|dz77&5U5eSO;T8we+aj|5d}1k+3& zr#MANcEl1*CFGg<03HN_<*SJyA5Hf<45MKezgylHXqQN?B9YXmP44!EJ!lr&xM$3} z1gzP>xjDZ{4lD1S%v{#{mKEeb^ zP8hb}vugd*^h%E(n_ECYgONA2PIcD} zOoo!BRQR|^Jz%@Vl|4oWex%WXGU2a>aq6h&v9}?w;H~C3!;_zv?}-WAPYHbm;*T@r z>!Z$}=#FtZ56NQxk>@8BR3buWFk;BVulE7HhI%pMBBNJ-E@LLyF!shD$baz@x{AIM zcNal{)$0OIG;|=go-&TR*|SbI0^YwbnChvxazxDi5+rvxZ+N%LJke zvV+1bxI=Am=T8Gv7XhA~K3OvjE!WnloK$g1%VFo09sh^xeK$q#~m>5WBZ((oo6_&~i38tv?AT3G_9~c(qgeHdYU(as4Qm>X}l-c~iq~ zk%>*`+u?^EMBW~TN%rbNy?~-L91S#DnQN<&usU~a`fnr1jz-`8;Ncrad^J1|?FPZL z+F&$4LLyHlJ0H=#!}a(eX#tE?zb+3=#$b|WB7*$_c|PLxiY=8?+xsfqGiizD)~a&f zd{upB>9NB?B0CpF>2T5-guQCKvJ`8qvHyn-|BI_*)kRngQ@@U%4% z?yE2<@GRz!?j#E(z53FVFxPTA6d0GtUc7;s2|0ji8a1*K8{^{vL0QZV&D>5 zVxFYrXC2F@pw2+y&2=70k*Uyl&u)p{qtS}!oX94_Dz&ZSOejFH4CAJ<1m}Nl{Z&*m9kZa@qfn$9o72R_wJ{a>5G8_cWPS_?_kr=WmxmtD{6#bMn@km)(a%P|Pu;2)7 z^QG6+C9DEO+qN5&f@2JpJt7M5^lXI5fx2HU}S^p`wh83})E@L|n~RW${aI(CUk0Y-|x%>!5<9Y{h@{EeaoIy^)^rBWqOJ;IIks(<67Cmm_W4 zeVWvy8g(LAabTZvs2G_aQzW_Uvs$&1td(f-l}!Jn%2=Em9bU2Qd+U_z2hlQ>{k`Yy z+$eXW?8B~J&Xl~*@&WW4{GAm@`W7s1m+T(eDy()Wz$E8&Kv4Irf@fwXNQn#Ft-a;1 zyB@23n=TVtRf=C>NPH6Ux6v z!56Bxoi|62Fej|`(~Fnr2n-*HKzDxbe;9>$;ZeUAet*^E=6`Wz&^SnpcCW|x0mq@? zACP!hd-Eq=)7RtT8DBVP6#P`{v;PQ=Z_o|Kw2G+Op~CU!IgP4)uO@L7!x#@S3|x6A zVOc-VhCA-uN1zZX&suybEq1v1AHKoG3+71@@#{Aj5_=i8Z_emLefEiqy04#XiPJ+A6Xc}@3@as5p zwjT8st41V#eaeb)Q!$N@PO91o>QgfOf>x!_Yf4J!k$I8Lrk!1U`mL{+R!FY+i4&_l zV{y}gVLq~A7?ML#`CqNFexBlpSO?5>Z}<#y_QJU*iT^V5xX7-Zr&f-^muDtE%eAi^ zyF`Qh&HeGDHvoSh21C5oNNqYB47?t_o@U`|zi-;gu4c5WLR#Vi)c%{fG$%)Mu{JBo z@tTR0YW~kv1-+86;r!Rd_^8v^;@oB5X5>QP!E3G6+5yj$oKDx<#>}287b_SWc!IPbU?5YOXaL zoT4j?x06~)x`|pGpe_W=)`uDU64Ntv#EUg;ZpCLNmTI2N$jm2DCg`9)ss_53zd$#g zpjw&|Kfglf1&VL~?(h9hmaa5O_?O@98kLR|)pn?s=0?UhL~CPp)X&uh>02 z#92AXJCGM4aW~Ocne{@|U;*cXTs!nI0RI+Z4=ui7l-ANW)ZoF0F?~W@Ugi^mc;b(4 z{Yfyqi(=9^8tmgfFp0FJxW7ljR3f!xBqoaGWcWR{;K8~y$4AP8tJb6}PxLyZ)j_8J zv0JR&BExjG>1-6Vz{q*uBf`VJ-+uSmZ(l+Z+-^gE{dWAh>C^Zz@EF}< z0-(_!j)dW#1!(_9_?Kd);1+BXMThouLHCm6L1|>VP4jydH-|x87U9W|R*i%vchCwP zIoE>Gw`nAo@5xy68=w3tXvn;>s=E+#o2KpJ`84}Zco{nFJE>vtmi0Upqm?Msme@Jd zqlyul&-|EVO8xuNvKczPtRk$Af1`i{&x#A5D7bb!_>Gu4rpuF^a7KesTf~D;cEC&Q zrwYx5g)fT=@2%>9OxwQ11?o>tkFun3$PTPXz!4?DiiNL?-9uZx+DUCGjSp`krJ;<+ zBU?N&lhS`2^|}yf5C?05WS*-!Kj?NRaGoFC*3(|VVe}gAa#R~wJeEAy-OKy9-WJPH zE;4>W;30AW!wrtqR>b77LkTRy*Jx2P)^>@-AGvWxa~3gs?;EJE1F|4RFK@m6DvhRQ zf^hTz`fXuVf?rlnZpF9aiTaJBMxK7dC;5esQ5Op|6De_U zRyds(9{(%6w;+Ts)0DpFc8P`p@1m9#pdwN$w{gKpM@Anv2zp*yY4CYso+2G-OX z4pEncSYCq}Pwgd4x+FETal#WsZhI5>pAy3p1kX^jG>>Kv<9^h7-;S3>)vMSHY?^^Y zHnY59=oA+^jHVAEyxu=y(gW!#F97kBMQnEI?();!g`ZKohqnBOrfZbC1jy%>0_?!j z(eN&|;opI!lPc_BIgNDSQnV`lm&NH{c3>%r;R_Tne7hHip;s=6c3|o3rxzK*#7{5O zJU#tuLzZK&^D*yTg;3|A&F{A)xT~s%i6nKU< z7>{EktDQNcM;hKn`jyduOPbID{uE8(GNSlaY8o_%d1@fa2mj_$;fw^CkT3Q_M5M;m z4C!4b&FTR3O<6Zphq9f)%0ZE`Frw&dIECxK9sw*eTkXQ_vgB6&}q^C#Ode2|< zuJMN+IZNAL-l+02Tz04?nYku$Vo8Ck7SC^ixm^Ph#sM(r5nts}>)g_kK7U3ypBl1* zm_+6jDK9bND}u#%4Q}f-E-~RF@NYN+zQ4I9nrj2UN#~N|a)lhdiM_h}VA$|w| zjeXj3o!&5*&}U2!I4xo-R;^srpl4VAOE2^1(>7`x(;c3TzC`G-^YC^#NlwXQguE|l zTp9EYRR2xstY{59@6XSEPi3mfph01Aqlb@`rFPGcmufQEeH3)D7q4{?F)6H>MFs~$ zu*eZ{|+$(S&OOwULBUl$$QXgcf#lS!a5q@P|Kid+Ql)sGR_UnZAQ9&A5jlCsoY2qsz3C`CJM$l>Uuo3&Z9xE$4EG=*Wof;y6UmX$c}U_y zRRzJ|EgHfo&Rm3_ND+}7!ZjUbSuh1gz)rb%&-A$qFXio{Js{A}1B;MSUzy_-#n@I2(@eAJAl;oWUJeBdnur*!XHq7j{89vc_oNeaGLh;An6{b3z1e>wm!BdKuM|I zE{fW9B8{o>>H+L8B&A}=l&sHMepUPJa+Fj|;# zjcZi(d;UL>n5*#x`|h4w=ld)o>{Ywof9-)-HGSwXw~BkK+83m%SOI>Pw?Tgz#p5El zNeD7QS%vwDR+F!lis|018EeF5-!XafYl90#C@~ z^bwOYoblI>3Sq~gIwhD?4K$cOzi??|M3)*Pf~{n4kFp!FknMso+)8 zFT*;~NaZ`MnJ3(BJetDkmN@;4IP5WP(>YONiJP^g9P735zH|OUouI;oEH=M<;qQ=U zBU~hc8o$30>R<~Ua^h@;n1fo}9t`&MXPW~{U4Ar&no=1m|DvT63M6Cm! z8&h5oLeC&2BOy-$1;bk%(`-5@rsb3nS`7=L3p@|j<6cL59K58rKAx_z4Mpy&RT8`X498?Aoq)yZ_iWesuM*s;tJzfgwCC2rj)YUOx zodNJlnfC66d)R)$&ct%mJK9PZY(KmI~V6HAHepOJ#LO2__AsBJU3&UAs zI%^U42p@se3av-xClVP+ITL=;$hCAmtA4y?v%tvd4WE<=H!-P(>N7rYH45D#D$s_Y z?5E~A{hWicdlvdj(C?-1HBLY%nDW!|fy#uV@ptMeeDL=s5skFPys_J85)H#h<<-N7 zejm(AeO_5E-OP9o_EHsBE$e7(K=1zV$LwS94FM}FvB&`OONZY?QN`= z?W>n5D{ualC@cSM(CG|jVs~|#_J~~%Pztv2M@C4xSott@p(Q^%Bm5sN;@c6eg$j`O zNjMt7nj|7aP_>Mjam!6P$jDknc{v2 zek97AxmqCSX0Y6^6w%aZ>u$Nukx2yY>R`>m7w~d}fPGP3X<}&%txb2wCm5i4Y zimMz}*S7LZ6Y0O2arqc${lcXD$3L7RiqH>o*5rUZ8=-T{KE+uP?0{5wDrg`*S^_yqhi5 z^Ew|=^7Fh~4l$ZxoF&Cf?~ItKi1xFNYpGmo^q5#Y8I544$aKskG6JpbyI$LLQ$0pJ zEXDve?YZhay?q#h>02yz6<}X<1L$<`kl|Zp?xS3yV-q z13F8zi7!CRpUNp>U$`! zs2%r_ng_|s5MMImz3>xewpohkyx|h~o6^=GXneD{>|g%g!|=8r%w}knij9y6&;7t} zw4B85byb?W3q&?9V4{BZAtM73;Tm=(syN&7A`6{zHP9>%8tc%b6Sz&N6&*CiV1Hsu zxW9%oOo^Pb{Xg~neeU-M7tp3hKfQ2v+)Gv(lv~>sPT60pdpPL^g#PtB3#mHf;Os$P z_B!ZpRv^nX6NL0>ri zzVr$?C&}DTovG0DZ2YYL_TpYwy{vT!2Y&!$Y+YfH2TjN%!E+fI((wk&`&f`g|CzB` zp`Gau7`G)s^M!MtB_IKHKT}&O@e^vXjVC?4eh+tASO>Jl8IpSLrxkg!7?*s(nijXN zYeNO|KLUaacRh-n6Dn`**Dp)G?&}Qub^d3q`WY-;S?U;4xrNe}7USq=(YG)f6C^6w zdjU6PEh$MU!1z}tr?ByXx(7<|A79U)*J^LY$M-(n_#h9a$#^Z+410~EZtqqT2YF@% zF|0oMpl?wma@lM(nk?Va)3$0cUOn5{j5=3(C=)qCmH^b72T98ze>@q@MsP=j)L+tK zHP)th={6d0{6vcmQ=vzbxBHp2tWLLu=uPCX*!u?GMzA--!T6%&UN0GJK*q;o!kxpq zG-rqylMvVSWK+mgRVrMpSTvH&^&t5Ll!NsO4y^g2T%_i}CT)7SA1cgjY1F=a&v=HbS{nScBlccsg>X@8oTCREetT;D!Y!t*!fGlp526udzlN@@~X6n+kg zw~ZL|k!)UZ#?#Zp4=3C2u%@f?)>@a)qEVgvIrjeI^h737hTzLE&Y((Feh~4+zQHrO zg!{?-kADz<{Ja89IeTp@(+OAP`G#);suOa+54ep9XqCWLd`%r=46DNan`}qfD7`nt zGsW;#PzoMMXU+`!pIePR|L0aS_d#!$H*@M{v`H;xxIMO z#mgUGy(CEGUF(B~LW}N&n#FUt~^`_89PI7(v+=S`w6$piUJf9an#-tX5 z^ThXlq-c)>hS?aAE9u&K56Q%vrQHc?pi=N6jSe!HMV0DsxN}cmK2~&A)L5vUQTAyQ zk-`clgKanV0nc-Oy*T7d-IBQ0tCPA2Owep#>&U>7*u9Xj15P8Q#+#+ z##9v}UTq7C7QFFme@2R0M`C?YcI;4+;9sLmTXhV0LnH0;gTOC`Eo2FgkhotFZypK5 zeK3_=pg)?XGKUySqs#%nKqGw|miqd*N+=?>`-U|d)SwhKv?31_g|%9CklL@)A4Xr5 zi30qswPlyVl!)Hg7e6=yrkn#_;}Vbr5ijDDTWG1)|w z^qO#!h%VNtyp=Uco2<)yjaeYLhSS6f^fy_YaewJB$pSM)Kq4a7DgwO5epd+yX($clAsbZ;RJvwAEG@%rwc1cBG4Z9F_{ZUgm7)CJE4gnMEPnSf-p6JAJ5%n z^e_fIr0!c)e^a~@#ELovmd68j!$~K) z>wys)d(P*9vg9o^BHk?CDRBZC9UzGUk#6#=C{Q}z&>&w*iDX=piz=Z(-81T*s?r@6 zI%q28NNJ_qu5-mwQs%X*Z1)v!KoZDIcHktq#p_;pZHoj^gsCnFp;qu7sNTBoQ+lZe z1}OX{%XJrIC;J_MRywq?wey~ISOGHLh1t8{L>YHh#K~Ngd5o+xU_&w{CSUMm1wCLv zKNirJyO@APebVVPW~$7BJDMVNCmiUiVe>Q$FpI1wvk{T|te^vjic>Gs0!ZvEhQw0F zdPd6tS_ZKd42#77Z3qCcM|za7kIBIGPLr4y0!Mh0HYBmbY+OShmf%Nav-M~uMZw=d z;YlSo#+s<)>N>5wQ9?;oOmCx_DS$_4)DRBFD|0ZuR|n(mG>X2ct8VTi78_jvb-76v z)S{L+{SR&0Gi->`8*pV=rtG9BE3jLS=%bVZlt8k@(fuCl9i_J9#}oDis*6Kg>thE6_? zL(UvCC25^Yb*=_i8fYCcr#W4hpW`D&mJWUcRwOxytMW|IH(k+ttFQl~a(qMhpwJ{P z6`rc@vGE6ltUB|%7QskXSQwd`s!nHSr4JI)EIwVUULY1amk<7ZuNzGu5o?Et@COEf zi)$4g?eGMnR?D^ogB?^V@O-5u*44_)U)*XN3#+qtr9G=w2BKBr@ux5W01OMOsE}u) zMC#5)0hf1WkL%5ND$DI#W)+p7KGr(kV)wRN^l*ys1#i?UKPd;ZpCWEp%>#Q=2u0e(%w7Tqy z=3y92zWYYG!s~U{qo*-uQTGK)c)Ftp;1lU)x;qpkRc88kwYylN3!i@39MqI1Pc4P0 zC6vT1g+c>j1z)PuE??GYD_Kx_rG`wjpggFPV&NdduT_y9{=z%G1k7`ol&QAv=YPI? ze1rzUX)?0po+h#I6lkhH@ZAFiK8?UekAeX-NYK0JVpRZ)`7e*KlYIG*UY@vFQso?W zgIOS$M~%W3{F1T!qjB0Tb@`w=IlZd2G07F#$D21s! zE6r#-R&7e$c++Se4X3lxiOKel16B2h{AvN|hXYO11YqDf~fNnqJ^tIZvi&HI>V zm`C3ElQ%Ec;9F>HP1(~($Di=#4C}E&YDC<)#^Df(tw}G0x)*jN(^lU*ngm^>U;6vc zjCW39NjXM4o}wW14Xrsq$}pHO46G{n-1D}|U_N`*PRwy)(QOU_yCFASpP-$#&WE*s(&0BrK4RMIGfM-HT?8q z-3h+FD4M5t!7~E&7vh_{tICFVFHGIEAypYcJf)ZWYm;}$!Y|r+6<&Mc3#h_-D+YO@ zLfwUxjaZ=zUlsZVcW1%S4>~>nQG~RM1$$^iB_}7B*iRKU?828th4)s$BI8e2;sSST zZ#X3IGtO$_3Ho zfitV{`D!#HATvQoj_2W*)_X;#y~ZC@W8-Q*jb`3pJo~=)HJrkSWY7Vp)(>Dy;|F9* z1NZ~v$!>2t3otpEZtZ*&IOCLvE+_rtq*u}{bQI}%_f3dsO9Zu!N1Z<*5zFUUS{i&y7aa1ij1zh;0ht*Njf1*JWZjq107d zQRu~A5m((G^}GJ)7Hs+19wd6hu0I%IQ$L*Bw7}BJ;g>4QZ$IdECxARhx9*4*E9p=et22yVG$~SAiJprr zM09*a?^e2kd9*ys;|Q74AtAf1M?RsApbNH~bXt1|SxHC5)N#-z!c^J=$q`iK5jR04 zKsfWE=edipaC+>sNC9$_Lp(kxxiGyYArqAt&b_QJ^;mV@YBk;7lNYM;^yGg-lCJzw zXRdV^>>j$qL0kEXr< zMrtMfjR;!IJY+m*I2uONhwvU|WWz2*tejL|sD`rQDb#Wx)I+je zVG7Q%X$o7LqHdt76PhLMDS{(xOB!5(B0D46p?)wP4Xw^vwsYY}$MeNUCLsksggxyz z8+4`+iqM0wG@zQ6C(|A1DZ#O5qmwL8X70ovGcI5${h|`~WAMEbApTEw_2o*o ztPFTD7QjeIugLRL#onsuP?2|>>-;Q0YfPY*5g%00LBJN0ygq^*GIOPkTEsP`3rSEC)Zef8{HqK&TE&r2ZqM7j0>|_ zBnyB25*Mdi?kU?_=O>AwOd$d4_fbiK{>$PjzpWTskK#1rlEWNheLFIAGlc?gUMNed z$=Rt4NlU2Q1v6FAkX~B?iNC$S7m~0Ga`zW}YSh+mL1M2;dwmmhqSyWfBjm-ZD$UNfCHrv-W{&@W|^QCnCG5-bi0hlRpGY2dE1Z7wE8>l^ zFD^OKD%*DhM*svk;yC#{%}w!z9k)XGQBT(EgPub6sWc8ahdPui<9|A`dBP`*pv55k8Y%6ZwOyd4fbBEp#}SHHicS~9RA)a%3Ba{ex{oWV%RB7E$8dO zYpAvfuB+h}v@z8~@j5Uc0!0bE{caHoSoN$Ds&32*s==9bK26usw)&5G^xPU|*g2FR z_hNH>yftTiBxb-4L}RTq^V;3a5|)SVzo{yyC~Vd9USsdW+2~6&^k?74QQ1qW)8InJ zCFPL}k7)gSI)TCxAD&6ev#&kyF7~fI-o=%jCs+AJB&%k37;xIOGtW7<=`>Cz zjb1WwE7cq#&V+YIW6B|DFZ>wMFIXBK-er$<$DcE<&Kjv6t2b8#-RJ@&bKRRd&p~cx0WX6`nziso6}%r8VBk9(rV(F z+t*K)GA$_5Z{QEn!sEjq-pvi{W#E%+`zu|r%_<;C(XAv#CD(awi@*Y_Xc6)TCHA^uJcM1RL zdym(jeE|H$E{yR#)Gv3a$%H(K!BC{?eEbrOs=|y|7%T^92%$&g_oLz6?7r4U0fFTJ z{1x0DY+~be6H>naS9;>~p8xq_Omn)C0$zYf>5A~3CH2JWu(}rhIT>cMY2*ukhYT*0 z?G9?z@WX5jo2Q@~jM4m0q7wQ=^66)Z7tBE#65j_F$wi_$x{`0i_k*fLu+*Y19o%J4 zf9tdR!zldXk4ODp`2AJWiV2_=RW@_l1_->* zZiKI_Lpgt9YWFue@#?J=udoF(rlTV5UPpW_YQK8FG+UjwL#h?vA^6#+VKoXPh!f!> zB*GZ2+Km(8%!BH9@vvc*u5X|T)?uiw!7P8Bxv4gd`Kl^;&Bj5NjE$itCliLJ3SmdK zAz}SE9e80-Ddue@e!T&aU^MYL3uh36Nd#j|vq|uqbF7s}XV^S}&JbI19Nba&A9hA; z8x%}wAfkGX@#$DOZCypR!i3P|tt(>aeeuQc zWlQVTL-G=0KPt67B}3QgVKad1^&TENrh?(pd&4{bu@`-%pDiLD)+6x9JgO}$^&F5; z3>R+cGC2zSQ82*{M^ZThPgyONExj1Y*D)M4qr2uzW~qcK?j*oD4^f!rTV~G%<#SiG zz1DH+SEcnTh{G=Yb;ZQ{!5ocq4orR&yII4VHEWnCDM;qY3|qYY99hSjx-+6}s$-|D zB3l9z(p?=n8msQSjl+bJ2tEeMmfDH=l_KS?IRzp!1u}IZe^rs1=r%hRj?Q)qcVwxCob2XKDEI^~7_Q90vRS3o+;uO|D(k4LODsD(Fq4b-$K31_I` z`Bji`WKL)&oU-GdqyQ3TQYuw5m6(JE;{PqP*X9MN{up0h^0rp-aVTThi#-289GTY% z#he-_=I0zJ#!EsmV1$<|g<)qJqoQC$G`#oDu(z!9vH-4;^YZ2mYZevco9z6)p}5cj~BAFjN~4(pYQrgJi>KXpKDX6O+)M`?`sfmH7g7fb!aR5nUhY5#)7x zEoXjnQ;z1|6mIt)BftXG6!fF2`5@mNnlHixn%w@M>!4iIiUF$E*zc-i1xOG8gm-=$ z_z19q-{DnGj-SaUQ1P9R!<9q*ZX=|rNR)V zBhdu6>MS*m0LEWF9wkK&yCp5(CbojsYpMnC+z9zp0nu(P6ZwD|s?ewU%*j5)T9#44 zSpdHadVu8JE)m=2T*UBh)u^;_Wsop163@iho7!otQcXne?Wr`cxR`4^*;7ILDX6I| z$yqG9h6;a?tBZEv=N&7RTIG$m>{5-ADQ5dn>)99N08TBNu5yEpun_&{C zo^6JkK4$lY>L(=(FX(kVOjW|CP%b$2L+7$r9|Hxa$YXV5OvbwCVM}xlI2O^eQqTel zwmqj#5xSC2M(T{t*$>s9CQQ3)UjO3D4a|{A_@CWklo2RiejlS}_hOs43nd4yP}OrT zt-b!r{#pj%EBlKY1Z0f?K02BqL4Oaz>|inp(2Ldpg{~id?#;}E9Q}@|(K96K9))LT zuyvb;!H_qt!Nc+xtKhEifUnXi;0Ot>YjfIn^Q(H7Ngf^EEN zH%P|UOQ8FG6cDijXc_D?j77xaz=}F##{#?rOg?pN6#QJ(hL17&FL>S8wrPLC&sO~m ziV=z7?L>;DWoH@C%2Mb zLK4w%!zVK&d-|m}_B*5W`#8?XysT~|d1%uXinZR8U6nqsPuQIW$vgg&nCeU-niEx= zTO=g_QkW-3Jx9?};79~0HrV?TMPs_-_`TEHhhaGDjfSmvot`Vp6aL+Sma#lin`-8v zh(NT=8RxPH#4j%n+bnj^3m-cSJga14i|q8+h3v#Z1SeC{^rT}sQ!3f)ZDSAS5}g<< z^1K#|WnL`WyM!p}R1&lHyIvck+62$z_CkhW>ss-vT-C@Vj5fnNi?djy7wA^=&3H6- zLvP)U26K)O#b!Jf7t~3>;r)mRU+hW7p+51<>csoniDAu>biR9EN^910Dj-|ZDaMEO-pr$>D#2U$@F|Ehb2;eD zu7Ibx6g|4!Q(Wg!%uxy^cm51tI>40oDUc8T&OQf)iusJJ(mKyuYNY~{>HvGA)$1V& ze-8WIS=j%;5M?(C`^aVpqQo&r-(!|euTOa;Bq{IkSze*;z?c7ThlejZ9+d6dyQboy4NWMtN}$)!DQ0?t^+r~We%(5u?Aa=LV z+(KsbzQU4Lyj>YAq}nzRSi=-r4-MGvJRzP!pUz}KUqew-_t4!S9uhZ5IGshdOY8+7 zeL6L+q^O+HiQXBv54k=-)rwkVNl0W~m4g`$F=oS3FN+_QF!(~ThE`_+o!s}F9Gt4@ zJMpUL0I^G-tBq%uVW#Ne+HlR-Cubz!&^8hL->C53Jx4P`rN%ISAea2;B4f1 zL(QRC(CZU6%xp+%aniC%kVi3e9OuzTCi@5`ofZjRm;vNpqVGO6Ou^WIYvJBsw!p(4 zo{1qCC6oEr>#OAw=-jS~({~_In`cV2#CMtTo%xZH4}Mq0C91e2EvDLPd>W*Y;n`Gs z^WAea&vCaE{u_w_K+R}k01XXgbbGh%mWMD?qAZ9Q9(CnH{D6GEpzoMW(RsTiUCMyTfR4MhX%G`b z5uZ>KtD&K~W=a4nD$n2aVmP_BQ441a#NYaY4K`cX_*eRofBD`c%oM2{VkUJ6Z~;u# zkG>El@6ojO6=`3~Klq@|rJrLYJ%4klR#%Dl;1~_n!!W9a^VHthHTg~sH@6NRM$(D= z<~>;ldvD>bfrq<_po;PvQ!V#UN*1q*`2;s3AbTNsUrf=oYG z>m4-X=NSU2FgGn?`sico>FQz-_bALl%9Sf7#=|K-ET8@19Y7=Q*Fl??UQF z&g(q9OR~&uaF70!JpdZ>bMS znFJg^r?cZja=5+G)9Axs9E2boB2qbb!*_8iNR< zTTdT>TcJ8Gk5gBW*oh}h{sfnmq=ZYMV56&YGKG2}MA=Ag-$S$)hUjeaVlX-lBrnu* z_$aAkZc(;^ow1Z#kSy2G%1T9cTsD!CEn&`YavyR!FOtz%fkb!Pb^D5jiIm2@&d=F& zksHe;xxvo|`f4;-Nj!WQbRzO!<63skP@Gs8Z?mU{b({H>3gw2fn7ITa&NzSl;~zFE zs8ciDnAfBQ&S(CX=NpM}Q72?9<++Zn$zFSI=C%ojT#1X*ON`c*%yHp$mZ=K#>MM=D z>_|rXj*&`^Zw65YE*?j{u6)6;>QxG~o0YS9vvQIgzY_Zi&(?`m#1k%L6)bL9RCsSC zjLh%|OI+YCU<`*EwhKBv{}H2#8GA{NE7o_ZCZ%o{Fh($Oz?^w==yXP-{!cGNm8SpA z09B}setMx8@A}r6(CXffi+pHmOTnj3%>qS+mdVsr3P0*kz4p87o6(IA?HHVQV0t$C zUK%r2z2dmK(^c%Tp5lof;627WlU)(9K2#-`PO-OrkcpzY&?FNWn||$eBlbjCbkz&l z7n*2TT&HSGXmO3TF?voe+tXw_>3mk^5iHx)iTW>xq?lrPA@5yDMmcjbyZM6R0FF8S zLoaPKX$%F2>@gY#iNA`w_&(R{R@=r^s^`IE%f1Qh;(Z7{;3OE{MSgf6gq*;Vb8cu$o2+3oD+i%kDpvrYY9ckO)O%@g`>-4C`qNuA@iuQ|C8#eIu}}-;7~y0 zuQ8ZV5?88ncsU%KG+6J17S>MH(6*9O&O6aXEzK8zqa}|Q{QT5&Z+|IgQpy2x32&lS z=;kF@vcSs9+VnC^I-fM^57())KP7i8h^oRQW-8DdpQc>oOZNDC8Oa{Gdk`y7tXwD- z$D41Cfo-NOwcwLeEhEvbbk^H0lk$&PiwcQN*1wM&MtlVIE` z67Q@d)B;^TOoEg&r6M+XqQ4+l8J0U$06fz7)fLE+^A({ADPKNS}m7xfQ zv?b{X`I#j;G^vJ-_MD_v5SP7M2H`05#!>C*EdBZDc(~Vi^NF9YM!=^dJ%^BB zS!#vBUsznVv7Va^za@mH1ccEiR-MlST05KB64Gr&d|J#gWL+jhyg{=?t<8=6%z&spSRbRrM7fE= zQ>`VT7ijMc#CdqzOagQ>Fpvd)!O$jb-J%2J{yW68Fg&J(hFBt}(jl|(0kU9vGrSzI zr#f_T1^yqG_iQ1vssg)XipRB2;TU(!R^7Hh#SyB52k)6LZMGq%r$Np)W7Ic;C0km^FQcEh182pNQ zZO31wIN~(@b3K~pp=_fJA4Dx$lh?tpI~u$RL$cGOG4cqtdtajfw|zEo_5iyPIVGQ; zj~-?gs^*U;quD4N^@TcGuv6ERlu{7H;!&f89XYcOBu}>`Lc&KQ?~iDlF|3Kgd~YIg zqU*pZnyGdmSKQwAAEx(veb`1!eT?uCd967Z6U+R>J}#M*DTWEyZ%IBZzQJJ`aTsmP z>IaFQBWHOC_=Dc?fsatU**3MQo-|EYHL3VuA}4zIf(t`nZ#Mc84S8y*KMV#q^As&k zh!l*InZDLegfbf5z1TcXxdtwG>Yzn z8Tbq>2@;4CF(KHEKuSO&Sr?bN>v*80j0)dzs~qr!=W$UqrTX!q6A$*50;w|Yvh00F zL@FLxik;`_nwJkR;;1NS+BKR43exGouoj|jDgW9MiBz7!+XtoC!XcXB z0@Mlj#x*Q1IVvB=tH^y$$0KAs0H(11GkFX_!#YM2Wv_7r&YpXzoc5WP*Pk{Hm@X@S z?e_pv@mIzps$nKSABEq(HPDDtwpyIK0B9n8H6vf`0r4#xWzyoDr>Raa_1k#qY%Tem zoRDx%XRPZi_f=(wMCMuslbVB6E&O!Q7>jw|{ zEDeVIB~>R(Y*JQ;kt)ZWI9}LjvA&c`T8uJV-x>-i zMiaIQf0mPNkGLT(G3{p7j0M%4;u_&$i-_dvW@gWs_^7D5_*bN?JmZU*JcKji#T%pe zM?}*2#@SZH0}d%z*rQULF7;IvuL5BW#`nR>26l@U{24D-oo91RmUYYcYJ9Q zw$P6MfOvrZESj;y(d>RQ`U<~}5c3ZvNo*(Ycy%q{E$_DKA?CjvB3_>G+DVR};*nx~ z42i%*G30)7+qH93%|)TmSy-BZ3Na_;!qx3b35g zM&aC1LlJPG#B;FDFg?YXbTC)DfZ7d~99~I*z<8xCMPU+i%IzIQ4o0<@42wvvPjVpF z>ZrIq~gaZYeW3jQ0b%^k8aH==Xa78>X$kclMu$9$=D%lGyKP1^c9D7KKHfBwvxRm zrhbY39=Vp z^ucjVM_F=r(B1%gWb8Apc;GR|!dwrV?G1{aHKO4fP_`btv89P^qY?e*0hBFvl!Cqj zPIc7S(td%r{ZXLn#x1=*t5^Z{6?7kI3hVQ*{pi7D>9g|u5YMnL(RYyV24g^TX1v79 zS8j$x!kt_hDpT;z%!zb1VB#0q3GoR<<@Qm^Rd06#4bhrzQHlOr=0|q7u<9*T-iX-F zV3FvIHK*ZhQ`pegMw(Am4T)`(iqno9}GI(;3Y@tYHz;_>?W|+eGt1_Xl^0JC6M!e zdT|@{r_t*@5->S~ifI3|nS<1qr{b4d3xtJ3AZct`mjD>+!iE+Fw$K-akRktuXEQet zhNxmnniS#-9_s#&N+3{rS+_)0Ym$xdpI0;MNy4T4Jvc%Ra|5)&o{A3nq_gCS)#l$_6rIxrv{kiF;3VW1qa3-+n+g|!^ z?-r_As0&{kyN9;?p>k?d;qcZ*(rG5g?PN5h@v3g#ym0uG$@Db%1|9Ig4^gKRHy>_W zm|g)EAV?m|qJZUf_Ksq0ndcpA#_#pb&)k>;(*&({Y2z-Rq*%@-W=c(*d42 z^%e;>fvMwP>XFm3p&R|TYIbL|oqo4>dy5;S(Y5X2qF6318B$4QInW{`S4AWmYs3VJ zbcxxmZ@SIMB4SM~FrYSP!9oD4FtP}A$Pg;9Xt^7u4uznz&9Ukt$JnX@DRqqWjlpBC7WAw|AHDWkt2zEOt(>Xdbo?zufE8^}~ zDm|};uuA@24*(bJgLBquZ@f!$(`jzyN3gqv<`z=YX++~SR^!vQfvqU7@#eedXr5!H zdM+6Qcel{oLfz$1&5GD3Hu_JieYutsx0GRyJzJ(jx&a?8i8LRi#ncmIC?Jf3@ECmy zLQ7#XjK0R>Se*i~WtEJD$z+@zHICCG7+a`n&e&BpsgU$y`d)JI+(k{ZkQx!{Y2oq3 z>kPnFEmwHj+bcf~kfVpaSug0Lr0jAQR%Yg9$?!v9>KblqX-x688s;8H17HUUk475t z*YP?YId|e4UxV-1UPRIp4S;0xRXdieP@yvrqRh;vq|tz)1pZrKE$5oU?R%EqI6292 zdkLZ-y?VYOn}1*x<~*)2)V0v8PHAk~7?!JSc9FxqqXR{GUC82I98+6CgE0+8+>42Q z&I8F|bljWK7-o;;H^$D(Mtxi>v9bmQ_Yc8)U&)inmIKk4*ryom_Y`$N-hqH>+dL>` zF8~*+q%W2B!b3@plkO4cU7JkJaOf%ef70J}Fc8myl<_UTk#^&*F2!aQ5n%>O(O+zu z4uF9K!Mw*Df}Xs4y$C!f54DA~RZQ?tpl#^j@e-)`7LV2p>}VV&#p12|Pq-5N9!?!=LmMd+c`hAZ}+# zQNTW&Hdi5=T#AB-waBqW!KEG^v^$7ldv1{)_^$D6y~(hd^KbE zLkq@A%W`TS!U!cY!ZL#mGL&TUVTkv{tdrIi8>S20)_S>|EN|cqye9S?IoOYbJMcpN z(a@iM4fN~=>$g+h90$?pHhrS#&w~*MV5#0udc!ZI9=q-71|ODzB#t@)XJKI1(pXkN z%{!N&G?G)o^Bf>B+5j@hb3!f24kiga7x5uZ#Z=b#Nd$<>62++Vvt~W_9;7Z^s4<~R zy@!L<1pnxSCE1^nHIp?wM*Ealhych*;x6LW8~*{beZ&KrUUCD^;1fE7sps3i9H=80 z0k+?rafn6Q)s4bF;w1H0V4OwY!$y-Y!Vy9J4syMu$sb~|{LsxM=OF2nu40b0@O0MN zHKfubS1>FU%Gy23SLxKng@ORjBB*wVDQR#NWK%pEcQl&>Bs<3)XdF>fQ;j)duAc|? zJN+|j9z!Wc?SFDtnNE#&6lF7{9NUos4LNp43fz$bd5%~z(a6B+X2B$2;~gn*HyIkU zNjQk~H*ZRbUd4-}is~1nJs{~i?}yBG(YvHH-nwf?rQ%AmH(P>U3&_7L_P+3CQQ^H6 z*)h}qEpdUnwYPjK>cUsX?x8LJp}F|OhcJp`PAFGFig5e8nw$D$t1mQP)zrn$ug}l{iV9^^<*N0oH?9-z9a-Mdcd4>{L z1#o?$P8&@;f755*0S5PIa%8A5SHjC>PgdrbtO$Ie_P5|KHn^O^b5FEu3ymB=pEJE| zDszRFeRX62b*LvZ@Rt4$0d8tCdrc~gGsUbUYXuE4$#z-BJ19a6twbViD0-0U4cD^; zHKRGKps|rp|9E2Az&e0WEgssKx!CFvp>O6xxYSbvJ$UYI=^|%WP?~~LQJK=2i?&p* zL2%fdl+5l~D_{M%8Fvg}*=!WFFeChZ4=r4r{Oxz2{q`jiwRRif8z~zM87Y(>`R#!o z`D`6kHSUZg0UFOgqC*8vxJl-ia+Qf2oV-#O$rREx*CJn1x21BWaWsCQt0uwIoPft` zw8xF;C-$U1vOKAkGA$M-GAFe-JT;o2oWK)b`QQmBh^IO&tM8e|jv;~zo-`8!R2K?O zmmVJVFUT#6x^3A=yF3;HzjBH|;VF`i{`fSwk_as~v*)@z;ma1n>*VswkzNSjGs zX}y5c+$nwUfZ6J!Mv>DOe(wDAqB9!xe|o_YXH$DDKPD-^)p+{5EH%zj_40`mBWEQT zt2uY~FusReP4B@)vd>Xn-%|R1qFpC!^2WS`?$iWL%H}kL70+-&ehWMq=-}}2b`SOx z1Aj2R!@%n=Sz)fqZfz$twqyJe(KRzH()qyafD4%=mF?ow2T4LyPssa^nA|EDs}T9B z!lTQEg@|zkw@uiA%u2A+-}*RVX@pmfLno1!)ZKfA@Fsx%Hw0<2w;y4hnih>Txw4ME zfldkZcLb0cfe^Jwcvf1O`4xEoEAloC@e*J5G~2lBY5iKCQR$^Fyuw3}Te~Ae7=+AT z5y@!pQ(o^-1>MXBRQZtG;m^>YNaC+a@>TDX8DnRIuyYu`hqNfq`~m2^&fF?na6v1% zMiU$*GWn<;J+fHbb~WT}7@=IM8#7ijz7YVbC7QzgM&K%Da-&DY*I&sQ19DWX2wQrD z-U~6~)x04`p})#9-V(VaDWs5cocYAZg_=r5H<`T!jmLIBATlAPrU0|ouc--!&Ep~m z>)q4X*P09eb{LXz%W5}}jksI`W)U%ls4z-sFxZ}jT2WPFlBQS>u^wn@DeyvIT<9U5 z63=#DM`9EBh+*q}I`)5k2qxXPoF;vK822O9bb%M=T5_C%w~ce@*coNvpA)I6n4c{C zwM*oAhEKKdH^+t9bf$&Beu<0A_l^VNn&|(m2aG%NW%5%24Fj8+_X};(B+25#pyAag zg4Edao_yp2*^5BX?g_x2?l`Jwi;FYKGN+bY50T@v4}Y@W;9-EC#0>&7L`q*FL5xJD zgfrFrVlC?|^ZWq;SFK6p+{3TRy;+Qp_8|?sMQ#mKCoaSCOVT>e5F>zWM?CalG6iSN zCU`-|hT@!&g1>nA!>j*o{PFr_=1Xa#|HbudRJ(iB`4dDhd#bF-U8z%>$LIru-!Mrr=dDhnXr`Glv;f2^JuZSh7_qq)b*_M{@kuIS1vut~{Zg z>KpbBR#>5_aauR;apAanR6$q1M#W;{1>#7?DW`J4Tf_wy*=Tu$R`C4JDG&P~SvP5E zNk&W5BT7VNk;PCMW(nd6`+*qez$u_0Mq0Nf7t315Vko*d#1bG+Ah22q{q@8er9`|x zBX0&@45$^=W95iJ!gurA3H(a11tQ&<(~j`d~#_Qm8G(yd$pm(oJ?<1pqj_u^O58 zaU+u_CPV(9O+brQ2$7~^+84R2Jjp$DKDc90@q$lO^&DPCE}+Y?at&AJg)G^ps|3Rp zgyhT5KI*w&{ZsUCdc!+^mO7nva-U>xRE8eME|@VKK!L%aUbDnJE{)876Hs_G8io}U4x%ZwC5G;nRZ zf_yc-$~+H12HrbIE4_5DR$Qaa4_eyO&~!Yj)u|nA-t!D?V=&%eR#RfB~}TI zCP-Vb0v*5y8vrYD9t{(mQ-XCgdw0$JcyPtS@Bd~r^M85)vPopdE_3|-`?S(B!@Ce0 zo@MX*KspxB^!iT0dbRY&c!;UeJ-z`r4l*(uI5=GS?^++c_PbsiI1T75ctMnKDtT}u zraCzgde~ag=dL!YMB5TA6O~IPu9XfFr!m47o%cv*=6JJz=rlZb7x|@inD?-WPVg_^ zBfC%hK?d$u@bA>OD`|)7%8izlC=?+z)F`3U2JIwmuR{~=*p*ci2rZ9RZZ6sA(;NI6 zc!drR-2)5l*~FTxDxQkR3;@;64h^V^8sLhUsR}4UwLr$p-%t;H#CU_-+1?N>;CLIQ zX4q7(@htT+nqJ^`l6F}L_9@a%^XLy&i?~u%9eXS*g;ld<6TPpyh>Eyh$?ay?h0ioh zhLLrXikfq7Y{h&EPXpzwkt+N>$`VYEARZcS*OgD<3h*mB-NZGSx7;cNI*X`Tib9dL z-SHp5njiw49{42KLkFR%W2RH!`R9#LBB=@Xo5st)gTI?`jkb~*2WY744{Nav^R%yL zmJlDz3$nRvJu*{GWaoGRHdxlfIDS3~zkO>o2=K}idjnEOg%^)J(DunrnavzkHA2>G z6ps2yS6N`aFX4+eeDLu(&d>c15c7c10*i|8ubMjDPi6f{UCsCdbh`Q znPk(IR6L6WOoxSM(T#Ov4}!L)p0P@@w|f0r8FVvsbv#X(VqIHh(D=i{Ax6j7yj120 zoa8-_m>>d0C+;zr^n#&`2275&X>k2ziZPYN+s->_l4RvmaTRS2ZqLB+uP@9kG2Cb8 ze81PlWEP(HqezrK7-0i^$vEX()XJU2U*Ca*nmWTtN_>}v>6ssK!gn$Mlslt4w+ZF* z`UK1QY6}<13g7t3h7A0ylcs+BLe<`W_s}(|k92eO9>neznp;SFhgEXM`XXWDtIY6L zQr#?Nf*U$~mN0wHG)uU&5=6yi?nfSY`Md97fX)^9;nJKU8YQH4uBzgFhI%v3140n? zAgmjXx>4&rl1cD2Q86H?iYcA^J^BXeOmJ`f1kj|Ya%4?ej!vX^FfGS~5ld!g>jhi7 z$G6+!i7l>y8WhdyuwiYb8r4fP+>~88F;~r@W-7u|JlJ%_DTc3M%M0wB=#7V=*}B&Hryx%sG?h$PT5?_38hP|RAMVGKsAhZsJjbIuL98u~ZG&e+RJ+pOt@ zNu!2qEiM<%lUzc}fFT==hcV_M_?^)MtDZ$>RFzz1h|wizv)U-<6FO`yIQ#Hle`ZKK z(U65(fbj~ql}|#fJ;<3>iO2Vh!zOxA%)Aifd~1nAk)iafeIQGXjaB-XWn1~7=CcY;0 zd1*eq7@~CAByvTW2Yo0VeTk;mGXe!ND;lGVQQ*#X-P!lvZ}C+73?`Dge1SuVZlb0% zS8oqNJW=F7m`o~Xl(?E0QKvgAa{hw41eG5aa#q$sWE8z$6?Go=gK7w|*ZG8PaH2Oo zX+Olx;Mx_@mvwywha>VA+NsCsz(#|Sl`if|i}fRTyOyn`X z$(dvIHtua>&C=W|*Zg@ZqHr4?qX~w7OO+2R$&@9h*JT3x|0~K5D`&ZK;MKW-au-V3 z5x|WGEIX!+{laOTR8QG%zS&{UWF&9tuE|IfNotA@XWTT!tnr!*tddXp!X}dd&YTQ_ zzF7iAa^9+#TuP@Crb;3VGP=#rxY)wL32X-q)49F+nD$A+=�ZqB*`whFVLsm_+FUyACv9Qp&TeGMj);JZ1M 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

&dC5H<=up_RHQoi*Xz9* zs(6L32+FTTe;lUj4%ArIl!o^0NZXh`Y8r8@`-R)uFI4q)22f>@0tw~a0jqfFzYwMl zi+7^P3j*^GW!h9G%ihj85)47ZeVD@wwGZBj|2uk8kVO;AnQ?s1f0|6A z%>f9ifWUDc2?(ArPWIC3w`5G2BTe6429PjHP&? z{tSF_x>GgS*6($}&;7S|IO+b!I3SpZsnDXO7p^$xnZJtuun00$%{*JC0VQy+W%|XU zwRMA({W16sb0^a5%A&6A5aHnBHs&TNUH6~_O#p1g{I~|6@UhCfTKH6wu(?$TjCL{~48B?xby)n$-1S!iHk_}Y9pj+v7>)-xX$qfYx zf6x_uBtT-UMV8NctPpMI%)aNn7k`F}`#s5?ly>5+RzQ^K{+6P}*QpWRm`n{^fbH#j zS7t0B<73vnm>s)xm%qxjSoMsQ>SMI=N76(kU-SQk0V=y3Q^sZ+5|R*xr2O4qu6(>(H_vctY(g-qJP5iqEd#K_0i z`Ja*t@c<9)?*&`!8@TolXHe^Qm;~2yCk~RcNVQQupJe-Y7!6r0B+9u`GR3%L(mM+g z{Kyb6MEOP29gq=3iZh(Q+>M4phw(#)m6$2lZ_rS>2tSa#@fQ*~dJ+U4Xt)6w(1glk zY3WGd!0S6Z?;w{wcZEZV{s8J1{FUWEY6)sQMWsBLA&ce9Qcr@G|$hMX%4gWT~WWZ)xR`3PDxLn0_Um3 zfnEBxDDk`1)6ElR3Or!F_g266mcBFUm$v$sCPzx@UGB|3L4rG#Q?ZkTjUH!|##dq7 z7g91;kJ+l2;0^-@l(n6LCGZwcec(#@SJdBN3WNVR>dhunQ9r@A4*?x%gC5aEXaf!C zpdXegW>_GdV?L?^&eIJk7ZkE894MEBcwqVTG|pH)$cVf#D^fj9jVYbU7qhr`! zNp3Fi``umLc|z`Ie~4 z7k_Wr&tNhJ2RON^0GQLm!1yBCF6cMIbb%PfEZuYQt`%s#HD+sSSe0T8Ym~dRLUPqK zZqj0Bk3A*h5MsXP=aSj1e0jhvTo4Q4m7Z&x=Dh4fRfEQ7*A!=NqRTV*Th55=D_s zcH6-!nbF9P<6zXfy2s#Q@KZ4VS-M3aMU8&OL4 zow6klRr>f|LX2``jgo+6%W=}OC7W%v{c?EAAdq-Q35y@h*8Iy*bnGsDhpCD>u22dD_@=9ud;}HI^t;g8K>ON1A>vvmOSO8{EI$G)t$cAs#z(GBAMOv!rV`TeiWl~=s z_SD7Z&b5O{H}t6$@Cx~6YPud})c$a!%KO-u3a+h(%7|Je;{{`C-FY>1EtNCJ_jJ94 z3Bq@3eG-4lj5mTG)yYU?GUYGir5L=PWcUTYi5>Ecl$&l-vM5H5d-a965&ORPTknd# z6wh9c!(LgKXw{iJ2{3^H;u+op1pGU^)R`ee)Q*CCc#g|epaoN+&!aZZ@+b`@ezySP z&t5;TyG$9^$>tqUm%caD542?~9N|;Z%kWDI9+CQ{G&iN`GQE5zQ!*sx$LYwC=XJk{ z#}d^d_FYgtimpfQorIs^jG4L=;FIaYxr;!|#1LOR=u;&><7QzsRq}RZD<1AW$#7gM z*{pMiiG{{-KJ14`ToXeec+3i=v!eI(hl40)Q__!l8GHWHzY6%O(u>md{Wu!+fV6md z5Y|PAIu5=<@Y*{yvyYQm{#Mp!q<c zfo+RHCx(ryIm{bUSC=scytydp5JAleb4Z?%InBZHXEU#?0g|^}Hq?56FBdnxpyj$i zM5s`}laU0~>=?T_!z39Z8@#6>HV4gbd}n4_@ol}_hqV7#kq;;~#7P7emXZR@UG-18 z2Ym%IMPvdeDiG?ZGzS`&trc}tTP2uBmj!inL?Zz?F}gPD{p}d$>K>^qK ayMVnr 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 +#include +#include +#include +#include +#include +#include +#include + +#include "nlohmann/json.hpp" +using namespace std; +using json = nlohmann::json; + +int workspace_a, workspace_b; +string clients; +json clientjson; +vector windows_a, windows_b; +bool output = false; + +string exec(const char* cmd) { + array buffer; + string result; + unique_ptr pipe(popen(cmd, "r"), pclose); + if (!pipe) { + throw runtime_error("popen() failed!"); + } + while (fgets(buffer.data(), buffer.size(), pipe.get()) != nullptr) { + result += buffer.data(); + } + return result; +} + +void tryAddApp(const json& client) { + if (int(client["workspace"]["id"]) == workspace_a) + windows_a.push_back(client["address"]); + else if (int(client["workspace"]["id"]) == workspace_b) + windows_b.push_back(client["address"]); +} + +void getApps() { + // Get clients + clients = exec("hyprctl clients -j | gojq -c -M"); + clientjson = json::parse(clients); + + // Access the values + for (json client : clientjson) { + tryAddApp(client); + } +} + +void swapWorkspaces() { + for (string address : windows_a) { + string cmd = "hyprctl dispatch movetoworkspacesilent " + + to_string(workspace_b) + ",address:" + address; + if (output) cout << cmd << '\n'; + exec(&cmd[0]); + } + for (string address : windows_b) { + string cmd = "hyprctl dispatch movetoworkspacesilent " + + to_string(workspace_a) + ",address:" + address; + if (output) cout << cmd << '\n'; + exec(&cmd[0]); + } +} + +int main(int argc, char* argv[]) { + ios::sync_with_stdio(false); + + if (argc < 3) { + cout << "Usage: swapws [WORKSPACE_NUMBER_1] [WORKSPACE_NUMBER_2]" + << endl; + return 0; + } + if (argc == 4 && string(argv[3]) == "--output") output = true; + + workspace_a = stoi(string(argv[1])); + workspace_b = stoi(string(argv[2])); + if (workspace_a <= 0 || workspace_b <= 0 || workspace_a == workspace_b) { + cout << "Nahhh that's stupid" << endl; + return 0; + } + + getApps(); + swapWorkspaces(); +} \ No newline at end of file diff --git a/desktops/hyprland/ags/scripts/templates/foot/foot.ini b/desktops/hyprland/ags/scripts/templates/foot/foot.ini new file mode 100755 index 0000000..fa4e2a8 --- /dev/null +++ b/desktops/hyprland/ags/scripts/templates/foot/foot.ini @@ -0,0 +1,156 @@ +# -*- conf -*- + +shell=fish +# term=foot (or xterm-256color if built with -Dterminfo=disabled) +term=xterm-256color +# login-shell=no + +# app-id=foot +title=foot +# locked-title=no + +font=JetBrainsMono Nerd Font:size=12 +# font-bold= +# font-italic= +# font-bold-italic= +# line-height= +letter-spacing=0 +# horizontal-letter-offset=0 +# vertical-letter-offset=0 +# underline-offset= +# box-drawings-uses-font-glyphs=no +dpi-aware=no + +# initial-window-size-pixels=700x500 # Or, +# initial-window-size-chars= +# initial-window-mode=windowed +pad=25x25 # optionally append 'center' +# resize-delay-ms=100 + +# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body} + +bold-text-in-bright=no +# word-delimiters=,│`|:"'()[]{}<> +# selection-target=primary +# workers= + +[bell] +# urgent=no +# notify=no +# command= +# command-focused=no + +[scrollback] +lines=10000 +# multiplier=3.0 +# indicator-position=relative +# indicator-format= + +[url] +# launch=xdg-open ${url} +# label-letters=sadfjklewcmpgh +# osc8-underline=url-mode +# protocols=http, https, ftp, ftps, file, gemini, gopher +# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="' + +[cursor] +style=beam +# color=111111 dcdccc +color=$background # $onBackground # +# blink=no +beam-thickness=1.5 +# underline-thickness= + +[mouse] +# hide-when-typing=no +# alternate-scroll-mode=yes + +[colors] +alpha=1 +background=$background # +foreground=$onBackground # +regular0=$background # +regular1=$error # +regular2=$inversePrimary # +regular3=$onPrimaryContainer # +regular4=$onPrimaryContainer # +regular5=$onSecondaryContainer # +regular6=$primary # +regular7=$onSurfaceVariant # +bright0=$background # +bright1=$error # +bright2=$inversePrimary # +bright3=$onPrimaryContainer # +bright4=$onPrimaryContainer # +bright5=$onSecondaryContainer # +bright6=$primary # +bright7=$onSurfaceVariant # + +[csd] +# preferred=server +# size=26 +# font= +# color= +# button-width=26 +# button-color= +# button-minimize-color= +# button-maximize-color= +# button-close-color= + +[key-bindings] +scrollback-up-page=Page_Up +# scrollback-up-half-page=none +# scrollback-up-line=none +scrollback-down-page=Page_Down +# scrollback-down-half-page=none +# scrollback-down-line=none +clipboard-copy=Control+c +clipboard-paste=Control+v +# primary-paste=Shift+Insert +search-start=Control+f +# font-increase=Control+plus Control+equal Control+KP_Add +# font-decrease=Control+minus Control+KP_Subtract +# font-reset=Control+0 Control+KP_0 +# spawn-terminal=Control+Shift+n +# minimize=none +# maximize=none +# fullscreen=none +# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none +# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none +# pipe-selected=[xargs -r firefox] none +# show-urls-launch=Control+Shift+u +# show-urls-copy=none + +[search-bindings] +# cancel=Control+g Control+c Escape +# commit=Return +# find-prev=Control+r +# find-next=Control+s +# cursor-left=Left Control+b +# cursor-left-word=Control+Left Mod1+b +# cursor-right=Right Control+f +# cursor-right-word=Control+Right Mod1+f +# cursor-home=Home Control+a +# cursor-end=End Control+e +# delete-prev=BackSpace +# delete-prev-word=Control+BackSpace +# delete-next=Delete +# delete-next-word=Mod1+d Control+Delete +# extend-to-word-boundary=Control+w +# extend-to-next-whitespace=Control+Shift+w +# clipboard-paste=Control+v Control+y +# primary-paste=Shift+Insert + +[url-bindings] +# cancel=Control+g Control+c Control+d Escape +# toggle-url-visible=t + +[mouse-bindings] +# primary-paste=BTN_MIDDLE +# select-begin=BTN_LEFT +# select-begin-block=Control+BTN_LEFT +# select-extend=BTN_RIGHT +# select-extend-character-wise=Control+BTN_RIGHT +# select-word=BTN_LEFT-2 +# select-word-whitespace=Control+BTN_LEFT-2 +# select-row=BTN_LEFT-3 diff --git a/desktops/hyprland/ags/scripts/templates/fuzzel/fuzzel.ini b/desktops/hyprland/ags/scripts/templates/fuzzel/fuzzel.ini new file mode 100755 index 0000000..9edf143 --- /dev/null +++ b/desktops/hyprland/ags/scripts/templates/fuzzel/fuzzel.ini @@ -0,0 +1,21 @@ +font=Lexend +terminal=foot -e +prompt=">> " +layer=overlay + +[colors] +background=$backgroundcc +text=$onBackgroundff +selection=$surfaceVariantff +selection-text=$onSurfaceVariantff +border=$surfaceVariantff +match=$primaryff +selection-match=$primaryff + + +[border] +radius=17 +width=2 + +[dmenu] +exit-immediately-if-empty=yes diff --git a/desktops/hyprland/ags/scripts/templates/gradience/preset.json b/desktops/hyprland/ags/scripts/templates/gradience/preset.json new file mode 100644 index 0000000..c24826a --- /dev/null +++ b/desktops/hyprland/ags/scripts/templates/gradience/preset.json @@ -0,0 +1,139 @@ +{ + "name": "Material-blue-light", + "variables": { + "theme_fg_color": "#AEE5FA", + "theme_text_color": "#AEE5FA", + "theme_bg_color": "#1a1b26", + "theme_base_color": "#1a1b26", + "theme_selected_bg_color": "#AEE5FA", + "theme_selected_fg_color": "rgba(0, 0, 0, 0.87)", + "insensitive_bg_color": "#1a1b26", + "insensitive_fg_color": "rgba(192, 202, 245, 0.5)", + "insensitive_base_color": "#24283b", + "theme_unfocused_fg_color": "#AEE5FA", + "theme_unfocused_text_color": "#c0caf5", + "theme_unfocused_bg_color": "#1a1b26", + "theme_unfocused_base_color": "#1a1b26", + "theme_unfocused_selected_bg_color": "#a9b1d6", + "theme_unfocused_selected_fg_color": "rgba(0, 0, 0, 0.87)", + "unfocused_insensitive_color": "rgba(192, 202, 245, 0.5)", + "borders": "rgba(192, 202, 245, 0.12)", + "unfocused_borders": "rgba(192, 202, 245, 0.12)", + "warning_color": "#FDD633", + "error_color": "#BA1B1B", + "success_color": "#81C995", + "wm_title": "#AEE5FA", + "wm_unfocused_title": "rgba(192, 202, 245, 0.7)", + "wm_highlight": "rgba(192, 202, 245, 0.1)", + "wm_bg": "#1a1b26", + "wm_unfocused_bg": "#1a1b26", + "wm_button_close_icon": "#1a1b26", + "wm_button_close_hover_bg": "#a9b1d6", + "wm_button_close_active_bg": "#c7c7c7", + "content_view_bg": "#1a1b26", + "placeholder_text_color": "silver", + "text_view_bg": "#1d1d1d", + "budgie_tasklist_indicator_color": "#90D1F6", + "budgie_tasklist_indicator_color_active": "#90D1F6", + "budgie_tasklist_indicator_color_active_window": "#999999", + "budgie_tasklist_indicator_color_attention": "#FDD633", + "STRAWBERRY_100": "#FF9262", + "STRAWBERRY_300": "#FF793E", + "STRAWBERRY_500": "#F15D22", + "STRAWBERRY_700": "#CF3B00", + "STRAWBERRY_900": "#AC1800", + "ORANGE_100": "#FFDB91", + "ORANGE_300": "#FFCA40", + "ORANGE_500": "#FAA41A", + "ORANGE_700": "#DE8800", + "ORANGE_900": "#C26C00", + "BANANA_100": "#FFFFA8", + "BANANA_300": "#FFFA7D", + "BANANA_500": "#FFCE51", + "BANANA_700": "#D1A023", + "BANANA_900": "#A27100", + "LIME_100": "#A2F3BE", + "LIME_300": "#8ADBA6", + "LIME_500": "#73C48F", + "LIME_700": "#479863", + "LIME_900": "#1C6D38", + "BLUEBERRY_100": "#94A6FF", + "BLUEBERRY_300": "#6A7CE0", + "BLUEBERRY_500": "#3F51B5", + "BLUEBERRY_700": "#213397", + "BLUEBERRY_900": "#031579", + "GRAPE_100": "#D25DE6", + "GRAPE_300": "#B84ACB", + "GRAPE_500": "#9C27B0", + "GRAPE_700": "#830E97", + "GRAPE_900": "#6A007E", + "COCOA_100": "#9F9792", + "COCOA_300": "#7B736E", + "COCOA_500": "#574F4A", + "COCOA_700": "#463E39", + "COCOA_900": "#342C27", + "SILVER_100": "#EEE", + "SILVER_300": "#CCC", + "SILVER_500": "#AAA", + "SILVER_700": "#888", + "SILVER_900": "#666", + "SLATE_100": "#888", + "SLATE_300": "#666", + "SLATE_500": "#444", + "SLATE_700": "#222", + "SLATE_900": "#111", + "BLACK_100": "#474341", + "BLACK_300": "#403C3A", + "BLACK_500": "#393634", + "BLACK_700": "#33302F", + "BLACK_900": "#2B2928", + "accent_bg_color": "#006874", + "accent_fg_color": "#ffffff", + "accent_color": "#006874", + "destructive_bg_color": "#ba1b1b", + "destructive_fg_color": "#ffffff", + "destructive_color": "#ba1b1b", + "success_bg_color": "#81C995", + "success_fg_color": "rgba(0, 0, 0, 0.87)", + "warning_bg_color": "#FDD633", + "warning_fg_color": "rgba(0, 0, 0, 0.87)", + "error_bg_color": "#ba1b1b", + "error_fg_color": "#ffffff", + "window_bg_color": "rgba(251, 253, 253, 0.90)", + "window_fg_color": "#191c1d", + "view_bg_color": "#fbfdfd", + "view_fg_color": "#191c1d", + "headerbar_bg_color": "mix(@dialog_bg_color, @window_bg_color, 0.5)", + "headerbar_fg_color": "#051f23", + "headerbar_border_color": "rgba(205, 231, 236, 0.12)", + "headerbar_backdrop_color": "@headerbar_bg_color", + "headerbar_shade_color": "rgba(0, 0, 0, 0.09)", + "card_bg_color": "rgba(251, 253, 253, 0.20)", + "card_fg_color": "#051f23", + "card_shade_color": "rgba(0, 0, 0, 0.09)", + "dialog_bg_color": "#cde7ec", + "dialog_fg_color": "#051f23", + "popover_bg_color": "#cde7ec", + "popover_fg_color": "#051f23", + "thumbnail_bg_color": "#1a1b26", + "thumbnail_fg_color": "#AEE5FA", + "shade_color": "rgba(0, 0, 0, 0.36)", + "scrollbar_outline_color": "rgba(0, 0, 0, 0.5)" + }, + "palette": { + "blue_": {}, + "green_": {}, + "yellow_": {}, + "orange_": {}, + "red_": {}, + "purple_": {}, + "brown_": {}, + "light_": {}, + "dark_": {} + }, + "custom_css": { + "gtk4": "", + "gtk3": "" + }, + "plugins": {} +} \ No newline at end of file diff --git a/desktops/hyprland/ags/scripts/templates/gradience/preset_template.json b/desktops/hyprland/ags/scripts/templates/gradience/preset_template.json new file mode 100644 index 0000000..8e2bf9c --- /dev/null +++ b/desktops/hyprland/ags/scripts/templates/gradience/preset_template.json @@ -0,0 +1,139 @@ +{ + "name": "Material-blue-light", + "variables": { + "theme_fg_color": "#AEE5FA", + "theme_text_color": "#AEE5FA", + "theme_bg_color": "#1a1b26", + "theme_base_color": "#1a1b26", + "theme_selected_bg_color": "#AEE5FA", + "theme_selected_fg_color": "rgba(0, 0, 0, 0.87)", + "insensitive_bg_color": "#1a1b26", + "insensitive_fg_color": "rgba(192, 202, 245, 0.5)", + "insensitive_base_color": "#24283b", + "theme_unfocused_fg_color": "#AEE5FA", + "theme_unfocused_text_color": "#c0caf5", + "theme_unfocused_bg_color": "#1a1b26", + "theme_unfocused_base_color": "#1a1b26", + "theme_unfocused_selected_bg_color": "#a9b1d6", + "theme_unfocused_selected_fg_color": "rgba(0, 0, 0, 0.87)", + "unfocused_insensitive_color": "rgba(192, 202, 245, 0.5)", + "borders": "rgba(192, 202, 245, 0.12)", + "unfocused_borders": "rgba(192, 202, 245, 0.12)", + "warning_color": "#FDD633", + "error_color": "#BA1B1B", + "success_color": "#81C995", + "wm_title": "#AEE5FA", + "wm_unfocused_title": "rgba(192, 202, 245, 0.7)", + "wm_highlight": "rgba(192, 202, 245, 0.1)", + "wm_bg": "#1a1b26", + "wm_unfocused_bg": "#1a1b26", + "wm_button_close_icon": "#1a1b26", + "wm_button_close_hover_bg": "#a9b1d6", + "wm_button_close_active_bg": "#c7c7c7", + "content_view_bg": "#1a1b26", + "placeholder_text_color": "silver", + "text_view_bg": "#1d1d1d", + "budgie_tasklist_indicator_color": "#90D1F6", + "budgie_tasklist_indicator_color_active": "#90D1F6", + "budgie_tasklist_indicator_color_active_window": "#999999", + "budgie_tasklist_indicator_color_attention": "#FDD633", + "STRAWBERRY_100": "#FF9262", + "STRAWBERRY_300": "#FF793E", + "STRAWBERRY_500": "#F15D22", + "STRAWBERRY_700": "#CF3B00", + "STRAWBERRY_900": "#AC1800", + "ORANGE_100": "#FFDB91", + "ORANGE_300": "#FFCA40", + "ORANGE_500": "#FAA41A", + "ORANGE_700": "#DE8800", + "ORANGE_900": "#C26C00", + "BANANA_100": "#FFFFA8", + "BANANA_300": "#FFFA7D", + "BANANA_500": "#FFCE51", + "BANANA_700": "#D1A023", + "BANANA_900": "#A27100", + "LIME_100": "#A2F3BE", + "LIME_300": "#8ADBA6", + "LIME_500": "#73C48F", + "LIME_700": "#479863", + "LIME_900": "#1C6D38", + "BLUEBERRY_100": "#94A6FF", + "BLUEBERRY_300": "#6A7CE0", + "BLUEBERRY_500": "#3F51B5", + "BLUEBERRY_700": "#213397", + "BLUEBERRY_900": "#031579", + "GRAPE_100": "#D25DE6", + "GRAPE_300": "#B84ACB", + "GRAPE_500": "#9C27B0", + "GRAPE_700": "#830E97", + "GRAPE_900": "#6A007E", + "COCOA_100": "#9F9792", + "COCOA_300": "#7B736E", + "COCOA_500": "#574F4A", + "COCOA_700": "#463E39", + "COCOA_900": "#342C27", + "SILVER_100": "#EEE", + "SILVER_300": "#CCC", + "SILVER_500": "#AAA", + "SILVER_700": "#888", + "SILVER_900": "#666", + "SLATE_100": "#888", + "SLATE_300": "#666", + "SLATE_500": "#444", + "SLATE_700": "#222", + "SLATE_900": "#111", + "BLACK_100": "#474341", + "BLACK_300": "#403C3A", + "BLACK_500": "#393634", + "BLACK_700": "#33302F", + "BLACK_900": "#2B2928", + "accent_bg_color": "$primary", + "accent_fg_color": "$onPrimary", + "accent_color": "$primary", + "destructive_bg_color": "$error", + "destructive_fg_color": "$onError", + "destructive_color": "$error", + "success_bg_color": "#81C995", + "success_fg_color": "rgba(0, 0, 0, 0.87)", + "warning_bg_color": "#FDD633", + "warning_fg_color": "rgba(0, 0, 0, 0.87)", + "error_bg_color": "$error", + "error_fg_color": "$onError", + "window_bg_color": "$windowBgColor", + "window_fg_color": "$onBackground", + "view_bg_color": "$surface", + "view_fg_color": "$onSurface", + "headerbar_bg_color": "mix(@dialog_bg_color, @window_bg_color, 0.5)", + "headerbar_fg_color": "$onSecondaryContainer", + "headerbar_border_color": "$headerbarBorderColor", + "headerbar_backdrop_color": "@headerbar_bg_color", + "headerbar_shade_color": "rgba(0, 0, 0, 0.09)", + "card_bg_color": "$cardBgColor", + "card_fg_color": "$onSecondaryContainer", + "card_shade_color": "rgba(0, 0, 0, 0.09)", + "dialog_bg_color": "$secondaryContainer", + "dialog_fg_color": "$onSecondaryContainer", + "popover_bg_color": "$secondaryContainer", + "popover_fg_color": "$onSecondaryContainer", + "thumbnail_bg_color": "#1a1b26", + "thumbnail_fg_color": "#AEE5FA", + "shade_color": "rgba(0, 0, 0, 0.36)", + "scrollbar_outline_color": "rgba(0, 0, 0, 0.5)" + }, + "palette": { + "blue_": {}, + "green_": {}, + "yellow_": {}, + "orange_": {}, + "red_": {}, + "purple_": {}, + "brown_": {}, + "light_": {}, + "dark_": {} + }, + "custom_css": { + "gtk4": "", + "gtk3": "" + }, + "plugins": {} +} \ No newline at end of file diff --git a/desktops/hyprland/ags/scripts/templates/gtklock/main.scss b/desktops/hyprland/ags/scripts/templates/gtklock/main.scss new file mode 100755 index 0000000..00a279a --- /dev/null +++ b/desktops/hyprland/ags/scripts/templates/gtklock/main.scss @@ -0,0 +1,86 @@ +// Could just sed but scss is way less hacky +@import '../../../scss/_material.scss'; // Which is ~/.config/ags/scss/_material.scss + +* { + all: unset; + border: 0rem; +} + +window { + background-color: transparentize($background, 0.9); + background-size: cover; + background-repeat: no-repeat; + background-position: center; +} + +#window-box { + border-radius: 1.5rem; + padding: 1.5rem; +} + +#input-label { + font-size: 1.5rem; + color: transparent; + background-color: transparent; + margin: -20rem; // bye bye +} + +#input-field { + background-color: $secondaryContainer; + color: $onSecondaryContainer; + caret-color: $onSecondaryContainer; + border-radius: 999px; + font-size: 1.3rem; + padding: 0.341rem 1.364rem; + margin: 0.477rem; + box-shadow: 2px 2px 4px rgba(22, 22, 22, 0.5); + min-height: 2.727rem; +} + +#unlock-button { + margin: -20rem; // bye bye + color: transparent; + background-color: transparent; +} + +#error-label { + color: $error; +} + +#clock-label { + font-family: 'Lexend'; + font-size: 6rem; + border-radius: 1.2rem; + padding: 0.5rem; + margin: 0.6rem; + margin-top: -35rem; // higher clock position + color: $onSecondaryContainer; + text-shadow: 1px 1px 2px rgba(22, 22, 30, 0.5); +} + +// #user-image {} + +// #powerbar-box {} + +#poweroff-button, +#reboot-button,, +#suspend-button { + background-color: $secondaryContainer; + color: $onSecondaryContainer; + min-width: 3rem; + min-height: 3rem; + margin: 0.341rem; + border-radius: 9999px; +} + +#poweroff-button:hover, +#reboot-button:hover, +#suspend-button:hover { + background-color: mix($secondaryContainer, white, 80%); +} + +#poweroff-button:active, +#reboot-button:active, +#suspend-button:active { + background-color: mix($secondaryContainer, white, 70%); +} \ No newline at end of file diff --git a/desktops/hyprland/ags/scripts/templates/gtklock/style.css b/desktops/hyprland/ags/scripts/templates/gtklock/style.css new file mode 100755 index 0000000..995d316 --- /dev/null +++ b/desktops/hyprland/ags/scripts/templates/gtklock/style.css @@ -0,0 +1,102 @@ +/* Gtklock css */ + +* { + all: unset; + border: 0px; +} + +window { + background: rgba(0, 0, 0, 0.5); + background-size: cover; + background-repeat: no-repeat; + background-position: center; +} + +#window-box { + border-radius: 1.5rem; + padding: 1.5rem; + border: 0px solid black; +} + +#input-label { + font-size: 1.5rem; + color: transparent; + background-color: transparent; + margin: -20rem; +} + +#input-field { + background-color: $secondaryContainer; + color: $onSecondaryContainer; + caret-color: $onSecondaryContainer; + border-radius: 999px; + font-size: 1.3rem; + padding: 0.341rem 1.364rem; + margin: 0.477rem; + box-shadow: 2px 2px 4px rgba(22, 22, 22, 0.5); + min-height: 2.727rem; +} + +#unlock-button { + margin: -20rem; + color: transparent; + background-color: transparent; +} + +#error-label { + color: $error; +} + +#clock-label { + font-family: 'Lexend'; + font-size: 6rem; + border-radius: 1.2rem; + padding: 0.5rem; + margin: 0.6rem; + margin-top: -35rem; + color: $onSecondaryContainer; + text-shadow: 1px 1px 2px rgba(22, 22, 30, 0.5); +} + +#user-image {} + +#powerbar-box {} + +#poweroff-button { + background-color: $secondaryContainer; + color: $onSecondaryContainer; + min-width: 3rem; + min-height: 3rem; + margin: 10px; + border-radius: 99px; +} + +#suspend-button { + background-color: $secondaryContainer; + color: $onSecondaryContainer; + min-width: 3rem; + min-height: 3rem; + margin: 10px; + border-radius: 99px; +} + +#reboot-button { + background-color: $secondaryContainer; + color: $onSecondaryContainer; + min-width: 3rem; + min-height: 3rem; + margin: 10px; + border-radius: 99px; +} + +#poweroff-button:hover, +#reboot-button:hover, +#suspend-button:hover { + background: rgba(200, 200, 200, 0.3); +} + +#poweroff-button:active, +#reboot-button:active, +#suspend-button:active { + background: rgba(200, 200, 200, 0.5); +} \ No newline at end of file diff --git a/desktops/hyprland/ags/scripts/templates/hypr/colors.conf b/desktops/hyprland/ags/scripts/templates/hypr/colors.conf new file mode 100755 index 0000000..58d55d4 --- /dev/null +++ b/desktops/hyprland/ags/scripts/templates/hypr/colors.conf @@ -0,0 +1,5 @@ +# Auto generated color theme for image at: [Local wallpaper] +general { + col.active_border = rgba($primaryAA) 45deg + col.inactive_border = rgba(555555FF) +} diff --git a/desktops/hyprland/ags/scripts/todo.js b/desktops/hyprland/ags/scripts/todo.js new file mode 100644 index 0000000..5fd332b --- /dev/null +++ b/desktops/hyprland/ags/scripts/todo.js @@ -0,0 +1,86 @@ +const { Gio, Gdk, Gtk } = imports.gi; +import { Service, Utils } from '../imports.js'; +const { exec, execAsync } = Utils; + +const clamp = (num, min, max) => Math.min(Math.max(num, min), max); +function fileExists(filePath) { + let file = Gio.File.new_for_path(filePath); + return file.query_exists(null); +} + +class TodoService extends Service { + static { + Service.register( + this, + { 'updated': [], }, + ); + } + + _todoPath = ''; + _todoJson = []; + + refresh(value) { + this.emit('updated', value); + } + + connectWidget(widget, callback) { + this.connect(widget, callback, 'updated'); + } + + get todo_json() { + return this._todoJson; + } + + add(content) { + this._todoJson.push({ content, done: false }); + Utils.writeFile(JSON.stringify(this._todoJson), this._todoPath) + .catch(print); + this.emit('updated'); + } + + check(index) { + this._todoJson[index].done = true; + Utils.writeFile(JSON.stringify(this._todoJson), this._todoPath) + .catch(print); + this.emit('updated'); + } + + uncheck(index) { + this._todoJson[index].done = false; + Utils.writeFile(JSON.stringify(this._todoJson), this._todoPath) + .catch(print); + this.emit('updated'); + } + + remove(index) { + this._todoJson.splice(index, 1); + Utils.writeFile(JSON.stringify(this._todoJson), this._todoPath) + .catch(print); + this.emit('updated'); + } + + constructor() { + super(); + this._todoPath = `${App.configDir}/../../.cache/ags/user/todo.json`; + if (!fileExists(this._todoPath)) { // No? create file with empty array + Utils.exec(`bash -c 'mkdir -p ~/.cache/ags/user'`); + Utils.exec(`touch ${this._todoPath}`); + Utils.writeFile("[]", this._todoPath).then(() => { + this._todoJson = JSON.parse(Utils.readFile(this._todoPath)) + }).catch(print); + } + else { + const fileContents = Utils.readFile(this._todoPath); + this._todoJson = JSON.parse(fileContents); + } + } +} + +// the singleton instance +const service = new TodoService(); + +// make it global for easy use with cli +globalThis.todo = service; + +// export to use in other modules +export default service; \ No newline at end of file diff --git a/desktops/hyprland/ags/scripts/utils/find_firefox_profile.sh b/desktops/hyprland/ags/scripts/utils/find_firefox_profile.sh new file mode 100755 index 0000000..7b305b7 --- /dev/null +++ b/desktops/hyprland/ags/scripts/utils/find_firefox_profile.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +cd ~/.mozilla/firefox/ +if [[ $(grep '\[Profile[^0]\]' profiles.ini) ]] +then PROFPATH=$(grep -E '^\[Profile|^Path|^Default' profiles.ini | grep -1 '^Default=1' | grep '^Path' | cut -c6-) +else PROFPATH=$(grep 'Path=' profiles.ini | sed 's/^Path=//') +fi + +echo "$HOME/.mozilla/firefox/$PROFPATH" diff --git a/desktops/hyprland/ags/scss/_bar.scss b/desktops/hyprland/ags/scss/_bar.scss new file mode 100644 index 0000000..17aff34 --- /dev/null +++ b/desktops/hyprland/ags/scss/_bar.scss @@ -0,0 +1,471 @@ +// Made to be pixel-perfect with 11pt font size +// 1rem = 11pt = 14.6666666667px + +// Init +$black: black; +$white: white; +$notchSecondaryContainer: $secondaryContainer; +$notchOnSecondaryContainer: $onSecondaryContainer; +$notchPrimary: $primary; +$notchOnPrimary: $onPrimary; + +// Check dark mode. Set colors accordingly for the fake snotch that's always black +@if $darkmode ==true { + $notchSecondaryContainer: $secondaryContainer; + $notchOnSecondaryContainer: $onSecondaryContainer; + $notchPrimary: $primary; + $notchOnPrimary: $onPrimary; +} + +@else { + $notchSecondaryContainer: $onSecondaryContainer; + $notchOnSecondaryContainer: $secondaryContainer; + $notchPrimary: $primaryContainer; + $notchOnPrimary: $onPrimaryContainer; +} + +.bar-bg { + background-color: $t_background; + min-height: 2.727rem; +} + +.bar-sidespace { + min-width: 1.5rem; +} + +.bar-group-margin { + padding: 0.2rem; +} + +.bar-group { + // @include elevation-border; + background-color: $t_surface; +} + +.bar-group-center { + border-bottom-left-radius: 1.364rem; + border-bottom-right-radius: 1.364rem; + padding: 0.2rem; + // background-color: $t_surface; + background-color: $black; // Hard code: fake notch +} + +.corner-bar-group { + border-radius: 1.364rem; // Half of bar height + border-width: 0.068rem; + // background-color: $t_surface; + background-color: $black; // Hard code: fake notch +} + +.bar-group-pad { + padding: 0rem 1.023rem; +} + +.bar-group-pad-less { + padding: 0rem 0.681rem; +} + +.bar-group-pad-system { + padding-left: 1.023rem; + padding-right: 0.547rem; +} + +.bar-group-pad-music { + padding-right: 1.023rem; + // padding-left: 0.273rem; +} + +.bar-group-pad-left { + padding-left: 1.364rem; + padding-right: 0.681rem; +} + +.bar-group-pad-right { + padding-left: 0.681rem; + padding-right: 1.364rem; +} + +.bar-group-pad-leftonly { + padding-left: 0.681rem; +} + +.bar-group-pad-rightonly { + padding-right: 0.681rem; +} + +.bar-group-standalone { + border-radius: 1.364rem; + -gtk-outline-radius: 1.364rem; +} + +.bar-group-round { + border-radius: 10rem; + -gtk-outline-radius: 10rem; +} + +.bar-group-middle { + border-radius: 0.477rem; + -gtk-outline-radius: 0.477rem; +} + +.bar-group-left { + border-radius: 0.477rem; + -gtk-outline-radius: 0.477rem; + border-top-left-radius: 1.364rem; + border-bottom-left-radius: 1.364rem; +} + +.bar-group-right { + border-radius: 0.477rem; + -gtk-outline-radius: 0.477rem; + border-top-right-radius: 1.364rem; + border-bottom-right-radius: 1.364rem; +} + +.bar-ws-width { + min-width: 18.614rem; +} + +.bar-separator { + @include full-rounding; + min-width: 0.341rem; + min-height: 0.341rem; + background-color: mix($t_surface, $t_onSurface, 90%); + margin: 0rem 0.341rem; +} + +.bar-clock { + @include titlefont; + font-size: 1.2727rem; + color: $onBackground; +} + +.bar-date { + @include titlefont; + font-size: 1rem; + color: $onBackground; +} + +.bar-ws { + min-height: 1.636rem; + min-width: 1.772rem; + font-size: 1.091rem; + @include mainfont; + border-top: 0.068rem solid; + border-bottom: 0.068rem solid; + border-color: transparent; + color: $white; +} + +.bar-ws-active-box { + transition: 300ms cubic-bezier(0.05, 0.7, 0.1, 1); +} + +.bar-ws-active { + min-height: 1.5rem; + min-width: 1.5rem; + font-size: 1.091rem; + @include mainfont; + + background-color: $notchPrimary; + color: $notchOnPrimary; + border-radius: 999px; + margin: 0.068rem; + // background-color: red; +} + +.bar-ws-active-middledecor { + min-width: 0.682rem; + min-height: 0.682rem; + border-radius: 9999px; + background-color: $black; + margin: 0rem 0.409rem; +} + +.bar-ws-occupied { + background-color: $notchSecondaryContainer; + color: $notchOnSecondaryContainer; + min-width: 1.772rem; + border-top: 0.068rem solid $notchOnSecondaryContainer; + border-bottom: 0.068rem solid $notchOnSecondaryContainer; +} + +.bar-ws-occupied-left { + background-color: $notchSecondaryContainer; + color: $notchOnSecondaryContainer; + min-width: 1.704rem; + border-top-left-radius: 999px; + border-bottom-left-radius: 999px; + + border-left: 0.068rem solid $notchOnSecondaryContainer; + border-top: 0.068rem solid $notchOnSecondaryContainer; + border-bottom: 0.068rem solid $notchOnSecondaryContainer; + border-right: 0px solid transparent; +} + +.bar-ws-occupied-right { + background-color: $notchSecondaryContainer; + color: $notchOnSecondaryContainer; + min-width: 1.704rem; + border-top-right-radius: 999px; + border-bottom-right-radius: 999px; + + border-right: 0.068rem solid $notchOnSecondaryContainer; + border-top: 0.068rem solid $notchOnSecondaryContainer; + border-bottom: 0.068rem solid $notchOnSecondaryContainer; + border-left: 0px solid transparent; +} + +.bar-ws-occupied-left-right { + @include full-rounding; + background-color: $notchSecondaryContainer; + color: $notchOnSecondaryContainer; + min-width: 1.636rem; + border: 0.068rem solid $notchOnSecondaryContainer; +} + +.bar-ws-empty { + color: $onBackground; + border-color: transparent; +} + +.bar-batt { + @include full-rounding; + padding: 0rem 0.341rem; + background-color: $t_secondaryContainer; + color: $t_onSecondaryContainer; + // border: 1px solid $onSecondaryContainer; +} + +.bar-sidemodule { + min-width: 26rem; +} + +.bar-batt-low { + background-color: $error; + color: $errorContainer; +} + +.bar-batt-full { + background-color: $successContainer; + color: $onSuccessContainer; +} + +.bar-batt-prog-low { + background-color: $error; + color: $errorContainer; +} + +.bar-batt-prog-full { + background-color: $successContainer; + color: $onSuccessContainer; +} + +.bar-music-playstate { + min-height: 1.770rem; + min-width: 1.770rem; + border-radius: 10rem; + margin-left: 0.273rem; + background-color: $secondaryContainer; + color: $onSecondaryContainer; +} + +.bar-music-circprog { + @include fluent_decel_long; + margin-left: 0.273rem; + min-width: 0.068rem; // 1px + min-height: 1.770rem; + padding: 0rem; + background-color: $secondaryContainer; + color: $onSecondaryContainer; +} + +.bar-music-playstate-playing { + min-height: 1.770rem; + min-width: 1.770rem; + border-radius: 10rem; + margin-left: 0.273rem; + background-color: $secondaryContainer; + color: $onSecondaryContainer; + // border: 1px solid $onSecondaryContainer; +} + +.bar-music-playstate-txt { + transition: 100ms cubic-bezier(0.05, 0.7, 0.1, 1); + @include icon-material; + font-size: 1.568rem; + margin: -0.1rem 0rem; + margin-left: 0.2rem; + margin-right: 0.17rem; +} + +.bar-music-cover { + background-position: center; + background-repeat: no-repeat; + background-size: 100% auto; + min-width: 11.932rem; +} + +.bar-music-extended-bg { + border-radius: 1.364rem; + min-width: 34.091rem; +} + +.bar-music-extended-ctl-bg { + border-radius: 1.364rem; + background-color: rgba(30, 30, 30, 0.6); +} + +.bar-music-bottom-bg { + border-radius: 1.364rem; + min-width: 34.091rem; +} + +.bar-music-bottom-ctl-bg { + border-radius: 1.364rem; + background-color: rgba(30, 30, 30, 0.6); +} + +.bar-music-extended-textbox { + margin: 1.023rem; +} + +.bar-music-bottom-cover { + border-radius: 10rem; +} + +.bar-music-hide-false { + @include md3_decel; + transition-duration: 100ms; + opacity: 1; +} + +.bar-music-hide-true { + @include md3_accel; + transition-duration: 100ms; + opacity: 0; +} + +.bar-music-btn { + font-size: 1.364rem; + border-radius: 10rem; + min-height: 2.591rem; + min-width: 2.591rem; +} + +.bar-music-btn:hover { + background-color: $hovercolor; +} + +.bar-prog-batt { + min-height: 0.955rem; + min-width: 0.068rem; + padding: 0rem; + border-radius: 10rem; + + trough { + min-height: 0.954rem; + min-width: 0.068rem; + border-radius: 10rem; + } + + progress { + min-height: 0.680rem; + min-width: 0.680rem; + margin: 0rem 0.137rem; + border-radius: 10rem; + background-color: $t_onSecondaryContainer; + } +} + +.bar-prog-batt-low { + progress { + background-color: $errorContainer; + } +} + +.bar-prog-batt-full { + progress { + background-color: $onSuccessContainer; + } +} + +.bar-batt-chargestate { + border-radius: 10rem; + background-color: transparent; +} + +.bar-batt-chargestate-charging { + border-radius: 10rem; + min-width: 0.681rem; + min-height: 0.681rem; + background-color: $t_onSecondaryContainer; +} + +.bar-batt-chargestate-low { + background-color: $errorContainer; +} + +.bar-batt-chargestate-full { + background-color: $onSuccessContainer; +} + +.bar-batt-percentage { + font-size: 1rem; + margin-top: -0.068rem; + font-weight: 500; +} + +.corner { + background-color: $t_background; + @include large-rounding; +} + +.corner-black { + background-color: $black; // Hard code because fake screen corner + @include large-rounding; +} + +.bar-topdesc { + margin-top: -0.136rem; + margin-bottom: -0.341rem; + color: $subtext; +} + +.bar-space-button { + padding: 0.341rem; +} + +.bar-space-button>box:first-child { + @include full-rounding; + padding: 0rem 0.682rem; +} + +.bar-space-button:hover>box:first-child { + background-color: $hovercolor; +} + +.bar-space-button:active>box:first-child { + background-color: $activecolor; +} + +.bar-space-button-leftmost { + box { + margin: 0rem 0.682rem; + } +} + +.bar-space-area-rightmost>box { + padding-right: 2.386rem; +} + +.bar-systray { + @include full-rounding; + min-height: 1.909rem; + min-width: 1.909rem; +} + +.bar-systray-item { + @include full-rounding; + min-width: 1.909rem; +} \ No newline at end of file diff --git a/desktops/hyprland/ags/scss/_cheatsheet.scss b/desktops/hyprland/ags/scss/_cheatsheet.scss new file mode 100644 index 0000000..363b386 --- /dev/null +++ b/desktops/hyprland/ags/scss/_cheatsheet.scss @@ -0,0 +1,51 @@ +.cheatsheet-bg { + @include large-rounding; + @include elevation-border; + @include elevation2; + margin-bottom: 0.682rem; + background-color: $t_background; + padding: 1.364rem; +} + +.cheatsheet-key { + @include techfont; + min-height: 1.364rem; + min-width: 1.364rem; + margin: 0.17rem; + padding: 0.136rem 0.205rem; + border-radius: 0.409rem; + -gtk-outline-radius: 0.409rem; + color: $primary; + border: 0.068rem solid $primary; + box-shadow: 0rem 0.136rem 0rem $primary; + font-weight: 500; +} + +.cheatsheet-key-notkey { + min-height: 1.364rem; + padding: 0.136rem 0.205rem; + margin: 0.17rem; + color: $onPrimaryContainer; +} + +// .cheatsheet-action {} + +.cheatsheet-closebtn { + @include md3_decel; + @include full-rounding; + min-width: 2.386rem; + min-height: 2.386rem; +} + +.cheatsheet-closebtn:hover { + background-color: $surfaceVariant; +} + +.cheatsheet-closebtn:active { + background-color: mix($surfaceVariant, $onSurfaceVariant, 70%); +} + +.cheatsheet-category-title { + @include titlefont; + font-size: 1.705rem; +} \ No newline at end of file diff --git a/desktops/hyprland/ags/scss/_colors.scss b/desktops/hyprland/ags/scss/_colors.scss new file mode 100755 index 0000000..3128315 --- /dev/null +++ b/desktops/hyprland/ags/scss/_colors.scss @@ -0,0 +1,79 @@ +// Transparent version +$transparentize_amount: 0.3; +$transparentize_surface_amount_less: 0.6; +$transparentize_surface_amount_less_less: 0.35; +$transparentize_surface_amount: 0.7; +$transparentize_surface_amount_more: 0.8; +$transparentize_surface_amount_subtract_surface: $transparentize_surface_amount - $transparentize_amount; + +@if $darkmode ==true { + // Less transparency + $transparentize_amount: 0.15; + $transparentize_surface_amount_less: 0.5; + $transparentize_surface_amount_less_less: 0.3; + $transparentize_surface_amount: 0.6; + $transparentize_surface_amount_more: 0.7; + $transparentize_surface_amount_subtract_surface: $transparentize_surface_amount - $transparentize_amount; +} + +// Extended material +$success: #4f6354; +$onSuccess: #ffffff; +$successContainer: #d1e8d5; +$onSuccessContainer: #0c1f13; + +@if $darkmode ==true { + // Dark variant + $success: #b5ccba; + $onSuccess: #213528; + $successContainer: #374b3e; + $onSuccessContainer: #d1e9d6; +} + +// Transparent material +$t_primary: transparentize($primary, $transparentize_amount); +$t_onPrimary: transparentize($onPrimary, $transparentize_amount); +$t_primaryContainer: transparentize($primaryContainer, $transparentize_amount); +$t_onPrimaryContainer: transparentize($onPrimaryContainer, $transparentize_amount); +$t_secondary: transparentize($secondary, $transparentize_amount); +$t_onSecondary: transparentize($onSecondary, $transparentize_amount); +$t_secondaryContainer: transparentize($secondaryContainer, $transparentize_amount); +$l_t_secondaryContainer: transparentize($secondaryContainer, $transparentize_surface_amount_less); +$t_onSecondaryContainer: transparentize($onSecondaryContainer, $transparentize_amount); +$t_t_t_onSecondaryContainer: transparentize($onSecondaryContainer, 0.93); +$t_tertiary: transparentize($tertiary, $transparentize_amount); +$t_onTertiary: transparentize($onTertiary, $transparentize_amount); +$t_tertiaryContainer: transparentize($tertiaryContainer, $transparentize_amount); +$t_onTertiaryContainer: transparentize($onTertiaryContainer, $transparentize_amount); +$t_error: transparentize($error, $transparentize_amount); +$t_onError: transparentize($onError, $transparentize_amount); +$t_errorContainer: transparentize($errorContainer, $transparentize_amount); +$t_onErrorContainer: transparentize($onErrorContainer, $transparentize_amount); +$t_colorbarbg: transparentize($colorbarbg, $transparentize_amount); +$t_background: transparentize($background, $transparentize_amount); +$t_t_background: transparentize($background, $transparentize_surface_amount_more); +$t_onBackground: transparentize($onBackground, $transparentize_amount); +$t_surface: transparentize($surface, $transparentize_surface_amount); +$t_t_surface: transparentize($surface, $transparentize_surface_amount_more); +$t_onSurface: transparentize($onSurface, $transparentize_surface_amount); +$t_surfaceVariant: transparentize($surfaceVariant, $transparentize_surface_amount); +$t_onSurfaceVariant: transparentize($onSurfaceVariant, $transparentize_surface_amount); +$t_t_surfaceVariant: transparentize($surfaceVariant, $transparentize_surface_amount_more); +$l_t_surfaceVariant: transparentize($surfaceVariant, $transparentize_surface_amount_less); +$l_l_t_surfaceVariant: transparentize($surfaceVariant, $transparentize_surface_amount_less_less); +$t_outline: transparentize($outline, $transparentize_amount); +$t_shadow: transparentize($shadow, $transparentize_amount); +$t_inverseSurface: transparentize($inverseSurface, $transparentize_amount); +$t_inverseOnSurface: transparentize($inverseOnSurface, $transparentize_amount); +$t_inversePrimary: transparentize($inversePrimary, $transparentize_amount); +// Transparent material (extended) +$t_success: transparentize($error, $transparentize_amount); +$t_onSuccess: transparentize($onError, $transparentize_amount); +$t_successContainer: transparentize($errorContainer, $transparentize_amount); +$t_onSuccessContainer: transparentize($onErrorContainer, $transparentize_amount); + +// Common stuff +$hovercolor: mix($t_surface, $t_onSurface, 50%); +$activecolor: mix($t_surface, $t_onSurface, 30%); +$subtext: mix($onBackground, $background, 70%); +$actiontext: mix($onBackground, $background, 85%); \ No newline at end of file diff --git a/desktops/hyprland/ags/scss/_common.scss b/desktops/hyprland/ags/scss/_common.scss new file mode 100644 index 0000000..1edca48 --- /dev/null +++ b/desktops/hyprland/ags/scss/_common.scss @@ -0,0 +1,43 @@ +*:focus { + // box-shadow: inset 0rem 0rem 2px $t_onSurface; +} + +.menu { + padding: 0.681rem; + background: $surfaceVariant; + color: $onSurfaceVariant; + border-radius: 1.159rem; + -gtk-outline-radius: 1.159rem; +} + +.menubar>menuitem { + border-radius: 0.545rem; + -gtk-outline-radius: 0.545rem; + min-width: 13.636rem; + min-height: 2.727rem; +} + +.menu>menuitem { + padding: 0.4em 1.5rem; + background: transparent; + transition: 0.2s ease background; + border-radius: 0.545rem; + -gtk-outline-radius: 0.545rem; +} + +.menu>menuitem:hover { + background-color: mix($surfaceVariant, $onSurfaceVariant, 90%); +} + +.separator-line { + background-color: $surfaceVariant; + min-width: 0.068rem; + min-height: 0.068rem; +} + +tooltip { + @include large-rounding; + background-color: $surfaceVariant; + color: $onSurfaceVariant; + border: 1px solid $onSurfaceVariant; +} \ No newline at end of file diff --git a/desktops/hyprland/ags/scss/_lib.scss b/desktops/hyprland/ags/scss/_lib.scss new file mode 100644 index 0000000..2c9101d --- /dev/null +++ b/desktops/hyprland/ags/scss/_lib.scss @@ -0,0 +1,695 @@ +// Common colors +$hovercolor: rgba(128, 128, 128, 0.3); +$activecolor: rgba(128, 128, 128, 0.7); +$rounding_small: 0.818rem; +$rounding_mediumsmall: 0.955rem; +$rounding_medium: 1.159rem; +$rounding_mediumlarge: 1.364rem; +$rounding_large: 1.705rem; + +.test { + background-image: linear-gradient(45deg, + #F4D609 0%, #F4D609 10%, #212121 10%, #212121 20%, + #F4D609 20%, #F4D609 30%, #212121 30%, #212121 40%, + #F4D609 40%, #F4D609 50%, #212121 50%, #212121 60%, + #F4D609 60%, #F4D609 70%, #212121 70%, #212121 80%, + #F4D609 80%, #F4D609 90%, #212121 90%, #212121 100%); + background-repeat: repeat; +} + +.test-size { + min-height: 3rem; + min-width: 3rem; +} + +// Common rules +@mixin small-rounding { + border-radius: $rounding_small; // 10px + -gtk-outline-radius: $rounding_small; // 10px +} + +@mixin normal-rounding { + border-radius: $rounding_medium; // small-rounding + 5px + -gtk-outline-radius: $rounding_medium; // small-rounding + 5px +} + +@mixin large-rounding { + border-radius: $rounding_large; // normal-rounding + 10px + -gtk-outline-radius: $rounding_large; // normal-rounding + 10px +} + +@mixin full-rounding { + border-radius: 9999px; + -gtk-outline-radius: 9999px; +} + +@mixin titlefont { + // Geometric sans-serif + font-family: + 'Gabarito', + 'Lexend', + sans-serif; +} + +.txt-title { + @include titlefont; + font-size: 2.045rem; +} + +.txt-title-small { + @include titlefont; + font-size: 1.364rem; +} + +@mixin mainfont { + // Other clean sans-serif + font-family: + 'AR One Sans', + 'Inter', + 'Roboto', + 'Noto Sans', + sans-serif; + // font-weight: 500; +} + +@mixin icon-material { + // Material Design Icons + font-family: + 'Material Symbols Rounded', + 'Material Symbols Outlined', + 'Material Symbols Sharp'; +} + +@mixin icon-nerd { + // Nerd Fonts + font-family: + 'SpaceMono Nerd Font', + 'JetBrainsMono Nerd Font', + monospace; +} + +@mixin techfont { + // Monospace for sys info n stuff. Doesn't have to be a nerd font, but it's cool. + font-family: 'JetBrains Mono Nerd Font', 'JetBrains Mono NL', 'SpaceMono Nerd Font', monospace; +} + +.techfont { + @include techfont; +} + +@mixin subtext { + color: $subtext; +} + +@mixin actiontext { + color: $actiontext; +} + +@mixin elevation-safe { + background: $surface; + color: $onSurface; + box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.69); + margin: 7px; +} + +$elevation2_margin: 7px; + +@mixin elevation2 { + box-shadow: 0px 2px 3px transparentize($shadow, 0.55); + margin: $elevation2_margin; +} + +@mixin elevation2-margin { + margin: $elevation2_margin; +} + +@mixin elevation2-padding { + padding: $elevation2_margin; +} + +@mixin elevation3 { + box-shadow: 0px 2px 5px $shadow; + margin: 7px; +} + +@mixin md3_decel { + transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); +} + +@mixin md3_decel_fast { + transition: 170ms cubic-bezier(0.05, 0.7, 0.1, 1); +} + +@mixin md3_accel { + transition: 150ms cubic-bezier(0.3, 0, 0.8, 0.15); +} + +@mixin md3_accel_fast { + transition: 100ms cubic-bezier(0.3, 0, 0.8, 0.15); +} + +@mixin fluent_decel { + // Used for small transitions, as this looks clear + transition: 200ms cubic-bezier(0.1, 1, 0, 1); +} + +@mixin fluent_decel_long { + // Used for small transitions, as this looks clear + transition: 1000ms cubic-bezier(0.1, 1, 0, 1); +} + +@mixin fluent_accel { + transition: 150ms cubic-bezier(0.42, 0, 1, 1); +} + +@mixin noanim { + transition: 0ms; +} + +@mixin anim-enter { + transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); +} + +@mixin anim-exit { + transition: 150ms cubic-bezier(0.3, 0, 0.8, 0.15); +} + +@keyframes flyin-top { + from { + margin-top: -2.795rem; + } + + to { + margin-top: 0rem; + } +} + +@keyframes flyin-bottom { + from { + margin-top: 4.841rem; + margin-bottom: -4.841rem; + } + + to { + margin-bottom: 0rem; + margin-top: 0rem; + } +} + +@function tint($color, $percentage) { + @return mix(rgb(245, 250, 255), $color, $percentage); +} + +@function shade($color, $percentage) { + @return mix(rgb(0, 0, 0), $color, $percentage); +} + +.no-anim { + @include noanim; +} + +.txt { + color: $onBackground; +} + +.txt-shadow { + text-shadow: 1px 2px 8px rgba(0, 0, 0, 0.69); + margin: 10px; +} + +.txt-badonkers { + @include mainfont; + font-size: 3rem; +} + +.txt-tiddies { + @include mainfont; + font-size: 2.7273rem; +} + +.txt-hugeass { + @include mainfont; + font-size: 1.8182rem; +} + +.txt-larger { + @include mainfont; + font-size: 1.6363rem; +} + +.txt-large { + //16pt + @include mainfont; + font-size: 1.4545rem; +} + +.txt-norm { + //14pt + @include mainfont; + font-size: 1.2727rem; +} + +.txt-small { + //12pt + @include mainfont; + font-size: 1.0909rem; +} + +.txt-smallie { + //11pt + @include mainfont; + font-size: 1rem; +} + +.txt-smaller { + //10pt + @include mainfont; + font-size: 0.9091rem; +} + +.txt-smaller-offset { + margin-top: -0.136rem; +} + +.txt-tiny { + @include mainfont; + font-size: 0.7273rem; +} + +.txt-subtext { + @include subtext; +} + +.txt-action { + @include actiontext; +} + +.txt-semibold { + font-weight: 500; +} + +.txt-bold { + font-weight: bold; +} + +.titlefont { + @include titlefont; +} + +.mainfont { + @include mainfont; +} + +.icon-material { + @include icon-material; +} + +.separator-circle { + @include full-rounding; + background-color: $onSurface; + margin: 0rem 0.682rem; + min-width: 0.545rem; + min-height: 0.545rem; +} + +$overlay1: mix($onSurface, rgba(0, 0, 0, 0), 25%); +$overlay2: mix($onSurface, rgba(0, 0, 0, 0), 40%); + +.spacing-v-15>box { + margin-bottom: 1.023rem; +} + +.spacing-v-15>box:last-child { + margin-bottom: 0rem; +} + +.spacing-v-15>scrolledwindow { + margin-bottom: 1.023rem; +} + +.spacing-v-15>scrolledwindow:last-child { + margin-bottom: 0rem; +} + +.spacing-v-15>revealer { + margin-bottom: 1.023rem; +} + +.spacing-v-15>revealer:last-child { + margin-bottom: 0rem; +} + +.spacing-v-15>label { + margin-bottom: 1.023rem; +} + +.spacing-v-15>label:last-child { + margin-bottom: 0rem; +} + +.spacing-h-15>box { + margin-right: 1.023rem; +} + +.spacing-h-15>box:last-child { + margin-right: 0rem; +} + +.spacing-h-15>stack { + margin-right: 1.023rem; +} + +.spacing-h-15>stack:last-child { + margin-right: 0rem; +} + +.spacing-h-15>label { + margin-right: 1.023rem; +} + +.spacing-h-15>label:last-child { + margin-right: 0rem; +} + +.spacing-h-15>button { + margin-right: 1.023rem; +} + +.spacing-h-15>button:last-child { + margin-right: 0rem; +} + +.spacing-v-5>box { + margin-bottom: 0.341rem; +} + +.spacing-v-5>box:last-child { + margin-bottom: 0rem; +} + +.spacing-v-5>label { + margin-bottom: 0.341rem; +} + +.spacing-v-5>label:last-child { + margin-bottom: 0rem; +} + +.spacing-v-5>button { + margin-bottom: 0.341rem; +} + +.spacing-v-5>button:last-child { + margin-bottom: 0rem; +} + +.spacing-v-5-revealer>revealer>box { + margin-bottom: 0.341rem; +} + +.spacing-v-5-revealer>revealer:last-child>box { + margin-bottom: 0rem; +} + +.spacing-h-5>box { + margin-right: 0.341rem; +} + +.spacing-h-5>box:last-child { + margin-right: 0rem; +} + +.spacing-h-5>button { + margin-right: 0.341rem; +} + +.spacing-h-5>button:last-child { + margin-right: 0rem; +} + +.spacing-h-5>label { + margin-right: 0.341rem; +} + +.spacing-h-5>label:last-child { + margin-right: 0rem; +} + +.spacing-h-5>widget>box { + margin-right: 0.341rem; +} + +.spacing-h-5>widget:last-child>box { + margin-right: 0rem; +} + +.spacing-h-5>progressbar { + margin-right: 0.341rem; +} + +.spacing-h-5>progressbar:last-child { + margin-right: 0rem; +} + +.spacing-h-5>scrolledwindow { + margin-right: 0.341rem; +} + +.spacing-h-5>scrolledwindow:last-child { + margin-right: 0rem; +} + +.spacing-h-5>scrollbar { + margin-right: 0.341rem; +} + +.spacing-h-5>scrollbar:last-child { + margin-right: 0rem; +} + +.spacing-v-minus5>box { + margin-bottom: -0.341rem; +} + +.spacing-v-minus5>box:last-child { + margin-bottom: 0rem; +} + +.spacing-v-minus5>label { + margin-bottom: -0.341rem; +} + +.spacing-v-minus5>label:last-child { + margin-bottom: 0rem; +} + +.spacing-h-10>box { + margin-right: 0.682rem; +} + +.spacing-h-10>box:last-child { + margin-right: 0rem; +} + +.spacing-h-10>flowboxchild>button { + margin-right: 0.682rem; +} + +.spacing-h-10>flowboxchild:last-child>button { + margin-right: 0rem; +} + +.spacing-h-10>label { + margin-right: 0.682rem; +} + +.spacing-h-10>label:last-child { + margin-right: 0rem; +} + +.spacing-h-10>revealer { + margin-right: 0.682rem; +} + +.spacing-h-10>revealer:last-child { + margin-right: 0rem; +} + +.spacing-h-10>overlay { + margin-right: 0.682rem; +} + +.spacing-h-10>overlay:last-child { + margin-right: 0rem; +} + +.spacing-h-10>button { + margin-right: 0.682rem; +} + +.spacing-h-10>button:last-child { + margin-right: 0rem; +} + +.spacing-h-10>label { + margin-right: 0.682rem; +} + +.spacing-h-10>label:last-child { + margin-right: 0rem; +} + +.spacing-h-10>widget { + margin-right: 0.682rem; +} + +.spacing-h-10>widget:last-child { + margin-right: 0rem; +} + +.spacing-h-10>stack { + margin-right: 0.682rem; +} + +.spacing-h-10>stack:last-child { + margin-right: 0rem; +} + +.spacing-v-10>box { + margin-bottom: 0.682rem; +} + +.spacing-v-10>box:last-child { + margin-bottom: 0rem; +} + +.spacing-v-10>button { + margin-bottom: 0.682rem; +} + +.spacing-v-10>button:last-child { + margin-bottom: 0rem; +} + +.anim-enter { + @include anim-enter; +} + +.anim-exit { + @include anim-exit; +} + +@mixin elevation-border-softer { + border-top: 1px solid mix($t_t_surface, $t_onSurface, 80%); + border-left: 1px solid mix($t_t_surface, $t_onSurface, 80%); + border-right: 1px solid mix($t_t_surface, $t_onSurface, 85%); + border-bottom: 1px solid mix($t_t_surface, $t_onSurface, 85%); +} + +@mixin elevation-border { + border-top: 1px solid mix($t_t_surface, $onSurface, 90%); + border-left: 1px solid mix($t_t_surface, $onSurface, 90%); + border-right: 1px solid mix($t_t_surface, $onSurface, 95%); + border-bottom: 1px solid mix($t_t_surface, $onSurface, 95%); +} + +@mixin elevation-border-heavier { + border-top: 1px solid mix($t_t_surface, $onSurface, 80%); + border-left: 1px solid mix($t_t_surface, $onSurface, 80%); + border-right: 1px solid mix($t_t_surface, $onSurface, 85%); + border-bottom: 1px solid mix($t_t_surface, $onSurface, 85%); +} + +@mixin elevation-border-transparent { + border-top: 1px solid transparent; +} + +@mixin button-minsize { + min-width: 2.727rem; + min-height: 2.727rem; +} + +.button-minsize { + @include button-minsize; +} + +@mixin group-padding { + padding: 0.341rem; +} + +.group-padding { + @include group-padding; +} + +.margin-right-5 { + margin-right: 0.341rem; +} + +.margin-left-5 { + margin-left: 0.341rem; +} + +.margin-top-5 { + margin-top: 0.341rem; +} + +.margin-bottom-5 { + margin-bottom: 0.341rem; +} + +.margin-right-10 { + margin-right: 0.682rem; +} + +.margin-left-10 { + margin-left: 0.682rem; +} + +.margin-top-10 { + margin-top: 0.682rem; +} + +.margin-bottom-10 { + margin-bottom: 0.682rem; +} + +.invisible { + opacity: 0; + background-color: transparent; + color: transparent; +} + +.spacing-h--5>box { + margin-right: -0.341rem; +} + +.spacing-h--5>box:last-child { + margin-right: 0rem; +} + +.spacing-v--5>box { + margin-bottom: -0.341rem; +} + +.spacing-v--5>box:last-child { + margin-bottom: 0rem; +} + +.spacing-h--20>box { + margin-left: -1.364rem; +} + +.spacing-h--20>box:first-child { + margin-left: 0rem; +} + +$white: white; +$black: black; + +.instant { + transition: 0ms; +} + +.md3_decel { + @include md3_decel; +} \ No newline at end of file diff --git a/desktops/hyprland/ags/scss/_material.scss b/desktops/hyprland/ags/scss/_material.scss new file mode 100755 index 0000000..152f9b5 --- /dev/null +++ b/desktops/hyprland/ags/scss/_material.scss @@ -0,0 +1,29 @@ +$darkmode: false; +$primary: #006874; +$onPrimary: #ffffff; +$primaryContainer: #8ef1ff; +$onPrimaryContainer: #001f24; +$secondary: #4a6266; +$onSecondary: #ffffff; +$secondaryContainer: #cde7ec; +$onSecondaryContainer: #051f23; +$tertiary: #525e7d; +$onTertiary: #ffffff; +$tertiaryContainer: #d8e2ff; +$onTertiaryContainer: #0e1b36; +$error: #ba1b1b; +$onError: #ffffff; +$errorContainer: #ffdad4; +$onErrorContainer: #410001; +$colorbarbg: #fbfdfd; +$background: #fbfdfd; +$onBackground: #191c1d; +$surface: #fbfdfd; +$onSurface: #191c1d; +$surfaceVariant: #dbe4e6; +$onSurfaceVariant: #3f484a; +$outline: #6f797b; +$shadow: #000000; +$inverseSurface: #2d3132; +$inverseOnSurface: #eff1f1; +$inversePrimary: #4fd8ea; diff --git a/desktops/hyprland/ags/scss/_notifications.scss b/desktops/hyprland/ags/scss/_notifications.scss new file mode 100644 index 0000000..40e743d --- /dev/null +++ b/desktops/hyprland/ags/scss/_notifications.scss @@ -0,0 +1,126 @@ +$notif_surface: $t_background; + +@mixin notif-rounding { + @include small-rounding; +} + +.notif-low { + @include notif-rounding; + background-color: $l_l_t_surfaceVariant; + color: $onSurfaceVariant; + padding: $rounding_small; + padding-right: $rounding_small + 0.545rem; +} + +.notif-normal { + @include notif-rounding; + background-color: $l_l_t_surfaceVariant; + color: $onSurfaceVariant; + padding: $rounding_small; + padding-right: $rounding_small + 0.545rem; +} + +.notif-critical { + @include notif-rounding; + background-color: $error; + color: $onError; + padding: $rounding_small; + padding-right: $rounding_small + 0.545rem; +} + +.popup-notif-low { + @include notif-rounding; + min-width: 30.682rem; + background-color: $notif_surface; + color: $onSurfaceVariant; + padding: $rounding_small; + padding-right: $rounding_small + 0.545rem; +} + +.popup-notif-normal { + @include notif-rounding; + min-width: 30.682rem; + background-color: $notif_surface; + color: $onSurfaceVariant; + padding: $rounding_small; + padding-right: $rounding_small + 0.545rem; +} + +.popup-notif-critical { + @include notif-rounding; + min-width: 30.682rem; + background-color: $error; + color: $onError; + padding: $rounding_small; + padding-right: $rounding_small + 0.545rem; +} + +.notif-body-low { + color: mix($onSurfaceVariant, $surfaceVariant, 67%); +} + +.notif-body-normal { + color: mix($onSurfaceVariant, $surfaceVariant, 67%); +} + +.notif-body-critical { + color: mix($onError, $error, 67%); +} + +.notif-icon { + @include full-rounding; + min-width: 3.409rem; + min-height: 3.409rem; +} + +.notif-icon-material { + background-color: $t_secondaryContainer; + color: $onSecondaryContainer; +} + +.notif-icon-material-low { + background-color: $t_secondaryContainer; + color: $onSecondaryContainer; +} + +.notif-icon-material-normal { + background-color: $t_secondaryContainer; + color: $onSecondaryContainer; +} + +.notif-icon-material-critical { + background-color: $t_errorContainer; + color: $onErrorContainer; +} + +.notif-close-btn { + @include notif-rounding; + padding: 0rem 0.136rem; +} + +.notif-close-btn:hover { + background: $hovercolor; +} + +.notif-close-btn:active { + background: $activecolor; +} + +.notif-closeall-btn { + @include notif-rounding; + padding: 0.341rem 0.341rem; +} + +.notif-closeall-btn:hover { + background-color: $hovercolor; +} + +.notif-closeall-btn:active { + background-color: $activecolor; +} + +.osd-notif { + @include notif-rounding; + background-color: transparentize($background, $transparentize_surface_amount_subtract_surface); + min-width: 30.682rem; +} \ No newline at end of file diff --git a/desktops/hyprland/ags/scss/_osd.scss b/desktops/hyprland/ags/scss/_osd.scss new file mode 100644 index 0000000..33ced71 --- /dev/null +++ b/desktops/hyprland/ags/scss/_osd.scss @@ -0,0 +1,59 @@ +.osd-bg { + min-width: 8.864rem; + min-height: 3.409rem; +} + +.osd-value { + background-color: $t_background; + border-radius: 1.023rem; + padding: 0.625rem 1.023rem; + padding-top: 0.313rem; + margin: 10px; + @include elevation2; +} + +.osd-progress { + min-height: 0.955rem; + min-width: 0.068rem; + padding: 0rem; + border-radius: 10rem; + @include fluent_decel; + + trough { + min-height: 0.954rem; + min-width: 0.068rem; + border-radius: 10rem; + background-color: $onPrimaryContainer; + } + + progress { + @include fluent_decel; + min-height: 0.680rem; + min-width: 0.680rem; + margin: 0rem 0.137rem; + border-radius: 10rem; + background-color: $primaryContainer; + } +} + +.osd-icon { + color: $onPrimaryContainer; +} + +.osd-label { + font-size: 1.023rem; + font-weight: 500; + color: $onBackground; + margin-top: 0.341rem; +} + +.osd-value-txt { + @include titlefont; + font-size: 1.688rem; + font-weight: 500; + color: $onBackground; +} + +.osd-notifs { + padding-top: 0.313rem; +} \ No newline at end of file diff --git a/desktops/hyprland/ags/scss/_osk.scss b/desktops/hyprland/ags/scss/_osk.scss new file mode 100644 index 0000000..22e62e5 --- /dev/null +++ b/desktops/hyprland/ags/scss/_osk.scss @@ -0,0 +1,97 @@ +$osk_key_height: 2.5rem; +$osk_key_width: 2.5rem; +$osk_key_padding: 0.188rem; +$osk_key_rounding: 0.682rem; +$osk_key_fontsize: 1.091rem; + +.osk-window { + @include md3_decel_fast; + @include large-rounding; + @include elevation-border; + @include elevation2; + // min-height: 29.591rem; + // min-width: 50rem; + background-color: $t_background; + padding: 1.023rem; +} + +.osk-show { + @include md3_decel_fast; +} + +.osk-hide { + margin-top: 30.682rem; + margin-bottom: -30.682rem; + // opacity: 0; + @include md3_accel_fast; +} + +.osk-key { + border-radius: $osk_key_rounding; + background-color: $t_surfaceVariant; + color: $onSurfaceVariant; + padding: $osk_key_padding; + font-weight: 500; + font-size: $osk_key_fontsize; +} + +.osk-key:hover { + background-color: mix($t_surfaceVariant, $t_onSurfaceVariant, 90%); +} + +.osk-key:active { + background-color: mix($t_surfaceVariant, $t_onSurfaceVariant, 70%); + font-size: $osk_key_fontsize; +} + +.osk-key-active { + background-color: mix($t_surfaceVariant, $t_onSurfaceVariant, 70%); +} + +.osk-key-normal { + min-width: $osk_key_width; + min-height: $osk_key_height; +} + +.osk-key-fn { + min-width: $osk_key_width * 1.005; + min-height: $osk_key_height / 2; +} + +.osk-key-tab { + min-width: $osk_key_width * 1.6; + min-height: $osk_key_height; +} + +.osk-key-caps { + min-width: $osk_key_width * 1.9; + min-height: $osk_key_height; +} + +.osk-key-shift { + min-width: $osk_key_width * 2.5; + min-height: $osk_key_height; +} + +.osk-key-control { + min-width: $osk_key_width * 1.3; + min-height: $osk_key_height; +} + +.osk-control-button { + border-radius: $osk_key_rounding; + background-color: $t_surfaceVariant; + color: $onSurfaceVariant; + font-weight: 500; + font-size: $osk_key_fontsize; + padding: 0.682rem; +} + +.osk-control-button:hover { + background-color: mix($t_surfaceVariant, $t_onSurfaceVariant, 90%); +} + +.osk-control-button:active { + background-color: mix($t_surfaceVariant, $t_onSurfaceVariant, 70%); + font-size: $osk_key_fontsize; +} \ No newline at end of file diff --git a/desktops/hyprland/ags/scss/_overview.scss b/desktops/hyprland/ags/scss/_overview.scss new file mode 100644 index 0000000..4232d36 --- /dev/null +++ b/desktops/hyprland/ags/scss/_overview.scss @@ -0,0 +1,130 @@ +.overview-search-box { + @include md3_decel; + @include large-rounding; + @include elevation-border; + @include elevation2; + min-width: 13.636rem; + min-height: 3.409rem; + padding: 0rem 1.364rem; + padding-right: 2.864rem; + background-color: $t_background; + color: $onBackground; + + selection { + background-color: $secondary; + color: $onSecondary; + } + caret-color: transparent; +} + +.overview-search-box-extended { + min-width: 25.909rem; + caret-color: $onSecondaryContainer; +} + +.overview-search-prompt { + color: $subtext; +} + +.overview-search-icon { + margin: 0rem 1.023rem; +} + +.overview-search-prompt-box { + margin-left: -18.545rem; + margin-right: $elevation2_margin + 1px; +} + +.overview-search-icon-box { + margin-left: -18.545rem; + margin-right: $elevation2_margin + 1px; +} + +.overview-search-results { + // min-height: 2.813rem; + // min-height: 37.5rem; + @include large-rounding; + @include elevation-border; + @include elevation2; + min-width: 28.773rem; + padding: 0.682rem; + background-color: $t_background; + color: $onBackground; +} + +.overview-search-results-icon { + margin: 0rem 0.682rem; + font-size: 2.386rem; +} +.overview-search-results-txt { + margin-right: 0.682rem; +} + +.overview-search-results-txt-cmd { + margin-right: 0.682rem; + @include techfont; + font-size: 1.227rem; +} + +.overview-search-result-btn { + @include normal-rounding; + padding: 0.341rem; + min-width: 2.386rem; + min-height: 2.386rem; + + caret-color: transparent; +} + +.overview-search-result-btn:focus, +.overview-search-result-btn:hover { + background-color: $hovercolor; +} + +.overview-search-result-btn:active { + background-color: $activecolor; +} + +.overview-tasks { + @include large-rounding; + @include elevation-border; + @include elevation2; + padding: 0.341rem; + background-color: $t_background; + color: $onBackground; +} + +.overview-tasks-workspace { + @include normal-rounding; + // @include elevation-border; + margin: 0.341rem; + background-color: mix($t_t_surface, $t_onSurface, 93%); +} + +.overview-tasks-window { + @include normal-rounding; + // @include elevation-border-softer; + @include md3_decel; + background-color: $l_t_secondaryContainer; + color: $onSecondaryContainer; + border: 0.068rem solid $t_t_t_onSecondaryContainer; +} + +.overview-tasks-window:hover { + background-color: mix($l_t_secondaryContainer, $primary, 95%); +} + +.overview-tasks-window:focus { + background-color: mix($l_t_secondaryContainer, $primary, 95%); +} + +.overview-tasks-window:active { + background-color: mix($l_t_secondaryContainer, $primary, 90%); +} + +.overview-tasks-window-selected { + background-color: mix($l_t_secondaryContainer, $primary, 90%); +} + +.overview-tasks-window-dragging { + opacity: 0.2; +} \ No newline at end of file diff --git a/desktops/hyprland/ags/scss/_session.scss b/desktops/hyprland/ags/scss/_session.scss new file mode 100644 index 0000000..d302207 --- /dev/null +++ b/desktops/hyprland/ags/scss/_session.scss @@ -0,0 +1,36 @@ +.session-bg { + margin-top: -2.727rem; + background-color: mix($t_t_background, $background, 70%); +} + +.session-button { + @include large-rounding; + min-width: 8.182rem; + min-height: 8.182rem; + background-color: $surfaceVariant; + color: $onSurfaceVariant; + font-size: 3rem; +} + +.session-button-focused { + background-color: $secondaryContainer; + color: $onSecondaryContainer; +} + +.session-button-desc { + background-color: mix($surface, $surfaceVariant, 50%); + color: mix($onSurface, $onSurfaceVariant, 50%); + border-bottom-left-radius: $rounding_large; + border-bottom-right-radius: $rounding_large; + padding: 0.205rem 0.341rem; + font-weight: 700; +} + +.session-button-cancel { + @include large-rounding; + min-width: 8.182rem; + min-height: 5.455rem; + background-color: $surfaceVariant; + color: $onSurfaceVariant; + font-size: 3rem; +} diff --git a/desktops/hyprland/ags/scss/_sidebars.scss b/desktops/hyprland/ags/scss/_sidebars.scss new file mode 100644 index 0000000..8f165f6 --- /dev/null +++ b/desktops/hyprland/ags/scss/_sidebars.scss @@ -0,0 +1,389 @@ +// sideleft sideright stuff + +.sidebar-right { + @include md3_decel; + @include large-rounding; + @include elevation-border; + @include elevation2; + // min-width: 29.591rem; + // min-height: 29.591rem; + background-color: $t_background; + padding: 1.023rem; +} + +.sideright-show { + @include md3_decel; +} + +.sideright-hide { + margin-right: -30.682rem; + // opacity: 0; + @include md3_accel; +} + +.sidebar-left { + @include md3_decel; + @include large-rounding; + @include elevation-border; + @include elevation2; + // min-width: 29.591rem; // COMMENT THIS LATER IF TEXT WRAP IS USED + // min-height: 29.591rem; + background-color: $t_background; + padding: 1.023rem; +} + +.sideleft-show { + @include md3_decel; +} + +.sideleft-hide { + margin-left: -30.682rem; + // opacity: 0; + @include md3_accel; +} + +.sidebar-group { + @include normal-rounding; + // @include elevation-border; + @include group-padding; + background-color: $t_surface; +} + +.sidebar-group-nopad { + @include normal-rounding; + // @include elevation-border; + background-color: $t_surface; +} + +.sidebar-group-invisible { + @include group-padding; +} + +.sidebar-group-invisible-morehorizpad { + padding: 0.341rem 0.682rem; +} + +.sidebar-iconbutton { + @include full-rounding; + @include md3_decel; + color: $onSurface; + min-width: 2.727rem; + min-height: 2.727rem; +} + +.sidebar-iconbutton:hover { + background-color: mix($t_secondaryContainer, $t_onSecondaryContainer, 80%); +} + +.sidebar-iconbutton:active { + background-color: mix($t_secondaryContainer, $t_onSecondaryContainer, 60%); +} + +.sidebar-button { + @include md3_decel; + padding: 0rem $rounding_small; + background-color: $t_secondaryContainer; + color: $onSecondaryContainer; +} + +.sidebar-button-nopad { + @include md3_decel; + background-color: $t_secondaryContainer; + color: $onSecondaryContainer; +} + +.sidebar-button:hover { + background-color: mix($t_secondaryContainer, $t_onSecondaryContainer, 80%); +} + +.sidebar-button:active { + background-color: mix($t_secondaryContainer, $t_onSecondaryContainer, 60%); +} + +.sidebar-button-nopad:hover { + background-color: mix($t_secondaryContainer, $t_onSecondaryContainer, 80%); +} + +.sidebar-button-nopad:active { + background-color: mix($t_secondaryContainer, $t_onSecondaryContainer, 60%); +} + +.sidebar-button-left { + border-top-left-radius: $rounding_small; + border-bottom-left-radius: $rounding_small; +} + +.sidebar-button-right { + border-top-right-radius: $rounding_small; + border-bottom-right-radius: $rounding_mediumsmall; +} + +.sidebar-button-alone { + @include small-rounding; +} + +.sidebar-button-alone-normal { + @include small-rounding; +} + +.sidebar-button-active { + background-color: $primary; + color: $onPrimary; +} + +.sidebar-button-active:hover { + background-color: mix($primary, $hovercolor, 90%); +} + +.sidebar-button-active:active { + background-color: mix($primary, $hovercolor, 70%); +} + +.sidebar-buttons-separator { + min-width: 0.068rem; + min-height: 0.068rem; + background-color: $onSurfaceVariant; +} + +.sidebar-navrail { + // background-color: $t_surface; + padding: 0rem $rounding_medium; +} + +.sidebar-navrail-btn>box>label { + @include full-rounding; + @include md3_decel; +} + +.sidebar-navrail-btn:hover>box>label:first-child { + background-color: mix($t_surfaceVariant, $onSurfaceVariant, 90%); +} + +.sidebar-navrail-btn:active>box>label:first-child { + background-color: mix($surfaceVariant, $onSurfaceVariant, 75%); +} + +.sidebar-navrail-btn-active>box>label:first-child { + background-color: $secondaryContainer; + color: $onSecondaryContainer; +} + +.sidebar-navrail-btn-active:hover>box>label:first-child { + background-color: mix($secondaryContainer, $hovercolor, 90%); + color: mix($onSecondaryContainer, $hovercolor, 90%); +} + +.sidebar-sysinfo-grouppad { + padding: 1.159rem; +} + +.sidebar-memory-ram-circprog { + @include fluent_decel_long; + min-width: $rounding_small; + min-height: 4.091rem; + padding: 0.409rem; + background-color: $secondaryContainer; + color: $onSecondaryContainer; + font-size: 0px; +} + +.sidebar-memory-swap-circprog { + @include fluent_decel_long; + min-width: $rounding_small; + min-height: 2.255rem; + padding: 0.409rem; + margin: 0.918rem; + background-color: $secondaryContainer; + color: $onSecondaryContainer; + font-size: 0px; +} + +.sidebar-cpu-circprog { + min-width: $rounding_small; + min-height: 3.409rem; + padding: 0.409rem; + background-color: $secondaryContainer; + color: $onSecondaryContainer; + @include fluent_decel_long; + font-size: 0px; +} + +// .sidebar-sysinfo-txt { +// font-size: 1.0909rem; +// @include techfont; +// } + +.sidebar-viewport { + @include small-rounding; +} + +.sidebar-scrollbar { + trough { + @include full-rounding; + min-width: 0.545rem; + background-color: transparent; + } + + slider { + @include full-rounding; + min-width: 0.273rem; + min-height: 2.045rem; + background-color: $t_onSurfaceVariant; + } + + slider:hover { + background-color: mix($t_onSurfaceVariant, $onSurfaceVariant, 80%); + } + + slider:active { + background-color: mix($onSurfaceVariant, $surfaceVariant, 50%); + } +} + +.sidebar-calendar-btn { + @include full-rounding; + @include md3_decel; + min-height: 2.523rem; + min-width: 2.523rem; + color: $onSurface; +} + +.sidebar-calendar-btn:hover { + background-color: $hovercolor; +} + +.sidebar-calendar-btn:active { + background-color: $activecolor; +} + +.sidebar-calendar-btn-txt { + margin-left: -10.341rem; + margin-right: -10.341rem; +} + +.sidebar-calendar-btn-today { + background-color: $primary; + color: $onPrimary; +} + +.sidebar-calendar-btn-today:hover { + background-color: mix($primary, $hovercolor, 90%); +} + +.sidebar-calendar-btn-today:active { + background-color: mix($primary, $hovercolor, 70%); +} + +.sidebar-calendar-btn-othermonth { + color: mix($onSurface, $surface, 50%); +} + +.sidebar-calendar-header { + margin: 0.341rem; +} + +.sidebar-calendar-monthyear-btn { + @include full-rounding; + padding: 0rem 0.682rem; + background-color: $t_surfaceVariant; + color: $onSurfaceVariant; +} + +.sidebar-calendar-monthyear-btn:hover { + background-color: mix($t_surfaceVariant, $onSurfaceVariant, 95%); + color: mix($onSurfaceVariant, $surfaceVariant, 95%); +} + +.sidebar-calendar-monthyear-btn:active { + background-color: mix($surfaceVariant, $onSurfaceVariant, 85%); + color: mix($onSurfaceVariant, $surfaceVariant, 85%); +} + +.sidebar-calendar-monthshift-btn { + @include full-rounding; + min-width: 2.045rem; + min-height: 2.045rem; + background-color: $t_surfaceVariant; + color: $onSurfaceVariant; +} + +.sidebar-calendar-monthshift-btn:hover { + background-color: mix($t_surfaceVariant, $onSurfaceVariant, 95%); + color: mix($onSurfaceVariant, $surfaceVariant, 95%); +} + +.sidebar-calendar-monthshift-btn:active { + background-color: mix($surfaceVariant, $onSurfaceVariant, 85%); + color: mix($onSurfaceVariant, $surfaceVariant, 85%); +} + +.sidebar-todo-selector-tab { + @include small-rounding; + transition: 0ms; + min-height: 2.5rem; + color: $onSurface; +} + +.sidebar-todo-selector-tab:hover { + background-color: mix($t_surfaceVariant, $onSurfaceVariant, 90%); +} + +.sidebar-todo-selector-tab:active { + background-color: mix($surfaceVariant, $onSurfaceVariant, 75%); +} + +.sidebar-todo-selector-tab-active>box>label { + color: $primary; +} + +.sidebar-todo-selector-highlight-offset { + margin-top: -0.205rem; + margin-bottom: 0.205rem; +} + +.sidebar-todo-selector-highlight { + transition: 180ms ease-in-out; // Doesn't look that good, but it syncs with GtkStack animation of the actual todo widget content + color: $primary; + padding: 0rem 2.045rem; + min-height: 0.205rem; +} + +.sidebar-todo-item-action { + border-radius: 9999px; + min-width: 1.705rem; + min-height: 1.705rem; +} + +.sidebar-todo-item-action:hover { + background-color: mix($t_surface, $t_onSurface, 95%); +} + +.sidebar-todo-item-action:active { + background-color: mix($t_surface, $t_onSurface, 85%); +} + +.sidebar-clipboard-item { + border-radius: $rounding_small; + min-height: 2.045rem; + padding: 0.341rem; + background-color: $t_secondaryContainer; + color: $onSecondaryContainer; +} + +.sidebar-clipboard-item:hover { + background-color: mix($t_secondaryContainer, $t_onSecondaryContainer, 90%); +} + +.sidebar-clipboard-item:active { + background-color: mix($t_secondaryContainer, $t_onSecondaryContainer, 80%); +} + +// cool gradient background from amberol +// .main-window { +// background: linear-gradient(127deg, alpha(@background_color_0, .55), alpha(@background_color_0, 0) 70.71%), +// linear-gradient(217deg, alpha(@background_color_1, .55), alpha(@background_color_1, 0) 70.71%), +// linear-gradient(336deg, alpha(@background_color_2, .55), alpha(@background_color_2, 0) 70.71%); +// transition-property: background; +// transition-duration: 250ms; +// transition-timing-function: ease; +// } \ No newline at end of file diff --git a/desktops/hyprland/ags/scss/main.scss b/desktops/hyprland/ags/scss/main.scss new file mode 100644 index 0000000..d16a772 --- /dev/null +++ b/desktops/hyprland/ags/scss/main.scss @@ -0,0 +1,28 @@ +// Reset +* { + all: unset; +} + +// Colors +@import './material'; // Material colors +@import './colors'; // Global color definitions. Uses material colors as base. +@import './lib'; // Global mixins and functions +@import './common'; // Context menu n stuff + +// Components +@import './bar'; +@import './cheatsheet'; +@import './sidebars'; +@import './osd'; +@import './overview'; +@import './osk'; +@import './session'; +@import './notifications'; + +// Classes for interaction +.growingRadial { + transition: 300ms cubic-bezier(0.2, 0.0, 0, 1.0); +} +.fadingRadial { + transition: 50ms cubic-bezier(0.2, 0.0, 0, 1.0); +} \ No newline at end of file diff --git a/desktops/hyprland/ags/scss/scss.js b/desktops/hyprland/ags/scss/scss.js new file mode 100644 index 0000000..b627c0e --- /dev/null +++ b/desktops/hyprland/ags/scss/scss.js @@ -0,0 +1,30 @@ +const { App, Service, Utils } = ags; +const { execAsync, CONFIG_DIR } = Utils; + +async function setupScss() { + try { + await execAsync(['sassc', `${CONFIG_DIR}/scss/main.scss`, `${CONFIG_DIR}/style.css`]); + App.resetCss(); + App.applyCss(`${CONFIG_DIR}/style.css`); + } catch (error) { + print(error); + } +} + +class ThemeService extends Service { + static { Service.register(this); } + + constructor() { + super(); + this.setup(); + } + + setup() { + setupScss(); + } +} + +var Theme = class Theme { + static { globalThis['Theme'] = this; } + static instance = new ThemeService(); +}; \ No newline at end of file diff --git a/desktops/hyprland/ags/style.css b/desktops/hyprland/ags/style.css new file mode 100644 index 0000000..c8d5fc0 --- /dev/null +++ b/desktops/hyprland/ags/style.css @@ -0,0 +1,1537 @@ +* { + all: unset; } + +.test { + background-image: linear-gradient(45deg, #F4D609 0%, #F4D609 10%, #212121 10%, #212121 20%, #F4D609 20%, #F4D609 30%, #212121 30%, #212121 40%, #F4D609 40%, #F4D609 50%, #212121 50%, #212121 60%, #F4D609 60%, #F4D609 70%, #212121 70%, #212121 80%, #F4D609 80%, #F4D609 90%, #212121 90%, #212121 100%); + background-repeat: repeat; } + +.test-size { + min-height: 3rem; + min-width: 3rem; } + +.txt-title { + font-family: 'Gabarito', 'Lexend', sans-serif; + font-size: 2.045rem; } + +.txt-title-small { + font-family: 'Gabarito', 'Lexend', sans-serif; + font-size: 1.364rem; } + +.techfont { + font-family: 'JetBrains Mono Nerd Font', 'JetBrains Mono NL', 'SpaceMono Nerd Font', monospace; } + +@keyframes flyin-top { + from { + margin-top: -2.795rem; } + to { + margin-top: 0rem; } } + +@keyframes flyin-bottom { + from { + margin-top: 4.841rem; + margin-bottom: -4.841rem; } + to { + margin-bottom: 0rem; + margin-top: 0rem; } } + +.no-anim { + transition: 0ms; } + +.txt { + color: #191c1d; } + +.txt-shadow { + text-shadow: 1px 2px 8px rgba(0, 0, 0, 0.69); + margin: 10px; } + +.txt-badonkers { + font-family: 'AR One Sans', 'Inter', 'Roboto', 'Noto Sans', sans-serif; + font-size: 3rem; } + +.txt-tiddies { + font-family: 'AR One Sans', 'Inter', 'Roboto', 'Noto Sans', sans-serif; + font-size: 2.7273rem; } + +.txt-hugeass { + font-family: 'AR One Sans', 'Inter', 'Roboto', 'Noto Sans', sans-serif; + font-size: 1.8182rem; } + +.txt-larger { + font-family: 'AR One Sans', 'Inter', 'Roboto', 'Noto Sans', sans-serif; + font-size: 1.6363rem; } + +.txt-large { + font-family: 'AR One Sans', 'Inter', 'Roboto', 'Noto Sans', sans-serif; + font-size: 1.4545rem; } + +.txt-norm { + font-family: 'AR One Sans', 'Inter', 'Roboto', 'Noto Sans', sans-serif; + font-size: 1.2727rem; } + +.txt-small { + font-family: 'AR One Sans', 'Inter', 'Roboto', 'Noto Sans', sans-serif; + font-size: 1.0909rem; } + +.txt-smallie { + font-family: 'AR One Sans', 'Inter', 'Roboto', 'Noto Sans', sans-serif; + font-size: 1rem; } + +.txt-smaller { + font-family: 'AR One Sans', 'Inter', 'Roboto', 'Noto Sans', sans-serif; + font-size: 0.9091rem; } + +.txt-smaller-offset { + margin-top: -0.136rem; } + +.txt-tiny { + font-family: 'AR One Sans', 'Inter', 'Roboto', 'Noto Sans', sans-serif; + font-size: 0.7273rem; } + +.txt-subtext { + color: #5d6060; } + +.txt-action { + color: #3b3e3f; } + +.txt-semibold { + font-weight: 500; } + +.txt-bold { + font-weight: bold; } + +.titlefont { + font-family: 'Gabarito', 'Lexend', sans-serif; } + +.mainfont { + font-family: 'AR One Sans', 'Inter', 'Roboto', 'Noto Sans', sans-serif; } + +.icon-material { + font-family: 'Material Symbols Rounded', 'Material Symbols Outlined', 'Material Symbols Sharp'; } + +.separator-circle { + border-radius: 9999px; + -gtk-outline-radius: 9999px; + background-color: #191c1d; + margin: 0rem 0.682rem; + min-width: 0.545rem; + min-height: 0.545rem; } + +.spacing-v-15 > box { + margin-bottom: 1.023rem; } + +.spacing-v-15 > box:last-child { + margin-bottom: 0rem; } + +.spacing-v-15 > scrolledwindow { + margin-bottom: 1.023rem; } + +.spacing-v-15 > scrolledwindow:last-child { + margin-bottom: 0rem; } + +.spacing-v-15 > revealer { + margin-bottom: 1.023rem; } + +.spacing-v-15 > revealer:last-child { + margin-bottom: 0rem; } + +.spacing-v-15 > label { + margin-bottom: 1.023rem; } + +.spacing-v-15 > label:last-child { + margin-bottom: 0rem; } + +.spacing-h-15 > box { + margin-right: 1.023rem; } + +.spacing-h-15 > box:last-child { + margin-right: 0rem; } + +.spacing-h-15 > stack { + margin-right: 1.023rem; } + +.spacing-h-15 > stack:last-child { + margin-right: 0rem; } + +.spacing-h-15 > label { + margin-right: 1.023rem; } + +.spacing-h-15 > label:last-child { + margin-right: 0rem; } + +.spacing-h-15 > button { + margin-right: 1.023rem; } + +.spacing-h-15 > button:last-child { + margin-right: 0rem; } + +.spacing-v-5 > box { + margin-bottom: 0.341rem; } + +.spacing-v-5 > box:last-child { + margin-bottom: 0rem; } + +.spacing-v-5 > label { + margin-bottom: 0.341rem; } + +.spacing-v-5 > label:last-child { + margin-bottom: 0rem; } + +.spacing-v-5 > button { + margin-bottom: 0.341rem; } + +.spacing-v-5 > button:last-child { + margin-bottom: 0rem; } + +.spacing-v-5-revealer > revealer > box { + margin-bottom: 0.341rem; } + +.spacing-v-5-revealer > revealer:last-child > box { + margin-bottom: 0rem; } + +.spacing-h-5 > box { + margin-right: 0.341rem; } + +.spacing-h-5 > box:last-child { + margin-right: 0rem; } + +.spacing-h-5 > button { + margin-right: 0.341rem; } + +.spacing-h-5 > button:last-child { + margin-right: 0rem; } + +.spacing-h-5 > label { + margin-right: 0.341rem; } + +.spacing-h-5 > label:last-child { + margin-right: 0rem; } + +.spacing-h-5 > widget > box { + margin-right: 0.341rem; } + +.spacing-h-5 > widget:last-child > box { + margin-right: 0rem; } + +.spacing-h-5 > progressbar { + margin-right: 0.341rem; } + +.spacing-h-5 > progressbar:last-child { + margin-right: 0rem; } + +.spacing-h-5 > scrolledwindow { + margin-right: 0.341rem; } + +.spacing-h-5 > scrolledwindow:last-child { + margin-right: 0rem; } + +.spacing-h-5 > scrollbar { + margin-right: 0.341rem; } + +.spacing-h-5 > scrollbar:last-child { + margin-right: 0rem; } + +.spacing-v-minus5 > box { + margin-bottom: -0.341rem; } + +.spacing-v-minus5 > box:last-child { + margin-bottom: 0rem; } + +.spacing-v-minus5 > label { + margin-bottom: -0.341rem; } + +.spacing-v-minus5 > label:last-child { + margin-bottom: 0rem; } + +.spacing-h-10 > box { + margin-right: 0.682rem; } + +.spacing-h-10 > box:last-child { + margin-right: 0rem; } + +.spacing-h-10 > flowboxchild > button { + margin-right: 0.682rem; } + +.spacing-h-10 > flowboxchild:last-child > button { + margin-right: 0rem; } + +.spacing-h-10 > label { + margin-right: 0.682rem; } + +.spacing-h-10 > label:last-child { + margin-right: 0rem; } + +.spacing-h-10 > revealer { + margin-right: 0.682rem; } + +.spacing-h-10 > revealer:last-child { + margin-right: 0rem; } + +.spacing-h-10 > overlay { + margin-right: 0.682rem; } + +.spacing-h-10 > overlay:last-child { + margin-right: 0rem; } + +.spacing-h-10 > button { + margin-right: 0.682rem; } + +.spacing-h-10 > button:last-child { + margin-right: 0rem; } + +.spacing-h-10 > label { + margin-right: 0.682rem; } + +.spacing-h-10 > label:last-child { + margin-right: 0rem; } + +.spacing-h-10 > widget { + margin-right: 0.682rem; } + +.spacing-h-10 > widget:last-child { + margin-right: 0rem; } + +.spacing-h-10 > stack { + margin-right: 0.682rem; } + +.spacing-h-10 > stack:last-child { + margin-right: 0rem; } + +.spacing-v-10 > box { + margin-bottom: 0.682rem; } + +.spacing-v-10 > box:last-child { + margin-bottom: 0rem; } + +.spacing-v-10 > button { + margin-bottom: 0.682rem; } + +.spacing-v-10 > button:last-child { + margin-bottom: 0rem; } + +.anim-enter { + transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); } + +.anim-exit { + transition: 150ms cubic-bezier(0.3, 0, 0.8, 0.15); } + +.button-minsize { + min-width: 2.727rem; + min-height: 2.727rem; } + +.group-padding { + padding: 0.341rem; } + +.margin-right-5 { + margin-right: 0.341rem; } + +.margin-left-5 { + margin-left: 0.341rem; } + +.margin-top-5 { + margin-top: 0.341rem; } + +.margin-bottom-5 { + margin-bottom: 0.341rem; } + +.margin-right-10 { + margin-right: 0.682rem; } + +.margin-left-10 { + margin-left: 0.682rem; } + +.margin-top-10 { + margin-top: 0.682rem; } + +.margin-bottom-10 { + margin-bottom: 0.682rem; } + +.invisible { + opacity: 0; + background-color: transparent; + color: transparent; } + +.spacing-h--5 > box { + margin-right: -0.341rem; } + +.spacing-h--5 > box:last-child { + margin-right: 0rem; } + +.spacing-v--5 > box { + margin-bottom: -0.341rem; } + +.spacing-v--5 > box:last-child { + margin-bottom: 0rem; } + +.spacing-h--20 > box { + margin-left: -1.364rem; } + +.spacing-h--20 > box:first-child { + margin-left: 0rem; } + +.instant { + transition: 0ms; } + +.md3_decel { + transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); } + +.menu { + padding: 0.681rem; + background: #dbe4e6; + color: #3f484a; + border-radius: 1.159rem; + -gtk-outline-radius: 1.159rem; } + +.menubar > menuitem { + border-radius: 0.545rem; + -gtk-outline-radius: 0.545rem; + min-width: 13.636rem; + min-height: 2.727rem; } + +.menu > menuitem { + padding: 0.4em 1.5rem; + background: transparent; + transition: 0.2s ease background; + border-radius: 0.545rem; + -gtk-outline-radius: 0.545rem; } + +.menu > menuitem:hover { + background-color: #cbd4d6; } + +.separator-line { + background-color: #dbe4e6; + min-width: 0.068rem; + min-height: 0.068rem; } + +tooltip { + border-radius: 1.705rem; + -gtk-outline-radius: 1.705rem; + background-color: #dbe4e6; + color: #3f484a; + border: 1px solid #3f484a; } + +.bar-bg { + background-color: rgba(251, 253, 253, 0.7); + min-height: 2.727rem; } + +.bar-sidespace { + min-width: 1.5rem; } + +.bar-group-margin { + padding: 0.2rem; } + +.bar-group { + background-color: rgba(251, 253, 253, 0.3); } + +.bar-group-center { + border-bottom-left-radius: 1.364rem; + border-bottom-right-radius: 1.364rem; + padding: 0.2rem; + background-color: black; } + +.corner-bar-group { + border-radius: 1.364rem; + border-width: 0.068rem; + background-color: black; } + +.bar-group-pad { + padding: 0rem 1.023rem; } + +.bar-group-pad-less { + padding: 0rem 0.681rem; } + +.bar-group-pad-system { + padding-left: 1.023rem; + padding-right: 0.547rem; } + +.bar-group-pad-music { + padding-right: 1.023rem; } + +.bar-group-pad-left { + padding-left: 1.364rem; + padding-right: 0.681rem; } + +.bar-group-pad-right { + padding-left: 0.681rem; + padding-right: 1.364rem; } + +.bar-group-pad-leftonly { + padding-left: 0.681rem; } + +.bar-group-pad-rightonly { + padding-right: 0.681rem; } + +.bar-group-standalone { + border-radius: 1.364rem; + -gtk-outline-radius: 1.364rem; } + +.bar-group-round { + border-radius: 10rem; + -gtk-outline-radius: 10rem; } + +.bar-group-middle { + border-radius: 0.477rem; + -gtk-outline-radius: 0.477rem; } + +.bar-group-left { + border-radius: 0.477rem; + -gtk-outline-radius: 0.477rem; + border-top-left-radius: 1.364rem; + border-bottom-left-radius: 1.364rem; } + +.bar-group-right { + border-radius: 0.477rem; + -gtk-outline-radius: 0.477rem; + border-top-right-radius: 1.364rem; + border-bottom-right-radius: 1.364rem; } + +.bar-ws-width { + min-width: 18.614rem; } + +.bar-separator { + border-radius: 9999px; + -gtk-outline-radius: 9999px; + min-width: 0.341rem; + min-height: 0.341rem; + background-color: rgba(228, 231, 231, 0.3); + margin: 0rem 0.341rem; } + +.bar-clock { + font-family: 'Gabarito', 'Lexend', sans-serif; + font-size: 1.2727rem; + color: #191c1d; } + +.bar-date { + font-family: 'Gabarito', 'Lexend', sans-serif; + font-size: 1rem; + color: #191c1d; } + +.bar-ws { + min-height: 1.636rem; + min-width: 1.772rem; + font-size: 1.091rem; + font-family: 'AR One Sans', 'Inter', 'Roboto', 'Noto Sans', sans-serif; + border-top: 0.068rem solid; + border-bottom: 0.068rem solid; + border-color: transparent; + color: white; } + +.bar-ws-active-box { + transition: 300ms cubic-bezier(0.05, 0.7, 0.1, 1); } + +.bar-ws-active { + min-height: 1.5rem; + min-width: 1.5rem; + font-size: 1.091rem; + font-family: 'AR One Sans', 'Inter', 'Roboto', 'Noto Sans', sans-serif; + background-color: #8ef1ff; + color: #001f24; + border-radius: 999px; + margin: 0.068rem; } + +.bar-ws-active-middledecor { + min-width: 0.682rem; + min-height: 0.682rem; + border-radius: 9999px; + background-color: black; + margin: 0rem 0.409rem; } + +.bar-ws-occupied { + background-color: #051f23; + color: #cde7ec; + min-width: 1.772rem; + border-top: 0.068rem solid #cde7ec; + border-bottom: 0.068rem solid #cde7ec; } + +.bar-ws-occupied-left { + background-color: #051f23; + color: #cde7ec; + min-width: 1.704rem; + border-top-left-radius: 999px; + border-bottom-left-radius: 999px; + border-left: 0.068rem solid #cde7ec; + border-top: 0.068rem solid #cde7ec; + border-bottom: 0.068rem solid #cde7ec; + border-right: 0px solid transparent; } + +.bar-ws-occupied-right { + background-color: #051f23; + color: #cde7ec; + min-width: 1.704rem; + border-top-right-radius: 999px; + border-bottom-right-radius: 999px; + border-right: 0.068rem solid #cde7ec; + border-top: 0.068rem solid #cde7ec; + border-bottom: 0.068rem solid #cde7ec; + border-left: 0px solid transparent; } + +.bar-ws-occupied-left-right { + border-radius: 9999px; + -gtk-outline-radius: 9999px; + background-color: #051f23; + color: #cde7ec; + min-width: 1.636rem; + border: 0.068rem solid #cde7ec; } + +.bar-ws-empty { + color: #191c1d; + border-color: transparent; } + +.bar-batt { + border-radius: 9999px; + -gtk-outline-radius: 9999px; + padding: 0rem 0.341rem; + background-color: rgba(205, 231, 236, 0.7); + color: rgba(5, 31, 35, 0.7); } + +.bar-sidemodule { + min-width: 26rem; } + +.bar-batt-low { + background-color: #ba1b1b; + color: #ffdad4; } + +.bar-batt-full { + background-color: #d1e8d5; + color: #0c1f13; } + +.bar-batt-prog-low { + background-color: #ba1b1b; + color: #ffdad4; } + +.bar-batt-prog-full { + background-color: #d1e8d5; + color: #0c1f13; } + +.bar-music-playstate { + min-height: 1.770rem; + min-width: 1.770rem; + border-radius: 10rem; + margin-left: 0.273rem; + background-color: #cde7ec; + color: #051f23; } + +.bar-music-circprog { + transition: 1000ms cubic-bezier(0.1, 1, 0, 1); + margin-left: 0.273rem; + min-width: 0.068rem; + min-height: 1.770rem; + padding: 0rem; + background-color: #cde7ec; + color: #051f23; } + +.bar-music-playstate-playing { + min-height: 1.770rem; + min-width: 1.770rem; + border-radius: 10rem; + margin-left: 0.273rem; + background-color: #cde7ec; + color: #051f23; } + +.bar-music-playstate-txt { + transition: 100ms cubic-bezier(0.05, 0.7, 0.1, 1); + font-family: 'Material Symbols Rounded', 'Material Symbols Outlined', 'Material Symbols Sharp'; + font-size: 1.568rem; + margin: -0.1rem 0rem; + margin-left: 0.2rem; + margin-right: 0.17rem; } + +.bar-music-cover { + background-position: center; + background-repeat: no-repeat; + background-size: 100% auto; + min-width: 11.932rem; } + +.bar-music-extended-bg { + border-radius: 1.364rem; + min-width: 34.091rem; } + +.bar-music-extended-ctl-bg { + border-radius: 1.364rem; + background-color: rgba(30, 30, 30, 0.6); } + +.bar-music-bottom-bg { + border-radius: 1.364rem; + min-width: 34.091rem; } + +.bar-music-bottom-ctl-bg { + border-radius: 1.364rem; + background-color: rgba(30, 30, 30, 0.6); } + +.bar-music-extended-textbox { + margin: 1.023rem; } + +.bar-music-bottom-cover { + border-radius: 10rem; } + +.bar-music-hide-false { + transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); + transition-duration: 100ms; + opacity: 1; } + +.bar-music-hide-true { + transition: 150ms cubic-bezier(0.3, 0, 0.8, 0.15); + transition-duration: 100ms; + opacity: 0; } + +.bar-music-btn { + font-size: 1.364rem; + border-radius: 10rem; + min-height: 2.591rem; + min-width: 2.591rem; } + +.bar-music-btn:hover { + background-color: rgba(128, 128, 128, 0.3); } + +.bar-prog-batt { + min-height: 0.955rem; + min-width: 0.068rem; + padding: 0rem; + border-radius: 10rem; } + .bar-prog-batt trough { + min-height: 0.954rem; + min-width: 0.068rem; + border-radius: 10rem; } + .bar-prog-batt progress { + min-height: 0.680rem; + min-width: 0.680rem; + margin: 0rem 0.137rem; + border-radius: 10rem; + background-color: rgba(5, 31, 35, 0.7); } + +.bar-prog-batt-low progress { + background-color: #ffdad4; } + +.bar-prog-batt-full progress { + background-color: #0c1f13; } + +.bar-batt-chargestate { + border-radius: 10rem; + background-color: transparent; } + +.bar-batt-chargestate-charging { + border-radius: 10rem; + min-width: 0.681rem; + min-height: 0.681rem; + background-color: rgba(5, 31, 35, 0.7); } + +.bar-batt-chargestate-low { + background-color: #ffdad4; } + +.bar-batt-chargestate-full { + background-color: #0c1f13; } + +.bar-batt-percentage { + font-size: 1rem; + margin-top: -0.068rem; + font-weight: 500; } + +.corner { + background-color: rgba(251, 253, 253, 0.7); + border-radius: 1.705rem; + -gtk-outline-radius: 1.705rem; } + +.corner-black { + background-color: black; + border-radius: 1.705rem; + -gtk-outline-radius: 1.705rem; } + +.bar-topdesc { + margin-top: -0.136rem; + margin-bottom: -0.341rem; + color: #5d6060; } + +.bar-space-button { + padding: 0.341rem; } + +.bar-space-button > box:first-child { + border-radius: 9999px; + -gtk-outline-radius: 9999px; + padding: 0rem 0.682rem; } + +.bar-space-button:hover > box:first-child { + background-color: rgba(128, 128, 128, 0.3); } + +.bar-space-button:active > box:first-child { + background-color: rgba(128, 128, 128, 0.7); } + +.bar-space-button-leftmost box { + margin: 0rem 0.682rem; } + +.bar-space-area-rightmost > box { + padding-right: 2.386rem; } + +.bar-systray { + border-radius: 9999px; + -gtk-outline-radius: 9999px; + min-height: 1.909rem; + min-width: 1.909rem; } + +.bar-systray-item { + border-radius: 9999px; + -gtk-outline-radius: 9999px; + min-width: 1.909rem; } + +.cheatsheet-bg { + border-radius: 1.705rem; + -gtk-outline-radius: 1.705rem; + border-top: 1px solid rgba(138, 141, 141, 0.28); + border-left: 1px solid rgba(138, 141, 141, 0.28); + border-right: 1px solid rgba(178, 181, 181, 0.24); + border-bottom: 1px solid rgba(178, 181, 181, 0.24); + box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45); + margin: 7px; + margin-bottom: 0.682rem; + background-color: rgba(251, 253, 253, 0.7); + padding: 1.364rem; } + +.cheatsheet-key { + font-family: 'JetBrains Mono Nerd Font', 'JetBrains Mono NL', 'SpaceMono Nerd Font', monospace; + min-height: 1.364rem; + min-width: 1.364rem; + margin: 0.17rem; + padding: 0.136rem 0.205rem; + border-radius: 0.409rem; + -gtk-outline-radius: 0.409rem; + color: #006874; + border: 0.068rem solid #006874; + box-shadow: 0rem 0.136rem 0rem #006874; + font-weight: 500; } + +.cheatsheet-key-notkey { + min-height: 1.364rem; + padding: 0.136rem 0.205rem; + margin: 0.17rem; + color: #001f24; } + +.cheatsheet-closebtn { + transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); + border-radius: 9999px; + -gtk-outline-radius: 9999px; + min-width: 2.386rem; + min-height: 2.386rem; } + +.cheatsheet-closebtn:hover { + background-color: #dbe4e6; } + +.cheatsheet-closebtn:active { + background-color: #acb5b7; } + +.cheatsheet-category-title { + font-family: 'Gabarito', 'Lexend', sans-serif; + font-size: 1.705rem; } + +.sidebar-right { + transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); + border-radius: 1.705rem; + -gtk-outline-radius: 1.705rem; + border-top: 1px solid rgba(138, 141, 141, 0.28); + border-left: 1px solid rgba(138, 141, 141, 0.28); + border-right: 1px solid rgba(178, 181, 181, 0.24); + border-bottom: 1px solid rgba(178, 181, 181, 0.24); + box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45); + margin: 7px; + background-color: rgba(251, 253, 253, 0.7); + padding: 1.023rem; } + +.sideright-show { + transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); } + +.sideright-hide { + margin-right: -30.682rem; + transition: 150ms cubic-bezier(0.3, 0, 0.8, 0.15); } + +.sidebar-left { + transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); + border-radius: 1.705rem; + -gtk-outline-radius: 1.705rem; + border-top: 1px solid rgba(138, 141, 141, 0.28); + border-left: 1px solid rgba(138, 141, 141, 0.28); + border-right: 1px solid rgba(178, 181, 181, 0.24); + border-bottom: 1px solid rgba(178, 181, 181, 0.24); + box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45); + margin: 7px; + background-color: rgba(251, 253, 253, 0.7); + padding: 1.023rem; } + +.sideleft-show { + transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); } + +.sideleft-hide { + margin-left: -30.682rem; + transition: 150ms cubic-bezier(0.3, 0, 0.8, 0.15); } + +.sidebar-group { + border-radius: 1.159rem; + -gtk-outline-radius: 1.159rem; + padding: 0.341rem; + background-color: rgba(251, 253, 253, 0.3); } + +.sidebar-group-nopad { + border-radius: 1.159rem; + -gtk-outline-radius: 1.159rem; + background-color: rgba(251, 253, 253, 0.3); } + +.sidebar-group-invisible { + padding: 0.341rem; } + +.sidebar-group-invisible-morehorizpad { + padding: 0.341rem 0.682rem; } + +.sidebar-iconbutton { + border-radius: 9999px; + -gtk-outline-radius: 9999px; + transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); + color: #191c1d; + min-width: 2.727rem; + min-height: 2.727rem; } + +.sidebar-iconbutton:hover { + background-color: rgba(165, 191, 196, 0.7); } + +.sidebar-iconbutton:active { + background-color: rgba(125, 151, 156, 0.7); } + +.sidebar-button { + transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); + padding: 0rem 0.818rem; + background-color: rgba(205, 231, 236, 0.7); + color: #051f23; } + +.sidebar-button-nopad { + transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); + background-color: rgba(205, 231, 236, 0.7); + color: #051f23; } + +.sidebar-button:hover { + background-color: rgba(165, 191, 196, 0.7); } + +.sidebar-button:active { + background-color: rgba(125, 151, 156, 0.7); } + +.sidebar-button-nopad:hover { + background-color: rgba(165, 191, 196, 0.7); } + +.sidebar-button-nopad:active { + background-color: rgba(125, 151, 156, 0.7); } + +.sidebar-button-left { + border-top-left-radius: 0.818rem; + border-bottom-left-radius: 0.818rem; } + +.sidebar-button-right { + border-top-right-radius: 0.818rem; + border-bottom-right-radius: 0.955rem; } + +.sidebar-button-alone { + border-radius: 0.818rem; + -gtk-outline-radius: 0.818rem; } + +.sidebar-button-alone-normal { + border-radius: 0.818rem; + -gtk-outline-radius: 0.818rem; } + +.sidebar-button-active { + background-color: #006874; + color: #ffffff; } + +.sidebar-button-active:hover { + background-color: rgba(2, 104, 116, 0.93); } + +.sidebar-button-active:active { + background-color: rgba(9, 106, 117, 0.79); } + +.sidebar-buttons-separator { + min-width: 0.068rem; + min-height: 0.068rem; + background-color: #3f484a; } + +.sidebar-navrail { + padding: 0rem 1.159rem; } + +.sidebar-navrail-btn > box > label { + border-radius: 9999px; + -gtk-outline-radius: 9999px; + transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); } + +.sidebar-navrail-btn:hover > box > label:first-child { + background-color: rgba(159, 168, 170, 0.37); } + +.sidebar-navrail-btn:active > box > label:first-child { + background-color: #b4bdbf; } + +.sidebar-navrail-btn-active > box > label:first-child { + background-color: #cde7ec; + color: #051f23; } + +.sidebar-navrail-btn-active:hover > box > label:first-child { + background-color: rgba(204, 229, 234, 0.93); + color: rgba(7, 33, 37, 0.93); } + +.sidebar-sysinfo-grouppad { + padding: 1.159rem; } + +.sidebar-memory-ram-circprog { + transition: 1000ms cubic-bezier(0.1, 1, 0, 1); + min-width: 0.818rem; + min-height: 4.091rem; + padding: 0.409rem; + background-color: #cde7ec; + color: #051f23; + font-size: 0px; } + +.sidebar-memory-swap-circprog { + transition: 1000ms cubic-bezier(0.1, 1, 0, 1); + min-width: 0.818rem; + min-height: 2.255rem; + padding: 0.409rem; + margin: 0.918rem; + background-color: #cde7ec; + color: #051f23; + font-size: 0px; } + +.sidebar-cpu-circprog { + min-width: 0.818rem; + min-height: 3.409rem; + padding: 0.409rem; + background-color: #cde7ec; + color: #051f23; + transition: 1000ms cubic-bezier(0.1, 1, 0, 1); + font-size: 0px; } + +.sidebar-viewport { + border-radius: 0.818rem; + -gtk-outline-radius: 0.818rem; } + +.sidebar-scrollbar trough { + border-radius: 9999px; + -gtk-outline-radius: 9999px; + min-width: 0.545rem; + background-color: transparent; } + +.sidebar-scrollbar slider { + border-radius: 9999px; + -gtk-outline-radius: 9999px; + min-width: 0.273rem; + min-height: 2.045rem; + background-color: rgba(63, 72, 74, 0.3); } + +.sidebar-scrollbar slider:hover { + background-color: rgba(63, 72, 74, 0.44); } + +.sidebar-scrollbar slider:active { + background-color: #8d9698; } + +.sidebar-calendar-btn { + border-radius: 9999px; + -gtk-outline-radius: 9999px; + transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); + min-height: 2.523rem; + min-width: 2.523rem; + color: #191c1d; } + +.sidebar-calendar-btn:hover { + background-color: rgba(128, 128, 128, 0.3); } + +.sidebar-calendar-btn:active { + background-color: rgba(128, 128, 128, 0.7); } + +.sidebar-calendar-btn-txt { + margin-left: -10.341rem; + margin-right: -10.341rem; } + +.sidebar-calendar-btn-today { + background-color: #006874; + color: #ffffff; } + +.sidebar-calendar-btn-today:hover { + background-color: rgba(2, 104, 116, 0.93); } + +.sidebar-calendar-btn-today:active { + background-color: rgba(9, 106, 117, 0.79); } + +.sidebar-calendar-btn-othermonth { + color: #8a8d8d; } + +.sidebar-calendar-header { + margin: 0.341rem; } + +.sidebar-calendar-monthyear-btn { + border-radius: 9999px; + -gtk-outline-radius: 9999px; + padding: 0rem 0.682rem; + background-color: rgba(219, 228, 230, 0.3); + color: #3f484a; } + +.sidebar-calendar-monthyear-btn:hover { + background-color: rgba(183, 192, 194, 0.335); + color: #475052; } + +.sidebar-calendar-monthyear-btn:active { + background-color: #c4cdcf; + color: #565f61; } + +.sidebar-calendar-monthshift-btn { + border-radius: 9999px; + -gtk-outline-radius: 9999px; + min-width: 2.045rem; + min-height: 2.045rem; + background-color: rgba(219, 228, 230, 0.3); + color: #3f484a; } + +.sidebar-calendar-monthshift-btn:hover { + background-color: rgba(183, 192, 194, 0.335); + color: #475052; } + +.sidebar-calendar-monthshift-btn:active { + background-color: #c4cdcf; + color: #565f61; } + +.sidebar-todo-selector-tab { + border-radius: 0.818rem; + -gtk-outline-radius: 0.818rem; + transition: 0ms; + min-height: 2.5rem; + color: #191c1d; } + +.sidebar-todo-selector-tab:hover { + background-color: rgba(159, 168, 170, 0.37); } + +.sidebar-todo-selector-tab:active { + background-color: #b4bdbf; } + +.sidebar-todo-selector-tab-active > box > label { + color: #006874; } + +.sidebar-todo-selector-highlight-offset { + margin-top: -0.205rem; + margin-bottom: 0.205rem; } + +.sidebar-todo-selector-highlight { + transition: 180ms ease-in-out; + color: #006874; + padding: 0rem 2.045rem; + min-height: 0.205rem; } + +.sidebar-todo-item-action { + border-radius: 9999px; + min-width: 1.705rem; + min-height: 1.705rem; } + +.sidebar-todo-item-action:hover { + background-color: rgba(240, 242, 242, 0.3); } + +.sidebar-todo-item-action:active { + background-color: rgba(217, 219, 219, 0.3); } + +.sidebar-clipboard-item { + border-radius: 0.818rem; + min-height: 2.045rem; + padding: 0.341rem; + background-color: rgba(205, 231, 236, 0.7); + color: #051f23; } + +.sidebar-clipboard-item:hover { + background-color: rgba(185, 211, 216, 0.7); } + +.sidebar-clipboard-item:active { + background-color: rgba(165, 191, 196, 0.7); } + +.osd-bg { + min-width: 8.864rem; + min-height: 3.409rem; } + +.osd-value { + background-color: rgba(251, 253, 253, 0.7); + border-radius: 1.023rem; + padding: 0.625rem 1.023rem; + padding-top: 0.313rem; + margin: 10px; + box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45); + margin: 7px; } + +.osd-progress { + min-height: 0.955rem; + min-width: 0.068rem; + padding: 0rem; + border-radius: 10rem; + transition: 200ms cubic-bezier(0.1, 1, 0, 1); } + .osd-progress trough { + min-height: 0.954rem; + min-width: 0.068rem; + border-radius: 10rem; + background-color: #001f24; } + .osd-progress progress { + transition: 200ms cubic-bezier(0.1, 1, 0, 1); + min-height: 0.680rem; + min-width: 0.680rem; + margin: 0rem 0.137rem; + border-radius: 10rem; + background-color: #8ef1ff; } + +.osd-icon { + color: #001f24; } + +.osd-label { + font-size: 1.023rem; + font-weight: 500; + color: #191c1d; + margin-top: 0.341rem; } + +.osd-value-txt { + font-family: 'Gabarito', 'Lexend', sans-serif; + font-size: 1.688rem; + font-weight: 500; + color: #191c1d; } + +.osd-notifs { + padding-top: 0.313rem; } + +.overview-search-box { + transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); + border-radius: 1.705rem; + -gtk-outline-radius: 1.705rem; + border-top: 1px solid rgba(138, 141, 141, 0.28); + border-left: 1px solid rgba(138, 141, 141, 0.28); + border-right: 1px solid rgba(178, 181, 181, 0.24); + border-bottom: 1px solid rgba(178, 181, 181, 0.24); + box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45); + margin: 7px; + min-width: 13.636rem; + min-height: 3.409rem; + padding: 0rem 1.364rem; + padding-right: 2.864rem; + background-color: rgba(251, 253, 253, 0.7); + color: #191c1d; + caret-color: transparent; } + .overview-search-box selection { + background-color: #4a6266; + color: #ffffff; } + +.overview-search-box-extended { + min-width: 25.909rem; + caret-color: #051f23; } + +.overview-search-prompt { + color: #5d6060; } + +.overview-search-icon { + margin: 0rem 1.023rem; } + +.overview-search-prompt-box { + margin-left: -18.545rem; + margin-right: 8px; } + +.overview-search-icon-box { + margin-left: -18.545rem; + margin-right: 8px; } + +.overview-search-results { + border-radius: 1.705rem; + -gtk-outline-radius: 1.705rem; + border-top: 1px solid rgba(138, 141, 141, 0.28); + border-left: 1px solid rgba(138, 141, 141, 0.28); + border-right: 1px solid rgba(178, 181, 181, 0.24); + border-bottom: 1px solid rgba(178, 181, 181, 0.24); + box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45); + margin: 7px; + min-width: 28.773rem; + padding: 0.682rem; + background-color: rgba(251, 253, 253, 0.7); + color: #191c1d; } + +.overview-search-results-icon { + margin: 0rem 0.682rem; + font-size: 2.386rem; } + +.overview-search-results-txt { + margin-right: 0.682rem; } + +.overview-search-results-txt-cmd { + margin-right: 0.682rem; + font-family: 'JetBrains Mono Nerd Font', 'JetBrains Mono NL', 'SpaceMono Nerd Font', monospace; + font-size: 1.227rem; } + +.overview-search-result-btn { + border-radius: 1.159rem; + -gtk-outline-radius: 1.159rem; + padding: 0.341rem; + min-width: 2.386rem; + min-height: 2.386rem; + caret-color: transparent; } + +.overview-search-result-btn:focus, +.overview-search-result-btn:hover { + background-color: rgba(128, 128, 128, 0.3); } + +.overview-search-result-btn:active { + background-color: rgba(128, 128, 128, 0.7); } + +.overview-tasks { + border-radius: 1.705rem; + -gtk-outline-radius: 1.705rem; + border-top: 1px solid rgba(138, 141, 141, 0.28); + border-left: 1px solid rgba(138, 141, 141, 0.28); + border-right: 1px solid rgba(178, 181, 181, 0.24); + border-bottom: 1px solid rgba(178, 181, 181, 0.24); + box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45); + margin: 7px; + padding: 0.341rem; + background-color: rgba(251, 253, 253, 0.7); + color: #191c1d; } + +.overview-tasks-workspace { + border-radius: 1.159rem; + -gtk-outline-radius: 1.159rem; + margin: 0.341rem; + background-color: rgba(232, 234, 234, 0.207); } + +.overview-tasks-window { + border-radius: 1.159rem; + -gtk-outline-radius: 1.159rem; + transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); + background-color: rgba(205, 231, 236, 0.4); + color: #051f23; + border: 0.068rem solid rgba(5, 31, 35, 0.07); } + +.overview-tasks-window:hover { + background-color: rgba(169, 209, 215, 0.43); } + +.overview-tasks-window:focus { + background-color: rgba(169, 209, 215, 0.43); } + +.overview-tasks-window:active { + background-color: rgba(142, 192, 199, 0.46); } + +.overview-tasks-window-selected { + background-color: rgba(142, 192, 199, 0.46); } + +.overview-tasks-window-dragging { + opacity: 0.2; } + +.osk-window { + transition: 170ms cubic-bezier(0.05, 0.7, 0.1, 1); + border-radius: 1.705rem; + -gtk-outline-radius: 1.705rem; + border-top: 1px solid rgba(138, 141, 141, 0.28); + border-left: 1px solid rgba(138, 141, 141, 0.28); + border-right: 1px solid rgba(178, 181, 181, 0.24); + border-bottom: 1px solid rgba(178, 181, 181, 0.24); + box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45); + margin: 7px; + background-color: rgba(251, 253, 253, 0.7); + padding: 1.023rem; } + +.osk-show { + transition: 170ms cubic-bezier(0.05, 0.7, 0.1, 1); } + +.osk-hide { + margin-top: 30.682rem; + margin-bottom: -30.682rem; + transition: 100ms cubic-bezier(0.3, 0, 0.8, 0.15); } + +.osk-key { + border-radius: 0.682rem; + background-color: rgba(219, 228, 230, 0.3); + color: #3f484a; + padding: 0.188rem; + font-weight: 500; + font-size: 1.091rem; } + +.osk-key:hover { + background-color: rgba(203, 212, 214, 0.3); } + +.osk-key:active { + background-color: rgba(172, 181, 183, 0.3); + font-size: 1.091rem; } + +.osk-key-active { + background-color: rgba(172, 181, 183, 0.3); } + +.osk-key-normal { + min-width: 2.5rem; + min-height: 2.5rem; } + +.osk-key-fn { + min-width: 2.5125rem; + min-height: 1.25rem; } + +.osk-key-tab { + min-width: 4rem; + min-height: 2.5rem; } + +.osk-key-caps { + min-width: 4.75rem; + min-height: 2.5rem; } + +.osk-key-shift { + min-width: 6.25rem; + min-height: 2.5rem; } + +.osk-key-control { + min-width: 3.25rem; + min-height: 2.5rem; } + +.osk-control-button { + border-radius: 0.682rem; + background-color: rgba(219, 228, 230, 0.3); + color: #3f484a; + font-weight: 500; + font-size: 1.091rem; + padding: 0.682rem; } + +.osk-control-button:hover { + background-color: rgba(203, 212, 214, 0.3); } + +.osk-control-button:active { + background-color: rgba(172, 181, 183, 0.3); + font-size: 1.091rem; } + +.session-bg { + margin-top: -2.727rem; + background-color: rgba(251, 253, 253, 0.44); } + +.session-button { + border-radius: 1.705rem; + -gtk-outline-radius: 1.705rem; + min-width: 8.182rem; + min-height: 8.182rem; + background-color: #dbe4e6; + color: #3f484a; + font-size: 3rem; } + +.session-button-focused { + background-color: #cde7ec; + color: #051f23; } + +.session-button-desc { + background-color: #ebf1f2; + color: #2c3234; + border-bottom-left-radius: 1.705rem; + border-bottom-right-radius: 1.705rem; + padding: 0.205rem 0.341rem; + font-weight: 700; } + +.session-button-cancel { + border-radius: 1.705rem; + -gtk-outline-radius: 1.705rem; + min-width: 8.182rem; + min-height: 5.455rem; + background-color: #dbe4e6; + color: #3f484a; + font-size: 3rem; } + +.notif-low { + border-radius: 0.818rem; + -gtk-outline-radius: 0.818rem; + background-color: rgba(219, 228, 230, 0.65); + color: #3f484a; + padding: 0.818rem; + padding-right: 1.363rem; } + +.notif-normal { + border-radius: 0.818rem; + -gtk-outline-radius: 0.818rem; + background-color: rgba(219, 228, 230, 0.65); + color: #3f484a; + padding: 0.818rem; + padding-right: 1.363rem; } + +.notif-critical { + border-radius: 0.818rem; + -gtk-outline-radius: 0.818rem; + background-color: #ba1b1b; + color: #ffffff; + padding: 0.818rem; + padding-right: 1.363rem; } + +.popup-notif-low { + border-radius: 0.818rem; + -gtk-outline-radius: 0.818rem; + min-width: 30.682rem; + background-color: rgba(251, 253, 253, 0.7); + color: #3f484a; + padding: 0.818rem; + padding-right: 1.363rem; } + +.popup-notif-normal { + border-radius: 0.818rem; + -gtk-outline-radius: 0.818rem; + min-width: 30.682rem; + background-color: rgba(251, 253, 253, 0.7); + color: #3f484a; + padding: 0.818rem; + padding-right: 1.363rem; } + +.popup-notif-critical { + border-radius: 0.818rem; + -gtk-outline-radius: 0.818rem; + min-width: 30.682rem; + background-color: #ba1b1b; + color: #ffffff; + padding: 0.818rem; + padding-right: 1.363rem; } + +.notif-body-low { + color: #727b7d; } + +.notif-body-normal { + color: #727b7d; } + +.notif-body-critical { + color: #e8b4b4; } + +.notif-icon { + border-radius: 9999px; + -gtk-outline-radius: 9999px; + min-width: 3.409rem; + min-height: 3.409rem; } + +.notif-icon-material { + background-color: rgba(205, 231, 236, 0.7); + color: #051f23; } + +.notif-icon-material-low { + background-color: rgba(205, 231, 236, 0.7); + color: #051f23; } + +.notif-icon-material-normal { + background-color: rgba(205, 231, 236, 0.7); + color: #051f23; } + +.notif-icon-material-critical { + background-color: rgba(255, 218, 212, 0.7); + color: #410001; } + +.notif-close-btn { + border-radius: 0.818rem; + -gtk-outline-radius: 0.818rem; + padding: 0rem 0.136rem; } + +.notif-close-btn:hover { + background: rgba(128, 128, 128, 0.3); } + +.notif-close-btn:active { + background: rgba(128, 128, 128, 0.7); } + +.notif-closeall-btn { + border-radius: 0.818rem; + -gtk-outline-radius: 0.818rem; + padding: 0.341rem 0.341rem; } + +.notif-closeall-btn:hover { + background-color: rgba(128, 128, 128, 0.3); } + +.notif-closeall-btn:active { + background-color: rgba(128, 128, 128, 0.7); } + +.osd-notif { + border-radius: 0.818rem; + -gtk-outline-radius: 0.818rem; + background-color: rgba(251, 253, 253, 0.6); + min-width: 30.682rem; } + +.growingRadial { + transition: 300ms cubic-bezier(0.2, 0, 0, 1); } + +.fadingRadial { + transition: 50ms cubic-bezier(0.2, 0, 0, 1); } diff --git a/desktops/hyprland/ags/windows/bar.js b/desktops/hyprland/ags/windows/bar.js new file mode 100644 index 0000000..72a6a3a --- /dev/null +++ b/desktops/hyprland/ags/windows/bar.js @@ -0,0 +1,53 @@ +const { Gdk, Gtk } = imports.gi; +import { App, Service, Utils, Widget } from '../imports.js'; +const { execAsync, exec } = Utils; + +import { ModuleWorkspaces } from "../modules/workspaces.js"; +import { ModuleMusic } from "../modules/music.js"; +import { ModuleSystem } from "../modules/system.js"; +import { ModuleLeftSpace } from "../modules/leftspace.js"; +import { ModuleRightSpace } from "../modules/rightspace.js"; +import { RoundedCorner } from "../modules/lib/roundedcorner.js"; + +const left = Widget.Box({ + className: 'bar-sidemodule', + children: [ModuleMusic()], +}); + +const center = Widget.Box({ + children: [ + RoundedCorner('topright', { className: 'corner-bar-group' }), + ModuleWorkspaces(), + RoundedCorner('topleft', { className: 'corner-bar-group' }), + ], +}); + +const right = Widget.Box({ + className: 'bar-sidemodule', + children: [ModuleSystem()], +}); + +export default () => Widget.Window({ + name: 'bar', + anchor: ['top', 'left', 'right'], + exclusive: true, + visible: true, + child: Widget.CenterBox({ + className: 'bar-bg', + startWidget: ModuleLeftSpace(), + centerWidget: Widget.Box({ + className: 'spacing-h--20', + children: [ + left, + center, + right, + ] + }), + endWidget: ModuleRightSpace(), + setup: (self) => { + const styleContext = self.get_style_context(); + const minHeight = styleContext.get_property('min-height', Gtk.StateFlags.NORMAL); + // execAsync(['bash', '-c', `hyprctl keyword monitor ,addreserved,${minHeight},0,0,0`]).catch(print); + } + }), +}); diff --git a/desktops/hyprland/ags/windows/cheatsheet.js b/desktops/hyprland/ags/windows/cheatsheet.js new file mode 100644 index 0000000..9783d40 --- /dev/null +++ b/desktops/hyprland/ags/windows/cheatsheet.js @@ -0,0 +1,88 @@ +const { Gdk, Gtk } = imports.gi; +import { Service, Widget } from '../imports.js'; +import { Keybinds } from "../modules/keybinds.js"; +import { setupCursorHover } from "../modules/lib/cursorhover.js"; + +const cheatsheetHeader = () => Widget.CenterBox({ + vertical: false, + startWidget: Widget.Box({}), + centerWidget: Widget.Box({ + vertical: true, + className: "spacing-h-15", + children: [ + Widget.Box({ + halign: 'center', + className: 'spacing-h-5', + children: [ + Widget.Label({ + halign: 'center', + style: 'margin-right: 0.682rem;', + className: 'txt-title txt', + label: 'Cheat sheet', + }), + Widget.Label({ + valign: 'center', + className: "cheatsheet-key txt-small", + label: "", + }), + Widget.Label({ + valign: 'center', + className: "cheatsheet-key-notkey txt-small", + label: "+", + }), + Widget.Label({ + valign: 'center', + className: "cheatsheet-key txt-small", + label: "/", + }) + ] + }), + Widget.Label({ + justify: Gtk.Justification.CENTER, + className: 'txt-small txt', + label: 'Sheet data stored in ~/.config/ags/data/keybinds.js\nChange keybinds in ~/.config/hypr/keybinds.conf' + }), + ] + }), + endWidget: Widget.Button({ + valign: 'start', + halign: 'end', + className: "cheatsheet-closebtn icon-material txt txt-hugeass", + onClicked: () => { + App.toggleWindow('cheatsheet'); + }, + child: Widget.Label({ + className: 'icon-material txt txt-hugeass', + label: 'close' + }), + setup: (button) => setupCursorHover(button), + }), +}); + +const clickOutsideToClose = Widget.EventBox({ + onPrimaryClick: () => App.closeWindow('cheatsheet'), + onSecondaryClick: () => App.closeWindow('cheatsheet'), + onMiddleClick: () => App.closeWindow('cheatsheet'), +}); + +export default () => Widget.Window({ + name: 'cheatsheet', + exclusive: false, + focusable: true, + popup: true, + visible: false, + child: Widget.Box({ + vertical: true, + children: [ + clickOutsideToClose, + Widget.Box({ + vertical: true, + className: "cheatsheet-bg spacing-v-15", + children: [ + cheatsheetHeader(), + Keybinds(), + ] + }), + ], + }) +}); diff --git a/desktops/hyprland/ags/windows/corners.js b/desktops/hyprland/ags/windows/corners.js new file mode 100644 index 0000000..da29111 --- /dev/null +++ b/desktops/hyprland/ags/windows/corners.js @@ -0,0 +1,36 @@ +import { Widget } from '../imports.js'; +import { RoundedCorner } from "../modules/lib/roundedcorner.js"; + +export const CornerTopleft = () => Widget.Window({ + name: 'cornertl', + layer: 'top', + anchor: ['top', 'left'], + exclusive: false, + visible: true, + child: RoundedCorner('topleft', { className: 'corner', }), +}); +export const CornerTopright = () => Widget.Window({ + name: 'cornertr', + layer: 'top', + anchor: ['top', 'right'], + exclusive: false, + visible: true, + child: RoundedCorner('topright', { className: 'corner', }), +}); +export const CornerBottomleft = () => Widget.Window({ + name: 'cornerbl', + layer: 'top', + anchor: ['bottom', 'left'], + exclusive: false, + visible: true, + child: RoundedCorner('bottomleft', { className: 'corner-black', }), +}); +export const CornerBottomright = () => Widget.Window({ + name: 'cornerbr', + layer: 'top', + anchor: ['bottom', 'right'], + exclusive: false, + visible: true, + child: RoundedCorner('bottomright', { className: 'corner-black', }), +}); + diff --git a/desktops/hyprland/ags/windows/lib/popupwindow.js b/desktops/hyprland/ags/windows/lib/popupwindow.js new file mode 100644 index 0000000..a242ae0 --- /dev/null +++ b/desktops/hyprland/ags/windows/lib/popupwindow.js @@ -0,0 +1,27 @@ +import { App, Widget } from '../../imports.js'; +const { Revealer, Box, Window } = Widget; + + +export default ({ + name, + child, + showClassName, + hideClassName, + ...props +}) => Window({ + name, + popup: true, + visible: false, + layer: 'overlay', + ...props, + + child: Box({ + className: `${showClassName} ${hideClassName}`, + connections: [[App, (self, currentName, visible) => { + if (currentName === name) { + self.toggleClassName(hideClassName, !visible); + } + }]], + child: child, + }), +}); \ No newline at end of file diff --git a/desktops/hyprland/ags/windows/osd.js b/desktops/hyprland/ags/windows/osd.js new file mode 100644 index 0000000..662b29e --- /dev/null +++ b/desktops/hyprland/ags/windows/osd.js @@ -0,0 +1,12 @@ +import { Widget } from '../imports.js'; +import Osd from "../modules/onscreendisplay.js"; + +export default (monitor) => Widget.Window({ + name: `indicator${monitor}`, + monitor, + className: 'indicator', + layer: 'overlay', + visible: true, + anchor: ['top'], + child: Osd(), +}); diff --git a/desktops/hyprland/ags/windows/osk.js b/desktops/hyprland/ags/windows/osk.js new file mode 100644 index 0000000..f2ad6f9 --- /dev/null +++ b/desktops/hyprland/ags/windows/osk.js @@ -0,0 +1,12 @@ +const { Gdk, Gtk } = imports.gi; +import { Widget } from '../imports.js'; +import PopupWindow from './lib/popupwindow.js'; +import OnScreenKeyboard from "../modules/onscreenkeyboard.js"; + +export default () => PopupWindow({ + anchor: ['bottom'], + name: 'osk', + showClassName: 'osk-show', + hideClassName: 'osk-hide', + child: OnScreenKeyboard(), +}); diff --git a/desktops/hyprland/ags/windows/overview.js b/desktops/hyprland/ags/windows/overview.js new file mode 100644 index 0000000..1a5464c --- /dev/null +++ b/desktops/hyprland/ags/windows/overview.js @@ -0,0 +1,18 @@ +import { Widget } from '../imports.js'; +import { SearchAndWindows } from "../modules/overview.js"; + +export default () => Widget.Window({ + name: 'overview', + exclusive: false, + focusable: true, + popup: true, + visible: false, + anchor: ['top'], + layer: 'overlay', + child: Widget.Box({ + vertical: true, + children: [ + SearchAndWindows(), + ] + }), +}) diff --git a/desktops/hyprland/ags/windows/session.js b/desktops/hyprland/ags/windows/session.js new file mode 100644 index 0000000..e1bcd91 --- /dev/null +++ b/desktops/hyprland/ags/windows/session.js @@ -0,0 +1,13 @@ +const { Gdk, Gtk } = imports.gi; +import { Widget } from '../imports.js'; +import SessionScreen from "../modules/sessionscreen.js"; + +export default () => Widget.Window({ // On-screen keyboard + name: 'session', + popup: true, + visible: false, + focusable: true, + layer: 'overlay', + // anchor: ['top', 'bottom', 'left', 'right'], + child: SessionScreen(), +}) \ No newline at end of file diff --git a/desktops/hyprland/ags/windows/sideleft.js b/desktops/hyprland/ags/windows/sideleft.js new file mode 100644 index 0000000..27199f7 --- /dev/null +++ b/desktops/hyprland/ags/windows/sideleft.js @@ -0,0 +1,11 @@ +import PopupWindow from './lib/popupwindow.js'; +import SidebarLeft from "../modules/sideleft.js"; + +export default () => PopupWindow({ + focusable: true, + anchor: ['left', 'bottom'], + name: 'sideleft', + showClassName: 'sideleft-show', + hideClassName: 'sideleft-hide', + child: SidebarLeft(), +}); diff --git a/desktops/hyprland/ags/windows/sideright.js b/desktops/hyprland/ags/windows/sideright.js new file mode 100644 index 0000000..f308d25 --- /dev/null +++ b/desktops/hyprland/ags/windows/sideright.js @@ -0,0 +1,12 @@ +import { Widget } from '../imports.js'; +import PopupWindow from './lib/popupwindow.js'; +import SidebarRight from "../modules/sideright.js"; + +export default () => PopupWindow({ + focusable: true, + anchor: ['right', 'top', 'bottom'], + name: 'sideright', + showClassName: 'sideright-show', + hideClassName: 'sideright-hide', + child: SidebarRight(), +}); diff --git a/desktops/hyprland/decoration.nix b/desktops/hyprland/decoration.nix new file mode 100644 index 0000000..dc75c12 --- /dev/null +++ b/desktops/hyprland/decoration.nix @@ -0,0 +1,18 @@ +{ + rounding = 20; + blur = { + enabled = true; + xray = true; + special = false; + + size = 6; + passes = 4; + new_optimizations = "on"; + }; + + drop_shadow = true; + shadow_range = 15; + shadow_offset = "0 2"; + shadow_render_power = 6; + "col.shadow" = "rgba(00000044)"; +} diff --git a/desktops/hyprland/foot.nix b/desktops/hyprland/foot.nix new file mode 100644 index 0000000..622f516 --- /dev/null +++ b/desktops/hyprland/foot.nix @@ -0,0 +1,45 @@ +{ + enable = true; + settings = { + main = { + shell = "fish"; + term = "foot"; + title = "Terminal"; + font = "JetBrainsMono NerdFont:size=12"; + pad = "25x25"; + }; + cursor = { + style = "beam"; + color = "191c1e e1e2e5"; + beam-thickness = 1.5; + }; + colors = { + alpha=1; + background = "191c1e"; + foreground = "e1e2e5"; + regular0 = "191c1e"; + regular1 = "ffb4a9"; + regular2 = "00668b"; + regular3 = "c3e7ff"; + regular4 = "c3e7ff"; + regular5 = "d1e5f4"; + regular6 = "79d0ff"; + regular7 = "c0c7cd"; + bright0 = "191c1e"; + bright1 = "ffb4a9"; + bright2 = "00668b"; + bright3 = "c3e7ff"; + bright4 = "c3e7ff"; + bright5 = "d1e5f4"; + bright6 = "79d0ff"; + bright7 = "c0c7cd"; + }; + key-bindings = { + scrollback-up-page = "Page_Up"; + scrollback-down-page = "Page_Down"; + clipboard-copy = "Control+c"; + clipboard-paste = "Control+v"; + search-start = "Control+f"; + }; + }; +} diff --git a/desktops/hyprland/fuzzel.nix b/desktops/hyprland/fuzzel.nix new file mode 100644 index 0000000..0d5e854 --- /dev/null +++ b/desktops/hyprland/fuzzel.nix @@ -0,0 +1,25 @@ +{ + enable = true; + settings = { + main = { + font = "Lexend"; + terminal = "foot -e"; + prompt = ">> "; + layer = "overlay"; + }; + colors = { + background = "191c1ecc"; + text = "e1e2e5ff"; + selection = "41484dff"; + selection-text = "c0c7cdff"; + border = "41484dff"; + match = "79d0ffff"; + selection-match = "79d0ffff"; + }; + border = { + radius = 17; + width = 2; + }; + dmenu.exit-immediately-if-empty = "yes"; + }; +} diff --git a/desktops/hyprland/hypr/shaders/bluefilter.frag b/desktops/hyprland/hypr/shaders/bluefilter.frag new file mode 100755 index 0000000..5469af9 --- /dev/null +++ b/desktops/hyprland/hypr/shaders/bluefilter.frag @@ -0,0 +1,20 @@ +// vim: set ft=glsl: +// blue light filter shader +// values from https://reshade.me/forum/shader-discussion/3673-blue-light-filter-similar-to-f-lux + +precision mediump float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +void main() { + + vec4 pixColor = texture2D(tex, v_texcoord); + + // green + pixColor[1] *= 0.855; + + // blue + pixColor[2] *= 0.725; + + gl_FragColor = pixColor; +} diff --git a/desktops/hyprland/hypr/shaders/blur.frag b/desktops/hyprland/hypr/shaders/blur.frag new file mode 100755 index 0000000..700dfb2 --- /dev/null +++ b/desktops/hyprland/hypr/shaders/blur.frag @@ -0,0 +1,39 @@ +precision mediump float; +varying vec2 v_texcoord; // is in 0-1 +uniform sampler2D tex; +uniform float alpha; + +uniform vec2 topLeft; +uniform vec2 fullSize; +uniform float radius; + +uniform int discardOpaque; +uniform int discardAlpha; +uniform float discardAlphaValue; + +uniform int applyTint; +uniform vec3 tint; + +uniform int primitiveMultisample; + +void main() { + + vec4 pixColor = texture2D(tex, v_texcoord); + + if (discardOpaque == 1 && pixColor[3] * alpha == 1.0) + discard; + + if (discardAlpha == 1 && pixColor[3] <= discardAlphaValue) + discard; + + if (applyTint == 1) { + pixColor[0] = pixColor[0] * tint[0]; + pixColor[1] = pixColor[1] * tint[1]; + pixColor[2] = pixColor[2] * tint[2]; + } + + )#" + + ROUNDED_SHADER_FUNC("pixColor") + R"#( + + gl_FragColor = pixColor * alpha; +} \ No newline at end of file diff --git a/desktops/hyprland/hypr/shaders/chromatic_abberation.frag b/desktops/hyprland/hypr/shaders/chromatic_abberation.frag new file mode 100755 index 0000000..5389241 --- /dev/null +++ b/desktops/hyprland/hypr/shaders/chromatic_abberation.frag @@ -0,0 +1,24 @@ +// vim: set ft=glsl: + +precision highp float; +varying highp vec2 v_texcoord; +uniform highp sampler2D tex; + +#define STRENGTH 0.0027 + +void main() { + vec2 center = vec2(0.5, 0.5); + vec2 offset = (v_texcoord - center) * STRENGTH; + + float rSquared = dot(offset, offset); + float distortion = 1.0 + 1.0 * rSquared; + vec2 distortedOffset = offset * distortion; + + vec2 redOffset = vec2(distortedOffset.x, distortedOffset.y); + vec2 blueOffset = vec2(distortedOffset.x, distortedOffset.y); + + vec4 redColor = texture2D(tex, v_texcoord + redOffset); + vec4 blueColor = texture2D(tex, v_texcoord + blueOffset); + + gl_FragColor = vec4(redColor.r, texture2D(tex, v_texcoord).g, blueColor.b, 1.0); +} diff --git a/desktops/hyprland/hypr/shaders/crt.frag b/desktops/hyprland/hypr/shaders/crt.frag new file mode 100755 index 0000000..a37ff9f --- /dev/null +++ b/desktops/hyprland/hypr/shaders/crt.frag @@ -0,0 +1,511 @@ +#version 100 +precision highp float; +varying highp vec2 v_texcoord; +varying highp vec3 v_pos; +uniform highp sampler2D tex; +uniform lowp float time; + +#define BORDER_COLOR vec4(vec3(0.0, 0.0, 0.0), 1.0) // black border +#define BORDER_RADIUS 1.0 // larger vignette radius +#define BORDER_SIZE 0.01 // small border size +#define CHROMATIC_ABERRATION_STRENGTH 0.00 +#define DENOISE_INTENSITY 0.0001 // +#define DISTORTION_AMOUNT 0.00 // moderate distortion amount +#define HDR_BLOOM 0.75 // bloom intensity +#define HDR_BRIGHTNESS 0.011 // brightness +#define HDR_CONTRAST 0.011 // contrast +#define HDR_SATURATION 1.0// saturation +#define LENS_DISTORTION_AMOUNT 0.0 +#define NOISE_THRESHOLD 0.0001 +#define PHOSPHOR_BLUR_AMOUNT 0.77 // Amount of blur for phosphor glow +#define PHOSPHOR_GLOW_AMOUNT 0.77 // Amount of phosphor glow +#define SAMPLING_RADIUS 0.0001 +#define SCANLINE_FREQUENCY 540.0 +#define SCANLINE_THICKNESS 0.0507 +#define SCANLINE_TIME time * 471.24 +#define SHARPNESS 0.25 +#define SUPERSAMPLING_SAMPLES 16.0 +#define VIGNETTE_RADIUS 0.0 // larger vignette radius +#define PI 3.14159265359 +#define TWOPI 6.28318530718 + +vec2 applyBarrelDistortion(vec2 coord, float amt) { + vec2 p = coord.xy / vec2(1.0); + vec2 v = p * 2.0 - vec2(1.0); + float r = dot(v, v); + float k = 1.0 + pow(r, 2.0) * pow(amt, 2.0); + vec2 result = v * k; + return vec2(0.5, 0.5) + 0.5 * result.xy; +} + +vec4 applyColorCorrection(vec4 color) { + color.rgb *= vec3(1.0, 0.79, 0.89); + return vec4(color.rgb, 1.0); +} + +vec4 applyBorder(vec2 tc, vec4 color, float borderSize, vec4 borderColor) { + float dist_x = min(tc.x, 1.0 - tc.x); + float dist_y = min(tc.y, 1.0 - tc.y); + float dist = min(dist_x, dist_y) * -1.0; + float border = smoothstep(borderSize, 0.0, dist); + border += smoothstep(borderSize, 0.0, dist); + return mix(color, borderColor, border); +} + +vec4 applyFakeHDR(vec4 color, float brightness, float contrast, float saturation, float bloom) { + color.rgb = (color.rgb - vec3(0.5)) * exp2(brightness) + vec3(0.5); + vec3 crtfactor = vec3(1.05, 0.92, 1.0); + color.rgb = pow(color.rgb, crtfactor); + // // NTSC + // vec3 lumCoeff = vec3(0.2125, 0.7154, 0.0721); + + // // BT.709 + // vec3 lumCoeff = vec3(0.299, 0.587, 0.114); + + // BT.2020 + vec3 lumCoeff = vec3(0.2627, 0.6780, 0.0593); + + // // Warm NTSC + // vec3 lumCoeff = vec3(0.2125, 0.7010, 0.0865); + + float luminance = dot(color.rgb, lumCoeff); + luminance = pow(luminance, 2.2); + color.rgb = mix(vec3(luminance), color.rgb, saturation); + color.rgb = mix(color.rgb, vec3(1.0), pow(max(0.0, luminance - 1.0 + bloom), 4.0)); + return color; +} + +vec4 applyVignette(vec4 color) { + vec2 center = vec2(0.5, 0.5); // center of screen + float radius = VIGNETTE_RADIUS; // radius of vignette effect + float softness = 1.0; // softness of vignette effect + float intensity = 0.7; // intensity of vignette effect + vec2 offset = v_texcoord - center; // offset from center of screen + float distance = length(offset); // distance from center of screen + float alpha = smoothstep(radius, radius - radius * softness, distance) * intensity; // calculate alpha value for vignette effect + return mix(vec4(0.0, 0.0, 0.0, alpha), color, alpha); // mix black with color using calculated alpha value +} + +vec4 applyPhosphorGlow(vec2 tc, vec4 color, sampler2D tex) { + // Calculate average color value of the texture + vec4 texelColor = color; + float averageColor = (texelColor.r + texelColor.g + texelColor.b) / 3.0; + + // Determine brightness-dependent color factor + float factor = mix( + mix(0.09, + mix(0.005, 0.0075, (averageColor - 0.1) / 0.1), + step(0.01, averageColor)), 0.0005, + step(0.02, averageColor)); + // Apply phosphor glow effect + vec4 sum = vec4(0.0); + vec4 pixels[9]; + pixels[0] = texture2D(tex, tc - vec2(0.001, 0.001)); + pixels[1] = texture2D(tex, tc - vec2(0.001, 0.0)); + pixels[2] = texture2D(tex, tc - vec2(0.001, -0.001)); + pixels[3] = texture2D(tex, tc - vec2(0.0, 0.001)); + pixels[4] = texture2D(tex, tc); + pixels[5] = texture2D(tex, tc + vec2(0.001, 0.001)); + pixels[6] = texture2D(tex, tc + vec2(0.001, 0.0)); + pixels[7] = texture2D(tex, tc + vec2(0.001, -0.001)); + pixels[8] = texture2D(tex, tc + vec2(0.0, 0.001)); + +// Perform operations on input pixels in parallel + sum = pixels[0] + + pixels[1] + + pixels[2] + + pixels[3] + + pixels[4] + + pixels[5] + + pixels[6] + + pixels[7] + + pixels[8]; + sum /= 9.0; + sum += texture2D(tex, tc - vec2(0.01, 0.01)) * 0.001; + sum += texture2D(tex, tc - vec2(0.0, 0.01)) * 0.001; + sum += texture2D(tex, tc - vec2(-0.01, 0.01)) * 0.001; + sum += texture2D(tex, tc - vec2(0.01, 0.0)) * 0.001; + sum += color * PHOSPHOR_BLUR_AMOUNT; + sum += texture2D(tex, tc - vec2(-0.01, 0.0)) * 0.001; + sum += texture2D(tex, tc - vec2(0.01, -0.01)) * 0.001; + sum += texture2D(tex, tc - vec2(0.0, -0.01)) * 0.001; + sum += texture2D(tex, tc - vec2(-0.01, -0.01)) * 0.001; + sum *= PHOSPHOR_GLOW_AMOUNT; + + // Initialize sum_sum_factor to zero + vec4 sum_sum_factor = vec4(0.0); + // Compute sum_j for i = -1 + vec4 sum_j = vec4(0.0); + sum_j += texture2D(tex, tc + vec2(-1, -1) * 0.01); + sum_j += texture2D(tex, tc + vec2(0, -1) * 0.01); + sum_j += texture2D(tex, tc + vec2(1, -1) * 0.01); + sum_j += texture2D(tex, tc + vec2(-1, 0) * 0.01); + sum_j += texture2D(tex, tc + vec2(0, 0) * 0.01); + sum_j += texture2D(tex, tc + vec2(1, 0) * 0.01); + sum_j += texture2D(tex, tc + vec2(-1, 1) * 0.01); + sum_j += texture2D(tex, tc + vec2(0, 1) * 0.01); + sum_j += texture2D(tex, tc + vec2(1, 1) * 0.01); + sum_sum_factor += sum_j * vec4(0.011); + + // Compute sum_j for i = 0 + sum_j = vec4(0.0); + sum_j += texture2D(tex, tc + vec2(-1, 0) * 0.01); + sum_j += texture2D(tex, tc + vec2(0, 0) * 0.01); + sum_j += texture2D(tex, tc + vec2(1, 0) * 0.01); + sum_j += texture2D(tex, tc + vec2(-1, 1) * 0.01); + sum_j += texture2D(tex, tc + vec2(0, 1) * 0.01); + sum_j += texture2D(tex, tc + vec2(1, 1) * 0.01); + sum_sum_factor += sum_j * vec4(0.011); + + // Compute sum_j for i = 1 + sum_j = vec4(0.0); + sum_j += texture2D(tex, tc + vec2(-1, 0) * 0.01); + sum_j += texture2D(tex, tc + vec2(0, 1) * 0.01); + sum_j += texture2D(tex, tc + vec2(1, 0) * 0.01); + sum_j += texture2D(tex, tc + vec2(-1, 1) * 0.01); + sum_j += texture2D(tex, tc + vec2(0, 1) * 0.01); + sum_j += texture2D(tex, tc + vec2(1, 1) * 0.01); + sum_sum_factor += sum_j * vec4(0.011); + color += mix(sum_sum_factor * sum_sum_factor * vec4(factor), sum, 0.5); + return color; +} + +vec4 applyAdaptiveSharpen(vec2 tc, vec4 color, sampler2D tex) { + vec4 color_tl = texture2D(tex, tc + vec2(-1.0, -1.0) * 0.5 / 2160.0); + vec4 color_tr = texture2D(tex, tc + vec2(1.0, -1.0) * 0.5 / 2160.0); + vec4 color_bl = texture2D(tex, tc + vec2(-1.0, 1.0) * 0.5 / 2160.0); + vec4 color_br = texture2D(tex, tc + vec2(1.0, 1.0) * 0.5 / 2160.0); + float sharpness = SHARPNESS; + vec3 color_no_alpha = color.rgb; + vec3 color_tl_no_alpha = color_tl.rgb; + vec3 color_tr_no_alpha = color_tr.rgb; + vec3 color_bl_no_alpha = color_bl.rgb; + vec3 color_br_no_alpha = color_br.rgb; + float delta = (dot(color_no_alpha, vec3(0.333333)) + dot(color_tl_no_alpha, vec3(0.333333)) + dot(color_tr_no_alpha, vec3(0.333333)) + dot(color_bl_no_alpha, vec3(0.333333)) + dot(color_br_no_alpha, vec3(0.333333))) * 0.2 - dot(color_no_alpha, vec3(0.333333)); + vec3 sharp_color_no_alpha = color_no_alpha + min(vec3(0.0), vec3(delta * sharpness)); + vec4 sharp_color = vec4(sharp_color_no_alpha, color.a); + return sharp_color; +} + +vec4 applyScanlines(vec2 tc, vec4 color) { + float scanline = (cos(tc.y * SCANLINE_FREQUENCY + SCANLINE_TIME) * + sin(tc.y * SCANLINE_FREQUENCY + SCANLINE_TIME)) * SCANLINE_THICKNESS; + float alpha = clamp(1.0 - abs(scanline), 0.0, 1.0); + return vec4(color.rgb * alpha, color.a); +} + +vec4 applyChromaticAberration(vec2 uv, vec4 color) { + vec2 center = vec2(0.5, 0.5); // center of the screen + vec2 offset = (uv - center) * CHROMATIC_ABERRATION_STRENGTH; // calculate the offset from the center + + // apply lens distortion + float rSquared = dot(offset, offset); + float distortion = 1.0 + LENS_DISTORTION_AMOUNT * rSquared; + vec2 distortedOffset = offset * distortion; + + // apply chromatic aberration + vec2 redOffset = vec2(distortedOffset.x * 1.00, distortedOffset.y * 1.00); + vec2 blueOffset = vec2(distortedOffset.x * 1.00, distortedOffset.y * 1.00); + + vec4 redColor = texture2D(tex, uv + redOffset); + vec4 blueColor = texture2D(tex, uv + blueOffset); + + vec4 result = vec4(redColor.r, color.g, blueColor.b, color.a); + + return result; +} + +vec4 reduceGlare(vec4 color) { + // Calculate the intensity of the color by taking the average of the RGB components + float intensity = (color.r + color.g + color.b) / 3.0; + // Set the maximum intensity that can be considered for glare + float maxIntensity = 0.98; + // Use smoothstep to create a smooth transition from no glare to full glare + // based on the intensity of the color and the maximum intensity + float glareIntensity = smoothstep(maxIntensity - 0.02, maxIntensity, intensity); + // Set the amount of glare to apply to the color + float glareAmount = 0.02; + // Mix the original color with the reduced color that has glare applied to it + vec3 reducedColor = mix(color.rgb, vec3(glareIntensity), glareAmount); + // Return the reduced color with the original alpha value + return vec4(reducedColor, color.a); +} + +// Apply a fake HDR effect to the input color. +// Parameters: +// - inputColor: the color to apply the effect to. +// - brightness: the brightness of the image. Should be a value between 0 and 1. +// - contrast: the contrast of the image. Should be a value between 0 and 1. +// - saturation: the saturation of the image. Should be a value between 0 and 2. +// - bloom: the intensity of the bloom effect. Should be a value between 0 and 1. +vec4 applyFakeHDREffect(vec4 inputColor, float brightness, float contrast, float saturation, float bloom) { + const float minBrightness = 0.0; + const float maxBrightness = 1.0; + const float minContrast = 0.0; + const float maxContrast = 1.0; + const float minSaturation = 0.0; + const float maxSaturation = 2.0; + const float minBloom = 0.0; + const float maxBloom = 1.0; + + // Check input parameters for validity + if (brightness < minBrightness || brightness > maxBrightness) { + return vec4(0.0, 0.0, 0.0, 1.0); // Return black with alpha of 1.0 to indicate error + } + if (contrast < minContrast || contrast > maxContrast) { + return vec4(0.0, 0.0, 0.0, 1.0); + } + if (saturation < minSaturation || saturation > maxSaturation) { + return vec4(0.0, 0.0, 0.0, 1.0); + } + if (bloom < minBloom || bloom > maxBloom) { + return vec4(0.0, 0.0, 0.0, 1.0); + } + + // Apply brightness and contrast + vec3 color = inputColor.rgb; + color = (color - vec3(0.5)) * exp2(brightness * 10.0) + vec3(0.5); + color = mix(vec3(0.5), color, pow(contrast * 4.0 + 1.0, 2.0)); + + // // NTSC + // vec3 lumCoeff = vec3(0.2125, 0.7154, 0.0721); + + // // BT.709 + // vec3 lumCoeff = vec3(0.299, 0.587, 0.114); + + // // BT.2020 + // vec3 lumCoeff = vec3(0.2627, 0.6780, 0.0593); + + // Warm NTSC + vec3 lumCoeff = vec3(0.2125, 0.7010, 0.0865); + + // Apply saturation + float luminance = dot(color, lumCoeff); + vec3 grey = vec3(luminance); + color = mix(grey, color, saturation); + + // Apply bloom effect + float threshold = 1.0 - bloom; + vec3 bloomColor = max(color - threshold, vec3(0.0)); + bloomColor = pow(bloomColor, vec3(2.0)); + bloomColor = mix(vec3(0.0), bloomColor, pow(min(luminance, threshold), 4.0)); + color += bloomColor; + + return vec4(color, inputColor.a); +} + +vec4 bilateralFilter(sampler2D tex, vec2 uv, vec4 color, float sampleRadius, float noiseThreshold, float intensity) { + vec4 filteredColor = vec4(0.0); + float totalWeight = 0.0; + + // Top-left pixel + vec4 sample = texture2D(tex, uv + vec2(-1.0, -1.0)); + float dist = length(vec2(-1.0, -1.0)); + float colorDist = length(sample - color); + float weight = exp(-0.5 * (dist * dist + colorDist * colorDist * intensity) / (sampleRadius * sampleRadius)); + filteredColor += sample * weight; + totalWeight += weight; + + // Top pixel + sample = texture2D(tex, uv + vec2(0.0, -1.0)); + dist = length(vec2(0.0, -1.0)); + colorDist = length(sample - color); + weight = exp(-0.5 * (dist * dist + colorDist * colorDist * intensity) / (sampleRadius * sampleRadius)); + filteredColor += sample * weight; + totalWeight += weight; + + // Top-right pixel + sample = texture2D(tex, uv + vec2(1.0, -1.0)); + dist = length(vec2(1.0, -1.0)); + colorDist = length(sample - color); + weight = exp(-0.5 * (dist * dist + colorDist * colorDist * intensity) / (sampleRadius * sampleRadius)); + filteredColor += sample * weight; + totalWeight += weight; + + // Left pixel + sample = texture2D(tex, uv + vec2(-1.0, 0.0)); + dist = length(vec2(-1.0, 0.0)); + colorDist = length(sample - color); + weight = exp(-0.5 * (dist * dist + colorDist * colorDist * intensity) / (sampleRadius * sampleRadius)); + filteredColor += sample * weight; + totalWeight += weight; + + // Center pixel + sample = texture2D(tex, uv); + dist = 0.0; + colorDist = length(sample - color); + weight = exp(-0.5 * (dist * dist + colorDist * colorDist * intensity) / (sampleRadius * sampleRadius)); + filteredColor += sample * weight; + totalWeight += weight; + + // Right pixel + sample = texture2D(tex, uv + vec2(1.0, 0.0)); + dist = length(vec2(1.0, 0.0)); + colorDist = length(sample - color); + weight = exp(-0.5 * (dist * dist + colorDist * colorDist * intensity) / (sampleRadius * sampleRadius)); + filteredColor += sample * weight; + totalWeight += weight; + + // Bottom-left pixel + sample = texture2D(tex, uv + vec2(-1.0, 1.0)); + dist = length(vec2(-1.0, 1.0)); + colorDist = length(sample - color); + weight = exp(-0.5 * (dist * dist + colorDist * colorDist * intensity) / (sampleRadius * sampleRadius)); + filteredColor += sample * weight; + totalWeight += weight; + +// Bottom pixel + sample = texture2D(tex, uv + vec2(0.0, sampleRadius)); + dist = length(vec2(0.0, sampleRadius)); + colorDist = length(sample - color); + weight = exp(-0.5 * (dist * dist + colorDist * colorDist * intensity) / (sampleRadius * sampleRadius)); + filteredColor += sample * weight; + totalWeight += weight; + + filteredColor /= totalWeight; + return mix(color, filteredColor, step(noiseThreshold, length(filteredColor - color))); +} + +vec4 supersample(sampler2D tex, vec2 uv, float sampleRadius, float noiseThreshold, float intensity) { + float radiusSq = sampleRadius * sampleRadius; + vec2 poissonDisk; + vec4 color = vec4(0.0); + + float r1_0 = sqrt(0.0 / 16.0); + float r2_0 = fract(1.0 / 3.0); + float theta_0 = TWOPI * r2_0; + poissonDisk = vec2(r1_0 * cos(theta_0), r1_0 * sin(theta_0)); + color += texture2D(tex, uv + poissonDisk * sampleRadius); + + float r1_1 = sqrt(1.0 / 16.0); + float r2_1 = fract(2.0 / 3.0); + float theta_1 = TWOPI * r2_1; + poissonDisk = vec2(r1_1 * cos(theta_1), r1_1 * sin(theta_1)); + color += texture2D(tex, uv + poissonDisk * sampleRadius); + + float r1_2 = sqrt(2.0 / 16.0); + float r2_2 = fract(3.0 / 3.0); + float theta_2 = TWOPI * r2_2; + poissonDisk = vec2(r1_2 * cos(theta_2), r1_2 * sin(theta_2)); + color += texture2D(tex, uv + poissonDisk * sampleRadius); + + float r1_3 = sqrt(3.0 / 16.0); + float r2_3 = fract(4.0 / 3.0); + float theta_3 = TWOPI * r2_3; + poissonDisk = vec2(r1_3 * cos(theta_3), r1_3 * sin(theta_3)); + color += texture2D(tex, uv + poissonDisk * sampleRadius); + + float r1_4 = sqrt(4.0 / 16.0); + float r2_4 = fract(5.0 / 3.0); + float theta_4 = TWOPI * r2_4; + poissonDisk = vec2(r1_4 * cos(theta_4), r1_4 * sin(theta_4)); + color += texture2D(tex, uv + poissonDisk * sampleRadius); + + float r1_5 = sqrt(5.0 / 16.0); + float r2_5 = fract(6.0 / 3.0); + float theta_5 = TWOPI * r2_5; + poissonDisk = vec2(r1_5 * cos(theta_5), r1_5 * sin(theta_5)); + color += texture2D(tex, uv + poissonDisk * sampleRadius); + + float r1_6 = sqrt(6.0 / 16.0); + float r2_6 = fract(7.0 / 3.0); + float theta_6 = TWOPI * r2_6; + poissonDisk = vec2(r1_6 * cos(theta_6), r1_6 * sin(theta_6)); + color += texture2D(tex, uv + poissonDisk * sampleRadius); + + float r1_7 = sqrt(7.0 / 16.0); + float r2_7 = fract(8.0 / 3.0); + float theta_7 = TWOPI * r2_7; + poissonDisk = vec2(r1_7 * cos(theta_7), r1_7 * sin(theta_7)); + color += texture2D(tex, uv + poissonDisk * sampleRadius); + + float r1_8 = sqrt(8.0 / 16.0); + float r2_8 = fract(9.0 / 3.0); + float theta_8 = TWOPI * r2_8; + poissonDisk = vec2(r1_8 * cos(theta_8), r1_8 * sin(theta_8)); + color += texture2D(tex, uv + poissonDisk * sampleRadius); + + float r1_9 = sqrt(9.0 / 16.0); + float r2_9 = fract(10.0 / 3.0); + float theta_9 = TWOPI * r2_9; + poissonDisk = vec2(r1_9 * cos(theta_9), r1_9 * sin(theta_9)); + color += texture2D(tex, uv + poissonDisk * sampleRadius); + + float r1_10 = sqrt(10.0 / 16.0); + float r2_10 = fract(11.0 / 3.0); + float theta_10 = TWOPI * r2_10; + poissonDisk = vec2(r1_10 * cos(theta_10), r1_10 * sin(theta_10)); + color += texture2D(tex, uv + poissonDisk * sampleRadius); + + float r1_11 = sqrt(11.0 / 16.0); + float r2_11 = fract(12.0 / 3.0); + float theta_11 = TWOPI * r2_11; + poissonDisk = vec2(r1_11 * cos(theta_11), r1_11 * sin(theta_11)); + color += texture2D(tex, uv + poissonDisk * sampleRadius); + + float r1_12 = sqrt(12.0 / 16.0); + float r2_12 = fract(13.0 / 3.0); + float theta_12 = TWOPI * r2_12; + poissonDisk = vec2(r1_12 * cos(theta_12), r1_12 * sin(theta_12)); + color += texture2D(tex, uv + poissonDisk * sampleRadius); + + float r1_13 = sqrt(13.0 / 16.0); + float r2_13 = fract(14.0 / 3.0); + float theta_13 = TWOPI * r2_13; + poissonDisk = vec2(r1_13 * cos(theta_13), r1_13 * sin(theta_13)); + color += texture2D(tex, uv + poissonDisk * sampleRadius); + + float r1_14 = sqrt(14.0 / 16.0); + float r2_14 = fract(15.0 / 3.0); + float theta_14 = TWOPI * r2_14; + poissonDisk = vec2(r1_14 * cos(theta_14), r1_14 * sin(theta_14)); + color += texture2D(tex, uv + poissonDisk * sampleRadius); + + float r1_15 = sqrt(15.0 / 16.0); + float r2_15 = fract(16.0 / 3.0); + float theta_15 = TWOPI * r2_15; + poissonDisk = vec2(r1_15 * cos(theta_15), r1_15 * sin(theta_15)); + color += texture2D(tex, uv + poissonDisk * sampleRadius); + + return bilateralFilter(tex, uv, color, sampleRadius, noiseThreshold, intensity); +} +void main() { + vec2 tc_no_dist = v_texcoord; + + vec2 tc = applyBarrelDistortion(tc_no_dist, DISTORTION_AMOUNT); + + // [-1, 1] + vec2 tc_no_dist_symmetric = tc_no_dist * 2.0 - 1.0; + + // [0,1] + vec2 tc_no_dist_normalized = (tc_no_dist_symmetric + 1.0) / 2.0; + + // vec4 color = texture2D(tex, tc); + vec4 color = supersample(tex, tc, SAMPLING_RADIUS, NOISE_THRESHOLD, DENOISE_INTENSITY); + + color = applyAdaptiveSharpen(tc, color, tex); + + color = applyPhosphorGlow(tc, color, tex); + + color = reduceGlare(color); + + color = mix(applyFakeHDREffect(color, HDR_BRIGHTNESS, HDR_CONTRAST, HDR_SATURATION, HDR_BLOOM), color, 0.5); + + color = applyColorCorrection(color); + + color /= SUPERSAMPLING_SAMPLES; + + color = mix(applyChromaticAberration(tc, color), color, 0.25); + + color = mix(color, applyVignette(color), 0.37); + + color = applyBorder(tc_no_dist_normalized, color, 1.0 - BORDER_SIZE * BORDER_RADIUS, BORDER_COLOR); + + color = mix(applyBorder(tc, color, BORDER_SIZE, BORDER_COLOR), color, 0.05); + + color = applyScanlines(tc, color); + + gl_FragColor = color; + gl_FragColor.a = 1.0; +} + diff --git a/desktops/hyprland/hypr/shaders/drugs.frag b/desktops/hyprland/hypr/shaders/drugs.frag new file mode 100755 index 0000000..1190ed0 --- /dev/null +++ b/desktops/hyprland/hypr/shaders/drugs.frag @@ -0,0 +1,42 @@ + +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; +uniform float time; + +void warpco(inout vec2 tc) { + tc -= 0.5; + tc *= length(tc) * 2.0; + tc += 0.5; +} + +float rand1d(float seed) { + return sin(seed*1454.0); +} + +float rand2d(vec2 co) +{ + return fract(sin(dot(co.xy, vec2(12.9898,78.233))) * 43758.5453); +} + +vec3 rgb(in vec2 tc, float freq, float amp, inout vec4 centre) { + vec2 off = vec2(1.0/800.0, 0.0) * sin(tc.t * freq + time) * amp; + vec2 off2 = vec2(1.0/800.0, 0.0) * sin(tc.t * freq - time * 1.5) * amp; + centre = texture2D(tex, tc); + return vec3(texture2D(tex, tc-off).r, centre.g, texture2D(tex, tc+off2).b); +} + +void main() { + // vec2 px = 1.0 / textureSize(tex, 0).st; + vec2 tc = v_texcoord; + warpco(tc); + tc = mix(v_texcoord, tc, sin(time * 2.0)*0.07); + tc.x += rand2d(floor(tc * 20.0 + floor(time * 2.5))) * 0.01; + tc.x += rand1d(floor(tc.x * 40.0)) * 0.005 * rand1d(time * 0.001); + tc.y += sin(tc.x + time) * 0.02; + vec4 centre; + vec3 bent = rgb(tc, 100.0, 5.0, centre); + vec3 col = mix(centre.rgb, bent, sin(time)); + gl_FragColor = vec4(col, centre.a); + // gl_FragColor = vec4(texture2D(tex, v_texcoord)); +} \ No newline at end of file diff --git a/desktops/hyprland/hypr/shaders/extradark.frag b/desktops/hyprland/hypr/shaders/extradark.frag new file mode 100755 index 0000000..089ee81 --- /dev/null +++ b/desktops/hyprland/hypr/shaders/extradark.frag @@ -0,0 +1,21 @@ +// vim: set ft=glsl: +// blue light filter shader +// values from https://reshade.me/forum/shader-discussion/3673-blue-light-filter-similar-to-f-lux + +precision mediump float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +void main() { + + vec4 pixColor = texture2D(tex, v_texcoord); + + // red + pixColor[0] *= 0.7; + // green + pixColor[1] *= 0.6; + // blue + pixColor[2] *= 0.5; + + gl_FragColor = pixColor; +} diff --git a/desktops/hyprland/hypr/shaders/gaussian.frag b/desktops/hyprland/hypr/shaders/gaussian.frag new file mode 100755 index 0000000..c4b9e0e --- /dev/null +++ b/desktops/hyprland/hypr/shaders/gaussian.frag @@ -0,0 +1,31 @@ +//--------------------------------------------------------------------------- +// Fragment +//--------------------------------------------------------------------------- +#version 420 core +//--------------------------------------------------------------------------- +precision mediump float; +in vec2 pos; // screen position <-1,+1> +out vec4 gl_FragColor; // fragment output color +uniform sampler2D txr; // texture to blur +uniform float xs,ys; // texture resolution +uniform float r = 6.0; // blur radius + +varying vec2 v_texcoord; +uniform sampler2D tex; +//--------------------------------------------------------------------------- +void main() + { + float x,y,xx,yy,rr=r*r,dx,dy,w,w0; + w0=0.3780/pow(r,1.975); + vec2 p; + vec4 pixColor = texture2D(tex, v_texcoord); + for (dx=1.0/xs,x=-r,p.x=0.5+(pos.x*0.5)+(x*dx);x<=r;x++,p.x+=dx){ xx=x*x; + for (dy=1.0/ys,y=-r,p.y=0.5+(pos.y*0.5)+(y*dy);y<=r;y++,p.y+=dy){ yy=y*y; + if (xx+yy<=rr) + { + w=w0*exp((-xx-yy)/(2.0*rr)); + pixColor+=texture2D(txr,p)*w; + }}} + gl_FragColor = pixColor; + } +//--------------------------------------------------------------------------- diff --git a/desktops/hyprland/hypr/shaders/motion-blur.frag b/desktops/hyprland/hypr/shaders/motion-blur.frag new file mode 100755 index 0000000..f0770de --- /dev/null +++ b/desktops/hyprland/hypr/shaders/motion-blur.frag @@ -0,0 +1,28 @@ +// vim: set ft=glsl: + +precision mediump float; +varying vec2 v_texcoord; +uniform sampler2D tex; +uniform float blurFactor; +uniform vec2 resolution; + +const int numSamples = 120000; + +uniform sampler2D accumulator; + +void main() { + float blurFactor = 120000.0; + + vec4 currentColor = texture2D(tex, v_texcoord); + vec4 prevColor = texture2D(accumulator, v_texcoord); + + vec2 velocity = (v_texcoord - gl_FragCoord.xy / resolution) * 2.0; + + vec4 colorDiff = currentColor - prevColor; + + float motionBlur = length(velocity) * blurFactor; + + vec4 finalColor = prevColor + colorDiff * 2.0; + + gl_FragColor = finalColor; +} \ No newline at end of file diff --git a/desktops/hyprland/hypr/shaders/nothing.frag b/desktops/hyprland/hypr/shaders/nothing.frag new file mode 100755 index 0000000..163e600 --- /dev/null +++ b/desktops/hyprland/hypr/shaders/nothing.frag @@ -0,0 +1,14 @@ +// vim: set ft=glsl: +// blue light filter shader +// values from https://reshade.me/forum/shader-discussion/3673-blue-light-filter-similar-to-f-lux + +precision mediump float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +void main() { + + vec4 pixColor = texture2D(tex, v_texcoord); + + gl_FragColor = pixColor; +} diff --git a/desktops/hyprland/hypr/shaders/solarized.frag b/desktops/hyprland/hypr/shaders/solarized.frag new file mode 100755 index 0000000..1c37f2c --- /dev/null +++ b/desktops/hyprland/hypr/shaders/solarized.frag @@ -0,0 +1,41 @@ +// -*- mode:c -*- +precision lowp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +float distanceSquared(vec3 pixColor, vec3 solarizedColor) { + vec3 distanceVector = pixColor - solarizedColor; + return dot(distanceVector, distanceVector); +} + +void main() { + vec3 solarized[16]; + solarized[0] = vec3(0.,0.169,0.212); + solarized[1] = vec3(0.027,0.212,0.259); + solarized[2] = vec3(0.345,0.431,0.459); + solarized[3] = vec3(0.396,0.482,0.514); + solarized[4] = vec3(0.514,0.58,0.588); + solarized[5] = vec3(0.576,0.631,0.631); + solarized[6] = vec3(0.933,0.91,0.835); + solarized[7] = vec3(0.992,0.965,0.89); + solarized[8] = vec3(0.71,0.537,0.); + solarized[9] = vec3(0.796,0.294,0.086); + solarized[10] = vec3(0.863,0.196,0.184); + solarized[11] = vec3(0.827,0.212,0.51); + solarized[12] = vec3(0.424,0.443,0.769); + solarized[13] = vec3(0.149,0.545,0.824); + solarized[14] = vec3(0.165,0.631,0.596); + solarized[15] = vec3(0.522,0.6,0.); + + vec3 pixColor = vec3(texture2D(tex, v_texcoord)); + int closest = 0; + float closestDistanceSquared = distanceSquared(pixColor, solarized[0]); + for (int i = 1; i < 15; i++) { + float newDistanceSquared = distanceSquared(pixColor, solarized[i]); + if (newDistanceSquared < closestDistanceSquared) { + closest = i; + closestDistanceSquared = newDistanceSquared; + } + } + gl_FragColor = vec4(solarized[closest], 1.); +} diff --git a/desktops/hyprland/hypr/shaders/vibrance.frag b/desktops/hyprland/hypr/shaders/vibrance.frag new file mode 100755 index 0000000..5d3d488 --- /dev/null +++ b/desktops/hyprland/hypr/shaders/vibrance.frag @@ -0,0 +1,39 @@ +// vibrance for hyprland + +precision mediump float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +// see https://github.com/CeeJayDK/SweetFX/blob/a792aee788c6203385a858ebdea82a77f81c67f0/Shaders/Vibrance.fx#L20-L30 +const vec3 VIB_RGB_BALANCE = vec3(1.0, 1.0, 1.0); +const float VIB_VIBRANCE = 0.15; + + +const vec3 VIB_coeffVibrance = VIB_RGB_BALANCE * -VIB_VIBRANCE; + +void main() { + + vec4 pixColor = texture2D(tex, v_texcoord); + + // RGB + vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]); + + + // vec3 VIB_coefLuma = vec3(0.333333, 0.333334, 0.333333); // was for `if VIB_LUMA == 1` + vec3 VIB_coefLuma = vec3(0.212656, 0.715158, 0.072186); // try both and see which one looks nicer. + + float luma = dot(VIB_coefLuma, color); + + float max_color = max(color[0], max(color[1], color[2])); + float min_color = min(color[0], min(color[1], color[2])); + + float color_saturation = max_color - min_color; + + vec3 p_col = vec3(vec3(vec3(vec3(sign(VIB_coeffVibrance) * color_saturation) - 1.0) * VIB_coeffVibrance) + 1.0); + + pixColor[0] = mix(luma, color[0], p_col[0]); + pixColor[1] = mix(luma, color[1], p_col[1]); + pixColor[2] = mix(luma, color[2], p_col[2]); + + gl_FragColor = pixColor; +} \ No newline at end of file diff --git a/desktops/hyprland/hyprland.nix b/desktops/hyprland/hyprland.nix index 0e047f3..8e2fe4c 100644 --- a/desktops/hyprland/hyprland.nix +++ b/desktops/hyprland/hyprland.nix @@ -18,6 +18,17 @@ "swww init" "swww img ~/Pictures/Wallpapers/wallpaper.jpg --transition-type center" ]; + general = { + gaps_in = 4; + gaps_out = 5; + border_size = 1; + + "col.active_border" = "rgba(0DB7D4FF)"; + "col.inactive_border" = "rgba(31313600)"; + + layout = "dwindle"; + }; + dwindle.preserve_split = true; input = { accel_profile = "flat"; }; @@ -28,14 +39,22 @@ ]; monitor = import ./monitors.nix; windowrule = [ - "pseudo,^(alacritty)$" + "pseudo,^(Alacritty)$" ]; + layerrule = import ./layerrules.nix; + decoration = import ./decoration.nix; }; }; services.dunst = import ./dunst.nix; + programs.ags = { + enable = true; + configDir = ./ags; + }; + programs.fuzzel = import ./fuzzel.nix; programs.alacritty.enable = true; + programs.foot = import ./foot.nix; programs.waybar = import ./waybar.nix; programs.wofi = import ./wofi.nix; programs.swaylock = import ./swaylock.nix; @@ -43,8 +62,14 @@ home.packages = with pkgs; [ xwaylandvideobridge hyprpicker + wl-clipboard wttrbar swww + # ags + glib + brightnessctl + ydotool + sassc ]; gtk = { @@ -73,5 +98,10 @@ || echo "not on tty1, letting in" ''; }; + + home.file.".config/hypr/shaders" = { + source = ./hypr/shaders; + recursive = true; + }; } diff --git a/desktops/hyprland/layerrules.nix b/desktops/hyprland/layerrules.nix new file mode 100644 index 0000000..6c0bb49 --- /dev/null +++ b/desktops/hyprland/layerrules.nix @@ -0,0 +1,34 @@ +[ + "noanim, .*" + "xray 1, .*" + + "noanim, noanim" + "blur, noanim" + "blur, gtk-layer-shell" + "ignorezero, gtk-layer-shell" + "blur, launcher" + "ignorealpha 0.5, launcher" + "blur, notifications" + "ignorealpha 0.69, notifications" + + # ags + "blur, bar" + "ignorealpha 0.64, bar" + "blur, corner.*" + "ignorealpha 0.69, corner.*" + "blur, indicator.*" + "ignorealpha 0.69, indicator.*" + "blur, overview" + "ignorealpha 0.69, overview" + "blur, cheatsheet" + "ignorealpha 0.69, cheatsheet" + "blur, sideright" + "ignorealpha 0.69, sideright" + "blur, sideleft" + "ignorealpha 0.69, sideleft" + "blur, indicatorundefined" + "ignorealpha 0.69, indicatorundefined" + "blur, osk" + "ignorealpha 0.69, osk" + "blur, session" +] diff --git a/desktops/hyprland/waybar.nix b/desktops/hyprland/waybar.nix index aed09a9..80c0bdc 100644 --- a/desktops/hyprland/waybar.nix +++ b/desktops/hyprland/waybar.nix @@ -6,11 +6,15 @@ position = "top"; height = 48; output = "HDMI-A-1"; + modules-left = [ "wlr/workspaces" ]; modules-center = [ "wlr/taskbar" ]; modules-right = [ "custom/weather" "clock" ]; "wlr/taskbar" = { all-outputs = true; + format = "{icon}"; + icon-size = 32; + on-click = "activate"; }; "custom/weather" = { @@ -20,6 +24,15 @@ exec = "wttrbar --location Berlin"; return-type = "json"; }; + + "wlr/workspaces" = { + all-outputs = true; + format = "{icon}\n{windows}"; + format-window-separator = "\n"; + window-rewrite = { + "(.*) — Mozilla Firefox" = ""; + }; + }; }; }; style = ''

`3qUIas{1u}g_XF5Mj=Oyv} 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�N?Bs?2k>^|Wh%ZNzf#?X@{CO$ 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ĊnOGY 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