diff --git a/ags/HyprPanel/.eslintignore b/ags/HyprPanel/.eslintignore deleted file mode 100644 index 980d7f4..0000000 --- a/ags/HyprPanel/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -types -node_modules diff --git a/ags/HyprPanel/.eslintrc.js b/ags/HyprPanel/.eslintrc.js deleted file mode 100644 index b650cfe..0000000 --- a/ags/HyprPanel/.eslintrc.js +++ /dev/null @@ -1,25 +0,0 @@ -module.exports = { - parser: '@typescript-eslint/parser', - parserOptions: { - project: 'tsconfig.json', - tsconfigRootDir: __dirname, - sourceType: 'module', - }, - plugins: ['@typescript-eslint', 'import'], - extends: ['plugin:@typescript-eslint/recommended', 'plugin:prettier/recommended'], - root: true, - ignorePatterns: ['.eslintrc.js', 'types/**/*.ts', 'scripts/**/*.js'], - env: { - es6: true, - browser: true, - }, - rules: { - '@typescript-eslint/interface-name-prefix': 'off', - '@typescript-eslint/explicit-function-return-type': 'error', - '@typescript-eslint/explicit-module-boundary-types': 'error', - '@typescript-eslint/no-explicit-any': 'error', - 'import/extensions': ['off'], - 'import/no-unresolved': 'off', - quotes: ['error', 'single', { avoidEscape: true, allowTemplateLiterals: true }], - }, -}; diff --git a/ags/HyprPanel/.github/ISSUE_TEMPLATE/bug_report.md b/ags/HyprPanel/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index e41ef8d..0000000 --- a/ags/HyprPanel/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -name: Bug report -about: Create a report to help HyprPanel improve -title: '' -labels: '' -assignees: '' - ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Desktop (please complete the following information):** - - Distribution: [e.g. Arch Linux] - - Window Manager/Desktop Environment: [e.g. Hyprland] - -**Additional context** -Add any other context about the problem here. diff --git a/ags/HyprPanel/.github/ISSUE_TEMPLATE/feature_request.md b/ags/HyprPanel/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index bbcbbe7..0000000 --- a/ags/HyprPanel/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: '' -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/ags/HyprPanel/.github/workflows/ci.yml b/ags/HyprPanel/.github/workflows/ci.yml deleted file mode 100644 index 27ec51a..0000000 --- a/ags/HyprPanel/.github/workflows/ci.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: CI - -on: - pull_request: - branches: - - master - -jobs: - code_quality: - runs-on: ubuntu-latest - - steps: - - name: Checkout main repository - uses: actions/checkout@v3 - - - name: Clone ags-types to temp dir - uses: actions/checkout@v3 - with: - repository: Jas-SinghFSU/ags-types - path: temp-ags-types - - - name: Copy types to types/ - run: | - rm -rf types - mkdir -p types - cp -R temp-ags-types/types/* types/ - rm -rf temp-ags-types - - - name: Node Setup - uses: actions/setup-node@v3 - with: - node-version: '21' - - - name: Install Dependencies - run: npm install - - - name: ESLint - run: npm run lint - - - name: Type Check - run: npx tsc --noEmit --pretty --extendedDiagnostics diff --git a/ags/HyprPanel/.gitignore b/ags/HyprPanel/.gitignore deleted file mode 100644 index 9144fba..0000000 --- a/ags/HyprPanel/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -.weather.json -node_modules diff --git a/ags/HyprPanel/.gitmodules b/ags/HyprPanel/.gitmodules deleted file mode 100644 index b165aa5..0000000 --- a/ags/HyprPanel/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "external/ags-types"] - path = external/ags-types - url = https://github.com/Jas-SinghFSU/ags-types.git diff --git a/ags/HyprPanel/.prettierignore b/ags/HyprPanel/.prettierignore deleted file mode 100644 index 97843e6..0000000 --- a/ags/HyprPanel/.prettierignore +++ /dev/null @@ -1,2 +0,0 @@ -.eslintrc.js -types/**/*.ts diff --git a/ags/HyprPanel/.prettierrc b/ags/HyprPanel/.prettierrc deleted file mode 100644 index 6e88f12..0000000 --- a/ags/HyprPanel/.prettierrc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "singleQuote": true, - "semi": true, - "trailingComma": "all", - "printWidth": 120, - "tabWidth": 4, - "useTabs": false -} diff --git a/ags/HyprPanel/LICENSE b/ags/HyprPanel/LICENSE deleted file mode 100644 index 75c0349..0000000 --- a/ags/HyprPanel/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2024 Jas Singh - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/ags/HyprPanel/README.md b/ags/HyprPanel/README.md deleted file mode 100644 index bca09ea..0000000 --- a/ags/HyprPanel/README.md +++ /dev/null @@ -1,317 +0,0 @@ -

- - Hyprpanel logo - -

-
-

- wiki - discord chat -

-
- -# HyprPanel 🚀 - -A panel built for Hyprland with [AGS](https://github.com/Aylur/ags) - -![HyprPanel1](./assets/hp1.png) -![HyprPanel2](./assets/hp2.png) - -## Installation - -The [HyprPanel Wiki](https://hyprpanel.com/getting_started/installation.html) contains in depth instructions for installing the panel and all of its dependencies. The instructions below are general instructions for installing the panel. - -## Requirements - -Bun - -```sh -curl -fsSL https://bun.sh/install | bash && \ - sudo ln -s $HOME/.bun/bin/bun /usr/local/bin/bun -``` - -Additional dependencies: - -```sh -pipewire -libgtop -bluez -bluez-utils -grimblast -gpu-screen-recorder -hyprpicker -btop -networkmanager -matugen -wl-clipboard -swww -dart-sass -brightnessctl -gnome-bluetooth-3.0 -``` - -Optional Dependencies: - -```sh -## Used for Tracking GPU Usage in your Dashboard (NVidia only) -python -python-gpustat - -## Only if a pywal hook from wallpaper changes applied through settings is desired -pywal - -## To check for pacman updates in the default script used in the updates module -pacman-contrib - -## To switch between power profiles in battery module -power-profiles-daemon -``` - -### Arch - -pacman: - -```bash -sudo pacman -S pipewire libgtop bluez bluez-utils btop networkmanager dart-sass wl-clipboard brightnessctl swww python gnome-bluetooth-3.0 pacman-contrib power-profiles-daemon -``` - -AUR: - -```bash -yay -S grimblast-git gpu-screen-recorder hyprpicker matugen-bin python-gpustat aylurs-gtk-shell-git -``` - -### Fedora - -COPR - Add [solopasha/hyprland](https://copr.fedorainfracloud.org/coprs/solopasha/hyprland/) for most hyprland-related dependencies, and [hues-sueh/packages](https://copr.fedorainfracloud.org/coprs/heus-sueh/packages/) for matugen. Both provide the `swww` package, so prioritise the former repo: - -```bash -sudo dnf copr enable solopasha/hyprland -sudo dnf copr enable heus-sueh/packages -sudo dnf config-manager --save --setopt=copr:copr.fedorainfracloud.org:heus-sueh:packages.priority=200 -``` - -DNF: - -```bash -sudo dnf install pipewire libgtop2 bluez bluez-tools grimblast hyprpicker btop NetworkManager wl-clipboard swww brightnessctl gnome-bluetooth aylurs-gtk-shell power-profiles-daemon gvfs -``` - -bun: - -```bash -bun install -g sass -``` - -flatpak: - -```bash -flatpak install flathub --system com.dec05eba.gpu_screen_recorder -``` - -#### Optional Dependencies - -pip: - -```bash -sudo dnf install python python3-pip; pip install gpustat pywal -``` - -### NixOS - -For NixOS/Home-Manager, see [NixOS & Home-Manager instructions](#nixos--home-manager). - -## Instructions - -### AGS - -Once everything is installed you need to put the contents of this repo in `~/.config/ags`. -If you already have something in `~/.config/ags`, it's recommended that you back it up with: - -```bash -mv $HOME/.config/ags $HOME/.config/ags.bkup -``` - -Otherwise you can use this command to install the panel: - -```bash -git clone https://github.com/Jas-SinghFSU/HyprPanel.git && \ - ln -s $(pwd)/HyprPanel $HOME/.config/ags -``` - -### Nerd Fonts - -Additionally, you need to ensure that you have a [Nerd Font](https://www.nerdfonts.com/font-downloads) installed for your icons to render properly. - -### Launch the panel - -Afterwards you can run the panel with the following command in your terminal: - -```bash -ags -``` - -Or you can add it to your Hyprland config (hyprland.conf) to auto-start with: - -```bash -exec-once = ags -``` - -### NixOS & Home-Manager - -Alternatively, if you're using NixOS and/or Home-Manager, you can setup AGS using the provided Nix Flake. First, add the repository to your Flake's inputs, and enable the overlay. - -```nix -# flake.nix - -{ - inputs.hyprpanel.url = "github:Jas-SinghFSU/HyprPanel"; - # ... - - outputs = { self, nixpkgs, ... }@inputs: - let - # ... - system = "x86_64-linux"; # change to whatever your system should be. - pkgs = import nixpkgs { - inherit system; - # ... - overlays = [ - inputs.hyprpanel.overlay - ]; - }; - in { - # ... - } -} -``` - -Once you've set up the overlay, you can reference HyprPanel with `pkgs.hyprpanel` as if it were any other Nix package. This means you can reference it as a NixOS system/user package, a Home-Manager user package, or as a direct reference in your Hyprland configuration (if your configuration is managed by Home-Manager). The first three methods will add it to your `$PATH` (first globally, second two user-only), however the final will not. - -```nix -# configuration.nix - -# install it as a system package -environment.systemPackages = with pkgs; [ - # ... - hyprpanel - # ... -]; - -# or install it as a user package -users.users..packages = with pkgs; [ - # ... - hyprpanel - # ... -]; - - -# home.nix - -# install it as a user package with home-manager -home.packages = with pkgs; [ - # ... - hyprpanel - # ... -]; - -# or reference it directly in your Hyprland configuration -wayland.windowManager.hyprland.settings.exec-once = [ - "${pkgs.hyprpanel}/bin/hyprpanel" -]; - -``` - -### Notifications - -HyprPanel handles notifications through the AGS built-in notification service. If you're already using a notification daemon such as Dunst or Mako, you may have to stop them to prevent conflicts with HyprPanel. - -> NOTE: If your system is in a language other than English, the resource monitor in the dashboard may not work properly. - -## Configuration - -The HyprPanel comes with a configuration menu which is available by opening the Dashboard menu (click the button in the bar with the default - Arch - icon) and then clicking the Gear icon. - -### Size - -The panel is automatically scaled based on your font size in `Configuration > General`. - -### Specifying bar layouts per monitor - -To specify layouts for each monitor you can create a JSON object such as: - -```JSON -{ - "0": { - "left": [ - "dashboard", - "workspaces", - "windowtitle" - ], - "middle": [ - "media" - ], - "right": [ - "volume", - "clock", - "notifications" - ] - }, - "1": { - "left": [ - "dashboard", - "workspaces", - "windowtitle" - ], - "middle": [ - "media" - ], - "right": [ - "volume", - "clock", - "notifications" - ] - }, - "2": { - "left": [ - "dashboard", - "workspaces", - "windowtitle" - ], - "middle": [ - "media" - ], - "right": [ - "volume", - "network", - "bluetooth", - "systray", - "clock", - "notifications" - ] - } -} -``` - -Where each monitor is defined by its index (0, 1, 2 in this case) and each section (left, middle, right) contains one or more of the following modules: - -```js -'battery'; -'dashboard'; -'workspaces'; -'windowtitle'; -'media'; -'notifications'; -'volume'; -'network'; -'bluetooth'; -'clock'; -'systray'; -``` - -Since the text-box in the options dialog isn't sufficient, it is recommended that you create this JSON configuration in a text editor elsewhere and paste it into the layout text-box under Configuration > Bar > "Bar Layouts for Monitors". - -### Additional Configuration - -#### GPU Tracking - -If you have an NVidia GPU, you can track your GPU usage in your Dashboard by going to your `Settings > Configuration > Dashboard Menu > Track GPU` and turning it on. diff --git a/ags/HyprPanel/assets/21210205.png b/ags/HyprPanel/assets/21210205.png deleted file mode 100644 index c1f3edc..0000000 Binary files a/ags/HyprPanel/assets/21210205.png and /dev/null differ diff --git a/ags/HyprPanel/assets/HyprPanel.png b/ags/HyprPanel/assets/HyprPanel.png deleted file mode 100644 index 3ea158a..0000000 Binary files a/ags/HyprPanel/assets/HyprPanel.png and /dev/null differ diff --git a/ags/HyprPanel/assets/Mocha_Wolf.png b/ags/HyprPanel/assets/Mocha_Wolf.png deleted file mode 100644 index 219857c..0000000 Binary files a/ags/HyprPanel/assets/Mocha_Wolf.png and /dev/null differ diff --git a/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-Bold.ttf b/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-Bold.ttf deleted file mode 100644 index 3bed27f..0000000 Binary files a/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-Bold.ttf and /dev/null differ diff --git a/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-ExtraBold.ttf b/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-ExtraBold.ttf deleted file mode 100644 index 99cfe5b..0000000 Binary files a/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-ExtraBold.ttf and /dev/null differ diff --git a/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-ExtraLight.ttf b/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-ExtraLight.ttf deleted file mode 100644 index 1e8103b..0000000 Binary files a/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-ExtraLight.ttf and /dev/null differ diff --git a/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-Light.ttf b/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-Light.ttf deleted file mode 100644 index 82dcd0b..0000000 Binary files a/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-Light.ttf and /dev/null differ diff --git a/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-Medium.ttf b/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-Medium.ttf deleted file mode 100644 index d134c56..0000000 Binary files a/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-Medium.ttf and /dev/null differ diff --git a/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-Regular.ttf b/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-Regular.ttf deleted file mode 100644 index de31c48..0000000 Binary files a/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-Regular.ttf and /dev/null differ diff --git a/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-SemiBold.ttf b/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-SemiBold.ttf deleted file mode 100644 index 059f6b3..0000000 Binary files a/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-SemiBold.ttf and /dev/null differ diff --git a/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-Thin.ttf b/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-Thin.ttf deleted file mode 100644 index 8aad716..0000000 Binary files a/ags/HyprPanel/assets/fonts/JetBrainsMonoNerdFontPropo-Thin.ttf and /dev/null differ diff --git a/ags/HyprPanel/assets/hp1.png b/ags/HyprPanel/assets/hp1.png deleted file mode 100644 index e42b363..0000000 Binary files a/ags/HyprPanel/assets/hp1.png and /dev/null differ diff --git a/ags/HyprPanel/assets/hp2.png b/ags/HyprPanel/assets/hp2.png deleted file mode 100644 index a912e32..0000000 Binary files a/ags/HyprPanel/assets/hp2.png and /dev/null differ diff --git a/ags/HyprPanel/assets/hyprpanel.png b/ags/HyprPanel/assets/hyprpanel.png deleted file mode 100644 index b4707c0..0000000 Binary files a/ags/HyprPanel/assets/hyprpanel.png and /dev/null differ diff --git a/ags/HyprPanel/assets/solar_system_mocha.png b/ags/HyprPanel/assets/solar_system_mocha.png deleted file mode 100644 index 14ca154..0000000 Binary files a/ags/HyprPanel/assets/solar_system_mocha.png and /dev/null differ diff --git a/ags/HyprPanel/config.js b/ags/HyprPanel/config.js deleted file mode 100644 index 01d6ae8..0000000 --- a/ags/HyprPanel/config.js +++ /dev/null @@ -1,58 +0,0 @@ -import GLib from 'gi://GLib'; - -const main = '/tmp/ags/hyprpanel/main.js'; -const entry = `${App.configDir}/main.ts`; -const bundler = GLib.getenv('AGS_BUNDLER') || 'bun'; - -const v = { - ags: pkg.version?.split('.').map(Number) || [], - expect: [1, 8, 1], -}; - -try { - switch (bundler) { - case 'bun': - await Utils.execAsync([ - 'bun', - 'build', - entry, - '--outfile', - main, - '--external', - 'resource://*', - '--external', - 'gi://*', - '--external', - 'file://*', - ]); - break; - - case 'esbuild': - await Utils.execAsync([ - 'esbuild', - '--bundle', - entry, - '--format=esm', - `--outfile=${main}`, - '--external:resource://*', - '--external:gi://*', - '--external:file://*', - ]); - break; - - default: - throw `"${bundler}" is not a valid bundler`; - } - - if (v.ags[1] < v.expect[1] || v.ags[2] < v.expect[2]) { - print(`HyprPanel needs atleast v${v.expect.join('.')} of AGS, yours is v${v.ags.join('.')}`); - App.quit(); - } - - await import(`file://${main}`); -} catch (error) { - console.error(error); - App.quit(); -} - -export {}; diff --git a/ags/HyprPanel/customModules/PollVar.ts b/ags/HyprPanel/customModules/PollVar.ts deleted file mode 100644 index 2381e89..0000000 --- a/ags/HyprPanel/customModules/PollVar.ts +++ /dev/null @@ -1,77 +0,0 @@ -import GLib from 'gi://GLib?version=2.0'; -import { GenericFunction } from 'lib/types/customModules/generic'; -import { Bind } from 'lib/types/variable'; -import { Variable as VariableType } from 'types/variable'; - -/** - * @param {VariableType} targetVariable - The Variable to update with the function's result. - * @param {Array} trackers - Array of trackers to watch. - * @param {Bind} pollingInterval - The polling interval in milliseconds. - * @param {GenericFunction} someFunc - The function to execute at each interval, which updates the Variable. - * @param {...P} params - Parameters to pass to someFunc. - */ -export const pollVariable = >( - targetVariable: VariableType, - trackers: Array, - pollingInterval: Bind, - someFunc: F, - ...params: P -): void => { - let intervalInstance: number | null = null; - - const intervalFn = (pollIntrvl: number): void => { - if (intervalInstance !== null) { - GLib.source_remove(intervalInstance); - } - - intervalInstance = Utils.interval(pollIntrvl, () => { - targetVariable.value = someFunc(...params); - }); - }; - - Utils.merge([pollingInterval, ...trackers], (pollIntrvl: number) => { - intervalFn(pollIntrvl); - }); -}; - -/** - * @param {VariableType} targetVariable - The Variable to update with the result of the command. - * @param {Array} trackers - Array of trackers to watch. - * @param {Bind} pollingInterval - The polling interval in milliseconds. - * @param {string} someCommand - The bash command to execute. - * @param {GenericFunction} someFunc - The function to execute after processing the command result; - * with the first argument being the result of the command execution. - * @param {...P} params - Additional parameters to pass to someFunc. - */ -export const pollVariableBash = >( - targetVariable: VariableType, - trackers: Array, - pollingInterval: Bind, - someCommand: string, - someFunc: F, - ...params: P -): void => { - let intervalInstance: number | null = null; - - const intervalFn = (pollIntrvl: number): void => { - if (intervalInstance !== null) { - GLib.source_remove(intervalInstance); - } - - intervalInstance = Utils.interval(pollIntrvl, () => { - Utils.execAsync(`bash -c "${someCommand}"`) - .then((res: string) => { - try { - targetVariable.value = someFunc(res, ...params); - } catch (error) { - console.warn(`An error occurred when running interval bash function: ${error}`); - } - }) - .catch((err) => console.error(`Error running command "${someCommand}": ${err}`)); - }); - }; - - Utils.merge([pollingInterval, ...trackers], (pollIntrvl: number) => { - intervalFn(pollIntrvl); - }); -}; diff --git a/ags/HyprPanel/customModules/config.ts b/ags/HyprPanel/customModules/config.ts deleted file mode 100644 index 36e2c4c..0000000 --- a/ags/HyprPanel/customModules/config.ts +++ /dev/null @@ -1,595 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import Scrollable from 'types/widgets/scrollable'; -import { Attribute, GtkWidget } from 'lib/types/widget'; - -export const CustomModuleSettings = (): Scrollable => - Widget.Scrollable({ - vscroll: 'automatic', - hscroll: 'automatic', - class_name: 'menu-theme-page customModules paged-container', - child: Widget.Box({ - class_name: 'menu-theme-page paged-container', - vertical: true, - children: [ - /* - ************************************ - * GENERAL * - ************************************ - */ - Header('General'), - Option({ - opt: options.bar.customModules.scrollSpeed, - title: 'Scrolling Speed', - type: 'number', - }), - - /* - ************************************ - * RAM * - ************************************ - */ - Header('RAM'), - Option({ - opt: options.theme.bar.buttons.modules.ram.enableBorder, - title: 'Button Border', - type: 'boolean', - }), - Option({ - opt: options.bar.customModules.ram.icon, - title: 'Ram Icon', - type: 'string', - }), - Option({ - opt: options.bar.customModules.ram.label, - title: 'Show Label', - type: 'boolean', - }), - Option({ - opt: options.theme.bar.buttons.modules.ram.spacing, - title: 'Spacing', - type: 'string', - }), - Option({ - opt: options.bar.customModules.ram.labelType, - title: 'Label Type', - type: 'enum', - enums: ['used/total', 'used', 'free', 'percentage'], - }), - Option({ - opt: options.bar.customModules.ram.round, - title: 'Round', - type: 'boolean', - }), - Option({ - opt: options.bar.customModules.ram.pollingInterval, - title: 'Polling Interval', - type: 'number', - min: 100, - max: 60 * 24 * 1000, - increment: 1000, - }), - Option({ - opt: options.bar.customModules.ram.leftClick, - title: 'Left Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.ram.rightClick, - title: 'Right Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.ram.middleClick, - title: 'Middle Click', - type: 'string', - }), - - /* - ************************************ - * CPU * - ************************************ - */ - Header('CPU'), - Option({ - opt: options.theme.bar.buttons.modules.cpu.enableBorder, - title: 'Button Border', - type: 'boolean', - }), - Option({ - opt: options.bar.customModules.cpu.icon, - title: 'Cpu Icon', - type: 'string', - }), - Option({ - opt: options.bar.customModules.cpu.label, - title: 'Show Label', - type: 'boolean', - }), - Option({ - opt: options.theme.bar.buttons.modules.cpu.spacing, - title: 'Spacing', - type: 'string', - }), - Option({ - opt: options.bar.customModules.cpu.round, - title: 'Round', - type: 'boolean', - }), - Option({ - opt: options.bar.customModules.cpu.pollingInterval, - title: 'Polling Interval', - type: 'number', - min: 100, - max: 60 * 24 * 1000, - increment: 1000, - }), - Option({ - opt: options.bar.customModules.cpu.leftClick, - title: 'Left Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.cpu.rightClick, - title: 'Right Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.cpu.middleClick, - title: 'Middle Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.cpu.scrollUp, - title: 'Scroll Up', - type: 'string', - }), - Option({ - opt: options.bar.customModules.cpu.scrollDown, - title: 'Scroll Down', - type: 'string', - }), - - /* - ************************************ - * STORAGE * - ************************************ - */ - Header('Storage'), - Option({ - opt: options.theme.bar.buttons.modules.storage.enableBorder, - title: 'Button Border', - type: 'boolean', - }), - Option({ - opt: options.bar.customModules.storage.icon, - title: 'Storage Icon', - type: 'string', - }), - Option({ - opt: options.bar.customModules.storage.label, - title: 'Show Label', - type: 'boolean', - }), - Option({ - opt: options.theme.bar.buttons.modules.storage.spacing, - title: 'Spacing', - type: 'string', - }), - Option({ - opt: options.bar.customModules.storage.labelType, - title: 'Label Type', - type: 'enum', - enums: ['used/total', 'used', 'free', 'percentage'], - }), - Option({ - opt: options.bar.customModules.storage.round, - title: 'Round', - type: 'boolean', - }), - Option({ - opt: options.bar.customModules.storage.pollingInterval, - title: 'Polling Interval', - type: 'number', - min: 100, - max: 60 * 24 * 1000, - increment: 1000, - }), - Option({ - opt: options.bar.customModules.storage.leftClick, - title: 'Left Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.storage.rightClick, - title: 'Right Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.storage.middleClick, - title: 'Middle Click', - type: 'string', - }), - - /* - ************************************ - * NETSTAT * - ************************************ - */ - Header('Netstat'), - Option({ - opt: options.theme.bar.buttons.modules.netstat.enableBorder, - title: 'Button Border', - type: 'boolean', - }), - Option({ - opt: options.bar.customModules.netstat.networkInterface, - title: 'Network Interface', - subtitle: - "Name of the network interface to poll.\nHINT: Get list of interfaces with 'cat /proc/net/dev'", - type: 'string', - }), - Option({ - opt: options.bar.customModules.netstat.icon, - title: 'Netstat Icon', - type: 'string', - }), - Option({ - opt: options.bar.customModules.netstat.label, - title: 'Show Label', - type: 'boolean', - }), - Option({ - opt: options.bar.customModules.netstat.rateUnit, - title: 'Rate Unit', - type: 'enum', - enums: ['GiB', 'MiB', 'KiB', 'auto'], - }), - Option({ - opt: options.theme.bar.buttons.modules.netstat.spacing, - title: 'Spacing', - type: 'string', - }), - Option({ - opt: options.bar.customModules.netstat.labelType, - title: 'Label Type', - type: 'enum', - enums: ['full', 'in', 'out'], - }), - Option({ - opt: options.bar.customModules.netstat.round, - title: 'Round', - type: 'boolean', - }), - Option({ - opt: options.bar.customModules.netstat.pollingInterval, - title: 'Polling Interval', - type: 'number', - min: 100, - max: 60 * 24 * 1000, - increment: 1000, - }), - Option({ - opt: options.bar.customModules.netstat.leftClick, - title: 'Left Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.netstat.rightClick, - title: 'Right Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.netstat.middleClick, - title: 'Middle Click', - type: 'string', - }), - - /* - ************************************ - * KEYBOARD LAYOUT * - ************************************ - */ - Header('Keyboard Layout'), - Option({ - opt: options.theme.bar.buttons.modules.kbLayout.enableBorder, - title: 'Button Border', - type: 'boolean', - }), - Option({ - opt: options.bar.customModules.kbLayout.icon, - title: 'Keyboard Layout Icon', - type: 'string', - }), - Option({ - opt: options.bar.customModules.kbLayout.label, - title: 'Show Label', - type: 'boolean', - }), - Option({ - opt: options.bar.customModules.kbLayout.labelType, - title: 'Label Type', - type: 'enum', - enums: ['layout', 'code'], - }), - Option({ - opt: options.theme.bar.buttons.modules.kbLayout.spacing, - title: 'Spacing', - type: 'string', - }), - Option({ - opt: options.bar.customModules.kbLayout.leftClick, - title: 'Left Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.kbLayout.rightClick, - title: 'Right Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.kbLayout.middleClick, - title: 'Middle Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.kbLayout.scrollUp, - title: 'Scroll Up', - type: 'string', - }), - Option({ - opt: options.bar.customModules.kbLayout.scrollDown, - title: 'Scroll Down', - type: 'string', - }), - - /* - ************************************ - * UPDATES * - ************************************ - */ - Header('Updates'), - Option({ - opt: options.theme.bar.buttons.modules.updates.enableBorder, - title: 'Button Border', - type: 'boolean', - }), - Option({ - opt: options.bar.customModules.updates.updateCommand, - title: 'Check Updates Command', - type: 'string', - }), - Option({ - opt: options.bar.customModules.updates.icon, - title: 'Updates Icon', - type: 'string', - }), - Option({ - opt: options.bar.customModules.updates.label, - title: 'Show Label', - type: 'boolean', - }), - Option({ - opt: options.bar.customModules.updates.padZero, - title: 'Pad with 0', - type: 'boolean', - }), - Option({ - opt: options.theme.bar.buttons.modules.updates.spacing, - title: 'Spacing', - type: 'string', - }), - Option({ - opt: options.bar.customModules.updates.pollingInterval, - title: 'Polling Interval', - type: 'number', - subtitle: "WARNING: Be careful of your package manager's rate limit.", - min: 100, - max: 60 * 24 * 1000, - increment: 1000, - }), - Option({ - opt: options.bar.customModules.updates.leftClick, - title: 'Left Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.updates.rightClick, - title: 'Right Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.updates.middleClick, - title: 'Middle Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.updates.scrollUp, - title: 'Scroll Up', - type: 'string', - }), - Option({ - opt: options.bar.customModules.updates.scrollDown, - title: 'Scroll Down', - type: 'string', - }), - - /* - ************************************ - * SUBMAP * - ************************************ - */ - Header('Submap'), - Option({ - opt: options.theme.bar.buttons.modules.submap.enableBorder, - title: 'Button Border', - type: 'boolean', - }), - Option({ - opt: options.bar.customModules.submap.showSubmapName, - title: 'Show Submap Name', - subtitle: - 'When enabled, the name of the current submap will be displayed' + - ' instead of the Submap Enabled or Disabled text.', - type: 'boolean', - }), - Option({ - opt: options.bar.customModules.submap.enabledIcon, - title: 'Enabled Icon', - type: 'string', - }), - Option({ - opt: options.bar.customModules.submap.disabledIcon, - title: 'Disabled Icon', - type: 'string', - }), - Option({ - opt: options.bar.customModules.submap.enabledText, - title: 'Enabled Text', - type: 'string', - }), - Option({ - opt: options.bar.customModules.submap.disabledText, - title: 'Disabled Text', - type: 'string', - }), - Option({ - opt: options.bar.customModules.submap.label, - title: 'Show Label', - type: 'boolean', - }), - Option({ - opt: options.theme.bar.buttons.modules.submap.spacing, - title: 'Spacing', - type: 'string', - }), - Option({ - opt: options.bar.customModules.submap.leftClick, - title: 'Left Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.submap.rightClick, - title: 'Right Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.submap.middleClick, - title: 'Middle Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.submap.scrollUp, - title: 'Scroll Up', - type: 'string', - }), - Option({ - opt: options.bar.customModules.submap.scrollDown, - title: 'Scroll Down', - type: 'string', - }), - - /* - ************************************ - * WEATHER * - ************************************ - */ - Header('Weather'), - Option({ - opt: options.theme.bar.buttons.modules.weather.enableBorder, - title: 'Button Border', - type: 'boolean', - }), - Option({ - opt: options.bar.customModules.weather.label, - title: 'Show Label', - type: 'boolean', - }), - Option({ - opt: options.bar.customModules.weather.unit, - title: 'Units', - type: 'enum', - enums: ['imperial', 'metric'], - }), - Option({ - opt: options.theme.bar.buttons.modules.weather.spacing, - title: 'Spacing', - type: 'string', - }), - Option({ - opt: options.bar.customModules.weather.leftClick, - title: 'Left Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.weather.rightClick, - title: 'Right Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.weather.middleClick, - title: 'Middle Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.weather.scrollUp, - title: 'Scroll Up', - type: 'string', - }), - Option({ - opt: options.bar.customModules.weather.scrollDown, - title: 'Scroll Down', - type: 'string', - }), - - /* - ************************************ - * POWER * - ************************************ - */ - Header('Power'), - Option({ - opt: options.theme.bar.buttons.modules.power.enableBorder, - title: 'Button Border', - type: 'boolean', - }), - Option({ - opt: options.theme.bar.buttons.modules.power.spacing, - title: 'Spacing', - type: 'string', - }), - Option({ - opt: options.bar.customModules.power.icon, - title: 'Power Button Icon', - type: 'string', - }), - Option({ - opt: options.bar.customModules.power.leftClick, - title: 'Left Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.power.rightClick, - title: 'Right Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.power.middleClick, - title: 'Middle Click', - type: 'string', - }), - Option({ - opt: options.bar.customModules.power.scrollUp, - title: 'Scroll Up', - type: 'string', - }), - Option({ - opt: options.bar.customModules.power.scrollDown, - title: 'Scroll Down', - type: 'string', - }), - ], - }), - }); diff --git a/ags/HyprPanel/customModules/cpu/computeCPU.ts b/ags/HyprPanel/customModules/cpu/computeCPU.ts deleted file mode 100644 index 460b1db..0000000 --- a/ags/HyprPanel/customModules/cpu/computeCPU.ts +++ /dev/null @@ -1,20 +0,0 @@ -// @ts-expect-error: This import is a special directive that tells the compiler to use the GTop library -import GTop from 'gi://GTop'; - -let previousCpuData = new GTop.glibtop_cpu(); -GTop.glibtop_get_cpu(previousCpuData); - -export const computeCPU = (): number => { - const currentCpuData = new GTop.glibtop_cpu(); - GTop.glibtop_get_cpu(currentCpuData); - - // Calculate the differences from the previous to current data - const totalDiff = currentCpuData.total - previousCpuData.total; - const idleDiff = currentCpuData.idle - previousCpuData.idle; - - const cpuUsagePercentage = totalDiff > 0 ? ((totalDiff - idleDiff) / totalDiff) * 100 : 0; - - previousCpuData = currentCpuData; - - return cpuUsagePercentage; -}; diff --git a/ags/HyprPanel/customModules/cpu/index.ts b/ags/HyprPanel/customModules/cpu/index.ts deleted file mode 100644 index a3848e4..0000000 --- a/ags/HyprPanel/customModules/cpu/index.ts +++ /dev/null @@ -1,69 +0,0 @@ -import options from 'options'; - -// Module initializer -import { module } from '../module'; - -import Button from 'types/widgets/button'; - -// Utility Methods -import { inputHandler } from 'customModules/utils'; -import { computeCPU } from './computeCPU'; -import { pollVariable } from 'customModules/PollVar'; -import { BarBoxChild } from 'lib/types/bar'; -import { Attribute, Child } from 'lib/types/widget'; - -// All the user configurable options for the cpu module that are needed -const { label, round, leftClick, rightClick, middleClick, scrollUp, scrollDown, pollingInterval, icon } = - options.bar.customModules.cpu; - -export const cpuUsage = Variable(0); - -pollVariable( - // Variable to poll and update with the result of the function passed in - cpuUsage, - // Variables that should trigger the polling function to update when they change - [round.bind('value')], - // Interval at which to poll - pollingInterval.bind('value'), - // Function to execute to get the network data - computeCPU, -); - -export const Cpu = (): BarBoxChild => { - const renderLabel = (cpuUsg: number, rnd: boolean): string => { - return rnd ? `${Math.round(cpuUsg)}%` : `${cpuUsg.toFixed(2)}%`; - }; - - const cpuModule = module({ - textIcon: icon.bind('value'), - label: Utils.merge([cpuUsage.bind('value'), round.bind('value')], (cpuUsg, rnd) => { - return renderLabel(cpuUsg, rnd); - }), - tooltipText: 'CPU', - boxClass: 'cpu', - showLabelBinding: label.bind('value'), - props: { - setup: (self: Button) => { - inputHandler(self, { - onPrimaryClick: { - cmd: leftClick, - }, - onSecondaryClick: { - cmd: rightClick, - }, - onMiddleClick: { - cmd: middleClick, - }, - onScrollUp: { - cmd: scrollUp, - }, - onScrollDown: { - cmd: scrollDown, - }, - }); - }, - }, - }); - - return cpuModule; -}; diff --git a/ags/HyprPanel/customModules/kblayout/getLayout.ts b/ags/HyprPanel/customModules/kblayout/getLayout.ts deleted file mode 100644 index 9c42071..0000000 --- a/ags/HyprPanel/customModules/kblayout/getLayout.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { - HyprctlDeviceLayout, - HyprctlKeyboard, - KbLabelType, - LayoutKeys, - LayoutValues, -} from 'lib/types/customModules/kbLayout'; -import { layoutMap } from './layouts'; - -export const getKeyboardLayout = (obj: string, format: KbLabelType): LayoutKeys | LayoutValues => { - const hyprctlDevices: HyprctlDeviceLayout = JSON.parse(obj); - const keyboards = hyprctlDevices['keyboards']; - - if (keyboards.length === 0) { - return format === 'code' ? 'Unknown' : 'Unknown Layout'; - } - - let mainKb = keyboards.find((kb: HyprctlKeyboard) => kb.main); - - if (!mainKb) { - mainKb = keyboards[keyboards.length - 1]; - } - - const layout: LayoutKeys = mainKb['active_keymap'] as LayoutKeys; - const foundLayout: LayoutValues = layoutMap[layout]; - - return format === 'code' ? foundLayout || layout : layout; -}; diff --git a/ags/HyprPanel/customModules/kblayout/index.ts b/ags/HyprPanel/customModules/kblayout/index.ts deleted file mode 100644 index 8c566e5..0000000 --- a/ags/HyprPanel/customModules/kblayout/index.ts +++ /dev/null @@ -1,73 +0,0 @@ -const hyprland = await Service.import('hyprland'); - -import options from 'options'; -import { module } from '../module'; - -import { inputHandler } from 'customModules/utils'; -import Gtk from 'types/@girs/gtk-3.0/gtk-3.0'; -import Button from 'types/widgets/button'; -import Label from 'types/widgets/label'; -import { getKeyboardLayout } from './getLayout'; -import { BarBoxChild } from 'lib/types/bar'; -import { Attribute, Child } from 'lib/types/widget'; - -const { label, labelType, icon, leftClick, rightClick, middleClick, scrollUp, scrollDown } = - options.bar.customModules.kbLayout; - -export const KbInput = (): BarBoxChild => { - const keyboardModule = module({ - textIcon: icon.bind('value'), - tooltipText: '', - labelHook: (self: Label): void => { - self.hook( - hyprland, - () => { - Utils.execAsync('hyprctl devices -j') - .then((obj) => { - self.label = getKeyboardLayout(obj, labelType.value); - }) - .catch((err) => { - console.error(err); - }); - }, - 'keyboard-layout', - ); - - self.hook(labelType, () => { - Utils.execAsync('hyprctl devices -j') - .then((obj) => { - self.label = getKeyboardLayout(obj, labelType.value); - }) - .catch((err) => { - console.error(err); - }); - }); - }, - - boxClass: 'kblayout', - showLabelBinding: label.bind('value'), - props: { - setup: (self: Button) => { - inputHandler(self, { - onPrimaryClick: { - cmd: leftClick, - }, - onSecondaryClick: { - cmd: rightClick, - }, - onMiddleClick: { - cmd: middleClick, - }, - onScrollUp: { - cmd: scrollUp, - }, - onScrollDown: { - cmd: scrollDown, - }, - }); - }, - }, - }); - - return keyboardModule; -}; diff --git a/ags/HyprPanel/customModules/kblayout/layouts.ts b/ags/HyprPanel/customModules/kblayout/layouts.ts deleted file mode 100644 index ccd37c6..0000000 --- a/ags/HyprPanel/customModules/kblayout/layouts.ts +++ /dev/null @@ -1,585 +0,0 @@ -export const layoutMap = { - 'Abkhazian (Russia)': 'RU (Ab)', - Akan: 'GH (Akan)', - Albanian: 'AL', - 'Albanian (Plisi)': 'AL (Plisi)', - 'Albanian (Veqilharxhi)': 'AL (Veqilharxhi)', - Amharic: 'ET', - Arabic: 'ARA', - 'Arabic (Algeria)': 'DZ (Ar)', - 'Arabic (AZERTY, Eastern Arabic numerals)': 'ARA (Azerty Digits)', - 'Arabic (AZERTY)': 'ARA (Azerty)', - 'Arabic (Buckwalter)': 'ARA (Buckwalter)', - 'Arabic (Eastern Arabic numerals)': 'ARA (Digits)', - 'Arabic (Macintosh)': 'ARA (Mac)', - 'Arabic (Morocco)': 'MA', - 'Arabic (OLPC)': 'ARA (Olpc)', - 'Arabic (Pakistan)': 'PK (Ara)', - 'Arabic (QWERTY, Eastern Arabic numerals)': 'ARA (Qwerty Digits)', - 'Arabic (QWERTY)': 'ARA (Qwerty)', - 'Arabic (Syria)': 'SY', - Armenian: 'AM', - 'Armenian (alt. eastern)': 'AM (Eastern-Alt)', - 'Armenian (alt. phonetic)': 'AM (Phonetic-Alt)', - 'Armenian (eastern)': 'AM (Eastern)', - 'Armenian (phonetic)': 'AM (Phonetic)', - 'Armenian (western)': 'AM (Western)', - 'Asturian (Spain, with bottom-dot H and L)': 'ES (Ast)', - Avatime: 'GH (Avn)', - Azerbaijani: 'AZ', - 'Azerbaijani (Cyrillic)': 'AZ (Cyrillic)', - 'Azerbaijani (Iran)': 'IR (Azb)', - Bambara: 'ML', - Bangla: 'BD', - 'Bangla (India, Baishakhi InScript)': 'IN (Ben Inscript)', - 'Bangla (India, Baishakhi)': 'IN (Ben Baishakhi)', - 'Bangla (India, Bornona)': 'IN (Ben Bornona)', - 'Bangla (India, Gitanjali)': 'IN (Ben Gitanjali)', - 'Bangla (India, Probhat)': 'IN (Ben Probhat)', - 'Bangla (India)': 'IN (Ben)', - 'Bangla (Probhat)': 'BD (Probhat)', - Bashkirian: 'RU (Bak)', - Belarusian: 'BY', - 'Belarusian (intl.)': 'BY (Intl)', - 'Belarusian (Latin)': 'BY (Latin)', - 'Belarusian (legacy)': 'BY (Legacy)', - 'Belarusian (phonetic)': 'BY (Phonetic)', - Belgian: 'BE', - 'Belgian (alt.)': 'BE (Oss)', - 'Belgian (ISO, alt.)': 'BE (Iso-Alternate)', - 'Belgian (Latin-9 only, alt.)': 'BE (Oss Latin9)', - 'Belgian (no dead keys)': 'BE (Nodeadkeys)', - 'Belgian (Wang 724 AZERTY)': 'BE (Wang)', - 'Berber (Algeria, Latin)': 'DZ', - 'Berber (Algeria, Tifinagh)': 'DZ (Ber)', - 'Berber (Morocco, Tifinagh alt.)': 'MA (Tifinagh-Alt)', - 'Berber (Morocco, Tifinagh extended phonetic)': 'MA (Tifinagh-Extended-Phonetic)', - 'Berber (Morocco, Tifinagh extended)': 'MA (Tifinagh-Extended)', - 'Berber (Morocco, Tifinagh phonetic, alt.)': 'MA (Tifinagh-Alt-Phonetic)', - 'Berber (Morocco, Tifinagh phonetic)': 'MA (Tifinagh-Phonetic)', - 'Berber (Morocco, Tifinagh)': 'MA (Tifinagh)', - Bosnian: 'BA', - 'Bosnian (US, with Bosnian digraphs)': 'BA (Unicodeus)', - 'Bosnian (US)': 'BA (Us)', - 'Bosnian (with Bosnian digraphs)': 'BA (Unicode)', - 'Bosnian (with guillemets)': 'BA (Alternatequotes)', - Braille: 'BRAI', - 'Braille (left-handed inverted thumb)': 'BRAI (Left Hand Invert)', - 'Braille (left-handed)': 'BRAI (Left Hand)', - 'Braille (right-handed inverted thumb)': 'BRAI (Right Hand Invert)', - 'Braille (right-handed)': 'BRAI (Right Hand)', - 'Breton (France)': 'FR (Bre)', - Bulgarian: 'BG', - 'Bulgarian (enhanced)': 'BG (Bekl)', - 'Bulgarian (new phonetic)': 'BG (Bas Phonetic)', - 'Bulgarian (traditional phonetic)': 'BG (Phonetic)', - Burmese: 'MM', - 'Burmese Zawgyi': 'MM (Zawgyi)', - 'Cameroon (AZERTY, intl.)': 'CM (Azerty)', - 'Cameroon (Dvorak, intl.)': 'CM (Dvorak)', - 'Cameroon Multilingual (QWERTY, intl.)': 'CM (Qwerty)', - 'Canadian (CSA)': 'CA (Multix)', - 'Catalan (Spain, with middle-dot L)': 'ES (Cat)', - Cherokee: 'US (Chr)', - Chinese: 'CN', - Chuvash: 'RU (Cv)', - 'Chuvash (Latin)': 'RU (Cv Latin)', - CloGaelach: 'IE (CloGaelach)', - 'Crimean Tatar (Turkish Alt-Q)': 'UA (Crh Alt)', - 'Crimean Tatar (Turkish F)': 'UA (Crh F)', - 'Crimean Tatar (Turkish Q)': 'UA (Crh)', - Croatian: 'HR', - 'Croatian (US, with Croatian digraphs)': 'HR (Unicodeus)', - 'Croatian (US)': 'HR (Us)', - 'Croatian (with Croatian digraphs)': 'HR (Unicode)', - 'Croatian (with guillemets)': 'HR (Alternatequotes)', - Czech: 'CZ', - 'Czech (QWERTY, extended backslash)': 'CZ (Qwerty Bksl)', - 'Czech (QWERTY, Macintosh)': 'CZ (Qwerty-Mac)', - 'Czech (QWERTY)': 'CZ (Qwerty)', - 'Czech (UCW, only accented letters)': 'CZ (Ucw)', - 'Czech (US, Dvorak, UCW support)': 'CZ (Dvorak-Ucw)', - 'Czech (with <\\|> key)': 'CZ (Bksl)', - Danish: 'DK', - 'Danish (Dvorak)': 'DK (Dvorak)', - 'Danish (Macintosh, no dead keys)': 'DK (Mac Nodeadkeys)', - 'Danish (Macintosh)': 'DK (Mac)', - 'Danish (no dead keys)': 'DK (Nodeadkeys)', - 'Danish (Windows)': 'DK (Winkeys)', - Dari: 'AF', - 'Dari (Afghanistan, OLPC)': 'AF (Fa-Olpc)', - Dhivehi: 'MV', - Dutch: 'NL', - 'Dutch (Macintosh)': 'NL (Mac)', - 'Dutch (standard)': 'NL (Std)', - 'Dutch (US)': 'NL (Us)', - Dzongkha: 'BT', - 'English (Australian)': 'AU', - 'English (Cameroon)': 'CM', - 'English (Canada)': 'CA (Eng)', - 'English (classic Dvorak)': 'US (Dvorak-Classic)', - 'English (Colemak-DH ISO)': 'US (Colemak Dh Iso)', - 'English (Colemak-DH)': 'US (Colemak Dh)', - 'English (Colemak)': 'US (Colemak)', - 'English (Dvorak, alt. intl.)': 'US (Dvorak-Alt-Intl)', - 'English (Dvorak, intl., with dead keys)': 'US (Dvorak-Intl)', - 'English (Dvorak, left-handed)': 'US (Dvorak-L)', - 'English (Dvorak, Macintosh)': 'US (Dvorak-Mac)', - 'English (Dvorak, right-handed)': 'US (Dvorak-R)', - 'English (Dvorak)': 'US (Dvorak)', - 'English (Ghana, GILLBT)': 'GH (Gillbt)', - 'English (Ghana, multilingual)': 'GH (Generic)', - 'English (Ghana)': 'GH', - 'English (India, with rupee)': 'IN (Eng)', - 'English (intl., with AltGr dead keys)': 'US (Altgr-Intl)', - 'English (Macintosh)': 'US (Mac)', - 'English (Mali, US, intl.)': 'ML (Us-Intl)', - 'English (Mali, US, Macintosh)': 'ML (Us-Mac)', - 'English (Nigeria)': 'NG', - 'English (Norman)': 'US (Norman)', - 'English (programmer Dvorak)': 'US (Dvp)', - 'English (South Africa)': 'ZA', - 'English (the divide/multiply toggle the layout)': 'US (Olpc2)', - 'English (UK, Colemak-DH)': 'GB (Colemak Dh)', - 'English (UK, Colemak)': 'GB (Colemak)', - 'English (UK, Dvorak, with UK punctuation)': 'GB (Dvorakukp)', - 'English (UK, Dvorak)': 'GB (Dvorak)', - 'English (UK, extended, Windows)': 'GB (Extd)', - 'English (UK, intl., with dead keys)': 'GB (Intl)', - 'English (UK, Macintosh, intl.)': 'GB (Mac Intl)', - 'English (UK, Macintosh)': 'GB (Mac)', - 'English (UK)': 'GB', - 'English (US, alt. intl.)': 'US (Alt-Intl)', - 'English (US, euro on 5)': 'US (Euro)', - 'English (US, intl., with dead keys)': 'US (Intl)', - 'English (US, Symbolic)': 'US (Symbolic)', - 'English (US)': 'US', - 'English (Workman, intl., with dead keys)': 'US (Workman-Intl)', - 'English (Workman)': 'US (Workman)', - Esperanto: 'EPO', - 'Esperanto (Brazil, Nativo)': 'BR (Nativo-Epo)', - 'Esperanto (legacy)': 'EPO (Legacy)', - 'Esperanto (Portugal, Nativo)': 'PT (Nativo-Epo)', - Estonian: 'EE', - 'Estonian (Dvorak)': 'EE (Dvorak)', - 'Estonian (no dead keys)': 'EE (Nodeadkeys)', - 'Estonian (US)': 'EE (Us)', - Ewe: 'GH (Ewe)', - Faroese: 'FO', - 'Faroese (no dead keys)': 'FO (Nodeadkeys)', - Filipino: 'PH', - 'Filipino (Capewell-Dvorak, Baybayin)': 'PH (Capewell-Dvorak-Bay)', - 'Filipino (Capewell-Dvorak, Latin)': 'PH (Capewell-Dvorak)', - 'Filipino (Capewell-QWERF 2006, Baybayin)': 'PH (Capewell-Qwerf2k6-Bay)', - 'Filipino (Capewell-QWERF 2006, Latin)': 'PH (Capewell-Qwerf2k6)', - 'Filipino (Colemak, Baybayin)': 'PH (Colemak-Bay)', - 'Filipino (Colemak, Latin)': 'PH (Colemak)', - 'Filipino (Dvorak, Baybayin)': 'PH (Dvorak-Bay)', - 'Filipino (Dvorak, Latin)': 'PH (Dvorak)', - 'Filipino (QWERTY, Baybayin)': 'PH (Qwerty-Bay)', - Finnish: 'FI', - 'Finnish (classic, no dead keys)': 'FI (Nodeadkeys)', - 'Finnish (classic)': 'FI (Classic)', - 'Finnish (Macintosh)': 'FI (Mac)', - 'Finnish (Windows)': 'FI (Winkeys)', - French: 'FR', - 'French (alt., Latin-9 only)': 'FR (Oss Latin9)', - 'French (alt., no dead keys)': 'FR (Oss Nodeadkeys)', - 'French (alt.)': 'FR (Oss)', - 'French (AZERTY, AFNOR)': 'FR (Afnor)', - 'French (AZERTY)': 'FR (Azerty)', - 'French (BEPO, AFNOR)': 'FR (Bepo Afnor)', - 'French (BEPO, Latin-9 only)': 'FR (Bepo Latin9)', - 'French (BEPO)': 'FR (Bepo)', - 'French (Cameroon)': 'CM (French)', - 'French (Canada, Dvorak)': 'CA (Fr-Dvorak)', - 'French (Canada, legacy)': 'CA (Fr-Legacy)', - 'French (Canada)': 'CA', - 'French (Democratic Republic of the Congo)': 'CD', - 'French (Dvorak)': 'FR (Dvorak)', - 'French (legacy, alt., no dead keys)': 'FR (Latin9 Nodeadkeys)', - 'French (legacy, alt.)': 'FR (Latin9)', - 'French (Macintosh)': 'FR (Mac)', - 'French (Mali, alt.)': 'ML (Fr-Oss)', - 'French (Morocco)': 'MA (French)', - 'French (no dead keys)': 'FR (Nodeadkeys)', - 'French (Switzerland, Macintosh)': 'CH (Fr Mac)', - 'French (Switzerland, no dead keys)': 'CH (Fr Nodeadkeys)', - 'French (Switzerland)': 'CH (Fr)', - 'French (Togo)': 'TG', - 'French (US)': 'FR (Us)', - 'Friulian (Italy)': 'IT (Fur)', - Fula: 'GH (Fula)', - Ga: 'GH (Ga)', - Georgian: 'GE', - 'Georgian (ergonomic)': 'GE (Ergonomic)', - 'Georgian (France, AZERTY Tskapo)': 'FR (Geo)', - 'Georgian (Italy)': 'IT (Geo)', - 'Georgian (MESS)': 'GE (Mess)', - German: 'DE', - 'German (Austria, Macintosh)': 'AT (Mac)', - 'German (Austria, no dead keys)': 'AT (Nodeadkeys)', - 'German (Austria)': 'AT', - 'German (dead acute)': 'DE (Deadacute)', - 'German (dead grave acute)': 'DE (Deadgraveacute)', - 'German (dead tilde)': 'DE (Deadtilde)', - 'German (Dvorak)': 'DE (Dvorak)', - 'German (E1)': 'DE (E1)', - 'German (E2)': 'DE (E2)', - 'German (Macintosh, no dead keys)': 'DE (Mac Nodeadkeys)', - 'German (Macintosh)': 'DE (Mac)', - 'German (Neo 2)': 'DE (Neo)', - 'German (no dead keys)': 'DE (Nodeadkeys)', - 'German (QWERTY)': 'DE (Qwerty)', - 'German (Switzerland, legacy)': 'CH (Legacy)', - 'German (Switzerland, Macintosh)': 'CH (De Mac)', - 'German (Switzerland, no dead keys)': 'CH (De Nodeadkeys)', - 'German (Switzerland)': 'CH', - 'German (T3)': 'DE (T3)', - 'German (US)': 'DE (Us)', - Greek: 'GR', - 'Greek (extended)': 'GR (Extended)', - 'Greek (no dead keys)': 'GR (Nodeadkeys)', - 'Greek (polytonic)': 'GR (Polytonic)', - 'Greek (simple)': 'GR (Simple)', - Gujarati: 'IN (Guj)', - 'Hanyu Pinyin Letters (with AltGr dead keys)': 'CN (Altgr-Pinyin)', - 'Hausa (Ghana)': 'GH (Hausa)', - 'Hausa (Nigeria)': 'NG (Hausa)', - Hawaiian: 'US (Haw)', - Hebrew: 'IL', - 'Hebrew (Biblical, Tiro)': 'IL (Biblical)', - 'Hebrew (lyx)': 'IL (Lyx)', - 'Hebrew (phonetic)': 'IL (Phonetic)', - 'Hindi (Bolnagri)': 'IN (Bolnagri)', - 'Hindi (KaGaPa, phonetic)': 'IN (Hin-Kagapa)', - 'Hindi (Wx)': 'IN (Hin-Wx)', - Hungarian: 'HU', - 'Hungarian (no dead keys)': 'HU (Nodeadkeys)', - 'Hungarian (QWERTY, 101-key, comma, dead keys)': 'HU (101 Qwerty Comma Dead)', - 'Hungarian (QWERTY, 101-key, comma, no dead keys)': 'HU (101 Qwerty Comma Nodead)', - 'Hungarian (QWERTY, 101-key, dot, dead keys)': 'HU (101 Qwerty Dot Dead)', - 'Hungarian (QWERTY, 101-key, dot, no dead keys)': 'HU (101 Qwerty Dot Nodead)', - 'Hungarian (QWERTY, 102-key, comma, dead keys)': 'HU (102 Qwerty Comma Dead)', - 'Hungarian (QWERTY, 102-key, comma, no dead keys)': 'HU (102 Qwerty Comma Nodead)', - 'Hungarian (QWERTY, 102-key, dot, dead keys)': 'HU (102 Qwerty Dot Dead)', - 'Hungarian (QWERTY, 102-key, dot, no dead keys)': 'HU (102 Qwerty Dot Nodead)', - 'Hungarian (QWERTY)': 'HU (Qwerty)', - 'Hungarian (QWERTZ, 101-key, comma, dead keys)': 'HU (101 Qwertz Comma Dead)', - 'Hungarian (QWERTZ, 101-key, comma, no dead keys)': 'HU (101 Qwertz Comma Nodead)', - 'Hungarian (QWERTZ, 101-key, dot, dead keys)': 'HU (101 Qwertz Dot Dead)', - 'Hungarian (QWERTZ, 101-key, dot, no dead keys)': 'HU (101 Qwertz Dot Nodead)', - 'Hungarian (QWERTZ, 102-key, comma, dead keys)': 'HU (102 Qwertz Comma Dead)', - 'Hungarian (QWERTZ, 102-key, comma, no dead keys)': 'HU (102 Qwertz Comma Nodead)', - 'Hungarian (QWERTZ, 102-key, dot, dead keys)': 'HU (102 Qwertz Dot Dead)', - 'Hungarian (QWERTZ, 102-key, dot, no dead keys)': 'HU (102 Qwertz Dot Nodead)', - 'Hungarian (standard)': 'HU (Standard)', - Icelandic: 'IS', - 'Icelandic (Dvorak)': 'IS (Dvorak)', - 'Icelandic (Macintosh, legacy)': 'IS (Mac Legacy)', - 'Icelandic (Macintosh)': 'IS (Mac)', - Igbo: 'NG (Igbo)', - Indian: 'IN', - 'Indic IPA': 'IN (Iipa)', - 'Indonesian (Arab Melayu, extended phonetic)': 'ID (Melayu-Phoneticx)', - 'Indonesian (Arab Melayu, phonetic)': 'ID (Melayu-Phonetic)', - 'Indonesian (Arab Pegon, phonetic)': 'ID (Pegon-Phonetic)', - 'Indonesian (Latin)': 'ID', - Inuktitut: 'CA (Ike)', - Iraqi: 'IQ', - Irish: 'IE', - 'Irish (UnicodeExpert)': 'IE (UnicodeExpert)', - Italian: 'IT', - 'Italian (IBM 142)': 'IT (Ibm)', - 'Italian (intl., with dead keys)': 'IT (Intl)', - 'Italian (Macintosh)': 'IT (Mac)', - 'Italian (no dead keys)': 'IT (Nodeadkeys)', - 'Italian (US)': 'IT (Us)', - 'Italian (Windows)': 'IT (Winkeys)', - Japanese: 'JP', - 'Japanese (Dvorak)': 'JP (Dvorak)', - 'Japanese (Kana 86)': 'JP (Kana86)', - 'Japanese (Kana)': 'JP (Kana)', - 'Japanese (Macintosh)': 'JP (Mac)', - 'Japanese (OADG 109A)': 'JP (OADG109A)', - Javanese: 'ID (Javanese)', - 'Kabyle (AZERTY, with dead keys)': 'DZ (Azerty-Deadkeys)', - 'Kabyle (QWERTY, UK, with dead keys)': 'DZ (Qwerty-Gb-Deadkeys)', - 'Kabyle (QWERTY, US, with dead keys)': 'DZ (Qwerty-Us-Deadkeys)', - Kalmyk: 'RU (Xal)', - Kannada: 'IN (Kan)', - 'Kannada (KaGaPa, phonetic)': 'IN (Kan-Kagapa)', - Kashubian: 'PL (Csb)', - Kazakh: 'KZ', - 'Kazakh (extended)': 'KZ (Ext)', - 'Kazakh (Latin)': 'KZ (Latin)', - 'Kazakh (with Russian)': 'KZ (Kazrus)', - 'Khmer (Cambodia)': 'KH', - Kikuyu: 'KE (Kik)', - Komi: 'RU (Kom)', - Korean: 'KR', - 'Korean (101/104-key compatible)': 'KR (Kr104)', - 'Kurdish (Iran, Arabic-Latin)': 'IR (Ku Ara)', - 'Kurdish (Iran, F)': 'IR (Ku F)', - 'Kurdish (Iran, Latin Alt-Q)': 'IR (Ku Alt)', - 'Kurdish (Iran, Latin Q)': 'IR (Ku)', - 'Kurdish (Iraq, Arabic-Latin)': 'IQ (Ku Ara)', - 'Kurdish (Iraq, F)': 'IQ (Ku F)', - 'Kurdish (Iraq, Latin Alt-Q)': 'IQ (Ku Alt)', - 'Kurdish (Iraq, Latin Q)': 'IQ (Ku)', - 'Kurdish (Syria, F)': 'SY (Ku F)', - 'Kurdish (Syria, Latin Alt-Q)': 'SY (Ku Alt)', - 'Kurdish (Syria, Latin Q)': 'SY (Ku)', - 'Kurdish (Turkey, F)': 'TR (Ku F)', - 'Kurdish (Turkey, Latin Alt-Q)': 'TR (Ku Alt)', - 'Kurdish (Turkey, Latin Q)': 'TR (Ku)', - Kyrgyz: 'KG', - 'Kyrgyz (phonetic)': 'KG (Phonetic)', - Lao: 'LA', - 'Lao (STEA)': 'LA (Stea)', - Latvian: 'LV', - 'Latvian (adapted)': 'LV (Adapted)', - 'Latvian (apostrophe)': 'LV (Apostrophe)', - 'Latvian (ergonomic, ŪGJRMV)': 'LV (Ergonomic)', - 'Latvian (F)': 'LV (Fkey)', - 'Latvian (modern)': 'LV (Modern)', - 'Latvian (tilde)': 'LV (Tilde)', - Lithuanian: 'LT', - 'Lithuanian (IBM LST 1205-92)': 'LT (Ibm)', - 'Lithuanian (LEKP)': 'LT (Lekp)', - 'Lithuanian (LEKPa)': 'LT (Lekpa)', - 'Lithuanian (Ratise)': 'LT (Ratise)', - 'Lithuanian (standard)': 'LT (Std)', - 'Lithuanian (US)': 'LT (Us)', - 'Lower Sorbian': 'DE (Dsb)', - 'Lower Sorbian (QWERTZ)': 'DE (Dsb Qwertz)', - Macedonian: 'MK', - 'Macedonian (no dead keys)': 'MK (Nodeadkeys)', - 'Malay (Jawi, Arabic Keyboard)': 'MY', - 'Malay (Jawi, phonetic)': 'MY (Phonetic)', - Malayalam: 'IN (Mal)', - 'Malayalam (enhanced InScript, with rupee)': 'IN (Mal Enhanced)', - 'Malayalam (Lalitha)': 'IN (Mal Lalitha)', - Maltese: 'MT', - 'Maltese (UK, with AltGr overrides)': 'MT (Alt-Gb)', - 'Maltese (US, with AltGr overrides)': 'MT (Alt-Us)', - 'Maltese (US)': 'MT (Us)', - 'Manipuri (Eeyek)': 'IN (Eeyek)', - Maori: 'MAO', - 'Marathi (enhanced InScript)': 'IN (Marathi)', - 'Marathi (KaGaPa, phonetic)': 'IN (Mar-Kagapa)', - Mari: 'RU (Chm)', - Mmuock: 'CM (Mmuock)', - Moldavian: 'MD', - 'Moldavian (Gagauz)': 'MD (Gag)', - Mon: 'MM (Mnw)', - 'Mon (A1)': 'MM (Mnw-A1)', - Mongolian: 'MN', - 'Mongolian (Bichig)': 'CN (Mon Trad)', - 'Mongolian (Galik)': 'CN (Mon Trad Galik)', - 'Mongolian (Manchu Galik)': 'CN (Mon Manchu Galik)', - 'Mongolian (Manchu)': 'CN (Mon Trad Manchu)', - 'Mongolian (Todo Galik)': 'CN (Mon Todo Galik)', - 'Mongolian (Todo)': 'CN (Mon Trad Todo)', - 'Mongolian (Xibe)': 'CN (Mon Trad Xibe)', - Montenegrin: 'ME', - 'Montenegrin (Cyrillic, with guillemets)': 'ME (Cyrillicalternatequotes)', - 'Montenegrin (Cyrillic, ZE and ZHE swapped)': 'ME (Cyrillicyz)', - 'Montenegrin (Cyrillic)': 'ME (Cyrillic)', - 'Montenegrin (Latin, QWERTY)': 'ME (Latinyz)', - 'Montenegrin (Latin, Unicode, QWERTY)': 'ME (Latinunicodeyz)', - 'Montenegrin (Latin, Unicode)': 'ME (Latinunicode)', - 'Montenegrin (Latin, with guillemets)': 'ME (Latinalternatequotes)', - "N'Ko (AZERTY)": 'GN', - Nepali: 'NP', - 'Northern Saami (Finland)': 'FI (Smi)', - 'Northern Saami (Norway, no dead keys)': 'NO (Smi Nodeadkeys)', - 'Northern Saami (Norway)': 'NO (Smi)', - 'Northern Saami (Sweden)': 'SE (Smi)', - Norwegian: 'NO', - 'Norwegian (Colemak)': 'NO (Colemak)', - 'Norwegian (Dvorak)': 'NO (Dvorak)', - 'Norwegian (Macintosh, no dead keys)': 'NO (Mac Nodeadkeys)', - 'Norwegian (Macintosh)': 'NO (Mac)', - 'Norwegian (no dead keys)': 'NO (Nodeadkeys)', - 'Norwegian (Windows)': 'NO (Winkeys)', - Occitan: 'FR (Oci)', - Ogham: 'IE (Ogam)', - 'Ogham (IS434)': 'IE (Ogam Is434)', - 'Ol Chiki': 'IN (Olck)', - 'Old Turkic': 'TR (Otk)', - 'Old Turkic (F)': 'TR (Otkf)', - Oriya: 'IN (Ori)', - 'Oriya (Bolnagri)': 'IN (Ori-Bolnagri)', - 'Oriya (Wx)': 'IN (Ori-Wx)', - 'Ossetian (Georgia)': 'GE (Os)', - 'Ossetian (legacy)': 'RU (Os Legacy)', - 'Ossetian (Windows)': 'RU (Os Winkeys)', - 'Ottoman (F)': 'TR (Otf)', - 'Ottoman (Q)': 'TR (Ot)', - 'Pannonian Rusyn': 'RS (Rue)', - Pashto: 'AF (Ps)', - 'Pashto (Afghanistan, OLPC)': 'AF (Ps-Olpc)', - Persian: 'IR', - 'Persian (with Persian keypad)': 'IR (Pes Keypad)', - Polish: 'PL', - 'Polish (British keyboard)': 'GB (Pl)', - 'Polish (Dvorak, with Polish quotes on key 1)': 'PL (Dvorak Altquotes)', - 'Polish (Dvorak, with Polish quotes on quotemark key)': 'PL (Dvorak Quotes)', - 'Polish (Dvorak)': 'PL (Dvorak)', - 'Polish (legacy)': 'PL (Legacy)', - 'Polish (programmer Dvorak)': 'PL (Dvp)', - 'Polish (QWERTZ)': 'PL (Qwertz)', - Portuguese: 'PT', - 'Portuguese (Brazil, Dvorak)': 'BR (Dvorak)', - 'Portuguese (Brazil, IBM/Lenovo ThinkPad)': 'BR (Thinkpad)', - 'Portuguese (Brazil, Nativo for US keyboards)': 'BR (Nativo-Us)', - 'Portuguese (Brazil, Nativo)': 'BR (Nativo)', - 'Portuguese (Brazil, no dead keys)': 'BR (Nodeadkeys)', - 'Portuguese (Brazil)': 'BR', - 'Portuguese (Macintosh, no dead keys)': 'PT (Mac Nodeadkeys)', - 'Portuguese (Macintosh)': 'PT (Mac)', - 'Portuguese (Nativo for US keyboards)': 'PT (Nativo-Us)', - 'Portuguese (Nativo)': 'PT (Nativo)', - 'Portuguese (no dead keys)': 'PT (Nodeadkeys)', - 'Punjabi (Gurmukhi Jhelum)': 'IN (Jhelum)', - 'Punjabi (Gurmukhi)': 'IN (Guru)', - Romanian: 'RO', - 'Romanian (Germany, no dead keys)': 'DE (Ro Nodeadkeys)', - 'Romanian (Germany)': 'DE (Ro)', - 'Romanian (standard)': 'RO (Std)', - 'Romanian (Windows)': 'RO (Winkeys)', - Russian: 'RU', - 'Russian (Belarus)': 'BY (Ru)', - 'Russian (Czech, phonetic)': 'CZ (Rus)', - 'Russian (DOS)': 'RU (Dos)', - 'Russian (engineering, EN)': 'RU (Ruchey En)', - 'Russian (engineering, RU)': 'RU (Ruchey Ru)', - 'Russian (Georgia)': 'GE (Ru)', - 'Russian (Germany, phonetic)': 'DE (Ru)', - 'Russian (Kazakhstan, with Kazakh)': 'KZ (Ruskaz)', - 'Russian (legacy)': 'RU (Legacy)', - 'Russian (Macintosh)': 'RU (Mac)', - 'Russian (phonetic, AZERTY)': 'RU (Phonetic Azerty)', - 'Russian (phonetic, Dvorak)': 'RU (Phonetic Dvorak)', - 'Russian (phonetic, French)': 'RU (Phonetic Fr)', - 'Russian (phonetic, Windows)': 'RU (Phonetic Winkeys)', - 'Russian (phonetic, YAZHERTY)': 'RU (Phonetic YAZHERTY)', - 'Russian (phonetic)': 'RU (Phonetic)', - 'Russian (Poland, phonetic Dvorak)': 'PL (Ru Phonetic Dvorak)', - 'Russian (Sweden, phonetic, no dead keys)': 'SE (Rus Nodeadkeys)', - 'Russian (Sweden, phonetic)': 'SE (Rus)', - 'Russian (typewriter, legacy)': 'RU (Typewriter-Legacy)', - 'Russian (typewriter)': 'RU (Typewriter)', - 'Russian (Ukraine, standard RSTU)': 'UA (Rstu Ru)', - 'Russian (US, phonetic)': 'US (Rus)', - 'Saisiyat (Taiwan)': 'TW (Saisiyat)', - Samogitian: 'LT (Sgs)', - 'Sanskrit (KaGaPa, phonetic)': 'IN (San-Kagapa)', - 'Scottish Gaelic': 'GB (Gla)', - Serbian: 'RS', - 'Serbian (Cyrillic, with guillemets)': 'RS (Alternatequotes)', - 'Serbian (Cyrillic, ZE and ZHE swapped)': 'RS (Yz)', - 'Serbian (Latin, QWERTY)': 'RS (Latinyz)', - 'Serbian (Latin, Unicode, QWERTY)': 'RS (Latinunicodeyz)', - 'Serbian (Latin, Unicode)': 'RS (Latinunicode)', - 'Serbian (Latin, with guillemets)': 'RS (Latinalternatequotes)', - 'Serbian (Latin)': 'RS (Latin)', - 'Serbian (Russia)': 'RU (Srp)', - 'Serbo-Croatian (US)': 'US (Hbs)', - Shan: 'MM (Shn)', - 'Shan (Zawgyi Tai)': 'MM (Zgt)', - Sicilian: 'IT (Scn)', - Silesian: 'PL (Szl)', - Sindhi: 'PK (Snd)', - 'Sinhala (phonetic)': 'LK', - 'Sinhala (US)': 'LK (Us)', - Slovak: 'SK', - 'Slovak (extended backslash)': 'SK (Bksl)', - 'Slovak (QWERTY, extended backslash)': 'SK (Qwerty Bksl)', - 'Slovak (QWERTY)': 'SK (Qwerty)', - Slovenian: 'SI', - 'Slovenian (US)': 'SI (Us)', - 'Slovenian (with guillemets)': 'SI (Alternatequotes)', - Spanish: 'ES', - 'Spanish (dead tilde)': 'ES (Deadtilde)', - 'Spanish (Dvorak)': 'ES (Dvorak)', - 'Spanish (Latin American, Colemak)': 'LATAM (Colemak)', - 'Spanish (Latin American, dead tilde)': 'LATAM (Deadtilde)', - 'Spanish (Latin American, Dvorak)': 'LATAM (Dvorak)', - 'Spanish (Latin American, no dead keys)': 'LATAM (Nodeadkeys)', - 'Spanish (Latin American)': 'LATAM', - 'Spanish (Macintosh)': 'ES (Mac)', - 'Spanish (no dead keys)': 'ES (Nodeadkeys)', - 'Spanish (Windows)': 'ES (Winkeys)', - 'Swahili (Kenya)': 'KE', - 'Swahili (Tanzania)': 'TZ', - Swedish: 'SE', - 'Swedish (Dvorak, intl.)': 'SE (Us Dvorak)', - 'Swedish (Dvorak)': 'SE (Dvorak)', - 'Swedish (Macintosh)': 'SE (Mac)', - 'Swedish (no dead keys)': 'SE (Nodeadkeys)', - 'Swedish (Svdvorak)': 'SE (Svdvorak)', - 'Swedish (US)': 'SE (Us)', - 'Swedish Sign Language': 'SE (Swl)', - Syriac: 'SY (Syc)', - 'Syriac (phonetic)': 'SY (Syc Phonetic)', - Taiwanese: 'TW', - 'Taiwanese (indigenous)': 'TW (Indigenous)', - Tajik: 'TJ', - 'Tajik (legacy)': 'TJ (Legacy)', - 'Tamil (InScript, with Arabic numerals)': 'IN (Tam)', - 'Tamil (InScript, with Tamil numerals)': 'IN (Tam Tamilnumbers)', - "Tamil (Sri Lanka, TamilNet '99, TAB encoding)": 'LK (Tam TAB)', - "Tamil (Sri Lanka, TamilNet '99)": 'LK (Tam Unicode)', - "Tamil (TamilNet '99 with Tamil numerals)": 'IN (Tamilnet Tamilnumbers)', - "Tamil (TamilNet '99, TAB encoding)": 'IN (Tamilnet TAB)', - "Tamil (TamilNet '99, TSCII encoding)": 'IN (Tamilnet TSCII)', - "Tamil (TamilNet '99)": 'IN (Tamilnet)', - Tarifit: 'MA (Rif)', - Tatar: 'RU (Tt)', - Telugu: 'IN (Tel)', - 'Telugu (KaGaPa, phonetic)': 'IN (Tel-Kagapa)', - 'Telugu (Sarala)': 'IN (Tel-Sarala)', - Thai: 'TH', - 'Thai (Pattachote)': 'TH (Pat)', - 'Thai (TIS-820.2538)': 'TH (Tis)', - Tibetan: 'CN (Tib)', - 'Tibetan (with ASCII numerals)': 'CN (Tib Asciinum)', - Tswana: 'BW', - Turkish: 'TR', - 'Turkish (Alt-Q)': 'TR (Alt)', - 'Turkish (E)': 'TR (E)', - 'Turkish (F)': 'TR (F)', - 'Turkish (Germany)': 'DE (Tr)', - 'Turkish (intl., with dead keys)': 'TR (Intl)', - Turkmen: 'TM', - 'Turkmen (Alt-Q)': 'TM (Alt)', - Udmurt: 'RU (Udm)', - Ukrainian: 'UA', - 'Ukrainian (homophonic)': 'UA (Homophonic)', - 'Ukrainian (legacy)': 'UA (Legacy)', - 'Ukrainian (macOS)': 'UA (MacOS)', - 'Ukrainian (phonetic)': 'UA (Phonetic)', - 'Ukrainian (standard RSTU)': 'UA (Rstu)', - 'Ukrainian (typewriter)': 'UA (Typewriter)', - 'Ukrainian (Windows)': 'UA (Winkeys)', - 'Urdu (alt. phonetic)': 'IN (Urd-Phonetic3)', - 'Urdu (Pakistan, CRULP)': 'PK (Urd-Crulp)', - 'Urdu (Pakistan, NLA)': 'PK (Urd-Nla)', - 'Urdu (Pakistan)': 'PK', - 'Urdu (phonetic)': 'IN (Urd-Phonetic)', - 'Urdu (Windows)': 'IN (Urd-Winkeys)', - Uyghur: 'CN (Ug)', - Uzbek: 'UZ', - 'Uzbek (Afghanistan, OLPC)': 'AF (Uz-Olpc)', - 'Uzbek (Afghanistan)': 'AF (Uz)', - 'Uzbek (Latin)': 'UZ (Latin)', - Vietnamese: 'VN', - 'Vietnamese (France)': 'VN (Fr)', - 'Vietnamese (US)': 'VN (Us)', - Wolof: 'SN', - Yakut: 'RU (Sah)', - Yoruba: 'NG (Yoruba)', - 'Unknown Layout': 'Unknown', -} as const; diff --git a/ags/HyprPanel/customModules/module.ts b/ags/HyprPanel/customModules/module.ts deleted file mode 100644 index 5438ade..0000000 --- a/ags/HyprPanel/customModules/module.ts +++ /dev/null @@ -1,84 +0,0 @@ -import { BarBoxChild, Module } from 'lib/types/bar'; -import { BarButtonStyles } from 'lib/types/options'; -import { Bind } from 'lib/types/variable'; -import { GtkWidget } from 'lib/types/widget'; -import options from 'options'; -import Gtk from 'types/@girs/gtk-3.0/gtk-3.0'; - -const { style } = options.theme.bar.buttons; - -const undefinedVar = Variable(undefined); - -export const module = ({ - icon, - textIcon, - label, - tooltipText, - boxClass, - props = {}, - showLabelBinding = undefinedVar.bind('value'), - showLabel, - labelHook, - hook, -}: Module): BarBoxChild => { - const getIconWidget = (): GtkWidget | undefined => { - let iconWidget: Gtk.Widget | undefined; - - if (icon !== undefined) { - iconWidget = Widget.Icon({ - class_name: `txt-icon bar-button-icon module-icon ${boxClass}`, - icon: icon, - }) as unknown as Gtk.Widget; - } else if (textIcon !== undefined) { - iconWidget = Widget.Label({ - class_name: `txt-icon bar-button-icon module-icon ${boxClass}`, - label: textIcon, - }) as unknown as Gtk.Widget; - } - - return iconWidget; - }; - - return { - component: Widget.Box({ - className: Utils.merge( - [style.bind('value'), showLabelBinding], - (style: BarButtonStyles, shwLabel: boolean) => { - const shouldShowLabel = shwLabel || showLabel; - const styleMap = { - default: 'style1', - split: 'style2', - wave: 'style3', - wave2: 'style3', - }; - return `${boxClass} ${styleMap[style]} ${!shouldShowLabel ? 'no-label' : ''}`; - }, - ), - tooltip_text: tooltipText, - children: Utils.merge([showLabelBinding], (showLabelBinding): Gtk.Widget[] => { - const childrenArray: Gtk.Widget[] = []; - const iconWidget = getIconWidget(); - - if (iconWidget !== undefined) { - childrenArray.push(iconWidget); - } - - if (showLabelBinding) { - childrenArray.push( - Widget.Label({ - class_name: `bar-button-label module-label ${boxClass}`, - label: label, - setup: labelHook, - }) as unknown as Gtk.Widget, - ); - } - return childrenArray; - }) as Bind, - setup: hook, - }), - tooltip_text: tooltipText, - isVisible: true, - boxClass, - props, - }; -}; diff --git a/ags/HyprPanel/customModules/netstat/computeNetwork.ts b/ags/HyprPanel/customModules/netstat/computeNetwork.ts deleted file mode 100644 index e1b2dcd..0000000 --- a/ags/HyprPanel/customModules/netstat/computeNetwork.ts +++ /dev/null @@ -1,110 +0,0 @@ -import GLib from 'gi://GLib'; -import { Variable as VariableType } from 'types/variable'; -import { NetworkResourceData } from 'lib/types/customModules/network'; -import { GET_DEFAULT_NETSTAT_DATA } from 'lib/types/defaults/netstat'; -import { RateUnit } from 'lib/types/bar'; - -let previousNetUsage = { rx: 0, tx: 0, time: 0 }; - -const formatRate = (rate: number, type: string, round: boolean): string => { - const fixed = round ? 0 : 2; - - switch (true) { - case type === 'KiB': - return `${(rate / 1e3).toFixed(fixed)} KiB/s`; - case type === 'MiB': - return `${(rate / 1e6).toFixed(fixed)} MiB/s`; - case type === 'GiB': - return `${(rate / 1e9).toFixed(fixed)} GiB/s`; - case rate >= 1e9: - return `${(rate / 1e9).toFixed(fixed)} GiB/s`; - case rate >= 1e6: - return `${(rate / 1e6).toFixed(fixed)} MiB/s`; - case rate >= 1e3: - return `${(rate / 1e3).toFixed(fixed)} KiB/s`; - default: - return `${rate.toFixed(fixed)} bytes/s`; - } -}; - -interface NetworkUsage { - name: string; - rx: number; - tx: number; -} - -const parseInterfaceData = (line: string): NetworkUsage | null => { - const trimmedLine = line.trim(); - if (!trimmedLine || trimmedLine.startsWith('Inter-') || trimmedLine.startsWith('face')) { - return null; - } - - const [iface, rx, , , , , , , , tx] = trimmedLine.split(/\s+/); - const rxValue = parseInt(rx, 10); - const txValue = parseInt(tx, 10); - const cleanedIface = iface.replace(':', ''); - - return { name: cleanedIface, rx: rxValue, tx: txValue }; -}; - -const isValidInterface = (iface: NetworkUsage | null, interfaceName: string): boolean => { - if (!iface) return false; - if (interfaceName) return iface.name === interfaceName; - return iface.name !== 'lo' && iface.rx > 0 && iface.tx > 0; -}; - -const getNetworkUsage = (interfaceName: string = ''): NetworkUsage => { - const [success, data] = GLib.file_get_contents('/proc/net/dev'); - if (!success) { - console.error('Failed to read /proc/net/dev'); - return { name: '', rx: 0, tx: 0 }; - } - - const lines = new TextDecoder('utf-8').decode(data).split('\n'); - for (const line of lines) { - const iface = parseInterfaceData(line); - if (isValidInterface(iface, interfaceName)) { - return iface!; - } - } - - return { name: '', rx: 0, tx: 0 }; -}; - -export const computeNetwork = ( - round: VariableType, - interfaceNameVar: VariableType, - dataType: VariableType, -): NetworkResourceData => { - const rateUnit = dataType.value; - const interfaceName = interfaceNameVar ? interfaceNameVar.value : ''; - - const DEFAULT_NETSTAT_DATA = GET_DEFAULT_NETSTAT_DATA(rateUnit); - try { - const { rx, tx, name } = getNetworkUsage(interfaceName); - const currentTime = Date.now(); - - if (!name) { - return DEFAULT_NETSTAT_DATA; - } - - if (previousNetUsage.time === 0) { - previousNetUsage = { rx, tx, time: currentTime }; - return DEFAULT_NETSTAT_DATA; - } - - const timeDiff = Math.max((currentTime - previousNetUsage.time) / 1000, 1); - const rxRate = (rx - previousNetUsage.rx) / timeDiff; - const txRate = (tx - previousNetUsage.tx) / timeDiff; - - previousNetUsage = { rx, tx, time: currentTime }; - - return { - in: formatRate(rxRate, rateUnit, round.value), - out: formatRate(txRate, rateUnit, round.value), - }; - } catch (error) { - console.error('Error calculating network usage:', error); - return DEFAULT_NETSTAT_DATA; - } -}; diff --git a/ags/HyprPanel/customModules/netstat/index.ts b/ags/HyprPanel/customModules/netstat/index.ts deleted file mode 100644 index abfe2ca..0000000 --- a/ags/HyprPanel/customModules/netstat/index.ts +++ /dev/null @@ -1,105 +0,0 @@ -import options from 'options'; -import { module } from '../module'; -import { inputHandler } from 'customModules/utils'; -import { computeNetwork } from './computeNetwork'; -import { BarBoxChild, NetstatLabelType } from 'lib/types/bar'; -import Button from 'types/widgets/button'; -import { NetworkResourceData } from 'lib/types/customModules/network'; -import { NETWORK_LABEL_TYPES } from 'lib/types/defaults/bar'; -import { GET_DEFAULT_NETSTAT_DATA } from 'lib/types/defaults/netstat'; -import { pollVariable } from 'customModules/PollVar'; -import { Attribute, Child } from 'lib/types/widget'; - -const { - label, - labelType, - networkInterface, - rateUnit, - icon, - round, - leftClick, - rightClick, - middleClick, - pollingInterval, -} = options.bar.customModules.netstat; - -export const networkUsage = Variable(GET_DEFAULT_NETSTAT_DATA(rateUnit.value)); - -pollVariable( - // Variable to poll and update with the result of the function passed in - networkUsage, - // Variables that should trigger the polling function to update when they change - [rateUnit.bind('value'), networkInterface.bind('value'), round.bind('value')], - // Interval at which to poll - pollingInterval.bind('value'), - // Function to execute to get the network data - computeNetwork, - // Optional parameters to pass to the function - // round is a boolean that determines whether to round the values - round, - // Optional parameters to pass to the function - // networkInterface is the interface name to filter the data - networkInterface, - // Optional parameters to pass to the function - // rateUnit is the unit to display the data in - // e.g. KiB, MiB, GiB, etc. - rateUnit, -); - -export const Netstat = (): BarBoxChild => { - const renderNetworkLabel = (lblType: NetstatLabelType, network: NetworkResourceData): string => { - switch (lblType) { - case 'in': - return `↓ ${network.in}`; - case 'out': - return `↑ ${network.out}`; - default: - return `↓ ${network.in} ↑ ${network.out}`; - } - }; - - const netstatModule = module({ - textIcon: icon.bind('value'), - label: Utils.merge( - [networkUsage.bind('value'), labelType.bind('value')], - (network: NetworkResourceData, lblTyp: NetstatLabelType) => renderNetworkLabel(lblTyp, network), - ), - tooltipText: labelType.bind('value').as((lblTyp) => { - return lblTyp === 'full' ? 'Ingress / Egress' : lblTyp === 'in' ? 'Ingress' : 'Egress'; - }), - boxClass: 'netstat', - showLabelBinding: label.bind('value'), - props: { - setup: (self: Button) => { - inputHandler(self, { - onPrimaryClick: { - cmd: leftClick, - }, - onSecondaryClick: { - cmd: rightClick, - }, - onMiddleClick: { - cmd: middleClick, - }, - onScrollUp: { - fn: () => { - labelType.value = NETWORK_LABEL_TYPES[ - (NETWORK_LABEL_TYPES.indexOf(labelType.value) + 1) % NETWORK_LABEL_TYPES.length - ] as NetstatLabelType; - }, - }, - onScrollDown: { - fn: () => { - labelType.value = NETWORK_LABEL_TYPES[ - (NETWORK_LABEL_TYPES.indexOf(labelType.value) - 1 + NETWORK_LABEL_TYPES.length) % - NETWORK_LABEL_TYPES.length - ] as NetstatLabelType; - }, - }, - }); - }, - }, - }); - - return netstatModule; -}; diff --git a/ags/HyprPanel/customModules/power/index.ts b/ags/HyprPanel/customModules/power/index.ts deleted file mode 100644 index da678ad..0000000 --- a/ags/HyprPanel/customModules/power/index.ts +++ /dev/null @@ -1,40 +0,0 @@ -import options from 'options'; -import { module } from '../module'; - -import { inputHandler } from 'customModules/utils'; -import Button from 'types/widgets/button'; -import { Attribute, Child } from 'lib/types/widget'; -import { BarBoxChild } from 'lib/types/bar'; - -const { icon, leftClick, rightClick, middleClick, scrollUp, scrollDown } = options.bar.customModules.power; - -export const Power = (): BarBoxChild => { - const powerModule = module({ - tooltipText: 'Power Menu', - textIcon: icon.bind('value'), - boxClass: 'powermodule', - props: { - setup: (self: Button) => { - inputHandler(self, { - onPrimaryClick: { - cmd: leftClick, - }, - onSecondaryClick: { - cmd: rightClick, - }, - onMiddleClick: { - cmd: middleClick, - }, - onScrollUp: { - cmd: scrollUp, - }, - onScrollDown: { - cmd: scrollDown, - }, - }); - }, - }, - }); - - return powerModule; -}; diff --git a/ags/HyprPanel/customModules/ram/computeRam.ts b/ags/HyprPanel/customModules/ram/computeRam.ts deleted file mode 100644 index b8026c2..0000000 --- a/ags/HyprPanel/customModules/ram/computeRam.ts +++ /dev/null @@ -1,40 +0,0 @@ -const GLib = imports.gi.GLib; - -import { divide } from 'customModules/utils'; -import { GenericResourceData } from 'lib/types/customModules/generic'; -import { Variable as VariableType } from 'types/variable'; - -export const calculateRamUsage = (round: VariableType): GenericResourceData => { - try { - const [success, meminfoBytes] = GLib.file_get_contents('/proc/meminfo'); - - if (!success || !meminfoBytes) { - throw new Error('Failed to read /proc/meminfo or file content is null.'); - } - - const meminfo = new TextDecoder('utf-8').decode(meminfoBytes); - - const totalMatch = meminfo.match(/MemTotal:\s+(\d+)/); - const availableMatch = meminfo.match(/MemAvailable:\s+(\d+)/); - - if (!totalMatch || !availableMatch) { - throw new Error('Failed to parse /proc/meminfo for memory values.'); - } - - const totalRamInBytes = parseInt(totalMatch[1], 10) * 1024; - const availableRamInBytes = parseInt(availableMatch[1], 10) * 1024; - - let usedRam = totalRamInBytes - availableRamInBytes; - usedRam = isNaN(usedRam) || usedRam < 0 ? 0 : usedRam; - - return { - percentage: divide([totalRamInBytes, usedRam], round.value), - total: totalRamInBytes, - used: usedRam, - free: availableRamInBytes, - }; - } catch (error) { - console.error('Error calculating RAM usage:', error); - return { total: 0, used: 0, percentage: 0, free: 0 }; - } -}; diff --git a/ags/HyprPanel/customModules/ram/index.ts b/ags/HyprPanel/customModules/ram/index.ts deleted file mode 100644 index b651aaa..0000000 --- a/ags/HyprPanel/customModules/ram/index.ts +++ /dev/null @@ -1,79 +0,0 @@ -import options from 'options'; - -// Module initializer -import { module } from '../module'; - -// Types -import { GenericResourceData } from 'lib/types/customModules/generic'; -import Button from 'types/widgets/button'; - -// Helper Methods -import { calculateRamUsage } from './computeRam'; - -// Utility Methods -import { formatTooltip, inputHandler, renderResourceLabel } from 'customModules/utils'; -import { BarBoxChild, ResourceLabelType } from 'lib/types/bar'; - -// Global Constants -import { LABEL_TYPES } from 'lib/types/defaults/bar'; -import { pollVariable } from 'customModules/PollVar'; -import { Attribute, Child } from 'lib/types/widget'; - -// All the user configurable options for the ram module that are needed -const { label, labelType, round, leftClick, rightClick, middleClick, pollingInterval, icon } = - options.bar.customModules.ram; - -const defaultRamData: GenericResourceData = { total: 0, used: 0, percentage: 0, free: 0 }; -const ramUsage = Variable(defaultRamData); - -pollVariable(ramUsage, [round.bind('value')], pollingInterval.bind('value'), calculateRamUsage, round); - -export const Ram = (): BarBoxChild => { - const ramModule = module({ - textIcon: icon.bind('value'), - label: Utils.merge( - [ramUsage.bind('value'), labelType.bind('value'), round.bind('value')], - (rmUsg: GenericResourceData, lblTyp: ResourceLabelType, round: boolean) => { - const returnValue = renderResourceLabel(lblTyp, rmUsg, round); - - return returnValue; - }, - ), - tooltipText: labelType.bind('value').as((lblTyp) => { - return formatTooltip('RAM', lblTyp); - }), - boxClass: 'ram', - showLabelBinding: label.bind('value'), - props: { - setup: (self: Button) => { - inputHandler(self, { - onPrimaryClick: { - cmd: leftClick, - }, - onSecondaryClick: { - cmd: rightClick, - }, - onMiddleClick: { - cmd: middleClick, - }, - onScrollUp: { - fn: () => { - labelType.value = LABEL_TYPES[ - (LABEL_TYPES.indexOf(labelType.value) + 1) % LABEL_TYPES.length - ] as ResourceLabelType; - }, - }, - onScrollDown: { - fn: () => { - labelType.value = LABEL_TYPES[ - (LABEL_TYPES.indexOf(labelType.value) - 1 + LABEL_TYPES.length) % LABEL_TYPES.length - ] as ResourceLabelType; - }, - }, - }); - }, - }, - }); - - return ramModule; -}; diff --git a/ags/HyprPanel/customModules/storage/computeStorage.ts b/ags/HyprPanel/customModules/storage/computeStorage.ts deleted file mode 100644 index 49cbc14..0000000 --- a/ags/HyprPanel/customModules/storage/computeStorage.ts +++ /dev/null @@ -1,28 +0,0 @@ -// @ts-expect-error is a special directive that tells the compiler to use the GTop library -import GTop from 'gi://GTop'; - -import { divide } from 'customModules/utils'; -import { Variable as VariableType } from 'types/variable'; -import { GenericResourceData } from 'lib/types/customModules/generic'; - -export const computeStorage = (round: VariableType): GenericResourceData => { - try { - const currentFsUsage = new GTop.glibtop_fsusage(); - - GTop.glibtop_get_fsusage(currentFsUsage, '/'); - - const total = currentFsUsage.blocks * currentFsUsage.block_size; - const available = currentFsUsage.bavail * currentFsUsage.block_size; - const used = total - available; - - return { - total, - used, - free: available, - percentage: divide([total, used], round.value), - }; - } catch (error) { - console.error('Error calculating RAM usage:', error); - return { total: 0, used: 0, percentage: 0, free: 0 }; - } -}; diff --git a/ags/HyprPanel/customModules/storage/index.ts b/ags/HyprPanel/customModules/storage/index.ts deleted file mode 100644 index 9cfeb85..0000000 --- a/ags/HyprPanel/customModules/storage/index.ts +++ /dev/null @@ -1,68 +0,0 @@ -import options from 'options'; -import { module } from '../module'; - -import { formatTooltip, inputHandler, renderResourceLabel } from 'customModules/utils'; -import { computeStorage } from './computeStorage'; -import { BarBoxChild, ResourceLabelType } from 'lib/types/bar'; -import { GenericResourceData } from 'lib/types/customModules/generic'; -import Button from 'types/widgets/button'; -import { LABEL_TYPES } from 'lib/types/defaults/bar'; -import { pollVariable } from 'customModules/PollVar'; -import { Attribute, Child } from 'lib/types/widget'; - -const { label, labelType, icon, round, leftClick, rightClick, middleClick, pollingInterval } = - options.bar.customModules.storage; - -const defaultStorageData = { total: 0, used: 0, percentage: 0, free: 0 }; - -const storageUsage = Variable(defaultStorageData); - -pollVariable(storageUsage, [round.bind('value')], pollingInterval.bind('value'), computeStorage, round); - -export const Storage = (): BarBoxChild => { - const storageModule = module({ - textIcon: icon.bind('value'), - label: Utils.merge( - [storageUsage.bind('value'), labelType.bind('value'), round.bind('value')], - (storage: GenericResourceData, lblTyp: ResourceLabelType, round: boolean) => { - return renderResourceLabel(lblTyp, storage, round); - }, - ), - tooltipText: labelType.bind('value').as((lblTyp) => { - return formatTooltip('Storage', lblTyp); - }), - boxClass: 'storage', - showLabelBinding: label.bind('value'), - props: { - setup: (self: Button) => { - inputHandler(self, { - onPrimaryClick: { - cmd: leftClick, - }, - onSecondaryClick: { - cmd: rightClick, - }, - onMiddleClick: { - cmd: middleClick, - }, - onScrollUp: { - fn: () => { - labelType.value = LABEL_TYPES[ - (LABEL_TYPES.indexOf(labelType.value) + 1) % LABEL_TYPES.length - ] as ResourceLabelType; - }, - }, - onScrollDown: { - fn: () => { - labelType.value = LABEL_TYPES[ - (LABEL_TYPES.indexOf(labelType.value) - 1 + LABEL_TYPES.length) % LABEL_TYPES.length - ] as ResourceLabelType; - }, - }, - }); - }, - }, - }); - - return storageModule; -}; diff --git a/ags/HyprPanel/customModules/submap/helpers.ts b/ags/HyprPanel/customModules/submap/helpers.ts deleted file mode 100644 index 0c38718..0000000 --- a/ags/HyprPanel/customModules/submap/helpers.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Variable } from 'types/variable'; - -const hyprland = await Service.import('hyprland'); - -export const isSubmapEnabled = (submap: string, enabled: string, disabled: string): string => { - return submap !== 'default' ? enabled : disabled; -}; - -export const getInitialSubmap = (submapStatus: Variable): void => { - let submap = hyprland.message('submap'); - - const newLineCarriage = /\n/g; - submap = submap.replace(newLineCarriage, ''); - - if (submap === 'unknown request') { - submap = 'default'; - } - - submapStatus.value = submap; -}; diff --git a/ags/HyprPanel/customModules/submap/index.ts b/ags/HyprPanel/customModules/submap/index.ts deleted file mode 100644 index c83316e..0000000 --- a/ags/HyprPanel/customModules/submap/index.ts +++ /dev/null @@ -1,101 +0,0 @@ -const hyprland = await Service.import('hyprland'); -import options from 'options'; -import { module } from '../module'; - -import { inputHandler } from 'customModules/utils'; -import Button from 'types/widgets/button'; -import { Variable as VariableType } from 'types/variable'; -import { Attribute, Child } from 'lib/types/widget'; -import { BarBoxChild } from 'lib/types/bar'; -import { capitalizeFirstLetter } from 'lib/utils'; -import { getInitialSubmap, isSubmapEnabled } from './helpers'; - -const { - label, - showSubmapName, - enabledIcon, - disabledIcon, - enabledText, - disabledText, - leftClick, - rightClick, - middleClick, - scrollUp, - scrollDown, -} = options.bar.customModules.submap; - -const submapStatus: VariableType = Variable('default'); - -hyprland.connect('submap', (_, currentSubmap) => { - if (currentSubmap.length === 0) { - submapStatus.value = 'default'; - } else { - submapStatus.value = currentSubmap; - } -}); - -getInitialSubmap(submapStatus); - -export const Submap = (): BarBoxChild => { - const submapModule = module({ - textIcon: Utils.merge( - [submapStatus.bind('value'), enabledIcon.bind('value'), disabledIcon.bind('value')], - (status, enabled, disabled) => { - return isSubmapEnabled(status, enabled, disabled); - }, - ), - tooltipText: Utils.merge( - [ - submapStatus.bind('value'), - enabledText.bind('value'), - disabledText.bind('value'), - showSubmapName.bind('value'), - ], - (status, enabled, disabled, showSmName) => { - if (showSmName) { - return capitalizeFirstLetter(status); - } - return isSubmapEnabled(status, enabled, disabled); - }, - ), - boxClass: 'submap', - label: Utils.merge( - [ - submapStatus.bind('value'), - enabledText.bind('value'), - disabledText.bind('value'), - showSubmapName.bind('value'), - ], - (status, enabled, disabled, showSmName) => { - if (showSmName) { - return capitalizeFirstLetter(status); - } - return isSubmapEnabled(status, enabled, disabled); - }, - ), - showLabelBinding: label.bind('value'), - props: { - setup: (self: Button) => { - inputHandler(self, { - onPrimaryClick: { - cmd: leftClick, - }, - onSecondaryClick: { - cmd: rightClick, - }, - onMiddleClick: { - cmd: middleClick, - }, - onScrollUp: { - cmd: scrollUp, - }, - onScrollDown: { - cmd: scrollDown, - }, - }); - }, - }, - }); - - return submapModule; -}; diff --git a/ags/HyprPanel/customModules/theme.ts b/ags/HyprPanel/customModules/theme.ts deleted file mode 100644 index 2ac92ff..0000000 --- a/ags/HyprPanel/customModules/theme.ts +++ /dev/null @@ -1,171 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import Scrollable from 'types/widgets/scrollable'; -import { Attribute, GtkWidget } from 'lib/types/widget'; - -export const CustomModuleTheme = (): Scrollable => { - return Widget.Scrollable({ - vscroll: 'automatic', - hscroll: 'automatic', - class_name: 'menu-theme-page customModules paged-container', - child: Widget.Box({ - class_name: 'bar-theme-page paged-container', - vertical: true, - children: [ - Header('RAM'), - Option({ opt: options.theme.bar.buttons.modules.ram.text, title: 'Text', type: 'color' }), - Option({ opt: options.theme.bar.buttons.modules.ram.icon, title: 'Icon', type: 'color' }), - Option({ - opt: options.theme.bar.buttons.modules.ram.background, - title: 'Label Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.buttons.modules.ram.icon_background, - title: 'Icon Background', - subtitle: - "Applies a background color to the icon section of the button.\nRequires 'split' button styling.", - type: 'color', - }), - Option({ opt: options.theme.bar.buttons.modules.ram.border, title: 'Border', type: 'color' }), - - Header('CPU'), - Option({ opt: options.theme.bar.buttons.modules.cpu.text, title: 'Text', type: 'color' }), - Option({ opt: options.theme.bar.buttons.modules.cpu.icon, title: 'Icon', type: 'color' }), - Option({ - opt: options.theme.bar.buttons.modules.cpu.background, - title: 'Label Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.buttons.modules.cpu.icon_background, - title: 'Icon Background', - subtitle: - "Applies a background color to the icon section of the button.\nRequires 'split' button styling.", - type: 'color', - }), - Option({ opt: options.theme.bar.buttons.modules.cpu.border, title: 'Border', type: 'color' }), - - Header('Storage'), - Option({ opt: options.theme.bar.buttons.modules.storage.text, title: 'Text', type: 'color' }), - Option({ opt: options.theme.bar.buttons.modules.storage.icon, title: 'Icon', type: 'color' }), - Option({ - opt: options.theme.bar.buttons.modules.storage.background, - title: 'Label Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.buttons.modules.storage.icon_background, - title: 'Icon Background', - subtitle: - "Applies a background color to the icon section of the button.\nRequires 'split' button styling.", - type: 'color', - }), - Option({ opt: options.theme.bar.buttons.modules.storage.border, title: 'Border', type: 'color' }), - - Header('Netstat'), - Option({ opt: options.theme.bar.buttons.modules.netstat.text, title: 'Text', type: 'color' }), - Option({ opt: options.theme.bar.buttons.modules.netstat.icon, title: 'Icon', type: 'color' }), - Option({ - opt: options.theme.bar.buttons.modules.netstat.background, - title: 'Label Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.buttons.modules.netstat.icon_background, - title: 'Icon Background', - subtitle: - "Applies a background color to the icon section of the button.\nRequires 'split' button styling.", - type: 'color', - }), - Option({ opt: options.theme.bar.buttons.modules.netstat.border, title: 'Border', type: 'color' }), - - Header('Keyboard Layout'), - Option({ opt: options.theme.bar.buttons.modules.kbLayout.text, title: 'Text', type: 'color' }), - Option({ opt: options.theme.bar.buttons.modules.kbLayout.icon, title: 'Icon', type: 'color' }), - Option({ - opt: options.theme.bar.buttons.modules.kbLayout.background, - title: 'Label Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.buttons.modules.kbLayout.icon_background, - title: 'Icon Background', - subtitle: - "Applies a background color to the icon section of the button.\nRequires 'split' button styling.", - type: 'color', - }), - Option({ opt: options.theme.bar.buttons.modules.kbLayout.border, title: 'Border', type: 'color' }), - - Header('Updates'), - Option({ opt: options.theme.bar.buttons.modules.updates.text, title: 'Text', type: 'color' }), - Option({ opt: options.theme.bar.buttons.modules.updates.icon, title: 'Icon', type: 'color' }), - Option({ - opt: options.theme.bar.buttons.modules.updates.background, - title: 'Label Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.buttons.modules.updates.icon_background, - title: 'Icon Background', - subtitle: - "Applies a background color to the icon section of the button.\nRequires 'split' button styling.", - type: 'color', - }), - Option({ opt: options.theme.bar.buttons.modules.updates.border, title: 'Border', type: 'color' }), - - Header('Submap'), - Option({ opt: options.theme.bar.buttons.modules.submap.text, title: 'Text', type: 'color' }), - Option({ opt: options.theme.bar.buttons.modules.submap.icon, title: 'Icon', type: 'color' }), - Option({ - opt: options.theme.bar.buttons.modules.submap.background, - title: 'Label Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.buttons.modules.submap.icon_background, - title: 'Icon Background', - subtitle: - "Applies a background color to the icon section of the button.\nRequires 'split' button styling.", - type: 'color', - }), - Option({ opt: options.theme.bar.buttons.modules.submap.border, title: 'Border', type: 'color' }), - - Header('Weather'), - Option({ opt: options.theme.bar.buttons.modules.weather.icon, title: 'Icon', type: 'color' }), - Option({ opt: options.theme.bar.buttons.modules.weather.text, title: 'Text', type: 'color' }), - Option({ - opt: options.theme.bar.buttons.modules.weather.background, - title: 'Label Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.buttons.modules.weather.icon_background, - title: 'Icon Background', - subtitle: - "Applies a background color to the icon section of the button.\nRequires 'split' button styling.", - type: 'color', - }), - Option({ opt: options.theme.bar.buttons.modules.weather.border, title: 'Border', type: 'color' }), - - Header('Power'), - Option({ opt: options.theme.bar.buttons.modules.power.icon, title: 'Icon', type: 'color' }), - Option({ - opt: options.theme.bar.buttons.modules.power.background, - title: 'Label Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.buttons.modules.power.icon_background, - title: 'Icon Background', - subtitle: - "Applies a background color to the icon section of the button.\nRequires 'split' button styling.", - type: 'color', - }), - Option({ opt: options.theme.bar.buttons.modules.power.border, title: 'Border', type: 'color' }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/customModules/updates/index.ts b/ags/HyprPanel/customModules/updates/index.ts deleted file mode 100644 index 4be5ee8..0000000 --- a/ags/HyprPanel/customModules/updates/index.ts +++ /dev/null @@ -1,70 +0,0 @@ -import options from 'options'; -import { module } from '../module'; - -import { inputHandler } from 'customModules/utils'; -import Button from 'types/widgets/button'; -import { Variable as VariableType } from 'types/variable'; -import { pollVariableBash } from 'customModules/PollVar'; -import { Attribute, Child } from 'lib/types/widget'; -import { BarBoxChild } from 'lib/types/bar'; - -const { - updateCommand, - label, - padZero, - pollingInterval, - icon, - leftClick, - rightClick, - middleClick, - scrollUp, - scrollDown, -} = options.bar.customModules.updates; - -const pendingUpdates: VariableType = Variable(' 0'); - -const processUpdateCount = (updateCount: string): string => { - if (!padZero.value) return updateCount; - return `${updateCount.padStart(2, '0')}`; -}; - -pollVariableBash( - pendingUpdates, - [padZero.bind('value')], - pollingInterval.bind('value'), - updateCommand.value, - processUpdateCount, -); - -export const Updates = (): BarBoxChild => { - const updatesModule = module({ - textIcon: icon.bind('value'), - tooltipText: pendingUpdates.bind('value').as((v) => `${v} updates available`), - boxClass: 'updates', - label: pendingUpdates.bind('value'), - showLabelBinding: label.bind('value'), - props: { - setup: (self: Button) => { - inputHandler(self, { - onPrimaryClick: { - cmd: leftClick, - }, - onSecondaryClick: { - cmd: rightClick, - }, - onMiddleClick: { - cmd: middleClick, - }, - onScrollUp: { - cmd: scrollUp, - }, - onScrollDown: { - cmd: scrollDown, - }, - }); - }, - }, - }); - - return updatesModule; -}; diff --git a/ags/HyprPanel/customModules/utils.ts b/ags/HyprPanel/customModules/utils.ts deleted file mode 100644 index b68258e..0000000 --- a/ags/HyprPanel/customModules/utils.ts +++ /dev/null @@ -1,197 +0,0 @@ -import { ResourceLabelType } from 'lib/types/bar'; -import { GenericResourceData, Postfix } from 'lib/types/customModules/generic'; -import { InputHandlerEvents, RunAsyncCommand } from 'lib/types/customModules/utils'; -import { ThrottleFn, ThrottleFnCallback } from 'lib/types/utils'; -import { Attribute, Child, EventArgs } from 'lib/types/widget'; -import { Binding } from 'lib/utils'; -import { openMenu } from 'modules/bar/utils'; -import options from 'options'; -import Gdk from 'types/@girs/gdk-3.0/gdk-3.0'; -import { Variable as VariableType } from 'types/variable'; -import Button from 'types/widgets/button'; - -const { scrollSpeed } = options.bar.customModules; - -export const runAsyncCommand: RunAsyncCommand = (cmd, events, fn): void => { - if (cmd.startsWith('menu:')) { - const menuName = cmd.split(':')[1].trim().toLowerCase(); - openMenu(events.clicked, events.event, `${menuName}menu`); - - return; - } - - Utils.execAsync(`bash -c "${cmd}"`) - .then((output) => { - if (fn !== undefined) { - fn(output); - } - }) - .catch((err) => console.error(`Error running command "${cmd}": ${err})`)); -}; - -export function throttle(func: T, limit: number): T { - let inThrottle: boolean; - return function (this: ThisParameterType, ...args: Parameters) { - if (!inThrottle) { - func.apply(this, args); - inThrottle = true; - setTimeout(() => { - inThrottle = false; - }, limit); - } - } as T; -} - -export const throttledScrollHandler = (interval: number): ThrottleFn => - throttle((cmd: string, events: EventArgs, fn: ThrottleFnCallback) => { - runAsyncCommand(cmd, events, fn); - }, 200 / interval); - -const dummyVar = Variable(''); - -export const inputHandler = ( - self: Button, - { onPrimaryClick, onSecondaryClick, onMiddleClick, onScrollUp, onScrollDown }: InputHandlerEvents, -): void => { - const sanitizeInput = (input: VariableType): string => { - if (input === undefined) { - return ''; - } - return input.value; - }; - - const updateHandlers = (): void => { - const interval = scrollSpeed.value; - const throttledHandler = throttledScrollHandler(interval); - - self.on_primary_click = (clicked: Button, event: Gdk.Event): void => - runAsyncCommand(sanitizeInput(onPrimaryClick?.cmd || dummyVar), { clicked, event }, onPrimaryClick.fn); - - self.on_secondary_click = (clicked: Button, event: Gdk.Event): void => - runAsyncCommand(sanitizeInput(onSecondaryClick?.cmd || dummyVar), { clicked, event }, onSecondaryClick.fn); - - self.on_middle_click = (clicked: Button, event: Gdk.Event): void => - runAsyncCommand(sanitizeInput(onMiddleClick?.cmd || dummyVar), { clicked, event }, onMiddleClick.fn); - - self.on_scroll_up = (clicked: Button, event: Gdk.Event): void => - throttledHandler(sanitizeInput(onScrollUp?.cmd || dummyVar), { clicked, event }, onScrollUp.fn); - - self.on_scroll_down = (clicked: Button, event: Gdk.Event): void => - throttledHandler(sanitizeInput(onScrollDown?.cmd || dummyVar), { clicked, event }, onScrollDown.fn); - }; - - // Initial setup of event handlers - updateHandlers(); - - const sanitizeVariable = (someVar: VariableType | undefined): Binding => { - if (someVar === undefined || typeof someVar.bind !== 'function') { - return dummyVar.bind('value'); - } - return someVar.bind('value'); - }; - - // Re-run the update whenever scrollSpeed changes - Utils.merge( - [ - scrollSpeed.bind('value'), - sanitizeVariable(onPrimaryClick), - sanitizeVariable(onSecondaryClick), - sanitizeVariable(onMiddleClick), - sanitizeVariable(onScrollUp), - sanitizeVariable(onScrollDown), - ], - updateHandlers, - ); -}; - -export const divide = ([total, used]: number[], round: boolean): number => { - const percentageTotal = (used / total) * 100; - if (round) { - return total > 0 ? Math.round(percentageTotal) : 0; - } - return total > 0 ? parseFloat(percentageTotal.toFixed(2)) : 0; -}; - -export const formatSizeInKiB = (sizeInBytes: number, round: boolean): number => { - const sizeInGiB = sizeInBytes / 1024 ** 1; - return round ? Math.round(sizeInGiB) : parseFloat(sizeInGiB.toFixed(2)); -}; -export const formatSizeInMiB = (sizeInBytes: number, round: boolean): number => { - const sizeInGiB = sizeInBytes / 1024 ** 2; - return round ? Math.round(sizeInGiB) : parseFloat(sizeInGiB.toFixed(2)); -}; -export const formatSizeInGiB = (sizeInBytes: number, round: boolean): number => { - const sizeInGiB = sizeInBytes / 1024 ** 3; - return round ? Math.round(sizeInGiB) : parseFloat(sizeInGiB.toFixed(2)); -}; -export const formatSizeInTiB = (sizeInBytes: number, round: boolean): number => { - const sizeInGiB = sizeInBytes / 1024 ** 4; - return round ? Math.round(sizeInGiB) : parseFloat(sizeInGiB.toFixed(2)); -}; - -export const autoFormatSize = (sizeInBytes: number, round: boolean): number => { - // auto convert to GiB, MiB, KiB, TiB, or bytes - if (sizeInBytes >= 1024 ** 4) return formatSizeInTiB(sizeInBytes, round); - if (sizeInBytes >= 1024 ** 3) return formatSizeInGiB(sizeInBytes, round); - if (sizeInBytes >= 1024 ** 2) return formatSizeInMiB(sizeInBytes, round); - if (sizeInBytes >= 1024 ** 1) return formatSizeInKiB(sizeInBytes, round); - - return sizeInBytes; -}; - -export const getPostfix = (sizeInBytes: number): Postfix => { - if (sizeInBytes >= 1024 ** 4) return 'TiB'; - if (sizeInBytes >= 1024 ** 3) return 'GiB'; - if (sizeInBytes >= 1024 ** 2) return 'MiB'; - if (sizeInBytes >= 1024 ** 1) return 'KiB'; - - return 'B'; -}; - -export const renderResourceLabel = (lblType: ResourceLabelType, rmUsg: GenericResourceData, round: boolean): string => { - const { used, total, percentage, free } = rmUsg; - - const formatFunctions = { - TiB: formatSizeInTiB, - GiB: formatSizeInGiB, - MiB: formatSizeInMiB, - KiB: formatSizeInKiB, - B: (size: number): number => size, - }; - - // Get them datas in proper GiB, MiB, KiB, TiB, or bytes - const totalSizeFormatted = autoFormatSize(total, round); - // get the postfix: one of [TiB, GiB, MiB, KiB, B] - const postfix = getPostfix(total); - - // Determine which format function to use - const formatUsed = formatFunctions[postfix] || formatFunctions['B']; - const usedSizeFormatted = formatUsed(used, round); - - if (lblType === 'used/total') { - return `${usedSizeFormatted}/${totalSizeFormatted} ${postfix}`; - } - if (lblType === 'used') { - return `${autoFormatSize(used, round)} ${getPostfix(used)}`; - } - if (lblType === 'free') { - return `${autoFormatSize(free, round)} ${getPostfix(free)}`; - } - - return `${percentage}%`; -}; - -export const formatTooltip = (dataType: string, lblTyp: ResourceLabelType): string => { - switch (lblTyp) { - case 'used': - return `Used ${dataType}`; - case 'free': - return `Free ${dataType}`; - case 'used/total': - return `Used/Total ${dataType}`; - case 'percentage': - return `Percentage ${dataType} Usage`; - default: - return ''; - } -}; diff --git a/ags/HyprPanel/customModules/weather/index.ts b/ags/HyprPanel/customModules/weather/index.ts deleted file mode 100644 index b40995c..0000000 --- a/ags/HyprPanel/customModules/weather/index.ts +++ /dev/null @@ -1,52 +0,0 @@ -import options from 'options'; -import { module } from '../module'; - -import { inputHandler } from 'customModules/utils'; -import Button from 'types/widgets/button'; -import { getWeatherStatusTextIcon, globalWeatherVar } from 'globals/weather'; -import { Attribute, Child } from 'lib/types/widget'; -import { BarBoxChild } from 'lib/types/bar'; - -const { label, unit, leftClick, rightClick, middleClick, scrollUp, scrollDown } = options.bar.customModules.weather; - -export const Weather = (): BarBoxChild => { - const weatherModule = module({ - textIcon: Utils.merge([globalWeatherVar.bind('value')], (wthr) => { - const weatherStatusIcon = getWeatherStatusTextIcon(wthr); - return weatherStatusIcon; - }), - tooltipText: globalWeatherVar.bind('value').as((v) => `Weather Status: ${v.current.condition.text}`), - boxClass: 'weather-custom', - label: Utils.merge([globalWeatherVar.bind('value'), unit.bind('value')], (wthr, unt) => { - if (unt === 'imperial') { - return `${Math.ceil(wthr.current.temp_f)}° F`; - } else { - return `${Math.ceil(wthr.current.temp_c)}° C`; - } - }), - showLabelBinding: label.bind('value'), - props: { - setup: (self: Button) => { - inputHandler(self, { - onPrimaryClick: { - cmd: leftClick, - }, - onSecondaryClick: { - cmd: rightClick, - }, - onMiddleClick: { - cmd: middleClick, - }, - onScrollUp: { - cmd: scrollUp, - }, - onScrollDown: { - cmd: scrollDown, - }, - }); - }, - }, - }); - - return weatherModule; -}; diff --git a/ags/HyprPanel/directoryMonitorService.ts b/ags/HyprPanel/directoryMonitorService.ts deleted file mode 100644 index 2e1a74a..0000000 --- a/ags/HyprPanel/directoryMonitorService.ts +++ /dev/null @@ -1,38 +0,0 @@ -import Service from 'resource:///com/github/Aylur/ags/service.js'; -import App from 'resource:///com/github/Aylur/ags/app.js'; -import { monitorFile } from 'resource:///com/github/Aylur/ags/utils.js'; -import Gio from 'gi://Gio'; -import { FileInfo } from 'types/@girs/gio-2.0/gio-2.0.cjs'; - -class DirectoryMonitorService extends Service { - static { - Service.register(this, {}, {}); - } - - constructor() { - super(); - this.recursiveDirectoryMonitor(`${App.configDir}/scss`); - } - - recursiveDirectoryMonitor(directoryPath: string): void { - monitorFile(directoryPath, (_, eventType) => { - if (eventType === Gio.FileMonitorEvent.CHANGES_DONE_HINT) { - this.emit('changed'); - } - }); - - const directory = Gio.File.new_for_path(directoryPath); - const enumerator = directory.enumerate_children('standard::*', Gio.FileQueryInfoFlags.NONE, null); - - let fileInfo: FileInfo; - while ((fileInfo = enumerator.next_file(null) as FileInfo) !== null) { - const childPath = directoryPath + '/' + fileInfo.get_name(); - if (fileInfo.get_file_type() === Gio.FileType.DIRECTORY) { - this.recursiveDirectoryMonitor(childPath); - } - } - } -} - -const service = new DirectoryMonitorService(); -export default service; diff --git a/ags/HyprPanel/flake.lock b/ags/HyprPanel/flake.lock deleted file mode 100644 index 2417d92..0000000 --- a/ags/HyprPanel/flake.lock +++ /dev/null @@ -1,78 +0,0 @@ -{ - "nodes": { - "ags": { - "inputs": { - "nixpkgs": "nixpkgs", - "systems": "systems" - }, - "locked": { - "lastModified": 1727303518, - "narHash": "sha256-lO5JMynTxNZxg/+E4/Y9reeLGIz/M8cEue+Re4cP6qo=", - "owner": "Aylur", - "repo": "ags", - "rev": "cd543afec4d9ed708990e5ba52184716809bf248", - "type": "github" - }, - "original": { - "owner": "Aylur", - "repo": "ags", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1725634671, - "narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1727634051, - "narHash": "sha256-S5kVU7U82LfpEukbn/ihcyNt2+EvG7Z5unsKW9H/yFA=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "06cf0e1da4208d3766d898b7fdab6513366d45b9", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "ags": "ags", - "nixpkgs": "nixpkgs_2" - } - }, - "systems": { - "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", - "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default-linux", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/ags/HyprPanel/flake.nix b/ags/HyprPanel/flake.nix deleted file mode 100644 index 685fed7..0000000 --- a/ags/HyprPanel/flake.nix +++ /dev/null @@ -1,78 +0,0 @@ -{ - description = "A Bar/Panel for Hyprland with extensive customizability."; - - inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - ags.url = "github:Aylur/ags"; - }; - - outputs = inputs: let - systems = [ - "x86_64-linux" - "x86_64-darwin" - "aarch64-darwin" - "aarch64-linux" - ]; - forEachSystem = inputs.nixpkgs.lib.genAttrs systems; - pkgsFor = forEachSystem ( - system: - import inputs.nixpkgs { - inherit system; - config.allowUnfree = true; - } - ); - - devShellFor = system: - inputs.nixpkgs.lib.genAttrs ["default"] ( - _: - inputs.nixpkgs.legacyPackages.${system}.mkShell { - buildInputs = [ - pkgsFor.${system}.esbuild - pkgsFor.${system}.fish - pkgsFor.${system}.typescript - pkgsFor.${system}.bun - pkgsFor.${system}.libnotify - pkgsFor.${system}.dart-sass - pkgsFor.${system}.fd - pkgsFor.${system}.btop - pkgsFor.${system}.bluez - pkgsFor.${system}.libgtop - pkgsFor.${system}.gobject-introspection - pkgsFor.${system}.glib - pkgsFor.${system}.bluez-tools - pkgsFor.${system}.grimblast - pkgsFor.${system}.gpu-screen-recorder - pkgsFor.${system}.brightnessctl - pkgsFor.${system}.gnome-bluetooth - pkgsFor.${system}.python3 - pkgsFor.${system}.matugen - inputs.ags.packages.${system}.agsWithTypes - ]; - nativeBuildInputs = with pkgsFor.${system}; [ - nixfmt-rfc-style - nil - ]; - shellHook = '' - export GDK_BACKEND=wayland - export GI_TYPELIB_PATH=${pkgsFor.${system}.libgtop}/lib/girepository-1.0:${pkgsFor.${system}.glib}/lib/girepository-1.0:$GI_TYPELIB_PATH - ''; - } - ); - in { - devShells = forEachSystem devShellFor; - - overlay = final: prev: { - hyprpanel = - if final ? callPackage - then (final.callPackage ./nix {inherit inputs;}).desktop.script - else inputs.self.packages.${prev.stdenv.system}.default; - }; - packages = forEachSystem ( - system: let - pkgs = pkgsFor.${system}; - in { - default = (pkgs.callPackage ./nix {inherit inputs;}).desktop.script; - } - ); - }; -} diff --git a/ags/HyprPanel/globals.d.ts b/ags/HyprPanel/globals.d.ts deleted file mode 100644 index 8e44a87..0000000 --- a/ags/HyprPanel/globals.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -// globals.d.ts -/* eslint-disable no-var */ - -import { Options, Variable as VariableType } from 'types/variable'; - -declare global { - var useTheme: (filePath: string) => void; - var isWindowVisible: (windowName: string) => boolean; - var globalWeatherVar: VariableType; - var options: Options; - var removingNotifications: VariableType; -} - -export {}; diff --git a/ags/HyprPanel/globals/dropdown.ts b/ags/HyprPanel/globals/dropdown.ts deleted file mode 100644 index b1178bf..0000000 --- a/ags/HyprPanel/globals/dropdown.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Variable as VariableType } from 'types/variable'; - -type GlobalEventBoxes = { - [key: string]: unknown; -}; -export const globalEventBoxes: VariableType = Variable({}); diff --git a/ags/HyprPanel/globals/network.ts b/ags/HyprPanel/globals/network.ts deleted file mode 100644 index 44fbf77..0000000 --- a/ags/HyprPanel/globals/network.ts +++ /dev/null @@ -1,15 +0,0 @@ -export const WIFI_STATUS_MAP = { - unknown: 'Status Unknown', - unmanaged: 'Unmanaged', - unavailable: 'Unavailable', - disconnected: 'Disconnected', - prepare: 'Preparing Connecting', - config: 'Connecting', - need_auth: 'Needs Authentication', - ip_config: 'Requesting IP', - ip_check: 'Checking Access', - secondaries: 'Waiting on Secondaries', - activated: 'Connected', - deactivating: 'Disconnecting', - failed: 'Connection Failed', -} as const; diff --git a/ags/HyprPanel/globals/notification.ts b/ags/HyprPanel/globals/notification.ts deleted file mode 100644 index f382bc4..0000000 --- a/ags/HyprPanel/globals/notification.ts +++ /dev/null @@ -1,37 +0,0 @@ -import icons from 'modules/icons/index'; -import { Notification } from 'types/service/notifications'; - -export const removingNotifications = Variable(false); - -export const getNotificationIcon = (app_name: string, app_icon: string, app_entry: string): string => { - let icon: string = icons.fallback.notification; - - if (Utils.lookUpIcon(app_name) || Utils.lookUpIcon(app_name.toLowerCase() || '')) { - icon = Utils.lookUpIcon(app_name) - ? app_name - : Utils.lookUpIcon(app_name.toLowerCase()) - ? app_name.toLowerCase() - : ''; - } - - if (Utils.lookUpIcon(app_icon) && icon === '') { - icon = app_icon; - } - - if (Utils.lookUpIcon(app_entry || '') && icon === '') { - icon = app_entry || ''; - } - - return icon; -}; - -export const closeNotifications = async (notifications: Notification[], delay: number): Promise => { - removingNotifications.value = true; - for (const notif of notifications) { - notif.close(); - await new Promise((resolve) => setTimeout(resolve, delay)); - } - removingNotifications.value = false; -}; - -globalThis['removingNotifications'] = removingNotifications; diff --git a/ags/HyprPanel/globals/useTheme.ts b/ags/HyprPanel/globals/useTheme.ts deleted file mode 100644 index 15c2322..0000000 --- a/ags/HyprPanel/globals/useTheme.ts +++ /dev/null @@ -1,43 +0,0 @@ -import Gio from 'gi://Gio'; -import { bash, Notify } from 'lib/utils'; -import icons from 'lib/icons'; -import { filterConfigForThemeOnly, loadJsonFile, saveConfigToFile } from 'widget/settings/shared/FileChooser'; - -export const hexColorPattern = /^#([0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$/; - -globalThis.useTheme = (filePath: string): void => { - const importedConfig = loadJsonFile(filePath); - - if (!importedConfig) { - return; - } - - Notify({ - summary: `Importing Theme`, - body: `Importing: ${filePath}`, - iconName: icons.ui.info, - timeout: 7000, - }); - - const tmpConfigFile = Gio.File.new_for_path(`${TMP}/config.json`); - const optionsConfigFile = Gio.File.new_for_path(OPTIONS); - - const [tmpSuccess, tmpContent] = tmpConfigFile.load_contents(null); - const [optionsSuccess, optionsContent] = optionsConfigFile.load_contents(null); - - if (!tmpSuccess || !optionsSuccess) { - console.error('Failed to read existing configuration files.'); - return; - } - - let tmpConfig = JSON.parse(new TextDecoder('utf-8').decode(tmpContent)); - let optionsConfig = JSON.parse(new TextDecoder('utf-8').decode(optionsContent)); - - const filteredConfig = filterConfigForThemeOnly(importedConfig); - tmpConfig = { ...tmpConfig, ...filteredConfig }; - optionsConfig = { ...optionsConfig, ...filteredConfig }; - - saveConfigToFile(tmpConfig, `${TMP}/config.json`); - saveConfigToFile(optionsConfig, OPTIONS); - bash('pkill ags && ags'); -}; diff --git a/ags/HyprPanel/globals/utilities.ts b/ags/HyprPanel/globals/utilities.ts deleted file mode 100644 index 438c666..0000000 --- a/ags/HyprPanel/globals/utilities.ts +++ /dev/null @@ -1,8 +0,0 @@ -globalThis.isWindowVisible = (windowName: string): boolean => { - const appWindow = App.getWindow(windowName); - - if (appWindow === undefined) { - return false; - } - return appWindow.visible; -}; diff --git a/ags/HyprPanel/globals/variables.ts b/ags/HyprPanel/globals/variables.ts deleted file mode 100644 index ea2eb5d..0000000 --- a/ags/HyprPanel/globals/variables.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Opt } from 'lib/option'; -import { HexColor, MatugenTheme, RecursiveOptionsObject } from 'lib/types/options'; - -export const isOpt = (value: unknown): value is Opt => - typeof value === 'object' && value !== null && 'value' in value && value instanceof Opt; - -export const isOptString = (value: unknown): value is Opt => { - return value instanceof Opt && typeof value.value === 'string'; -}; - -export const isOptNumber = (value: unknown): value is Opt => { - return value instanceof Opt && typeof value.value === 'number'; -}; - -export const isOptBoolean = (value: unknown): value is Opt => { - return value instanceof Opt && typeof value.value === 'boolean'; -}; - -export const isOptMatugenTheme = (value: unknown): value is Opt => { - return value instanceof Opt && typeof value.value === 'object' && 'specificProperty' in value.value; // Replace 'specificProperty' with an actual property of MatugenTheme -}; - -export const isRecursiveOptionsObject = (value: unknown): value is RecursiveOptionsObject => { - return typeof value === 'object' && value !== null && !(value instanceof Opt); -}; - -export const isHexColor = (val: unknown): val is HexColor => { - return typeof val === 'string' && /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(val); -}; diff --git a/ags/HyprPanel/globals/weather.ts b/ags/HyprPanel/globals/weather.ts deleted file mode 100644 index 3da7ba1..0000000 --- a/ags/HyprPanel/globals/weather.ts +++ /dev/null @@ -1,122 +0,0 @@ -import options from 'options'; -import { UnitType, Weather, WeatherIconTitle, WeatherIcon } from 'lib/types/weather.js'; -import { DEFAULT_WEATHER } from 'lib/types/defaults/weather.js'; -import GLib from 'gi://GLib?version=2.0'; -import { weatherIcons } from 'modules/icons/weather.js'; - -const { key, interval, location } = options.menus.clock.weather; - -export const globalWeatherVar = Variable(DEFAULT_WEATHER); - -let weatherIntervalInstance: null | number = null; - -const weatherIntervalFn = (weatherInterval: number, loc: string, weatherKey: string): void => { - if (weatherIntervalInstance !== null) { - GLib.source_remove(weatherIntervalInstance); - } - - const formattedLocation = loc.replace(' ', '%20'); - - weatherIntervalInstance = Utils.interval(weatherInterval, () => { - Utils.execAsync( - `curl "https://api.weatherapi.com/v1/forecast.json?key=${weatherKey}&q=${formattedLocation}&days=1&aqi=no&alerts=no"`, - ) - .then((res) => { - try { - if (typeof res !== 'string') { - return (globalWeatherVar.value = DEFAULT_WEATHER); - } - - const parsedWeather = JSON.parse(res); - - if (Object.keys(parsedWeather).includes('error')) { - return (globalWeatherVar.value = DEFAULT_WEATHER); - } - - return (globalWeatherVar.value = parsedWeather); - } catch (error) { - globalWeatherVar.value = DEFAULT_WEATHER; - console.warn(`Failed to parse weather data: ${error}`); - } - }) - .catch((err) => { - console.error(`Failed to fetch weather: ${err}`); - globalWeatherVar.value = DEFAULT_WEATHER; - }); - }); -}; - -Utils.merge([key.bind('value'), interval.bind('value'), location.bind('value')], (weatherKey, weatherInterval, loc) => { - if (!weatherKey) { - return (globalWeatherVar.value = DEFAULT_WEATHER); - } - weatherIntervalFn(weatherInterval, loc, weatherKey); -}); - -export const getTemperature = (wthr: Weather, unt: UnitType): string => { - if (unt === 'imperial') { - return `${Math.ceil(wthr.current.temp_f)}° F`; - } else { - return `${Math.ceil(wthr.current.temp_c)}° C`; - } -}; - -export const getWeatherIcon = (fahren: number): Record => { - const icons = { - 100: '', - 75: '', - 50: '', - 25: '', - 0: '', - } as const; - const colors = { - 100: 'weather-color red', - 75: 'weather-color orange', - 50: 'weather-color lavender', - 25: 'weather-color blue', - 0: 'weather-color sky', - } as const; - - type IconKeys = keyof typeof icons; - - const threshold: IconKeys = - fahren < 0 ? 0 : ([100, 75, 50, 25, 0] as IconKeys[]).find((threshold) => threshold <= fahren) || 0; - - const icon = icons[threshold || 50]; - const color = colors[threshold || 50]; - - return { - icon, - color, - }; -}; - -export const getWindConditions = (wthr: Weather, unt: UnitType): string => { - if (unt === 'imperial') { - return `${Math.floor(wthr.current.wind_mph)} mph`; - } - return `${Math.floor(wthr.current.wind_kph)} kph`; -}; - -export const getRainChance = (wthr: Weather): string => `${wthr.forecast.forecastday[0].day.daily_chance_of_rain}%`; - -export const isValidWeatherIconTitle = (title: string): title is WeatherIconTitle => { - return title in weatherIcons; -}; - -export const getWeatherStatusTextIcon = (wthr: Weather): WeatherIcon => { - let iconQuery = wthr.current.condition.text.trim().toLowerCase().replaceAll(' ', '_'); - - if (!wthr.current.is_day && iconQuery === 'partly_cloudy') { - iconQuery = 'partly_cloudy_night'; - } - - if (isValidWeatherIconTitle(iconQuery)) { - return weatherIcons[iconQuery]; - } else { - console.warn(`Unknown weather icon title: ${iconQuery}`); - return weatherIcons['warning']; - } -}; - -globalThis['globalWeatherVar'] = globalWeatherVar; diff --git a/ags/HyprPanel/globals/window.ts b/ags/HyprPanel/globals/window.ts deleted file mode 100644 index ae823bb..0000000 --- a/ags/HyprPanel/globals/window.ts +++ /dev/null @@ -1,10 +0,0 @@ -export const WINDOW_LAYOUTS: string[] = [ - 'center', - 'top', - 'top-right', - 'top-center', - 'top-left', - 'bottom-left', - 'bottom-center', - 'bottom-right', -]; diff --git a/ags/HyprPanel/install_fonts.sh b/ags/HyprPanel/install_fonts.sh deleted file mode 100755 index c40b022..0000000 --- a/ags/HyprPanel/install_fonts.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -SOURCE_DIR="./assets/fonts" -DEST_DIR="$HOME/.local/share/fonts" -DEST_PATH="$DEST_DIR/NFP" - -if [ ! -d "$SOURCE_DIR" ]; then - echo "Source directory '$SOURCE_DIR' does not exist." - exit 1 -fi - -if [ ! -d "$DEST_PATH" ]; then - echo "Destination directory '$DEST_PATH' does not exist. Creating it..." - mkdir -p "$DEST_PATH" -fi - -if [ -z "$(ls -A "$SOURCE_DIR")" ]; then - echo "Source directory '$SOURCE_DIR' is empty. No files to copy." - exit 1 -fi - -echo "Copying fonts from '$SOURCE_DIR' to '$DEST_PATH'..." -cp -r "$SOURCE_DIR"/* "$DEST_PATH" - -echo "Updating font cache..." -fc-cache -fv - -echo "Fonts installed successfully." diff --git a/ags/HyprPanel/lib/constants/colors.ts b/ags/HyprPanel/lib/constants/colors.ts deleted file mode 100644 index 95ac5cf..0000000 --- a/ags/HyprPanel/lib/constants/colors.ts +++ /dev/null @@ -1,142 +0,0 @@ -export const namedColors = new Set([ - 'alice blue', - 'antique white', - 'aqua', - 'aquamarine', - 'azure', - 'beige', - 'bisque', - 'black', - 'blanched almond', - 'blue', - 'blue violet', - 'brown', - 'burlywood', - 'cadet blue', - 'chartreuse', - 'chocolate', - 'coral', - 'cornflower blue', - 'cornsilk', - 'crimson', - 'cyan', - 'dark blue', - 'dark cyan', - 'dark goldenrod', - 'dark gray', - 'dark green', - 'dark khaki', - 'dark magenta', - 'dark olive green', - 'dark orange', - 'dark orchid', - 'dark red', - 'dark salmon', - 'dark sea green', - 'dark slate blue', - 'dark slate gray', - 'dark turquoise', - 'dark violet', - 'deep pink', - 'deep sky blue', - 'dim gray', - 'dodger blue', - 'firebrick', - 'floral white', - 'forest green', - 'fuchsia', - 'gainsboro', - 'ghost white', - 'gold', - 'goldenrod', - 'gray', - 'green', - 'green yellow', - 'honeydew', - 'hot pink', - 'indian red', - 'indigo', - 'ivory', - 'khaki', - 'lavender', - 'lavender blush', - 'lawn green', - 'lemon chiffon', - 'light blue', - 'light coral', - 'light cyan', - 'light goldenrod yellow', - 'light green', - 'light grey', - 'light pink', - 'light salmon', - 'light sea green', - 'light sky blue', - 'light slate gray', - 'light steel blue', - 'light yellow', - 'lime', - 'lime green', - 'linen', - 'magenta', - 'maroon', - 'medium aquamarine', - 'medium blue', - 'medium orchid', - 'medium purple', - 'medium sea green', - 'medium slate blue', - 'medium spring green', - 'medium turquoise', - 'medium violet red', - 'midnight blue', - 'mint cream', - 'misty rose', - 'moccasin', - 'navajo white', - 'navy', - 'old lace', - 'olive', - 'olive drab', - 'orange', - 'orange red', - 'orchid', - 'pale goldenrod', - 'pale green', - 'pale turquoise', - 'pale violet red', - 'papaya whip', - 'peach puff', - 'peru', - 'pink', - 'plum', - 'powder blue', - 'purple', - 'red', - 'rosy brown', - 'royal blue', - 'saddle brown', - 'salmon', - 'sandy brown', - 'sea green', - 'seashell', - 'sienna', - 'silver', - 'sky blue', - 'slate blue', - 'slate gray', - 'snow', - 'spring green', - 'steel blue', - 'tan', - 'teal', - 'thistle', - 'tomato', - 'turquoise', - 'violet', - 'wheat', - 'white', - 'white smoke', - 'yellow', - 'yellow green', -]); diff --git a/ags/HyprPanel/lib/icons.ts b/ags/HyprPanel/lib/icons.ts deleted file mode 100644 index 8813940..0000000 --- a/ags/HyprPanel/lib/icons.ts +++ /dev/null @@ -1,145 +0,0 @@ -export const substitutes = { - 'transmission-gtk': 'transmission', - 'blueberry.py': 'blueberry', - Caprine: 'facebook-messenger', - 'com.raggesilver.BlackBox-symbolic': 'terminal-symbolic', - 'org.wezfurlong.wezterm-symbolic': 'terminal-symbolic', - 'audio-headset-bluetooth': 'audio-headphones-symbolic', - 'audio-card-analog-usb': 'audio-speakers-symbolic', - 'audio-card-analog-pci': 'audio-card-symbolic', - 'preferences-system': 'emblem-system-symbolic', - 'com.github.Aylur.ags-symbolic': 'controls-symbolic', - 'com.github.Aylur.ags': 'controls-symbolic', -} as const; - -export default { - missing: 'image-missing-symbolic', - nix: { - nix: 'nix-snowflake-symbolic', - }, - app: { - terminal: 'terminal-symbolic', - }, - fallback: { - executable: 'application-x-executable', - notification: 'dialog-information-symbolic', - video: 'video-x-generic-symbolic', - audio: 'audio-x-generic-symbolic', - }, - ui: { - close: 'window-close-symbolic', - colorpicker: 'color-select-symbolic', - info: 'info-symbolic', - link: 'external-link-symbolic', - lock: 'system-lock-screen-symbolic', - menu: 'open-menu-symbolic', - refresh: 'view-refresh-symbolic', - search: 'system-search-symbolic', - settings: 'emblem-system-symbolic', - themes: 'preferences-desktop-theme-symbolic', - tick: 'object-select-symbolic', - time: 'hourglass-symbolic', - toolbars: 'toolbars-symbolic', - warning: 'dialog-warning-symbolic', - avatar: 'avatar-default-symbolic', - arrow: { - right: 'pan-end-symbolic', - left: 'pan-start-symbolic', - down: 'pan-down-symbolic', - up: 'pan-up-symbolic', - }, - }, - audio: { - mic: { - muted: 'microphone-disabled-symbolic', - low: 'microphone-sensitivity-low-symbolic', - medium: 'microphone-sensitivity-medium-symbolic', - high: 'microphone-sensitivity-high-symbolic', - }, - volume: { - muted: 'audio-volume-muted-symbolic', - low: 'audio-volume-low-symbolic', - medium: 'audio-volume-medium-symbolic', - high: 'audio-volume-high-symbolic', - overamplified: 'audio-volume-overamplified-symbolic', - }, - type: { - headset: 'audio-headphones-symbolic', - speaker: 'audio-speakers-symbolic', - card: 'audio-card-symbolic', - }, - mixer: 'mixer-symbolic', - }, - powerprofile: { - balanced: 'power-profile-balanced-symbolic', - 'power-saver': 'power-profile-power-saver-symbolic', - performance: 'power-profile-performance-symbolic', - }, - asusctl: { - profile: { - Balanced: 'power-profile-balanced-symbolic', - Quiet: 'power-profile-power-saver-symbolic', - Performance: 'power-profile-performance-symbolic', - }, - mode: { - Integrated: 'processor-symbolic', - Hybrid: 'controller-symbolic', - }, - }, - battery: { - charging: 'battery-flash-symbolic', - warning: 'battery-empty-symbolic', - }, - bluetooth: { - enabled: 'bluetooth-active-symbolic', - disabled: 'bluetooth-disabled-symbolic', - }, - brightness: { - indicator: 'display-brightness-symbolic', - keyboard: 'keyboard-brightness-symbolic', - screen: 'display-brightness-symbolic', - }, - powermenu: { - sleep: 'weather-clear-night-symbolic', - reboot: 'system-reboot-symbolic', - logout: 'system-log-out-symbolic', - shutdown: 'system-shutdown-symbolic', - }, - recorder: { - recording: 'media-record-symbolic', - }, - notifications: { - noisy: 'org.gnome.Settings-notifications-symbolic', - silent: 'notifications-disabled-symbolic', - message: 'chat-bubbles-symbolic', - }, - trash: { - full: 'user-trash-full-symbolic', - empty: 'user-trash-symbolic', - }, - mpris: { - shuffle: { - enabled: 'media-playlist-shuffle-symbolic', - disabled: 'media-playlist-consecutive-symbolic', - }, - loop: { - none: 'media-playlist-repeat-symbolic', - track: 'media-playlist-repeat-song-symbolic', - playlist: 'media-playlist-repeat-symbolic', - }, - playing: 'media-playback-pause-symbolic', - paused: 'media-playback-start-symbolic', - stopped: 'media-playback-start-symbolic', - prev: 'media-skip-backward-symbolic', - next: 'media-skip-forward-symbolic', - }, - system: { - cpu: 'org.gnome.SystemMonitor-symbolic', - ram: 'drive-harddisk-solidstate-symbolic', - temp: 'temperature-symbolic', - }, - color: { - dark: 'dark-mode-symbolic', - light: 'light-mode-symbolic', - }, -}; diff --git a/ags/HyprPanel/lib/option.ts b/ags/HyprPanel/lib/option.ts deleted file mode 100644 index c261657..0000000 --- a/ags/HyprPanel/lib/option.ts +++ /dev/null @@ -1,147 +0,0 @@ -import { isHexColor } from 'globals/variables'; -import { Variable } from 'resource:///com/github/Aylur/ags/variable.js'; -import { MkOptionsResult } from './types/options'; - -type OptProps = { - persistent?: boolean; -}; - -export class Opt extends Variable { - static { - Service.register(this); - } - - constructor(initial: T, { persistent = false }: OptProps = {}) { - super(initial); - this.initial = initial; - this.persistent = persistent; - } - - initial: T; - id = ''; - persistent: boolean; - toString(): string { - return `${this.value}`; - } - toJSON(): string { - return `opt:${this.value}`; - } - - getValue = (): T => { - return super.getValue(); - }; - init(cacheFile: string): void { - const cacheV = JSON.parse(Utils.readFile(cacheFile) || '{}')[this.id]; - if (cacheV !== undefined) this.value = cacheV; - - this.connect('changed', () => { - const cache = JSON.parse(Utils.readFile(cacheFile) || '{}'); - cache[this.id] = this.value; - Utils.writeFileSync(JSON.stringify(cache, null, 2), cacheFile); - }); - } - - reset(): string | undefined { - if (this.persistent) return; - - if (JSON.stringify(this.value) !== JSON.stringify(this.initial)) { - this.value = this.initial; - return this.id; - } - } - - doResetColor(): string | undefined { - if (this.persistent) return; - - const isColor = isHexColor(this.value as string); - if (JSON.stringify(this.value) !== JSON.stringify(this.initial) && isColor) { - this.value = this.initial; - return this.id; - } - return; - } -} - -export const opt = (initial: T, opts?: OptProps): Opt => new Opt(initial, opts); - -const getOptions = (object: Record, path = ''): Opt[] => { - return Object.keys(object).flatMap((key) => { - const obj = object[key]; - const id = path ? path + '.' + key : key; - - if (obj instanceof Variable) { - const optValue = obj as Opt; - optValue.id = id; - return optValue; - } - - if (typeof obj === 'object' && obj !== null) { - return getOptions(obj as Record, id); // Recursively process nested objects - } - - return []; - }); -}; - -export function mkOptions( - cacheFile: string, - object: T, - confFile: string = 'config.json', -): T & MkOptionsResult { - for (const opt of getOptions(object as Record)) opt.init(cacheFile); - - Utils.ensureDirectory(cacheFile.split('/').slice(0, -1).join('/')); - - const configFile = `${TMP}/${confFile}`; - const values = getOptions(object as Record).reduce( - (obj, { id, value }) => ({ [id]: value, ...obj }), - {}, - ); - Utils.writeFileSync(JSON.stringify(values, null, 2), configFile); - Utils.monitorFile(configFile, () => { - const cache = JSON.parse(Utils.readFile(configFile) || '{}'); - for (const opt of getOptions(object as Record)) { - if (JSON.stringify(cache[opt.id]) !== JSON.stringify(opt.value)) opt.value = cache[opt.id]; - } - }); - - function sleep(ms = 0): Promise { - return new Promise((r) => setTimeout(r, ms)); - } - - const reset = async ( - [opt, ...list] = getOptions(object as Record), - id = opt?.reset(), - ): Promise> => { - if (!opt) return sleep().then(() => []); - - return id ? [id, ...(await sleep(50).then(() => reset(list)))] : await sleep().then(() => reset(list)); - }; - - const resetTheme = async ( - [opt, ...list] = getOptions(object as Record), - id = opt?.doResetColor(), - ): Promise> => { - if (!opt) return sleep().then(() => []); - - return id - ? [id, ...(await sleep(50).then(() => resetTheme(list)))] - : await sleep().then(() => resetTheme(list)); - }; - - return Object.assign(object, { - configFile, - array: () => getOptions(object as Record), - async reset() { - return (await reset()).join('\n'); - }, - async resetTheme() { - return (await resetTheme()).join('\n'); - }, - handler(deps: string[], callback: () => void) { - for (const opt of getOptions(object as Record)) { - if (deps.some((i) => opt.id.startsWith(i))) opt.connect('changed', callback); - } - }, - }); -} diff --git a/ags/HyprPanel/lib/session.ts b/ags/HyprPanel/lib/session.ts deleted file mode 100644 index 595b366..0000000 --- a/ags/HyprPanel/lib/session.ts +++ /dev/null @@ -1,16 +0,0 @@ -import GLib from 'gi://GLib?version=2.0'; - -declare global { - const OPTIONS: string; - const TMP: string; - const USER: string; -} - -Object.assign(globalThis, { - OPTIONS: `${GLib.get_user_cache_dir()}/ags/hyprpanel/options.json`, - TMP: `${GLib.get_tmp_dir()}/ags/hyprpanel`, - USER: GLib.get_user_name(), -}); - -Utils.ensureDirectory(TMP); -App.addIcons(`${App.configDir}/assets`); diff --git a/ags/HyprPanel/lib/shared/media.ts b/ags/HyprPanel/lib/shared/media.ts deleted file mode 100644 index 23e0c6f..0000000 --- a/ags/HyprPanel/lib/shared/media.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { MprisPlayer } from 'types/service/mpris'; -const mpris = await Service.import('mpris'); - -export const getCurrentPlayer = (activePlayer: MprisPlayer = mpris.players[0]): MprisPlayer => { - const statusOrder = { - Playing: 1, - Paused: 2, - Stopped: 3, - }; - - if (mpris.players.length === 0) { - return mpris.players[0]; - } - - const isPlaying = mpris.players.some((p: MprisPlayer) => p.play_back_status === 'Playing'); - - const playerStillExists = mpris.players.some((p) => activePlayer.bus_name === p.bus_name); - - const nextPlayerUp = mpris.players.sort( - (a: MprisPlayer, b: MprisPlayer) => statusOrder[a.play_back_status] - statusOrder[b.play_back_status], - )[0]; - - if (isPlaying || !playerStillExists) { - return nextPlayerUp; - } - - return activePlayer; -}; diff --git a/ags/HyprPanel/lib/shared/notifications.ts b/ags/HyprPanel/lib/shared/notifications.ts deleted file mode 100644 index f772c69..0000000 --- a/ags/HyprPanel/lib/shared/notifications.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Notification } from 'types/service/notifications'; - -export const filterNotifications = (notifications: Notification[], filter: string[]): Notification[] => { - const notifFilter = new Set(filter.map((name: string) => name.toLowerCase().replace(/\s+/g, '_'))); - - const filteredNotifications = notifications.filter((notif: Notification) => { - const normalizedAppName = notif.app_name.toLowerCase().replace(/\s+/g, '_'); - return !notifFilter.has(normalizedAppName); - }); - - return filteredNotifications; -}; diff --git a/ags/HyprPanel/lib/types/audio.d.ts b/ags/HyprPanel/lib/types/audio.d.ts deleted file mode 100644 index 9332431..0000000 --- a/ags/HyprPanel/lib/types/audio.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export type InputDevices = Button, Attribute>, Attribute>, Attribute>[]; - -type DummyDevices = Button, Attribute>, Attribute>, Attribute>[]; -type RealPlaybackDevices = Button, Attribute>, Attribute>, Attribute>[]; -export type PlaybackDevices = DummyDevices | RealPlaybackDevices; diff --git a/ags/HyprPanel/lib/types/bar.d.ts b/ags/HyprPanel/lib/types/bar.d.ts deleted file mode 100644 index 99066d8..0000000 --- a/ags/HyprPanel/lib/types/bar.d.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { Binding, Connectable } from 'types/service'; -import { Variable } from 'types/variable'; -import Box from 'types/widgets/box'; -import Button, { ButtonProps } from 'types/widgets/button'; -import Label from 'types/widgets/label'; -import { Attribute, Child } from './widget'; - -export type BarBoxChild = { - component: Box; - isVisible?: boolean; - isVis?: Variable; - boxClass: string; - tooltip_text?: string | Binding; - props: ButtonProps; -}; - -export type SelfButton = Button; - -export type BoxHook = (self: Box) => void; -export type LabelHook = (self: Label) => void; - -export type Module = { - icon?: string | Binding; - textIcon?: string | Binding; - label?: string | Binding; - labelHook?: LabelHook; - boundLabel?: string; - tooltipText?: string | Binding; - boxClass: string; - props?: ButtonProps; - showLabel?: boolean; - showLabelBinding?: Binding; - hook?: BoxHook; - connection?: Binding; -}; - -export type ResourceLabelType = 'used/total' | 'used' | 'percentage' | 'free'; - -export type NetstatLabelType = 'full' | 'in' | 'out'; -export type RateUnit = 'GiB' | 'MiB' | 'KiB' | 'auto'; - - diff --git a/ags/HyprPanel/lib/types/customModules/generic.d.ts b/ags/HyprPanel/lib/types/customModules/generic.d.ts deleted file mode 100644 index 839e04a..0000000 --- a/ags/HyprPanel/lib/types/customModules/generic.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -export type GenericFunction = (...args: P) => T; - -export type GenericResourceMetrics = { - total: number; - used: number; - percentage: number; -}; - -type GenericResourceData = ResourceUsage & { - free: number; -}; - -export type Postfix = 'TiB' | 'GiB' | 'MiB' | 'KiB' | 'B'; diff --git a/ags/HyprPanel/lib/types/customModules/kbLayout.d.ts b/ags/HyprPanel/lib/types/customModules/kbLayout.d.ts deleted file mode 100644 index b287e06..0000000 --- a/ags/HyprPanel/lib/types/customModules/kbLayout.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { layoutMap } from 'customModules/kblayout/layouts'; - -export type KbLabelType = 'layout' | 'code'; - -export type HyprctlKeyboard = { - address: string; - name: string; - rules: string; - model: string; - layout: string; - variant: string; - options: string; - active_keymap: string; - main: boolean; -}; - -export type HyprctlMouse = { - address: string; - name: string; - defaultSpeed: number; -}; - -export type HyprctlDeviceLayout = { - mice: HyprctlMouse[]; - keyboards: HyprctlKeyboard[]; - tablets: unknown[]; - touch: unknown[]; - switches: unknown[]; -}; - -export type LayoutKeys = keyof typeof layoutMap; -export type LayoutValues = (typeof layoutMap)[LayoutKeys]; diff --git a/ags/HyprPanel/lib/types/customModules/network.d.ts b/ags/HyprPanel/lib/types/customModules/network.d.ts deleted file mode 100644 index dbef13f..0000000 --- a/ags/HyprPanel/lib/types/customModules/network.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export type NetworkResourceData = { - in: string; - out: string; -}; diff --git a/ags/HyprPanel/lib/types/customModules/utils.d.ts b/ags/HyprPanel/lib/types/customModules/utils.d.ts deleted file mode 100644 index 14ccf90..0000000 --- a/ags/HyprPanel/lib/types/customModules/utils.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Binding } from 'lib/utils'; - -export type InputHandlerEvents = { - onPrimaryClick?: Binding; - onSecondaryClick?: Binding; - onMiddleClick?: Binding; - onScrollUp?: Binding; - onScrollDown?: Binding; -}; - -export type RunAsyncCommand = (cmd: string, args: EventArgs, fn?: (output: string) => void) => void; diff --git a/ags/HyprPanel/lib/types/defaults/bar.ts b/ags/HyprPanel/lib/types/defaults/bar.ts deleted file mode 100644 index 78966c4..0000000 --- a/ags/HyprPanel/lib/types/defaults/bar.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { NetstatLabelType, ResourceLabelType } from '../bar'; - -export const LABEL_TYPES: ResourceLabelType[] = ['used/total', 'used', 'free', 'percentage']; - -export const NETWORK_LABEL_TYPES: NetstatLabelType[] = ['full', 'in', 'out']; diff --git a/ags/HyprPanel/lib/types/defaults/netstat.ts b/ags/HyprPanel/lib/types/defaults/netstat.ts deleted file mode 100644 index 083344b..0000000 --- a/ags/HyprPanel/lib/types/defaults/netstat.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { RateUnit } from '../bar'; -import { NetworkResourceData } from '../customModules/network'; - -export const GET_DEFAULT_NETSTAT_DATA = (dataType: RateUnit): NetworkResourceData => { - if (dataType === 'auto') { - return { in: `0 Kib/s`, out: `0 Kib/s` }; - } - - return { in: `0 ${dataType}/s`, out: `0 ${dataType}/s` }; -}; diff --git a/ags/HyprPanel/lib/types/defaults/options.ts b/ags/HyprPanel/lib/types/defaults/options.ts deleted file mode 100644 index 11b7347..0000000 --- a/ags/HyprPanel/lib/types/defaults/options.ts +++ /dev/null @@ -1,60 +0,0 @@ -export const defaultColorMap = { - rosewater: '#f5e0dc', - flamingo: '#f2cdcd', - pink: '#f5c2e7', - mauve: '#cba6f7', - red: '#f38ba8', - maroon: '#eba0ac', - peach: '#fab387', - yellow: '#f9e2af', - green: '#a6e3a1', - teal: '#94e2d5', - sky: '#89dceb', - sapphire: '#74c7ec', - blue: '#89b4fa', - lavender: '#b4befe', - text: '#cdd6f4', - subtext1: '#bac2de', - subtext2: '#a6adc8', - overlay2: '#9399b2', - overlay1: '#7f849c', - overlay0: '#6c7086', - surface2: '#585b70', - surface1: '#45475a', - surface0: '#313244', - base2: '#242438', - base: '#1e1e2e', - mantle: '#181825', - crust: '#11111b', - surface1_2: '#454759', - text2: '#cdd6f3', - pink2: '#f5c2e6', - red2: '#f38ba7', - peach2: '#fab386', - mantle2: '#181824', - surface0_2: '#313243', - surface2_2: '#585b69', - overlay1_2: '#7f849b', - lavender2: '#b4befd', - mauve2: '#cba6f6', - green2: '#a6e3a0', - sky2: '#89dcea', - teal2: '#94e2d4', - yellow2: '#f9e2ad', - maroon2: '#eba0ab', - crust2: '#11111a', - pink3: '#f5c2e8', - red3: '#f38ba9', - mantle3: '#181826', - surface0_3: '#313245', - surface2_3: '#585b71', - overlay1_3: '#7f849d', - lavender3: '#b4beff', - mauve3: '#cba6f8', - green3: '#a6e3a2', - sky3: '#89dcec', - teal3: '#94e2d6', - yellow3: '#f9e2ae', - maroon3: '#eba0ad', - crust3: '#11111c', -} as const; diff --git a/ags/HyprPanel/lib/types/defaults/weather.ts b/ags/HyprPanel/lib/types/defaults/weather.ts deleted file mode 100644 index cde95e3..0000000 --- a/ags/HyprPanel/lib/types/defaults/weather.ts +++ /dev/null @@ -1,1053 +0,0 @@ -export const DEFAULT_WEATHER = { - location: { - name: 'Tahiti', - region: 'Somewhere', - country: 'United States of America', - lat: 0, - lon: 0, - tz_id: 'Tahiti', - localtime_epoch: 1721981457, - localtime: '2024-07-26 1:10', - }, - current: { - last_updated_epoch: 1721980800, - last_updated: '2024-07-26 01:00', - temp_c: 0, - temp_f: 0, - is_day: 0, - condition: { - text: 'Clear', - icon: '//cdn.weatherapi.com/weather/64x64/night/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'NW', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0.0, - precip_in: 0.0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - vis_km: 0, - vis_miles: 0, - uv: 0, - gust_mph: 0, - gust_kph: 0, - }, - forecast: { - forecastday: [ - { - date: '2024-07-26', - date_epoch: 1721952000, - day: { - maxtemp_c: 0, - maxtemp_f: 0, - mintemp_c: 0, - mintemp_f: 0, - avgtemp_c: 0, - avgtemp_f: 0, - maxwind_mph: 0, - maxwind_kph: 0, - totalprecip_mm: 0, - totalprecip_in: 0, - totalsnow_cm: 0, - avgvis_km: 0, - avgvis_miles: 0, - avghumidity: 0, - daily_will_it_rain: 0, - daily_chance_of_rain: 0, - daily_will_it_snow: 0, - daily_chance_of_snow: 0, - condition: { - text: 'Sunny', - icon: '//cdn.weatherapi.com/weather/64x64/day/113.png', - code: 1000, - }, - uv: 0, - }, - astro: { - sunrise: '06:01 AM', - sunset: '08:10 PM', - moonrise: '11:32 PM', - moonset: '12:01 PM', - moon_phase: 'Waning Gibbous', - moon_illumination: 0, - is_moon_up: 0, - is_sun_up: 0, - }, - hour: [ - { - time_epoch: 1721977200, - time: '2024-07-26 00:00', - temp_c: 0, - temp_f: 0, - is_day: 0, - condition: { - text: 'Clear ', - icon: '//cdn.weatherapi.com/weather/64x64/night/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 0, - }, - { - time_epoch: 1721980800, - time: '2024-07-26 01:00', - temp_c: 0, - temp_f: 0, - is_day: 0, - condition: { - text: 'Clear ', - icon: '//cdn.weatherapi.com/weather/64x64/night/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 0, - }, - { - time_epoch: 1721984400, - time: '2024-07-26 02:00', - temp_c: 0, - temp_f: 0, - is_day: 0, - condition: { - text: 'Clear ', - icon: '//cdn.weatherapi.com/weather/64x64/night/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 0, - }, - { - time_epoch: 1721988000, - time: '2024-07-26 03:00', - temp_c: 0, - temp_f: 0, - is_day: 0, - condition: { - text: 'Clear ', - icon: '//cdn.weatherapi.com/weather/64x64/night/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 0, - }, - { - time_epoch: 1721991600, - time: '2024-07-26 04:00', - temp_c: 0, - temp_f: 0, - is_day: 0, - condition: { - text: 'Clear ', - icon: '//cdn.weatherapi.com/weather/64x64/night/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 0, - }, - { - time_epoch: 1721995200, - time: '2024-07-26 05:00', - temp_c: 0, - temp_f: 0, - is_day: 0, - condition: { - text: 'Clear ', - icon: '//cdn.weatherapi.com/weather/64x64/night/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 0, - }, - { - time_epoch: 1721998800, - time: '2024-07-26 06:00', - temp_c: 0, - temp_f: 0, - is_day: 0, - condition: { - text: 'Clear ', - icon: '//cdn.weatherapi.com/weather/64x64/night/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 0, - }, - { - time_epoch: 1722002400, - time: '2024-07-26 07:00', - temp_c: 0, - temp_f: 0, - is_day: 1, - condition: { - text: 'Sunny', - icon: '//cdn.weatherapi.com/weather/64x64/day/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 7.0, - }, - { - time_epoch: 1722006000, - time: '2024-07-26 08:00', - temp_c: 0, - temp_f: 0, - is_day: 1, - condition: { - text: 'Sunny', - icon: '//cdn.weatherapi.com/weather/64x64/day/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 7.0, - }, - { - time_epoch: 1722009600, - time: '2024-07-26 09:00', - temp_c: 0, - temp_f: 0, - is_day: 1, - condition: { - text: 'Sunny', - icon: '//cdn.weatherapi.com/weather/64x64/day/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 8.0, - }, - { - time_epoch: 1722013200, - time: '2024-07-26 10:00', - temp_c: 0, - temp_f: 0, - is_day: 1, - condition: { - text: 'Sunny', - icon: '//cdn.weatherapi.com/weather/64x64/day/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 8.0, - }, - { - time_epoch: 1722016800, - time: '2024-07-26 11:00', - temp_c: 0, - temp_f: 0, - is_day: 1, - condition: { - text: 'Sunny', - icon: '//cdn.weatherapi.com/weather/64x64/day/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 9.0, - }, - { - time_epoch: 1722020400, - time: '2024-07-26 12:00', - temp_c: 0, - temp_f: 0, - is_day: 1, - condition: { - text: 'Sunny', - icon: '//cdn.weatherapi.com/weather/64x64/day/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 9.0, - }, - { - time_epoch: 1722024000, - time: '2024-07-26 13:00', - temp_c: 0, - temp_f: 0, - is_day: 1, - condition: { - text: 'Sunny', - icon: '//cdn.weatherapi.com/weather/64x64/day/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 9.0, - }, - { - time_epoch: 1722027600, - time: '2024-07-26 14:00', - temp_c: 0, - temp_f: 0, - is_day: 1, - condition: { - text: 'Sunny', - icon: '//cdn.weatherapi.com/weather/64x64/day/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 10.0, - }, - { - time_epoch: 1722031200, - time: '2024-07-26 15:00', - temp_c: 0, - temp_f: 0, - is_day: 1, - condition: { - text: 'Sunny', - icon: '//cdn.weatherapi.com/weather/64x64/day/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 10.0, - }, - { - time_epoch: 1722034800, - time: '2024-07-26 16:00', - temp_c: 0, - temp_f: 0, - is_day: 1, - condition: { - text: 'Sunny', - icon: '//cdn.weatherapi.com/weather/64x64/day/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 10.0, - }, - { - time_epoch: 1722038400, - time: '2024-07-26 17:00', - temp_c: 0, - temp_f: 0, - is_day: 1, - condition: { - text: 'Sunny', - icon: '//cdn.weatherapi.com/weather/64x64/day/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 10.0, - }, - { - time_epoch: 1722042000, - time: '2024-07-26 18:00', - temp_c: 0, - temp_f: 0, - is_day: 1, - condition: { - text: 'Sunny', - icon: '//cdn.weatherapi.com/weather/64x64/day/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 9.0, - }, - { - time_epoch: 1722045600, - time: '2024-07-26 19:00', - temp_c: 0, - temp_f: 0, - is_day: 1, - condition: { - text: 'Sunny', - icon: '//cdn.weatherapi.com/weather/64x64/day/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 9.0, - }, - { - time_epoch: 1722049200, - time: '2024-07-26 20:00', - temp_c: 0, - temp_f: 0, - is_day: 1, - condition: { - text: 'Sunny', - icon: '//cdn.weatherapi.com/weather/64x64/day/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 8.0, - }, - { - time_epoch: 1722052800, - time: '2024-07-26 21:00', - temp_c: 0, - temp_f: 0, - is_day: 0, - condition: { - text: 'Clear ', - icon: '//cdn.weatherapi.com/weather/64x64/night/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 0, - }, - { - time_epoch: 1722056400, - time: '2024-07-26 22:00', - temp_c: 0, - temp_f: 0, - is_day: 0, - condition: { - text: 'Clear ', - icon: '//cdn.weatherapi.com/weather/64x64/night/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 0, - }, - { - time_epoch: 1722060000, - time: '2024-07-26 23:00', - temp_c: 0, - temp_f: 0, - is_day: 0, - condition: { - text: 'Clear ', - icon: '//cdn.weatherapi.com/weather/64x64/night/113.png', - code: 1000, - }, - wind_mph: 0, - wind_kph: 0, - wind_degree: 0, - wind_dir: 'N', - pressure_mb: 0, - pressure_in: 0, - precip_mm: 0, - precip_in: 0, - snow_cm: 0, - humidity: 0, - cloud: 0, - feelslike_c: 0, - feelslike_f: 0, - windchill_c: 0, - windchill_f: 0, - heatindex_c: 0, - heatindex_f: 0, - dewpoint_c: 0, - dewpoint_f: 0, - will_it_rain: 0, - chance_of_rain: 0, - will_it_snow: 0, - chance_of_snow: 0, - vis_km: 0, - vis_miles: 0, - gust_mph: 0, - gust_kph: 0, - uv: 0, - }, - ], - }, - ], - }, -}; diff --git a/ags/HyprPanel/lib/types/dropdownmenu.d.ts b/ags/HyprPanel/lib/types/dropdownmenu.d.ts deleted file mode 100644 index 8d76e5c..0000000 --- a/ags/HyprPanel/lib/types/dropdownmenu.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { WindowProps } from 'types/widgets/window'; -import { GtkWidget, Transition } from './widget'; -import { Binding } from 'types/service'; - -export type DropdownMenuProps = { - name: string; - child: GtkWidget; - layout?: string; - transition?: Transition | Binding; - exclusivity?: Exclusivity; - fixed?: boolean; -} & WindowProps; diff --git a/ags/HyprPanel/lib/types/filechooser.d.ts b/ags/HyprPanel/lib/types/filechooser.d.ts deleted file mode 100644 index 8bb9d8f..0000000 --- a/ags/HyprPanel/lib/types/filechooser.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export type Config = { - [key: string]: string | number | boolean | object; -}; diff --git a/ags/HyprPanel/lib/types/globals.d.ts b/ags/HyprPanel/lib/types/globals.d.ts deleted file mode 100644 index ecdb39f..0000000 --- a/ags/HyprPanel/lib/types/globals.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export type MousePos = { - source: string; - pos: number[]; -}; diff --git a/ags/HyprPanel/lib/types/gpustat.d.ts b/ags/HyprPanel/lib/types/gpustat.d.ts deleted file mode 100644 index 49dc75d..0000000 --- a/ags/HyprPanel/lib/types/gpustat.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -export type GPU_Stat_Process = { - username: string; - command: string; - full_command: string[]; - gpu_memory_usage: number; - cpu_percent: number; - cpu_memory_usage: number; - pid: number; -}; - -export type GPU_Stat = { - index: number; - uuid: string; - name: string; - 'temperature.gpu': number; - 'fan.speed': number; - 'utilization.gpu': number; - 'utilization.enc': number; - 'utilization.dec': number; - 'power.draw': number; - 'enforced.power.limit': number; - 'memory.used': number; - 'memory.total': number; - processes: Process[]; -}; diff --git a/ags/HyprPanel/lib/types/mpris.d.ts b/ags/HyprPanel/lib/types/mpris.d.ts deleted file mode 100644 index 5450e80..0000000 --- a/ags/HyprPanel/lib/types/mpris.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export type LoopStatus = 'none' | 'track' | 'playlist'; -export type PlaybackStatus = 'playing' | 'paused' | 'stopped'; diff --git a/ags/HyprPanel/lib/types/network.d.ts b/ags/HyprPanel/lib/types/network.d.ts deleted file mode 100644 index 58dcdec..0000000 --- a/ags/HyprPanel/lib/types/network.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { WIFI_STATUS_MAP } from 'globals/network'; - -export type AccessPoint = { - bssid: string | null; - address: string | null; - lastSeen: number; - ssid: string | null; - active: boolean; - strength: number; - frequency: number; - iconName: string | undefined; -}; - -export type WifiStatus = keyof typeof WIFI_STATUS_MAP; - -export type WifiIcon = '󰤩' | '󰤨' | '󰤪' | '󰤨' | '󰤩' | '󰤮' | '󰤨' | '󰤥' | '󰤢' | '󰤟' | '󰤯'; diff --git a/ags/HyprPanel/lib/types/notification.d.ts b/ags/HyprPanel/lib/types/notification.d.ts deleted file mode 100644 index 027f195..0000000 --- a/ags/HyprPanel/lib/types/notification.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import icons from 'modules/icons/index'; - -export interface NotificationArgs { - appName?: string; - body?: string; - iconName?: string; - id?: number; - summary?: string; - urgency?: Urgency; - category?: string; - timeout?: number; - transient?: boolean; -} - -export type NotificationIcon = keyof typeof icons.notifications; diff --git a/ags/HyprPanel/lib/types/options.d.ts b/ags/HyprPanel/lib/types/options.d.ts deleted file mode 100644 index 51e7f76..0000000 --- a/ags/HyprPanel/lib/types/options.d.ts +++ /dev/null @@ -1,217 +0,0 @@ -import { Opt } from 'lib/option'; -import { Variable } from 'types/variable'; -import { defaultColorMap } from './defaults/options'; - -export type MkOptionsResult = { - configFile: string; - array: () => Opt[]; - reset: () => Promise; - resetTheme: () => Promise; - handler: (deps: string[], callback: () => void) => void; -}; - -export type RecursiveOptionsObject = { - [key: string]: RecursiveOptionsObject | Opt | Opt | Opt; -}; - -export type BarLocation = 'top' | 'bottom'; - -export type Unit = 'imperial' | 'metric'; -export type PowerOptions = 'sleep' | 'reboot' | 'logout' | 'shutdown'; -export type NotificationAnchor = - | 'top' - | 'top right' - | 'top left' - | 'bottom' - | 'bottom right' - | 'bottom left' - | 'left' - | 'right'; -export type OSDAnchor = 'top left' | 'top' | 'top right' | 'right' | 'bottom right' | 'bottom' | 'bottom left' | 'left'; -export type BarButtonStyles = 'default' | 'split' | 'wave' | 'wave2'; - -export type ThemeExportData = { - filePath: string; - themeOnly: boolean; -}; -export type RowProps = { - opt: Opt; - title: string; - note?: string; - type?: - | 'number' - | 'color' - | 'float' - | 'object' - | 'string' - | 'enum' - | 'boolean' - | 'img' - | 'wallpaper' - | 'export' - | 'import' - | 'config_import' - | 'font'; - enums?: T[]; - max?: number; - min?: number; - disabledBinding?: Variable; - exportData?: ThemeExportData; - subtitle?: string | VarType | Opt; - subtitleLink?: string; - dependencies?: string[]; - increment?: number; -}; - -export type OSDOrientation = 'horizontal' | 'vertical'; - -export type HexColor = `#${string}`; - -export type WindowLayer = 'top' | 'bottom' | 'overlay' | 'background'; - -export type ActiveWsIndicator = 'underline' | 'highlight' | 'color'; - -export type MatugenColors = { - background: HexColor; - error: HexColor; - error_container: HexColor; - inverse_on_surface: HexColor; - inverse_primary: HexColor; - inverse_surface: HexColor; - on_background: HexColor; - on_error: HexColor; - on_error_container: HexColor; - on_primary: HexColor; - on_primary_container: HexColor; - on_primary_fixed: HexColor; - on_primary_fixed_variant: HexColor; - on_secondary: HexColor; - on_secondary_container: HexColor; - on_secondary_fixed: HexColor; - on_secondary_fixed_variant: HexColor; - on_surface: HexColor; - on_surface_variant: HexColor; - on_tertiary: HexColor; - on_tertiary_container: HexColor; - on_tertiary_fixed: HexColor; - on_tertiary_fixed_variant: HexColor; - outline: HexColor; - outline_variant: HexColor; - primary: HexColor; - primary_container: HexColor; - primary_fixed: HexColor; - primary_fixed_dim: HexColor; - scrim: HexColor; - secondary: HexColor; - secondary_container: HexColor; - secondary_fixed: HexColor; - secondary_fixed_dim: HexColor; - shadow: HexColor; - surface: HexColor; - surface_bright: HexColor; - surface_container: HexColor; - surface_container_high: HexColor; - surface_container_highest: HexColor; - surface_container_low: HexColor; - surface_container_lowest: HexColor; - surface_dim: HexColor; - surface_variant: HexColor; - tertiary: HexColor; - tertiary_container: HexColor; - tertiary_fixed: HexColor; - tertiary_fixed_dim: HexColor; -}; - -export type MatugenVariation = { - rosewater: HexColor; - flamingo: HexColor; - pink: HexColor; - mauve: HexColor; - red: HexColor; - maroon: HexColor; - peach: HexColor; - yellow: HexColor; - green: HexColor; - teal: HexColor; - sky: HexColor; - sapphire: HexColor; - blue: HexColor; - lavender: HexColor; - text: HexColor; - subtext1: HexColor; - subtext2: HexColor; - overlay2: HexColor; - overlay1: HexColor; - overlay0: HexColor; - surface2: HexColor; - surface1: HexColor; - surface0: HexColor; - base2: HexColor; - base: HexColor; - mantle: HexColor; - crust: HexColor; - notifications_closer: HexColor; - notifications_background: HexColor; - dashboard_btn_text: HexColor; - red2: HexColor; - peach2: HexColor; - pink2: HexColor; - mantle2: HexColor; - surface1_2: HexColor; - surface0_2: HexColor; - overlay1_2: HexColor; - text2: HexColor; - lavender2: HexColor; - crust2: HexColor; - maroon2: HexColor; - mauve2: HexColor; - green2: HexColor; - surface2_2: HexColor; - sky2: HexColor; - teal2: HexColor; - yellow2: HexColor; - pink3: HexColor; - red3: HexColor; - mantle3: HexColor; - surface0_3: HexColor; - surface2_3: HexColor; - overlay1_3: HexColor; - lavender3: HexColor; - mauve3: HexColor; - green3: HexColor; - sky3: HexColor; - teal3: HexColor; - yellow3: HexColor; - maroon3: HexColor; - crust3: HexColor; - notifications_closer?: HexColor; - notifications_background?: HexColor; - dashboard_btn_text?: HexColor; -}; -export type MatugenScheme = - | 'content' - | 'expressive' - | 'fidelity' - | 'fruit-salad' - | 'monochrome' - | 'neutral' - | 'rainbow' - | 'tonal-spot'; - -export type MatugenVariations = - | 'standard_1' - | 'standard_2' - | 'standard_3' - | 'monochrome_1' - | 'monochrome_2' - | 'monochrome_3' - | 'vivid_1' - | 'vivid_2' - | 'vivid_3'; - -type MatugenTheme = 'light' | 'dark'; - -export type ColorMapKey = keyof typeof defaultColorMap; -export type ColorMapValue = (typeof defaultColorMap)[ColorMapKey]; - -export type ScalingPriority = 'gdk' | 'hyprland' | 'both'; diff --git a/ags/HyprPanel/lib/types/popupwindow.d.ts b/ags/HyprPanel/lib/types/popupwindow.d.ts deleted file mode 100644 index 300baab..0000000 --- a/ags/HyprPanel/lib/types/popupwindow.d.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { Widget } from 'types/widgets/widget'; -import { WindowProps } from 'types/widgets/window'; -import { Transition } from './widget'; - -export type PopupWindowProps = { - name: string; - child: Widget; - layout?: Layouts; - transition?: Transition | Binding; - exclusivity?: Exclusivity; -} & WindowProps; - -export type LayoutFunction = ( - name: string, - child: Widget, - transition: Transition, -) => { - center: () => Widget; - top: () => Widget; - 'top-right': () => Widget; - 'top-center': () => Widget; - 'top-left': () => Widget; - 'bottom-left': () => Widget; - 'bottom-center': () => Widget; - 'bottom-right': () => Widget; -}; -export type Layouts = - | 'center' - | 'top' - | 'top-right' - | 'top-center' - | 'top-left' - | 'bottom-left' - | 'bottom-center' - | 'bottom-right'; diff --git a/ags/HyprPanel/lib/types/power.d.ts b/ags/HyprPanel/lib/types/power.d.ts deleted file mode 100644 index ef3c536..0000000 --- a/ags/HyprPanel/lib/types/power.d.ts +++ /dev/null @@ -1 +0,0 @@ -export type Action = 'sleep' | 'reboot' | 'logout' | 'shutdown'; diff --git a/ags/HyprPanel/lib/types/powerprofiles.d.ts b/ags/HyprPanel/lib/types/powerprofiles.d.ts deleted file mode 100644 index 980ac3b..0000000 --- a/ags/HyprPanel/lib/types/powerprofiles.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import PowerProfiles from 'types/service/powerprofiles.js'; - -export type PowerProfiles = InstanceType; -export type PowerProfile = 'power-saver' | 'balanced' | 'performance'; -export type PowerProfileObject = { - [key: string]: string; -}; diff --git a/ags/HyprPanel/lib/types/systray.d.ts b/ags/HyprPanel/lib/types/systray.d.ts deleted file mode 100644 index e69de29..0000000 diff --git a/ags/HyprPanel/lib/types/utils.d.ts b/ags/HyprPanel/lib/types/utils.d.ts deleted file mode 100644 index b35af46..0000000 --- a/ags/HyprPanel/lib/types/utils.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { substitutes } from 'lib/icons'; -import { EventArgs } from './widget'; - -type SubstituteKeys = keyof typeof substitutes; - -export type ThrottleFn = (cmd: string, args: EventArgs, fn?: (output: string) => void) => void; -export type ThrottleFnCallback = ((output: string) => void) | undefined; diff --git a/ags/HyprPanel/lib/types/variable.d.ts b/ags/HyprPanel/lib/types/variable.d.ts deleted file mode 100644 index af540dd..0000000 --- a/ags/HyprPanel/lib/types/variable.d.ts +++ /dev/null @@ -1 +0,0 @@ -export type Bind = OriginalBinding, unknown>; diff --git a/ags/HyprPanel/lib/types/volume.d.ts b/ags/HyprPanel/lib/types/volume.d.ts deleted file mode 100644 index 5e2cf32..0000000 --- a/ags/HyprPanel/lib/types/volume.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export type VolumeIcons = { - [index: number]: string; -}; diff --git a/ags/HyprPanel/lib/types/weather.d.ts b/ags/HyprPanel/lib/types/weather.d.ts deleted file mode 100644 index daf0e1a..0000000 --- a/ags/HyprPanel/lib/types/weather.d.ts +++ /dev/null @@ -1,118 +0,0 @@ -import { weatherIcons } from 'modules/icons/weather'; - -export type UnitType = 'imperial' | 'metric'; - -export type Weather = { - location: Location; - current: Current; - forecast: Forecast; -}; - -export type Current = { - last_updated_epoch?: number; - last_updated?: string; - temp_c: number; - temp_f: number; - is_day: number; - condition: Condition; - wind_mph: number; - wind_kph: number; - wind_degree: number; - wind_dir: string; - pressure_mb: number; - pressure_in: number; - precip_mm: number; - precip_in: number; - humidity: number; - cloud: number; - feelslike_c: number; - feelslike_f: number; - windchill_c: number; - windchill_f: number; - heatindex_c: number; - heatindex_f: number; - dewpoint_c: number; - dewpoint_f: number; - vis_km: number; - vis_miles: number; - uv: number; - gust_mph: number; - gust_kph: number; - time_epoch?: number; - time?: string; - snow_cm?: number; - will_it_rain?: number; - chance_of_rain?: number; - will_it_snow?: number; - chance_of_snow?: number; -}; - -export type Condition = { - text: string; - icon: string; - code: number; -}; - -export type Forecast = { - forecastday: Forecastday[]; -}; - -export type Forecastday = { - date: string; - date_epoch: number; - day: Day; - astro: Astro; - hour: Current[]; -}; - -export type Astro = { - sunrise: string; - sunset: string; - moonrise: string; - moonset: string; - moon_phase: string; - moon_illumination: number; - is_moon_up: number; - is_sun_up: number; -}; - -export type Day = { - maxtemp_c: number; - maxtemp_f: number; - mintemp_c: number; - mintemp_f: number; - avgtemp_c: number; - avgtemp_f: number; - maxwind_mph: number; - maxwind_kph: number; - totalprecip_mm: number; - totalprecip_in: number; - totalsnow_cm: number; - avgvis_km: number; - avgvis_miles: number; - avghumidity: number; - daily_will_it_rain: number; - daily_chance_of_rain: number; - daily_will_it_snow: number; - daily_chance_of_snow: number; - condition: Condition; - uv: number; -}; - -export type Location = { - name: string; - region: string; - country: string; - lat: number; - lon: number; - tz_id: string; - localtime_epoch: number; - localtime: string; -}; - -export type TemperatureIconColorMap = { - [key: number]: string; -}; - -export type WeatherIconTitle = keyof typeof weatherIcons; -export type WeatherIcon = (typeof weatherIcons)[WeatherIconTitle]; diff --git a/ags/HyprPanel/lib/types/widget.d.ts b/ags/HyprPanel/lib/types/widget.d.ts deleted file mode 100644 index ebb09a4..0000000 --- a/ags/HyprPanel/lib/types/widget.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -import Gtk from 'types/@girs/gtk-3.0/gtk-3.0'; -import Box from 'types/widgets/box'; - -export type Exclusivity = 'normal' | 'ignore' | 'exclusive'; -export type Anchor = 'left' | 'right' | 'top' | 'down'; -export type Transition = 'none' | 'crossfade' | 'slide_right' | 'slide_left' | 'slide_up' | 'slide_down'; - -export type Layouts = - | 'center' - | 'top' - | 'top-right' - | 'top-center' - | 'top-left' - | 'bottom-left' - | 'bottom-center' - | 'bottom-right'; - -export type Attribute = unknown; -export type Child = Gtk.Widget; -export type GtkWidget = Gtk.Widget; -export type BoxWidget = Box; - -export type GButton = Gtk.Button; -export type GBox = Gtk.Box; -export type GLabel = Gtk.Label; -export type GCenterBox = Gtk.Box; - -export type EventHandler = (self: Self, event: Gdk.Event) => boolean | unknown; -export type EventArgs = { clicked: Button; event: Gdk.Event }; diff --git a/ags/HyprPanel/lib/types/workspace.d.ts b/ags/HyprPanel/lib/types/workspace.d.ts deleted file mode 100644 index 9c46c15..0000000 --- a/ags/HyprPanel/lib/types/workspace.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -export type WorkspaceRule = { - workspaceString: string; - monitor: string; -}; - -export type WorkspaceMap = { - [key: string]: number[]; -}; - -export type MonitorMap = { - [key: number]: string; -}; - -export type WorkspaceIcons = { - [key: string]: string; -}; - -export type WorkspaceIconsColored = { - [key: string]: { - color: string; - icon: string; - }; -}; - -export type WorkspaceIconMap = WorkspaceIcons | WorkspaceIconsColored; diff --git a/ags/HyprPanel/lib/utils.ts b/ags/HyprPanel/lib/utils.ts deleted file mode 100644 index 8b8fd04..0000000 --- a/ags/HyprPanel/lib/utils.ts +++ /dev/null @@ -1,195 +0,0 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ -import { type Application } from 'types/service/applications'; -import { NotificationAnchor } from './types/options'; -import { OSDAnchor } from 'lib/types/options'; -import icons, { substitutes } from './icons'; -import Gtk from 'gi://Gtk?version=3.0'; -import Gdk from 'gi://Gdk'; -import GLib from 'gi://GLib?version=2.0'; -import GdkPixbuf from 'gi://GdkPixbuf'; -import { NotificationArgs } from 'types/utils/notify'; -import { SubstituteKeys } from './types/utils'; -import { Window } from 'types/@girs/gtk-3.0/gtk-3.0.cjs'; -import { namedColors } from './constants/colors'; - -export type Binding = import('types/service').Binding; - -/** - * @returns substitute icon || name || fallback icon - */ -export function icon(name: string | null, fallback = icons.missing): string { - const validateSubstitute = (name: string): name is SubstituteKeys => name in substitutes; - - if (!name) return fallback || ''; - - if (GLib.file_test(name, GLib.FileTest.EXISTS)) return name; - - let icon: string = name; - - if (validateSubstitute(name)) { - icon = substitutes[name]; - } - - if (Utils.lookUpIcon(icon)) return icon; - - print(`no icon substitute "${icon}" for "${name}", fallback: "${fallback}"`); - return fallback; -} - -/** - * @returns execAsync(["bash", "-c", cmd]) - */ -export async function bash(strings: TemplateStringsArray | string, ...values: unknown[]): Promise { - const cmd = - typeof strings === 'string' ? strings : strings.flatMap((str, i) => str + `${values[i] ?? ''}`).join(''); - - return Utils.execAsync(['bash', '-c', cmd]).catch((err) => { - console.error(cmd, err); - return ''; - }); -} - -/** - * @returns execAsync(cmd) - */ -export async function sh(cmd: string | string[]): Promise { - return Utils.execAsync(cmd).catch((err) => { - console.error(typeof cmd === 'string' ? cmd : cmd.join(' '), err); - return ''; - }); -} - -export function forMonitors(widget: (monitor: number) => Gtk.Window): Window[] { - const n = Gdk.Display.get_default()?.get_n_monitors() || 1; - return range(n, 0).flatMap(widget); -} - -/** - * @returns [start...length] - */ -export function range(length: number, start = 1): number[] { - return Array.from({ length }, (_, i) => i + start); -} - -/** - * @returns true if all of the `bins` are found - */ -export function dependencies(...bins: string[]): boolean { - const missing = bins.filter((bin) => - Utils.exec({ - cmd: `which ${bin}`, - out: () => false, - err: () => true, - }), - ); - - if (missing.length > 0) { - console.warn(Error(`missing dependencies: ${missing.join(', ')}`)); - Notify({ - summary: 'Dependencies not found!', - body: `The following dependencies are missing: ${missing.join(', ')}`, - iconName: icons.ui.warning, - timeout: 7000, - }); - } - - return missing.length === 0; -} - -/** - * run app detached - */ -export function launchApp(app: Application): void { - const exe = app.executable - .split(/\s+/) - .filter((str) => !str.startsWith('%') && !str.startsWith('@')) - .join(' '); - - bash(`${exe} &`); - app.frequency += 1; -} - -/** - * to use with drag and drop - */ -export function createSurfaceFromWidget(widget: Gtk.Widget): GdkPixbuf.Pixbuf { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const cairo = imports.gi.cairo as any; - const alloc = widget.get_allocation(); - const surface = new cairo.ImageSurface(cairo.Format.ARGB32, alloc.width, alloc.height); - const cr = new cairo.Context(surface); - cr.setSourceRGBA(255, 255, 255, 0); - cr.rectangle(0, 0, alloc.width, alloc.height); - cr.fill(); - widget.draw(cr); - return surface; -} - -/** - * Ensure that the provided filepath is a valid image - */ -export const isAnImage = (imgFilePath: string): boolean => { - try { - GdkPixbuf.Pixbuf.new_from_file(imgFilePath); - return true; - } catch (error) { - console.error(error); - return false; - } -}; - -export const Notify = (notifPayload: NotificationArgs): void => { - let command = 'notify-send'; - command += ` "${notifPayload.summary} "`; - if (notifPayload.body) command += ` "${notifPayload.body}" `; - if (notifPayload.appName) command += ` -a "${notifPayload.appName}"`; - if (notifPayload.iconName) command += ` -i "${notifPayload.iconName}"`; - if (notifPayload.urgency) command += ` -u "${notifPayload.urgency}"`; - if (notifPayload.timeout !== undefined) command += ` -t ${notifPayload.timeout}`; - if (notifPayload.category) command += ` -c "${notifPayload.category}"`; - if (notifPayload.transient) command += ` -e`; - if (notifPayload.id !== undefined) command += ` -r ${notifPayload.id}`; - - Utils.execAsync(command); -}; - -export const getPosition = (pos: NotificationAnchor | OSDAnchor): ('top' | 'bottom' | 'left' | 'right')[] => { - const positionMap: { [key: string]: ('top' | 'bottom' | 'left' | 'right')[] } = { - top: ['top'], - 'top right': ['top', 'right'], - 'top left': ['top', 'left'], - bottom: ['bottom'], - 'bottom right': ['bottom', 'right'], - 'bottom left': ['bottom', 'left'], - right: ['right'], - left: ['left'], - }; - - return positionMap[pos] || ['top']; -}; -export const isValidGjsColor = (color: string): boolean => { - const colorLower = color.toLowerCase().trim(); - - if (namedColors.has(colorLower)) { - return true; - } - - const hexColorRegex = /^#(?:[a-fA-F0-9]{3,4}|[a-fA-F0-9]{6,8})$/; - - const rgbRegex = /^rgb\(\s*(\d{1,3}%?\s*,\s*){2}\d{1,3}%?\s*\)$/; - const rgbaRegex = /^rgba\(\s*(\d{1,3}%?\s*,\s*){3}(0|1|0?\.\d+)\s*\)$/; - - if (hexColorRegex.test(color)) { - return true; - } - - if (rgbRegex.test(colorLower) || rgbaRegex.test(colorLower)) { - return true; - } - - return false; -}; - -export const capitalizeFirstLetter = (str: string): string => { - return str.charAt(0).toUpperCase() + str.slice(1); -}; diff --git a/ags/HyprPanel/lib/variables.ts b/ags/HyprPanel/lib/variables.ts deleted file mode 100644 index 303c121..0000000 --- a/ags/HyprPanel/lib/variables.ts +++ /dev/null @@ -1,15 +0,0 @@ -import GLib from 'gi://GLib'; -import { DateTime } from 'types/@girs/glib-2.0/glib-2.0.cjs'; - -export const clock = Variable(GLib.DateTime.new_now_local(), { - poll: [1000, (): DateTime => GLib.DateTime.new_now_local()], -}); - -export const uptime = Variable(0, { - poll: [60_000, 'cat /proc/uptime', (line): number => Number.parseInt(line.split('.')[0]) / 60], -}); - -export const distro = { - id: GLib.get_os_info('ID'), - logo: GLib.get_os_info('LOGO'), -}; diff --git a/ags/HyprPanel/main.ts b/ags/HyprPanel/main.ts deleted file mode 100644 index 399c1f9..0000000 --- a/ags/HyprPanel/main.ts +++ /dev/null @@ -1,22 +0,0 @@ -import 'lib/session'; -import 'scss/style'; -import 'globals/useTheme'; -import 'globals/dropdown.js'; -import 'globals/utilities'; - -import { Bar } from 'modules/bar/Bar'; -import MenuWindows from './modules/menus/main.js'; -import SettingsDialog from 'widget/settings/SettingsDialog'; -import Notifications from './modules/notifications/index.js'; -import { forMonitors } from 'lib/utils'; -import OSD from 'modules/osd/index'; - -App.config({ - onConfigParsed: () => Utils.execAsync(`python3 ${App.configDir}/services/bluetooth.py`), - windows: [...MenuWindows, Notifications(), SettingsDialog(), ...forMonitors(Bar), OSD()], - closeWindowDelay: { - sideright: 350, - launcher: 350, - bar0: 350, - }, -}); diff --git a/ags/HyprPanel/modules/bar/Bar.ts b/ags/HyprPanel/modules/bar/Bar.ts deleted file mode 100644 index b5eff25..0000000 --- a/ags/HyprPanel/modules/bar/Bar.ts +++ /dev/null @@ -1,315 +0,0 @@ -const hyprland = await Service.import('hyprland'); - -import { - Menu, - Workspaces, - ClientTitle, - Media, - Notifications, - Volume, - Network, - Bluetooth, - BatteryLabel, - Clock, - SysTray, - - // Custom Modules - Ram, - Cpu, - Storage, - Netstat, - KbInput, - Updates, - Submap, - Weather, - Power, -} from './Exports'; - -import { BarItemBox as WidgetContainer } from '../shared/barItemBox.js'; -import options from 'options'; -import Gdk from 'gi://Gdk?version=3.0'; -import Button from 'types/widgets/button.js'; -import Gtk from 'types/@girs/gtk-3.0/gtk-3.0.js'; - -import './SideEffects'; -import { WindowLayer } from 'lib/types/options.js'; -import { Attribute, Child } from 'lib/types/widget.js'; -import Window from 'types/widgets/window.js'; - -const { layouts } = options.bar; -const { location } = options.theme.bar; - -export type BarWidget = keyof typeof widget; - -type Section = - | 'battery' - | 'dashboard' - | 'workspaces' - | 'windowtitle' - | 'media' - | 'notifications' - | 'volume' - | 'network' - | 'bluetooth' - | 'clock' - | 'ram' - | 'cpu' - | 'storage' - | 'netstat' - | 'kbinput' - | 'updates' - | 'submap' - | 'weather' - | 'power' - | 'systray'; - -type Layout = { - left: Section[]; - middle: Section[]; - right: Section[]; -}; - -type BarLayout = { - [key: string]: Layout; -}; - -const getLayoutForMonitor = (monitor: number, layouts: BarLayout): Layout => { - const matchingKey = Object.keys(layouts).find((key) => key === monitor.toString()); - const wildcard = Object.keys(layouts).find((key) => key === '*'); - - if (matchingKey) { - return layouts[matchingKey]; - } - - if (wildcard) { - return layouts[wildcard]; - } - - return { - left: ['dashboard', 'workspaces', 'windowtitle'], - middle: ['media'], - right: ['volume', 'network', 'bluetooth', 'battery', 'systray', 'clock', 'notifications'], - }; -}; - -const widget = { - battery: (): Button => WidgetContainer(BatteryLabel()), - dashboard: (): Button => WidgetContainer(Menu()), - workspaces: (monitor: number): Button => WidgetContainer(Workspaces(monitor)), - windowtitle: (): Button => WidgetContainer(ClientTitle()), - media: (): Button => WidgetContainer(Media()), - notifications: (): Button => WidgetContainer(Notifications()), - volume: (): Button => WidgetContainer(Volume()), - network: (): Button => WidgetContainer(Network()), - bluetooth: (): Button => WidgetContainer(Bluetooth()), - clock: (): Button => WidgetContainer(Clock()), - systray: (): Button => WidgetContainer(SysTray()), - ram: (): Button => WidgetContainer(Ram()), - cpu: (): Button => WidgetContainer(Cpu()), - storage: (): Button => WidgetContainer(Storage()), - netstat: (): Button => WidgetContainer(Netstat()), - kbinput: (): Button => WidgetContainer(KbInput()), - updates: (): Button => WidgetContainer(Updates()), - submap: (): Button => WidgetContainer(Submap()), - weather: (): Button => WidgetContainer(Weather()), - power: (): Button => WidgetContainer(Power()), -}; - -type GdkMonitors = { - [key: string]: { - key: string; - model: string; - used: boolean; - }; -}; - -function getGdkMonitors(): GdkMonitors { - const display = Gdk.Display.get_default(); - - if (display === null) { - console.error('Failed to get Gdk display.'); - return {}; - } - - const numGdkMonitors = display.get_n_monitors(); - const gdkMonitors: GdkMonitors = {}; - - for (let i = 0; i < numGdkMonitors; i++) { - const curMonitor = display.get_monitor(i); - - if (curMonitor === null) { - console.warn(`Monitor at index ${i} is null.`); - continue; - } - - const model = curMonitor.get_model() || ''; - const geometry = curMonitor.get_geometry(); - const scaleFactor = curMonitor.get_scale_factor(); - - const key = `${model}_${geometry.width}x${geometry.height}_${scaleFactor}`; - gdkMonitors[i] = { key, model, used: false }; - } - - return gdkMonitors; -} - -/** - * NOTE: Some more funky stuff being done by GDK. - * We render windows/bar based on the monitor ID. So if you have 3 monitors, then your - * monitor IDs will be [0, 1, 2]. Hyprland will NEVER change what ID belongs to what monitor. - * - * So if hyprland determines id 0 = DP-1, even after you unplug, shut off or restart your monitor, - * the id 0 will ALWAYS be DP-1. - * - * However, GDK (the righteous genius that it is) will change the order of ID anytime your monitor - * setup is changed. So if you unplug your monitor and plug it back it, it now becomes the last id. - * So if DP-1 was id 0 and you unplugged it, it will reconfigure to id 2. This sucks because now - * there's a mismtach between what GDK determines the monitor is at id 2 and what Hyprland determines - * is at id 2. - * - * So for that reason, we need to redirect the input `monitor` that the Bar module takes in, to the - * proper Hyprland monitor. So when monitor id 0 comes in, we need to find what the id of that monitor - * is being determined as by Hyprland so the bars show up on the right monitors. - * - * Since GTK3 doesn't contain connection names and only monitor models, we have to make the best guess - * in the case that there are multiple models in the same resolution with the same scale. We find the - * 'right' monitor by checking if the model matches along with the resolution and scale. If monitor at - * ID 0 for GDK is being reported as 'MSI MAG271CQR' we find the same model in the Hyprland monitor list - * and check if the resolution and scaling is the same... if it is then we determine it's a match. - * - * The edge-case that we just can't handle is if you have the same monitors in the same resolution at the same - * scale. So if you've got 2 'MSI MAG271CQR' monitors at 2560x1440 at scale 1, then we just match the first - * monitor in the list as the first match and then the second 'MSI MAG271CQR' as a match in the 2nd iteration. - * You may have the bar showing up on the wrong one in this case because we don't know what the connector id - * is of either of these monitors (DP-1, DP-2) which are unique values - as these are only in GTK4. - * - * Keep in mind though, this is ONLY an issue if you change your monitor setup by plugging in a new one, restarting - * an existing one or shutting it off. - * - * If your monitors aren't changed in the current session you're in then none of this safeguarding is relevant. - * - * Fun stuff really... :facepalm: - */ - -const gdkMonitorIdToHyprlandId = (monitor: number, usedHyprlandMonitors: Set): number => { - const gdkMonitors = getGdkMonitors(); - - if (Object.keys(gdkMonitors).length === 0) { - console.error('No GDK monitors were found.'); - return monitor; - } - - // Get the GDK monitor for the given monitor index - const gdkMonitor = gdkMonitors[monitor]; - - // First pass: Strict matching including the monitor index (i.e., hypMon.id === monitor + resolution+scale criteria) - const directMatch = hyprland.monitors.find((hypMon) => { - const hyprlandKey = `${hypMon.model}_${hypMon.width}x${hypMon.height}_${hypMon.scale}`; - return gdkMonitor.key.startsWith(hyprlandKey) && !usedHyprlandMonitors.has(hypMon.id) && hypMon.id === monitor; - }); - - if (directMatch) { - usedHyprlandMonitors.add(directMatch.id); - return directMatch.id; - } - - // Second pass: Relaxed matching without considering the monitor index - const hyprlandMonitor = hyprland.monitors.find((hypMon) => { - const hyprlandKey = `${hypMon.model}_${hypMon.width}x${hypMon.height}_${hypMon.scale}`; - return gdkMonitor.key.startsWith(hyprlandKey) && !usedHyprlandMonitors.has(hypMon.id); - }); - - if (hyprlandMonitor) { - usedHyprlandMonitors.add(hyprlandMonitor.id); - return hyprlandMonitor.id; - } - - // Fallback: Find the first available monitor ID that hasn't been used - const fallbackMonitor = hyprland.monitors.find((hypMon) => !usedHyprlandMonitors.has(hypMon.id)); - - if (fallbackMonitor) { - usedHyprlandMonitors.add(fallbackMonitor.id); - return fallbackMonitor.id; - } - - // Ensure we return a valid monitor ID that actually exists - for (let i = 0; i < hyprland.monitors.length; i++) { - if (!usedHyprlandMonitors.has(i)) { - usedHyprlandMonitors.add(i); - return i; - } - } - - // As a last resort, return the original monitor index if no unique monitor can be found - console.warn(`Returning original monitor index as a last resort: ${monitor}`); - return monitor; -}; - -export const Bar = (() => { - const usedHyprlandMonitors = new Set(); - - return (monitor: number): Window => { - const hyprlandMonitor = gdkMonitorIdToHyprlandId(monitor, usedHyprlandMonitors); - - return Widget.Window({ - name: `bar-${hyprlandMonitor}`, - class_name: 'bar', - monitor, - visible: true, - anchor: location.bind('value').as((ln) => [ln, 'left', 'right']), - exclusivity: 'exclusive', - layer: Utils.merge( - [options.theme.bar.layer.bind('value'), options.tear.bind('value')], - (barLayer: WindowLayer, tear: boolean) => { - if (tear && barLayer === 'overlay') { - return 'top'; - } - return barLayer; - }, - ), - child: Widget.Box({ - class_name: 'bar-panel-container', - child: Widget.CenterBox({ - class_name: 'bar-panel', - css: 'padding: 1px', - startWidget: Widget.Box({ - class_name: 'box-left', - hexpand: true, - setup: (self) => { - self.hook(layouts, (self) => { - const foundLayout = getLayoutForMonitor(hyprlandMonitor, layouts.value as BarLayout); - self.children = foundLayout.left - .filter((mod) => Object.keys(widget).includes(mod)) - .map((w) => widget[w](hyprlandMonitor) as Button); - }); - }, - }), - centerWidget: Widget.Box({ - class_name: 'box-center', - hpack: 'center', - setup: (self) => { - self.hook(layouts, (self) => { - const foundLayout = getLayoutForMonitor(hyprlandMonitor, layouts.value as BarLayout); - self.children = foundLayout.middle - .filter((mod) => Object.keys(widget).includes(mod)) - .map((w) => widget[w](hyprlandMonitor) as Button); - }); - }, - }), - endWidget: Widget.Box({ - class_name: 'box-right', - hpack: 'end', - setup: (self) => { - self.hook(layouts, (self) => { - const foundLayout = getLayoutForMonitor(hyprlandMonitor, layouts.value as BarLayout); - self.children = foundLayout.right - .filter((mod) => Object.keys(widget).includes(mod)) - .map((w) => widget[w](hyprlandMonitor) as Button); - }); - }, - }), - }), - }), - }); - }; -})(); diff --git a/ags/HyprPanel/modules/bar/Exports.ts b/ags/HyprPanel/modules/bar/Exports.ts deleted file mode 100644 index 6a17b2f..0000000 --- a/ags/HyprPanel/modules/bar/Exports.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { Menu } from './menu/index'; -import { Workspaces } from './workspaces/index'; -import { ClientTitle } from './window_title/index'; -import { Media } from './media/index'; -import { Notifications } from './notifications/index'; -import { Volume } from './volume/index'; -import { Network } from './network/index'; -import { Bluetooth } from './bluetooth/index'; -import { BatteryLabel } from './battery/index'; -import { Clock } from './clock/index'; -import { SysTray } from './systray/index'; - -// Custom Modules -import { Ram } from '../../customModules/ram/index'; -import { Cpu } from '../../customModules/cpu/index'; -import { Storage } from 'customModules/storage/index'; -import { Netstat } from 'customModules/netstat/index'; -import { KbInput } from 'customModules/kblayout/index'; -import { Updates } from 'customModules/updates/index'; -import { Submap } from 'customModules/submap/index'; -import { Weather } from 'customModules/weather/index'; -import { Power } from 'customModules/power/index'; - -export { - Menu, - Workspaces, - ClientTitle, - Media, - Notifications, - Volume, - Network, - Bluetooth, - BatteryLabel, - Clock, - SysTray, - - // Custom Modules - Ram, - Cpu, - Storage, - Netstat, - KbInput, - Updates, - Submap, - Weather, - Power, -}; diff --git a/ags/HyprPanel/modules/bar/SideEffects.ts b/ags/HyprPanel/modules/bar/SideEffects.ts deleted file mode 100644 index e4aabec..0000000 --- a/ags/HyprPanel/modules/bar/SideEffects.ts +++ /dev/null @@ -1,29 +0,0 @@ -import options from 'options'; - -const { showIcon, showTime } = options.bar.clock; - -showIcon.connect('changed', () => { - if (!showTime.value && !showIcon.value) { - showTime.value = true; - } -}); - -showTime.connect('changed', () => { - if (!showTime.value && !showIcon.value) { - showIcon.value = true; - } -}); - -const { label, icon } = options.bar.windowtitle; - -label.connect('changed', () => { - if (!label.value && !icon.value) { - icon.value = true; - } -}); - -icon.connect('changed', () => { - if (!label.value && !icon.value) { - label.value = true; - } -}); diff --git a/ags/HyprPanel/modules/bar/battery/index.ts b/ags/HyprPanel/modules/bar/battery/index.ts deleted file mode 100644 index 8d22ef7..0000000 --- a/ags/HyprPanel/modules/bar/battery/index.ts +++ /dev/null @@ -1,133 +0,0 @@ -const battery = await Service.import('battery'); -import Gdk from 'gi://Gdk?version=3.0'; -import { openMenu } from '../utils.js'; -import options from 'options'; -import { BarBoxChild } from 'lib/types/bar.js'; -import Button from 'types/widgets/button.js'; -import { Attribute, Child } from 'lib/types/widget.js'; -import { runAsyncCommand, throttledScrollHandler } from 'customModules/utils.js'; - -const { label: show_label, rightClick, middleClick, scrollUp, scrollDown, hideLabelWhenFull } = options.bar.battery; - -const BatteryLabel = (): BarBoxChild => { - const isVis = Variable(battery.available); - - const batIcon = Utils.merge( - [battery.bind('percent'), battery.bind('charging'), battery.bind('charged')], - (batPercent: number, batCharging, batCharged) => { - if (batCharged) return `battery-level-100-charged-symbolic`; - else return `battery-level-${Math.floor(batPercent / 10) * 10}${batCharging ? '-charging' : ''}-symbolic`; - }, - ); - - battery.connect('changed', ({ available }) => { - isVis.value = available; - }); - - const formatTime = (seconds: number): Record => { - const hours = Math.floor(seconds / 3600); - const minutes = Math.floor((seconds % 3600) / 60); - return { hours, minutes }; - }; - - const generateTooltip = (timeSeconds: number, isCharging: boolean, isCharged: boolean): string => { - if (isCharged) { - return 'Fully Charged!!!'; - } - - const { hours, minutes } = formatTime(timeSeconds); - if (isCharging) { - return `${hours} hours ${minutes} minutes until full`; - } else { - return `${hours} hours ${minutes} minutes left`; - } - }; - - return { - component: Widget.Box({ - className: Utils.merge( - [options.theme.bar.buttons.style.bind('value'), show_label.bind('value')], - (style, showLabel) => { - const styleMap = { - default: 'style1', - split: 'style2', - wave: 'style3', - wave2: 'style3', - }; - return `battery-container ${styleMap[style]} ${!showLabel ? 'no-label' : ''}`; - }, - ), - visible: battery.bind('available'), - tooltip_text: battery.bind('time_remaining').as((t) => t.toString()), - children: Utils.merge( - [ - battery.bind('available'), - show_label.bind('value'), - battery.bind('charged'), - hideLabelWhenFull.bind('value'), - ], - (batAvail, showLabel, isCharged, hideWhenFull) => { - if (batAvail && showLabel) { - return [ - Widget.Icon({ - class_name: 'bar-button-icon battery', - icon: batIcon, - }), - ...(hideWhenFull && isCharged - ? [] - : [ - Widget.Label({ - class_name: 'bar-button-label battery', - label: battery.bind('percent').as((p) => `${Math.floor(p)}%`), - }), - ]), - ]; - } else if (batAvail && !showLabel) { - return [ - Widget.Icon({ - class_name: 'bar-button-icon battery', - icon: batIcon, - }), - ]; - } else { - return []; - } - }, - ), - setup: (self) => { - self.hook(battery, () => { - if (battery.available) { - self.tooltip_text = generateTooltip(battery.time_remaining, battery.charging, battery.charged); - } - }); - }, - }), - isVis, - boxClass: 'battery', - props: { - setup: (self: Button): void => { - self.hook(options.bar.scrollSpeed, () => { - const throttledHandler = throttledScrollHandler(options.bar.scrollSpeed.value); - - self.on_secondary_click = (clicked: Button, event: Gdk.Event): void => { - runAsyncCommand(rightClick.value, { clicked, event }); - }; - self.on_middle_click = (clicked: Button, event: Gdk.Event): void => { - runAsyncCommand(middleClick.value, { clicked, event }); - }; - self.on_scroll_up = (clicked: Button, event: Gdk.Event): void => { - throttledHandler(scrollUp.value, { clicked, event }); - }; - self.on_scroll_down = (clicked: Button, event: Gdk.Event): void => { - throttledHandler(scrollDown.value, { clicked, event }); - }; - }); - }, - onPrimaryClick: (clicked: Button, event: Gdk.Event): void => { - openMenu(clicked, event, 'energymenu'); - }, - }, - }; -}; - -export { BatteryLabel }; diff --git a/ags/HyprPanel/modules/bar/bluetooth/index.ts b/ags/HyprPanel/modules/bar/bluetooth/index.ts deleted file mode 100644 index 55381a3..0000000 --- a/ags/HyprPanel/modules/bar/bluetooth/index.ts +++ /dev/null @@ -1,74 +0,0 @@ -const bluetooth = await Service.import('bluetooth'); -import Gdk from 'gi://Gdk?version=3.0'; -import options from 'options'; -import { openMenu } from '../utils.js'; -import { BarBoxChild } from 'lib/types/bar.js'; -import Button from 'types/widgets/button.js'; -import { Attribute, Child } from 'lib/types/widget.js'; -import { runAsyncCommand, throttledScrollHandler } from 'customModules/utils.js'; - -const { label, rightClick, middleClick, scrollDown, scrollUp } = options.bar.bluetooth; - -const Bluetooth = (): BarBoxChild => { - const btIcon = Widget.Label({ - label: bluetooth.bind('enabled').as((v) => (v ? '󰂯' : '󰂲')), - class_name: 'bar-button-icon bluetooth txt-icon bar', - }); - - const btText = Widget.Label({ - label: Utils.merge([bluetooth.bind('enabled'), bluetooth.bind('connected_devices')], (btEnabled, btDevices) => { - return btEnabled && btDevices.length ? ` Connected (${btDevices.length})` : btEnabled ? 'On' : 'Off'; - }), - class_name: 'bar-button-label bluetooth', - }); - - return { - component: Widget.Box({ - className: Utils.merge( - [options.theme.bar.buttons.style.bind('value'), label.bind('value')], - (style, showLabel) => { - const styleMap = { - default: 'style1', - split: 'style2', - wave: 'style3', - wave2: 'style3', - }; - return `bluetooth-container ${styleMap[style]} ${!showLabel ? 'no-label' : ''}`; - }, - ), - children: options.bar.bluetooth.label.bind('value').as((showLabel) => { - if (showLabel) { - return [btIcon, btText]; - } - return [btIcon]; - }), - }), - isVisible: true, - boxClass: 'bluetooth', - props: { - setup: (self: Button): void => { - self.hook(options.bar.scrollSpeed, () => { - const throttledHandler = throttledScrollHandler(options.bar.scrollSpeed.value); - - self.on_secondary_click = (clicked: Button, event: Gdk.Event): void => { - runAsyncCommand(rightClick.value, { clicked, event }); - }; - self.on_middle_click = (clicked: Button, event: Gdk.Event): void => { - runAsyncCommand(middleClick.value, { clicked, event }); - }; - self.on_scroll_up = (clicked: Button, event: Gdk.Event): void => { - throttledHandler(scrollUp.value, { clicked, event }); - }; - self.on_scroll_down = (clicked: Button, event: Gdk.Event): void => { - throttledHandler(scrollDown.value, { clicked, event }); - }; - }); - }, - on_primary_click: (clicked: Button, event: Gdk.Event): void => { - openMenu(clicked, event, 'bluetoothmenu'); - }, - }, - }; -}; - -export { Bluetooth }; diff --git a/ags/HyprPanel/modules/bar/clock/index.ts b/ags/HyprPanel/modules/bar/clock/index.ts deleted file mode 100644 index 0b2fe21..0000000 --- a/ags/HyprPanel/modules/bar/clock/index.ts +++ /dev/null @@ -1,83 +0,0 @@ -import Gdk from 'gi://Gdk?version=3.0'; -import GLib from 'gi://GLib'; -import { openMenu } from '../utils.js'; -import options from 'options'; -import { DateTime } from 'types/@girs/glib-2.0/glib-2.0.cjs'; -import { BarBoxChild } from 'lib/types/bar.js'; -import Button from 'types/widgets/button.js'; -import { Attribute, Child } from 'lib/types/widget.js'; -import { runAsyncCommand, throttledScrollHandler } from 'customModules/utils.js'; - -const { format, icon, showIcon, showTime, rightClick, middleClick, scrollUp, scrollDown } = options.bar.clock; -const { style } = options.theme.bar.buttons; - -const date = Variable(GLib.DateTime.new_now_local(), { - poll: [1000, (): DateTime => GLib.DateTime.new_now_local()], -}); -const time = Utils.derive([date, format], (c, f) => c.format(f) || ''); - -const Clock = (): BarBoxChild => { - const clockTime = Widget.Label({ - class_name: 'bar-button-label clock bar', - label: time.bind(), - }); - - const clockIcon = Widget.Label({ - label: icon.bind('value'), - class_name: 'bar-button-icon clock txt-icon bar', - }); - - return { - component: Widget.Box({ - className: Utils.merge( - [style.bind('value'), showIcon.bind('value'), showTime.bind('value')], - (btnStyle, shwIcn, shwLbl) => { - const styleMap = { - default: 'style1', - split: 'style2', - wave: 'style3', - wave2: 'style3', - }; - - return `clock-container ${styleMap[btnStyle]} ${!shwLbl ? 'no-label' : ''} ${!shwIcn ? 'no-icon' : ''}`; - }, - ), - children: Utils.merge([showIcon.bind('value'), showTime.bind('value')], (shIcn, shTm) => { - if (shIcn && !shTm) { - return [clockIcon]; - } else if (shTm && !shIcn) { - return [clockTime]; - } - - return [clockIcon, clockTime]; - }), - }), - isVisible: true, - boxClass: 'clock', - props: { - setup: (self: Button): void => { - self.hook(options.bar.scrollSpeed, () => { - const throttledHandler = throttledScrollHandler(options.bar.scrollSpeed.value); - - self.on_secondary_click = (clicked: Button, event: Gdk.Event): void => { - runAsyncCommand(rightClick.value, { clicked, event }); - }; - self.on_middle_click = (clicked: Button, event: Gdk.Event): void => { - runAsyncCommand(middleClick.value, { clicked, event }); - }; - self.on_scroll_up = (clicked: Button, event: Gdk.Event): void => { - throttledHandler(scrollUp.value, { clicked, event }); - }; - self.on_scroll_down = (clicked: Button, event: Gdk.Event): void => { - throttledHandler(scrollDown.value, { clicked, event }); - }; - }); - }, - on_primary_click: (clicked: Button, event: Gdk.Event): void => { - openMenu(clicked, event, 'calendarmenu'); - }, - }, - }; -}; - -export { Clock }; diff --git a/ags/HyprPanel/modules/bar/media/index.ts b/ags/HyprPanel/modules/bar/media/index.ts deleted file mode 100644 index 5892d7b..0000000 --- a/ags/HyprPanel/modules/bar/media/index.ts +++ /dev/null @@ -1,113 +0,0 @@ -import Gdk from 'gi://Gdk?version=3.0'; -const mpris = await Service.import('mpris'); -import { openMenu } from '../utils.js'; -import options from 'options'; -import { getCurrentPlayer } from 'lib/shared/media.js'; -import { BarBoxChild } from 'lib/types/bar.js'; -import Button from 'types/widgets/button.js'; -import { Attribute, Child } from 'lib/types/widget.js'; -import { runAsyncCommand } from 'customModules/utils.js'; - -const { show_artist, truncation, truncation_size, show_label, show_active_only, rightClick, middleClick } = - options.bar.media; - -const Media = (): BarBoxChild => { - const activePlayer = Variable(mpris.players[0]); - const isVis = Variable(!show_active_only.value); - - show_active_only.connect('changed', () => { - isVis.value = !show_active_only.value || mpris.players.length > 0; - }); - - mpris.connect('changed', () => { - const curPlayer = getCurrentPlayer(activePlayer.value); - activePlayer.value = curPlayer; - isVis.value = !show_active_only.value || mpris.players.length > 0; - }); - - const getIconForPlayer = (playerName: string): string => { - const windowTitleMap = [ - ['Firefox', '󰈹'], - ['Microsoft Edge', '󰇩'], - ['Discord', ''], - ['Plex', '󰚺'], - ['Spotify', '󰓇'], - ['(.*)', '󰝚'], - ]; - - const foundMatch = windowTitleMap.find((wt) => RegExp(wt[0], 'i').test(playerName)); - - return foundMatch ? foundMatch[1] : '󰝚'; - }; - - const songIcon = Variable(''); - - const mediaLabel = Utils.watch('Media', [mpris, show_artist, truncation, truncation_size, show_label], () => { - if (activePlayer.value && show_label.value) { - const { track_title, identity, track_artists } = activePlayer.value; - songIcon.value = getIconForPlayer(identity); - const trackArtist = show_artist.value ? ` - ${track_artists.join(', ')}` : ``; - const truncatedLabel = truncation.value - ? `${track_title + trackArtist}`.substring(0, truncation_size.value) - : `${track_title + trackArtist}`; - - return track_title.length === 0 - ? `No media playing...` - : truncatedLabel.length < truncation_size.value || !truncation.value - ? `${truncatedLabel}` - : `${truncatedLabel.substring(0, truncatedLabel.length - 3)}...`; - } else { - songIcon.value = getIconForPlayer(activePlayer.value?.identity || ''); - return `Media`; - } - }); - - return { - component: Widget.Box({ - visible: false, - child: Widget.Box({ - className: Utils.merge( - [options.theme.bar.buttons.style.bind('value'), show_label.bind('value')], - (style) => { - const styleMap = { - default: 'style1', - split: 'style2', - wave: 'style3', - wave2: 'style3', - }; - return `media-container ${styleMap[style]}`; - }, - ), - child: Widget.Box({ - children: [ - Widget.Label({ - class_name: 'bar-button-icon media txt-icon bar', - label: songIcon.bind('value').as((v) => v || '󰝚'), - }), - Widget.Label({ - class_name: 'bar-button-label media', - label: mediaLabel, - }), - ], - }), - }), - }), - isVis, - boxClass: 'media', - props: { - on_scroll_up: () => activePlayer.value?.next(), - on_scroll_down: () => activePlayer.value?.previous(), - on_primary_click: (clicked: Button, event: Gdk.Event): void => { - openMenu(clicked, event, 'mediamenu'); - }, - onSecondaryClick: (clicked: Button, event: Gdk.Event): void => { - runAsyncCommand(rightClick.value, { clicked, event }); - }, - onMiddleClick: (clicked: Button, event: Gdk.Event): void => { - runAsyncCommand(middleClick.value, { clicked, event }); - }, - }, - }; -}; - -export { Media }; diff --git a/ags/HyprPanel/modules/bar/menu/index.ts b/ags/HyprPanel/modules/bar/menu/index.ts deleted file mode 100644 index 5c55bfb..0000000 --- a/ags/HyprPanel/modules/bar/menu/index.ts +++ /dev/null @@ -1,56 +0,0 @@ -import Gdk from 'gi://Gdk?version=3.0'; -import { openMenu } from '../utils.js'; -import options from 'options'; -import { BarBoxChild } from 'lib/types/bar.js'; -import Button from 'types/widgets/button.js'; -import { Attribute, Child } from 'lib/types/widget.js'; -import { runAsyncCommand, throttledScrollHandler } from 'customModules/utils.js'; - -const { rightClick, middleClick, scrollUp, scrollDown } = options.bar.launcher; - -const Menu = (): BarBoxChild => { - return { - component: Widget.Box({ - className: Utils.merge([options.theme.bar.buttons.style.bind('value')], (style) => { - const styleMap = { - default: 'style1', - split: 'style2', - wave: 'style3', - wave2: 'style3', - }; - return `dashboard ${styleMap[style]}`; - }), - child: Widget.Label({ - class_name: 'bar-menu_label bar-button_icon txt-icon bar', - label: options.bar.launcher.icon.bind('value'), - }), - }), - isVisible: true, - boxClass: 'dashboard', - props: { - on_primary_click: (clicked: Button, event: Gdk.Event): void => { - openMenu(clicked, event, 'dashboardmenu'); - }, - setup: (self: Button): void => { - self.hook(options.bar.scrollSpeed, () => { - const throttledHandler = throttledScrollHandler(options.bar.scrollSpeed.value); - - self.on_secondary_click = (clicked: Button, event: Gdk.Event): void => { - runAsyncCommand(rightClick.value, { clicked, event }); - }; - self.on_middle_click = (clicked: Button, event: Gdk.Event): void => { - runAsyncCommand(middleClick.value, { clicked, event }); - }; - self.on_scroll_up = (clicked: Button, event: Gdk.Event): void => { - throttledHandler(scrollUp.value, { clicked, event }); - }; - self.on_scroll_down = (clicked: Button, event: Gdk.Event): void => { - throttledHandler(scrollDown.value, { clicked, event }); - }; - }); - }, - }, - }; -}; - -export { Menu }; diff --git a/ags/HyprPanel/modules/bar/network/index.ts b/ags/HyprPanel/modules/bar/network/index.ts deleted file mode 100644 index 056f455..0000000 --- a/ags/HyprPanel/modules/bar/network/index.ts +++ /dev/null @@ -1,106 +0,0 @@ -import Gdk from 'gi://Gdk?version=3.0'; -const network = await Service.import('network'); -import options from 'options'; -import { openMenu } from '../utils.js'; -import { BarBoxChild } from 'lib/types/bar.js'; -import Button from 'types/widgets/button.js'; -import { Attribute, Child } from 'lib/types/widget.js'; -import { runAsyncCommand, throttledScrollHandler } from 'customModules/utils.js'; - -const { - label: networkLabel, - truncation, - truncation_size, - rightClick, - middleClick, - scrollDown, - scrollUp, -} = options.bar.network; - -const Network = (): BarBoxChild => { - return { - component: Widget.Box({ - vpack: 'fill', - vexpand: true, - className: Utils.merge( - [options.theme.bar.buttons.style.bind('value'), networkLabel.bind('value')], - (style, showLabel) => { - const styleMap = { - default: 'style1', - split: 'style2', - wave: 'style3', - wave2: 'style3', - }; - return `network-container ${styleMap[style]}${!showLabel ? ' no-label' : ''}`; - }, - ), - children: [ - Widget.Icon({ - class_name: 'bar-button-icon network-icon', - icon: Utils.merge( - [network.bind('primary'), network.bind('wifi'), network.bind('wired')], - (pmry, wfi, wrd) => { - if (pmry === 'wired') { - return wrd.icon_name; - } - return wfi.icon_name; - }, - ), - }), - Widget.Box({ - child: Utils.merge( - [ - network.bind('primary'), - network.bind('wifi'), - networkLabel.bind('value'), - truncation.bind('value'), - truncation_size.bind('value'), - ], - (pmry, wfi, showLbl, trunc, tSize) => { - if (!showLbl) { - return Widget.Box(); - } - if (pmry === 'wired') { - return Widget.Label({ - class_name: 'bar-button-label network-label', - label: 'Wired'.substring(0, tSize), - }); - } - return Widget.Label({ - class_name: 'bar-button-label network-label', - label: wfi.ssid ? `${trunc ? wfi.ssid.substring(0, tSize) : wfi.ssid}` : '--', - }); - }, - ), - }), - ], - }), - isVisible: true, - boxClass: 'network', - props: { - on_primary_click: (clicked: Button, event: Gdk.Event): void => { - openMenu(clicked, event, 'networkmenu'); - }, - setup: (self: Button): void => { - self.hook(options.bar.scrollSpeed, () => { - const throttledHandler = throttledScrollHandler(options.bar.scrollSpeed.value); - - self.on_secondary_click = (clicked: Button, event: Gdk.Event): void => { - runAsyncCommand(rightClick.value, { clicked, event }); - }; - self.on_middle_click = (clicked: Button, event: Gdk.Event): void => { - runAsyncCommand(middleClick.value, { clicked, event }); - }; - self.on_scroll_up = (clicked: Button, event: Gdk.Event): void => { - throttledHandler(scrollUp.value, { clicked, event }); - }; - self.on_scroll_down = (clicked: Button, event: Gdk.Event): void => { - throttledHandler(scrollDown.value, { clicked, event }); - }; - }); - }, - }, - }; -}; - -export { Network }; diff --git a/ags/HyprPanel/modules/bar/notifications/index.ts b/ags/HyprPanel/modules/bar/notifications/index.ts deleted file mode 100644 index f0e721d..0000000 --- a/ags/HyprPanel/modules/bar/notifications/index.ts +++ /dev/null @@ -1,94 +0,0 @@ -import Gdk from 'gi://Gdk?version=3.0'; -import { openMenu } from '../utils.js'; -import options from 'options'; -import { filterNotifications } from 'lib/shared/notifications.js'; -import { BarBoxChild } from 'lib/types/bar.js'; -import Button from 'types/widgets/button.js'; -import { Attribute, Child } from 'lib/types/widget.js'; -import { runAsyncCommand, throttledScrollHandler } from 'customModules/utils.js'; - -const { show_total, rightClick, middleClick, scrollUp, scrollDown, hideCountWhenZero } = options.bar.notifications; -const { ignore } = options.notifications; - -const notifs = await Service.import('notifications'); - -export const Notifications = (): BarBoxChild => { - return { - component: Widget.Box({ - hpack: 'start', - className: Utils.merge( - [options.theme.bar.buttons.style.bind('value'), show_total.bind('value')], - (style, showTotal) => { - const styleMap = { - default: 'style1', - split: 'style2', - wave: 'style3', - wave2: 'style3', - }; - return `notifications-container ${styleMap[style]} ${!showTotal ? 'no-label' : ''}`; - }, - ), - child: Widget.Box({ - hpack: 'start', - class_name: 'bar-notifications', - children: Utils.merge( - [ - notifs.bind('notifications'), - notifs.bind('dnd'), - show_total.bind('value'), - ignore.bind('value'), - hideCountWhenZero.bind('value'), - ], - (notif, dnd, showTotal, ignoredNotifs, hideCountForZero) => { - const filteredNotifications = filterNotifications(notif, ignoredNotifs); - - const notifIcon = Widget.Label({ - hpack: 'center', - class_name: 'bar-button-icon notifications txt-icon bar', - label: dnd ? '󰂛' : filteredNotifications.length > 0 ? '󱅫' : '󰂚', - }); - - const notifLabel = Widget.Label({ - hpack: 'center', - class_name: 'bar-button-label notifications', - label: filteredNotifications.length.toString(), - }); - - if (showTotal) { - if (hideCountForZero && filteredNotifications.length === 0) { - return [notifIcon]; - } - return [notifIcon, notifLabel]; - } - return [notifIcon]; - }, - ), - }), - }), - isVisible: true, - boxClass: 'notifications', - props: { - on_primary_click: (clicked: Button, event: Gdk.Event): void => { - openMenu(clicked, event, 'notificationsmenu'); - }, - setup: (self: Button): void => { - self.hook(options.bar.scrollSpeed, () => { - const throttledHandler = throttledScrollHandler(options.bar.scrollSpeed.value); - - self.on_secondary_click = (clicked: Button, event: Gdk.Event): void => { - runAsyncCommand(rightClick.value, { clicked, event }); - }; - self.on_middle_click = (clicked: Button, event: Gdk.Event): void => { - runAsyncCommand(middleClick.value, { clicked, event }); - }; - self.on_scroll_up = (clicked: Button, event: Gdk.Event): void => { - throttledHandler(scrollUp.value, { clicked, event }); - }; - self.on_scroll_down = (clicked: Button, event: Gdk.Event): void => { - throttledHandler(scrollDown.value, { clicked, event }); - }; - }); - }, - }, - }; -}; diff --git a/ags/HyprPanel/modules/bar/systray/index.ts b/ags/HyprPanel/modules/bar/systray/index.ts deleted file mode 100644 index b6fece3..0000000 --- a/ags/HyprPanel/modules/bar/systray/index.ts +++ /dev/null @@ -1,44 +0,0 @@ -import Gdk from 'gi://Gdk?version=3.0'; -import { BarBoxChild, SelfButton } from 'lib/types/bar'; -import { Notify } from 'lib/utils'; -const systemtray = await Service.import('systemtray'); -import options from 'options'; - -const { ignore } = options.bar.systray; - -const SysTray = (): BarBoxChild => { - const isVis = Variable(false); - - const items = Utils.merge([systemtray.bind('items'), ignore.bind('value')], (items, ignored) => { - const filteredTray = items.filter(({ id }) => !ignored.includes(id)); - - isVis.value = filteredTray.length > 0; - - return filteredTray.map((item) => { - return Widget.Button({ - cursor: 'pointer', - child: Widget.Icon({ - class_name: 'systray-icon', - icon: item.bind('icon'), - }), - on_primary_click: (_: SelfButton, event: Gdk.Event) => item.activate(event), - on_secondary_click: (_, event) => item.openMenu(event), - onMiddleClick: () => Notify({ summary: 'App Name', body: item.id }), - tooltip_markup: item.bind('tooltip_markup'), - }); - }); - }); - - return { - component: Widget.Box({ - class_name: 'systray-container', - children: items, - }), - isVisible: true, - boxClass: 'systray', - isVis, - props: {}, - }; -}; - -export { SysTray }; diff --git a/ags/HyprPanel/modules/bar/utils.ts b/ags/HyprPanel/modules/bar/utils.ts deleted file mode 100644 index f2f545a..0000000 --- a/ags/HyprPanel/modules/bar/utils.ts +++ /dev/null @@ -1,56 +0,0 @@ -import Gdk from 'gi://Gdk?version=3.0'; -import { Attribute, Child } from 'lib/types/widget'; -import { calculateMenuPosition } from 'modules/menus/shared/dropdown/locationHandler/index'; -import Button from 'types/widgets/button'; - -export const closeAllMenus = (): void => { - const menuWindows = App.windows - .filter((w) => { - if (w.name) { - return /.*menu/.test(w.name); - } - - return false; - }) - .map((w) => w.name); - - menuWindows.forEach((w) => { - if (w) { - App.closeWindow(w); - } - }); -}; - -export const openMenu = async (clicked: Button, event: Gdk.Event, window: string): Promise => { - /* - * NOTE: We have to make some adjustments so the menu pops up relatively - * to the center of the button clicked. We don't want the menu to spawn - * offcenter dependending on which edge of the button you click on. - * ------------- - * To fix this, we take the x coordinate of the click within the button's bounds. - * If you click the left edge of a 100 width button, then the x axis will be 0 - * and if you click the right edge then the x axis will be 100. - * ------------- - * Then we divide the width of the button by 2 to get the center of the button and then get - * the offset by subtracting the clicked x coordinate. Then we can apply that offset - * to the x coordinate of the click relative to the screen to get the center of the - * icon click. - */ - - const middleOfButton = Math.floor(clicked.get_allocated_width() / 2); - const xAxisOfButtonClick = clicked.get_pointer()[0]; - const middleOffset = middleOfButton - xAxisOfButtonClick; - - const clickPos = event.get_root_coords(); - const adjustedXCoord = clickPos[1] + middleOffset; - const coords = [adjustedXCoord, clickPos[2]]; - - try { - await calculateMenuPosition(coords, window); - } catch (error) { - console.error(`Error calculating menu position: ${error}`); - } - - closeAllMenus(); - App.toggleWindow(window); -}; diff --git a/ags/HyprPanel/modules/bar/volume/index.ts b/ags/HyprPanel/modules/bar/volume/index.ts deleted file mode 100644 index e85dc52..0000000 --- a/ags/HyprPanel/modules/bar/volume/index.ts +++ /dev/null @@ -1,106 +0,0 @@ -import Gdk from 'gi://Gdk?version=3.0'; -const audio = await Service.import('audio'); -import { openMenu } from '../utils.js'; -import options from 'options'; -import { Binding } from 'lib/utils.js'; -import { VolumeIcons } from 'lib/types/volume.js'; -import { BarBoxChild } from 'lib/types/bar.js'; -import { Bind } from 'lib/types/variable.js'; -import Button from 'types/widgets/button.js'; -import { Attribute, Child } from 'lib/types/widget.js'; -import { runAsyncCommand, throttledScrollHandler } from 'customModules/utils.js'; - -const { rightClick, middleClick, scrollUp, scrollDown } = options.bar.volume; - -const Volume = (): BarBoxChild => { - const icons: VolumeIcons = { - 101: '󰕾', - 66: '󰕾', - 34: '󰖀', - 1: '󰕿', - 0: '󰝟', - }; - - const getIcon = (): Bind => { - const icon: Binding = Utils.merge( - [audio.speaker.bind('is_muted'), audio.speaker.bind('volume')], - (isMuted, vol) => { - if (isMuted) return 0; - - const foundVol = [101, 66, 34, 1, 0].find((threshold) => threshold <= vol * 100); - - if (foundVol !== undefined) { - return foundVol; - } - - return 101; - }, - ); - - return icon.as((i: number) => (i !== undefined ? icons[i] : icons[101])); - }; - - const volIcn = Widget.Label({ - hexpand: true, - label: getIcon(), - class_name: 'bar-button-icon volume txt-icon bar', - }); - - const volPct = Widget.Label({ - hexpand: true, - label: audio.speaker.bind('volume').as((v) => `${Math.round(v * 100)}%`), - class_name: 'bar-button-label volume', - }); - - return { - component: Widget.Box({ - hexpand: true, - vexpand: true, - className: Utils.merge( - [options.theme.bar.buttons.style.bind('value'), options.bar.volume.label.bind('value')], - (style, showLabel) => { - const styleMap = { - default: 'style1', - split: 'style2', - wave: 'style3', - wave2: 'style3', - }; - return `volume-container ${styleMap[style]} ${!showLabel ? 'no-label' : ''}`; - }, - ), - children: options.bar.volume.label.bind('value').as((showLabel) => { - if (showLabel) { - return [volIcn, volPct]; - } - return [volIcn]; - }), - }), - isVisible: true, - boxClass: 'volume', - props: { - onPrimaryClick: (clicked: Button, event: Gdk.Event): void => { - openMenu(clicked, event, 'audiomenu'); - }, - setup: (self: Button): void => { - self.hook(options.bar.scrollSpeed, () => { - const throttledHandler = throttledScrollHandler(options.bar.scrollSpeed.value); - - self.on_secondary_click = (clicked: Button, event: Gdk.Event): void => { - runAsyncCommand(rightClick.value, { clicked, event }); - }; - self.on_middle_click = (clicked: Button, event: Gdk.Event): void => { - runAsyncCommand(middleClick.value, { clicked, event }); - }; - self.on_scroll_up = (clicked: Button, event: Gdk.Event): void => { - throttledHandler(scrollUp.value, { clicked, event }); - }; - self.on_scroll_down = (clicked: Button, event: Gdk.Event): void => { - throttledHandler(scrollDown.value, { clicked, event }); - }; - }); - }, - }, - }; -}; - -export { Volume }; diff --git a/ags/HyprPanel/modules/bar/window_title/index.ts b/ags/HyprPanel/modules/bar/window_title/index.ts deleted file mode 100644 index ddfd44b..0000000 --- a/ags/HyprPanel/modules/bar/window_title/index.ts +++ /dev/null @@ -1,241 +0,0 @@ -const hyprland = await Service.import('hyprland'); -import { BarBoxChild } from 'lib/types/bar'; -import options from 'options'; -import { Attribute, Child } from 'lib/types/widget'; -import { ActiveClient } from 'types/service/hyprland'; -import Label from 'types/widgets/label'; -import { runAsyncCommand, throttledScrollHandler } from 'customModules/utils'; -import Button from 'types/widgets/button'; -import Gdk from 'types/@girs/gdk-3.0/gdk-3.0'; - -const { leftClick, rightClick, middleClick, scrollDown, scrollUp } = options.bar.windowtitle; - -const filterTitle = (windowtitle: ActiveClient): Record => { - const windowTitleMap = [ - // user provided values - ...options.bar.windowtitle.title_map.value, - // Original Entries - ['kitty', '󰄛', 'Kitty Terminal'], - ['firefox', '󰈹', 'Firefox'], - ['microsoft-edge', '󰇩', 'Edge'], - ['discord', '', 'Discord'], - ['vesktop', '', 'Vesktop'], - ['org.kde.dolphin', '', 'Dolphin'], - ['plex', '󰚺', 'Plex'], - ['steam', '', 'Steam'], - ['spotify', '󰓇', 'Spotify'], - ['ristretto', '󰋩', 'Ristretto'], - ['obsidian', '󱓧', 'Obsidian'], - - // Browsers - ['google-chrome', '', 'Google Chrome'], - ['brave-browser', '󰖟', 'Brave Browser'], - ['chromium', '', 'Chromium'], - ['opera', '', 'Opera'], - ['vivaldi', '󰖟', 'Vivaldi'], - ['waterfox', '󰖟', 'Waterfox'], - ['thorium', '󰖟', 'Waterfox'], - ['tor-browser', '', 'Tor Browser'], - ['floorp', '󰈹', 'Floorp'], - - // Terminals - ['gnome-terminal', '', 'GNOME Terminal'], - ['konsole', '', 'Konsole'], - ['alacritty', '', 'Alacritty'], - ['wezterm', '', 'Wezterm'], - ['foot', '󰽒', 'Foot Terminal'], - ['tilix', '', 'Tilix'], - ['xterm', '', 'XTerm'], - ['urxvt', '', 'URxvt'], - ['st', '', 'st Terminal'], - - // Development Tools - ['code', '󰨞', 'Visual Studio Code'], - ['vscode', '󰨞', 'VS Code'], - ['sublime-text', '', 'Sublime Text'], - ['atom', '', 'Atom'], - ['android-studio', '󰀴', 'Android Studio'], - ['intellij-idea', '', 'IntelliJ IDEA'], - ['pycharm', '󱃖', 'PyCharm'], - ['webstorm', '󱃖', 'WebStorm'], - ['phpstorm', '󱃖', 'PhpStorm'], - ['eclipse', '', 'Eclipse'], - ['netbeans', '', 'NetBeans'], - ['docker', '', 'Docker'], - ['vim', '', 'Vim'], - ['neovim', '', 'Neovim'], - ['neovide', '', 'Neovide'], - ['emacs', '', 'Emacs'], - - // Communication Tools - ['slack', '󰒱', 'Slack'], - ['telegram-desktop', '', 'Telegram'], - ['org.telegram.desktop', '', 'Telegram'], - ['whatsapp', '󰖣', 'WhatsApp'], - ['teams', '󰊻', 'Microsoft Teams'], - ['skype', '󰒯', 'Skype'], - ['thunderbird', '', 'Thunderbird'], - - // File Managers - ['nautilus', '󰝰', 'Files (Nautilus)'], - ['thunar', '󰝰', 'Thunar'], - ['pcmanfm', '󰝰', 'PCManFM'], - ['nemo', '󰝰', 'Nemo'], - ['ranger', '󰝰', 'Ranger'], - ['doublecmd', '󰝰', 'Double Commander'], - ['krusader', '󰝰', 'Krusader'], - - // Media Players - ['vlc', '󰕼', 'VLC Media Player'], - ['mpv', '', 'MPV'], - ['rhythmbox', '󰓃', 'Rhythmbox'], - - // Graphics Tools - ['gimp', '', 'GIMP'], - ['inkscape', '', 'Inkscape'], - ['krita', '', 'Krita'], - ['blender', '󰂫', 'Blender'], - - // Video Editing - ['kdenlive', '', 'Kdenlive'], - - // Games and Gaming Platforms - ['lutris', '󰺵', 'Lutris'], - ['heroic', '󰺵', 'Heroic Games Launcher'], - ['minecraft', '󰍳', 'Minecraft'], - ['csgo', '󰺵', 'CS:GO'], - ['dota2', '󰺵', 'Dota 2'], - - // Office and Productivity - ['evernote', '', 'Evernote'], - ['sioyek', '', 'Sioyek'], - - // Cloud Services and Sync - ['dropbox', '󰇣', 'Dropbox'], - - // Desktop - ['^$', '󰇄', 'Desktop'], - - // Fallback icon - ['(.+)', '󰣆', `${windowtitle.class.charAt(0).toUpperCase() + windowtitle.class.slice(1)}`], - ]; - - const foundMatch = windowTitleMap.find((wt) => RegExp(wt[0]).test(windowtitle.class.toLowerCase())); - - // return the default icon if no match is found or - // if the array element matched is not of size 3 - if (!foundMatch || foundMatch.length !== 3) { - return { - icon: windowTitleMap[windowTitleMap.length - 1][1], - label: windowTitleMap[windowTitleMap.length - 1][2], - }; - } - - return { - icon: foundMatch[1], - label: foundMatch[2], - }; -}; - -const getTitle = (client: ActiveClient, useCustomTitle: boolean, useClassName: boolean): string => { - if (useCustomTitle) return filterTitle(client).label; - if (useClassName) return client.class; - - const title = client.title; - // If the title is empty or only filled with spaces, fallback to the class name - if (title.length === 0 || title.match(/^ *$/)) { - return client.class; - } - return title; -}; - -const truncateTitle = (title: string, max_size: number): string => { - if (max_size > 0 && title.length > max_size) { - return title.substring(0, max_size).trim() + '...'; - } - return title; -}; - -const ClientTitle = (): BarBoxChild => { - const { custom_title, class_name, label, icon, truncation, truncation_size } = options.bar.windowtitle; - - return { - component: Widget.Box({ - className: Utils.merge( - [options.theme.bar.buttons.style.bind('value'), label.bind('value')], - (style, showLabel) => { - const styleMap = { - default: 'style1', - split: 'style2', - wave: 'style3', - wave2: 'style3', - }; - return `windowtitle-container ${styleMap[style]} ${!showLabel ? 'no-label' : ''}`; - }, - ), - children: Utils.merge( - [ - hyprland.active.bind('client'), - custom_title.bind('value'), - class_name.bind('value'), - label.bind('value'), - icon.bind('value'), - truncation.bind('value'), - truncation_size.bind('value'), - ], - (client, useCustomTitle, useClassName, showLabel, showIcon, truncate, truncationSize) => { - const children: Label[] = []; - if (showIcon) { - children.push( - Widget.Label({ - class_name: 'bar-button-icon windowtitle txt-icon bar', - label: filterTitle(client).icon, - }), - ); - } - - if (showLabel) { - children.push( - Widget.Label({ - class_name: `bar-button-label windowtitle ${showIcon ? '' : 'no-icon'}`, - label: truncateTitle( - getTitle(client, useCustomTitle, useClassName), - truncate ? truncationSize : -1, - ), - }), - ); - } - - return children; - }, - ), - }), - isVisible: true, - boxClass: 'windowtitle', - props: { - setup: (self: Button): void => { - self.hook(options.bar.scrollSpeed, () => { - const throttledHandler = throttledScrollHandler(options.bar.scrollSpeed.value); - - self.on_primary_click = (clicked: Button, event: Gdk.Event): void => { - runAsyncCommand(leftClick.value, { clicked, event }); - }; - self.on_secondary_click = (clicked: Button, event: Gdk.Event): void => { - runAsyncCommand(rightClick.value, { clicked, event }); - }; - self.on_middle_click = (clicked: Button, event: Gdk.Event): void => { - runAsyncCommand(middleClick.value, { clicked, event }); - }; - self.on_scroll_up = (clicked: Button, event: Gdk.Event): void => { - throttledHandler(scrollUp.value, { clicked, event }); - }; - self.on_scroll_down = (clicked: Button, event: Gdk.Event): void => { - throttledHandler(scrollDown.value, { clicked, event }); - }; - }); - }, - }, - }; -}; - -export { ClientTitle }; diff --git a/ags/HyprPanel/modules/bar/workspaces/helpers.ts b/ags/HyprPanel/modules/bar/workspaces/helpers.ts deleted file mode 100644 index daf3cb3..0000000 --- a/ags/HyprPanel/modules/bar/workspaces/helpers.ts +++ /dev/null @@ -1,162 +0,0 @@ -const hyprland = await Service.import('hyprland'); - -import { MonitorMap, WorkspaceMap, WorkspaceRule } from 'lib/types/workspace'; -import options from 'options'; -import { Variable } from 'types/variable'; - -const { workspaces, reverse_scroll, ignored } = options.bar.workspaces; - -export const getWorkspacesForMonitor = (curWs: number, wsRules: WorkspaceMap, monitor: number): boolean => { - if (!wsRules || !Object.keys(wsRules).length) { - return true; - } - - const monitorMap: MonitorMap = {}; - const workspaceMonitorList = hyprland?.workspaces?.map((m) => ({ id: m.monitorID, name: m.monitor })); - const monitors = [ - ...new Map([...workspaceMonitorList, ...hyprland.monitors].map((item) => [item.id, item])).values(), - ]; - - monitors.forEach((m) => (monitorMap[m.id] = m.name)); - - const currentMonitorName = monitorMap[monitor]; - const monitorWSRules = wsRules[currentMonitorName]; - - if (monitorWSRules === undefined) { - return true; - } - return monitorWSRules.includes(curWs); -}; - -export const getWorkspaceRules = (): WorkspaceMap => { - try { - const rules = Utils.exec('hyprctl workspacerules -j'); - - const workspaceRules: WorkspaceMap = {}; - - JSON.parse(rules).forEach((rule: WorkspaceRule) => { - const workspaceNum = parseInt(rule.workspaceString, 10); - if (isNaN(workspaceNum)) { - return; - } - if (Object.hasOwnProperty.call(workspaceRules, rule.monitor)) { - workspaceRules[rule.monitor].push(workspaceNum); - } else { - workspaceRules[rule.monitor] = [workspaceNum]; - } - }); - - return workspaceRules; - } catch (err) { - console.error(err); - return {}; - } -}; - -export const getCurrentMonitorWorkspaces = (monitor: number): number[] => { - if (hyprland.monitors.length === 1) { - return Array.from({ length: workspaces.value }, (_, i) => i + 1); - } - - const monitorWorkspaces = getWorkspaceRules(); - const monitorMap: MonitorMap = {}; - hyprland.monitors.forEach((m) => (monitorMap[m.id] = m.name)); - - const currentMonitorName = monitorMap[monitor]; - - return monitorWorkspaces[currentMonitorName]; -}; - -type ThrottledScrollHandlers = { - throttledScrollUp: () => void; - throttledScrollDown: () => void; -}; - -export const isWorkspaceIgnored = (ignoredWorkspaces: Variable, workspaceNumber: number): boolean => { - if (ignoredWorkspaces.value === '') return false; - - const ignoredWsRegex = new RegExp(ignoredWorkspaces.value); - - return ignoredWsRegex.test(workspaceNumber.toString()); -}; - -const navigateWorkspace = ( - direction: 'next' | 'prev', - currentMonitorWorkspaces: Variable, - activeWorkspaces: boolean, - ignoredWorkspaces: Variable, -): void => { - const workspacesList = activeWorkspaces - ? hyprland.workspaces.filter((ws) => hyprland.active.monitor.id === ws.monitorID).map((ws) => ws.id) - : currentMonitorWorkspaces.value || Array.from({ length: workspaces.value }, (_, i) => i + 1); - - if (workspacesList.length === 0) return; - - const currentIndex = workspacesList.indexOf(hyprland.active.workspace.id); - const step = direction === 'next' ? 1 : -1; - let newIndex = (currentIndex + step + workspacesList.length) % workspacesList.length; - let attempts = 0; - - while (attempts < workspacesList.length) { - const targetWS = workspacesList[newIndex]; - if (!isWorkspaceIgnored(ignoredWorkspaces, targetWS)) { - hyprland.messageAsync(`dispatch workspace ${targetWS}`); - return; - } - newIndex = (newIndex + step + workspacesList.length) % workspacesList.length; - attempts++; - } -}; - -export const goToNextWS = ( - currentMonitorWorkspaces: Variable, - activeWorkspaces: boolean, - ignoredWorkspaces: Variable, -): void => { - navigateWorkspace('next', currentMonitorWorkspaces, activeWorkspaces, ignoredWorkspaces); -}; - -export const goToPrevWS = ( - currentMonitorWorkspaces: Variable, - activeWorkspaces: boolean, - ignoredWorkspaces: Variable, -): void => { - navigateWorkspace('prev', currentMonitorWorkspaces, activeWorkspaces, ignoredWorkspaces); -}; - -export function throttle void>(func: T, limit: number): T { - let inThrottle: boolean; - return function (this: ThisParameterType, ...args: Parameters) { - if (!inThrottle) { - func.apply(this, args); - inThrottle = true; - setTimeout(() => { - inThrottle = false; - }, limit); - } - } as T; -} - -export const createThrottledScrollHandlers = ( - scrollSpeed: number, - currentMonitorWorkspaces: Variable, - activeWorkspaces: boolean = false, -): ThrottledScrollHandlers => { - const throttledScrollUp = throttle(() => { - if (reverse_scroll.value) { - goToPrevWS(currentMonitorWorkspaces, activeWorkspaces, ignored); - } else { - goToNextWS(currentMonitorWorkspaces, activeWorkspaces, ignored); - } - }, 200 / scrollSpeed); - - const throttledScrollDown = throttle(() => { - if (reverse_scroll.value) { - goToNextWS(currentMonitorWorkspaces, activeWorkspaces, ignored); - } else { - goToPrevWS(currentMonitorWorkspaces, activeWorkspaces, ignored); - } - }, 200 / scrollSpeed); - - return { throttledScrollUp, throttledScrollDown }; -}; diff --git a/ags/HyprPanel/modules/bar/workspaces/index.ts b/ags/HyprPanel/modules/bar/workspaces/index.ts deleted file mode 100644 index c95e212..0000000 --- a/ags/HyprPanel/modules/bar/workspaces/index.ts +++ /dev/null @@ -1,44 +0,0 @@ -import options from 'options'; -import { createThrottledScrollHandlers, getCurrentMonitorWorkspaces } from './helpers'; -import { BarBoxChild, SelfButton } from 'lib/types/bar'; -import { occupiedWses } from './variants/occupied'; -import { defaultWses } from './variants/default'; - -const { workspaces, scroll_speed } = options.bar.workspaces; - -const Workspaces = (monitor = -1): BarBoxChild => { - const currentMonitorWorkspaces = Variable(getCurrentMonitorWorkspaces(monitor)); - - workspaces.connect('changed', () => { - currentMonitorWorkspaces.value = getCurrentMonitorWorkspaces(monitor); - }); - - return { - component: Widget.Box({ - class_name: 'workspaces-box-container', - child: options.bar.workspaces.hideUnoccupied.bind('value').as((hideUnoccupied) => { - return hideUnoccupied ? occupiedWses(monitor) : defaultWses(monitor); - }), - }), - isVisible: true, - boxClass: 'workspaces', - props: { - setup: (self: SelfButton): void => { - Utils.merge( - [scroll_speed.bind('value'), options.bar.workspaces.hideUnoccupied.bind('value')], - (scroll_speed, hideUnoccupied) => { - const { throttledScrollUp, throttledScrollDown } = createThrottledScrollHandlers( - scroll_speed, - currentMonitorWorkspaces, - hideUnoccupied, - ); - self.on_scroll_up = throttledScrollUp; - self.on_scroll_down = throttledScrollDown; - }, - ); - }, - }, - }; -}; - -export { Workspaces }; diff --git a/ags/HyprPanel/modules/bar/workspaces/utils.ts b/ags/HyprPanel/modules/bar/workspaces/utils.ts deleted file mode 100644 index c9f2bc2..0000000 --- a/ags/HyprPanel/modules/bar/workspaces/utils.ts +++ /dev/null @@ -1,130 +0,0 @@ -import { WorkspaceIconMap } from 'lib/types/workspace'; -import { isValidGjsColor } from 'lib/utils'; -import options from 'options'; -import { Monitor } from 'types/service/hyprland'; - -const hyprland = await Service.import('hyprland'); - -const { monochrome, background } = options.theme.bar.buttons; -const { background: wsBackground, active } = options.theme.bar.buttons.workspaces; - -const { showWsIcons, showAllActive, numbered_active_indicator: activeIndicator } = options.bar.workspaces; - -const isWorkspaceActiveOnMonitor = (monitor: number, monitors: Monitor[], i: number): boolean => { - return showAllActive.value && monitors[monitor]?.activeWorkspace?.id === i; -}; - -const getWsIcon = (wsIconMap: WorkspaceIconMap, i: number): string => { - const iconEntry = wsIconMap[i]; - - if (!iconEntry) { - return `${i}`; - } - - const hasIcon = typeof iconEntry === 'object' && 'icon' in iconEntry && iconEntry.icon !== ''; - - if (typeof iconEntry === 'string' && iconEntry !== '') { - return iconEntry; - } - - if (hasIcon) { - return iconEntry.icon; - } - - return `${i}`; -}; - -export const getWsColor = ( - wsIconMap: WorkspaceIconMap, - i: number, - smartHighlight: boolean, - monitor: number, - monitors: Monitor[], -): string => { - const iconEntry = wsIconMap[i]; - const hasColor = typeof iconEntry === 'object' && 'color' in iconEntry && isValidGjsColor(iconEntry.color); - if (!iconEntry) { - return ''; - } - - if ( - showWsIcons.value && - smartHighlight && - activeIndicator.value === 'highlight' && - (hyprland.active.workspace.id === i || isWorkspaceActiveOnMonitor(monitor, monitors, i)) - ) { - const iconColor = monochrome.value ? background : wsBackground; - const iconBackground = hasColor && isValidGjsColor(iconEntry.color) ? iconEntry.color : active.value; - const colorCss = `color: ${iconColor};`; - const backgroundCss = `background: ${iconBackground};`; - - return colorCss + backgroundCss; - } - - if (hasColor && isValidGjsColor(iconEntry.color)) { - return `color: ${iconEntry.color}; border-bottom-color: ${iconEntry.color};`; - } - - return ''; -}; - -export const renderClassnames = ( - showIcons: boolean, - showNumbered: boolean, - numberedActiveIndicator: string, - showWsIcons: boolean, - smartHighlight: boolean, - monitor: number, - monitors: Monitor[], - i: number, -): string => { - if (showIcons) { - return 'workspace-icon txt-icon bar'; - } - - if (showNumbered || showWsIcons) { - const numActiveInd = - hyprland.active.workspace.id === i || isWorkspaceActiveOnMonitor(monitor, monitors, i) - ? numberedActiveIndicator - : ''; - - const wsIconClass = showWsIcons ? 'txt-icon' : ''; - const smartHighlightClass = smartHighlight ? 'smart-highlight' : ''; - - const className = `workspace-number can_${numberedActiveIndicator} ${numActiveInd} ${wsIconClass} ${smartHighlightClass}`; - - return className.trim(); - } - - return 'default'; -}; - -export const renderLabel = ( - showIcons: boolean, - available: string, - active: string, - occupied: string, - workspaceMask: boolean, - showWsIcons: boolean, - wsIconMap: WorkspaceIconMap, - i: number, - index: number, - monitor: number, - monitors: Monitor[], -): string => { - if (showIcons) { - if (hyprland.active.workspace.id === i || isWorkspaceActiveOnMonitor(monitor, monitors, i)) { - return active; - } - if ((hyprland.getWorkspace(i)?.windows || 0) > 0) { - return occupied; - } - if (monitor !== -1) { - return available; - } - } - if (showWsIcons) { - return getWsIcon(wsIconMap, i); - } - return workspaceMask ? `${index + 1}` : `${i}`; -}; diff --git a/ags/HyprPanel/modules/bar/workspaces/variants/default.ts b/ags/HyprPanel/modules/bar/workspaces/variants/default.ts deleted file mode 100644 index dddabc9..0000000 --- a/ags/HyprPanel/modules/bar/workspaces/variants/default.ts +++ /dev/null @@ -1,141 +0,0 @@ -const hyprland = await Service.import('hyprland'); -import options from 'options'; -import { getWorkspaceRules, getWorkspacesForMonitor, isWorkspaceIgnored } from '../helpers'; -import { range } from 'lib/utils'; -import { BoxWidget } from 'lib/types/widget'; -import { getWsColor, renderClassnames, renderLabel } from '../utils'; -import { WorkspaceIconMap } from 'lib/types/workspace'; -import { Monitor } from 'types/service/hyprland'; - -const { workspaces, monitorSpecific, workspaceMask, spacing, ignored } = options.bar.workspaces; -export const defaultWses = (monitor: number): BoxWidget => { - return Widget.Box({ - children: Utils.merge( - [workspaces.bind('value'), monitorSpecific.bind('value'), ignored.bind('value')], - (workspaces: number, monitorSpecific: boolean) => { - return range(workspaces || 8) - .filter((workspaceNumber) => { - if (!monitorSpecific) { - return true; - } - const workspaceRules = getWorkspaceRules(); - return ( - getWorkspacesForMonitor(workspaceNumber, workspaceRules, monitor) && - !isWorkspaceIgnored(ignored, workspaceNumber) - ); - }) - .sort((a, b) => { - return a - b; - }) - .map((i, index) => { - return Widget.Button({ - class_name: 'workspace-button', - on_primary_click: () => { - hyprland.messageAsync(`dispatch workspace ${i}`); - }, - child: Widget.Label({ - attribute: i, - vpack: 'center', - css: Utils.merge( - [ - spacing.bind('value'), - options.bar.workspaces.showWsIcons.bind('value'), - options.bar.workspaces.workspaceIconMap.bind('value'), - options.theme.matugen.bind('value'), - options.theme.bar.buttons.workspaces.smartHighlight.bind('value'), - hyprland.bind('monitors'), - ], - ( - sp: number, - showWsIcons: boolean, - workspaceIconMap: WorkspaceIconMap, - matugen: boolean, - smartHighlight: boolean, - monitors: Monitor[], - ) => { - return ( - `margin: 0rem ${0.375 * sp}rem;` + - `${showWsIcons && !matugen ? getWsColor(workspaceIconMap, i, smartHighlight, monitor, monitors) : ''}` - ); - }, - ), - class_name: Utils.merge( - [ - options.bar.workspaces.show_icons.bind('value'), - options.bar.workspaces.show_numbered.bind('value'), - options.bar.workspaces.numbered_active_indicator.bind('value'), - options.bar.workspaces.showWsIcons.bind('value'), - options.theme.bar.buttons.workspaces.smartHighlight.bind('value'), - hyprland.bind('monitors'), - options.bar.workspaces.icons.available.bind('value'), - options.bar.workspaces.icons.active.bind('value'), - ], - ( - showIcons: boolean, - showNumbered: boolean, - numberedActiveIndicator: string, - showWsIcons: boolean, - smartHighlight: boolean, - monitors: Monitor[], - ) => { - return renderClassnames( - showIcons, - showNumbered, - numberedActiveIndicator, - showWsIcons, - smartHighlight, - monitor, - monitors, - i, - ); - }, - ), - label: Utils.merge( - [ - options.bar.workspaces.show_icons.bind('value'), - options.bar.workspaces.icons.available.bind('value'), - options.bar.workspaces.icons.active.bind('value'), - options.bar.workspaces.icons.occupied.bind('value'), - options.bar.workspaces.workspaceIconMap.bind('value'), - options.bar.workspaces.showWsIcons.bind('value'), - workspaceMask.bind('value'), - hyprland.bind('monitors'), - ], - ( - showIcons: boolean, - available: string, - active: string, - occupied: string, - wsIconMap: WorkspaceIconMap, - showWsIcons: boolean, - workspaceMask: boolean, - monitors: Monitor[], - ) => { - return renderLabel( - showIcons, - available, - active, - occupied, - workspaceMask, - showWsIcons, - wsIconMap, - i, - index, - monitor, - monitors, - ); - }, - ), - setup: (self) => { - self.hook(hyprland, () => { - self.toggleClassName('active', hyprland.active.workspace.id === i); - self.toggleClassName('occupied', (hyprland.getWorkspace(i)?.windows || 0) > 0); - }); - }, - }), - }); - }); - }, - ), - }); -}; diff --git a/ags/HyprPanel/modules/bar/workspaces/variants/occupied.ts b/ags/HyprPanel/modules/bar/workspaces/variants/occupied.ts deleted file mode 100644 index 31f3f14..0000000 --- a/ags/HyprPanel/modules/bar/workspaces/variants/occupied.ts +++ /dev/null @@ -1,145 +0,0 @@ -const hyprland = await Service.import('hyprland'); -import options from 'options'; -import { getWorkspaceRules, getWorkspacesForMonitor, isWorkspaceIgnored } from '../helpers'; -import { Monitor, Workspace } from 'types/service/hyprland'; -import { getWsColor, renderClassnames, renderLabel } from '../utils'; -import { range } from 'lib/utils'; -import { BoxWidget } from 'lib/types/widget'; -import { WorkspaceIconMap } from 'lib/types/workspace'; - -const { workspaces, monitorSpecific, workspaceMask, spacing, ignored, showAllActive } = options.bar.workspaces; - -export const occupiedWses = (monitor: number): BoxWidget => { - return Widget.Box({ - children: Utils.merge( - [ - monitorSpecific.bind('value'), - hyprland.bind('workspaces'), - workspaceMask.bind('value'), - workspaces.bind('value'), - options.bar.workspaces.show_icons.bind('value'), - options.bar.workspaces.icons.available.bind('value'), - options.bar.workspaces.icons.active.bind('value'), - options.bar.workspaces.icons.occupied.bind('value'), - options.bar.workspaces.show_numbered.bind('value'), - options.bar.workspaces.numbered_active_indicator.bind('value'), - spacing.bind('value'), - options.bar.workspaces.workspaceIconMap.bind('value'), - options.bar.workspaces.showWsIcons.bind('value'), - options.theme.matugen.bind('value'), - options.theme.bar.buttons.workspaces.smartHighlight.bind('value'), - hyprland.bind('monitors'), - ignored.bind('value'), - showAllActive.bind('value'), - ], - ( - monitorSpecific: boolean, - wkSpaces: Workspace[], - workspaceMask: boolean, - totalWkspcs: number, - showIcons: boolean, - available: string, - active: string, - occupied: string, - showNumbered: boolean, - numberedActiveIndicator: string, - spacing: number, - wsIconMap: WorkspaceIconMap, - showWsIcons: boolean, - matugen: boolean, - smartHighlight: boolean, - monitors: Monitor[], - ) => { - const activeId = hyprland.active.workspace.id; - let allWkspcs = range(totalWkspcs || 8); - - const activeWorkspaces = wkSpaces.map((w) => w.id); - const workspaceRules = getWorkspaceRules(); - - // Sometimes hyprland doesn't have all the monitors in the list - // so we complement it with monitors from the workspace list - const workspaceMonitorList = hyprland?.workspaces?.map((m) => ({ - id: m.monitorID, - name: m.monitor, - })); - const curMonitor = - hyprland.monitors.find((m) => m.id === monitor) || - workspaceMonitorList.find((m) => m.id === monitor); - - const workspacesWithRules = Object.keys(workspaceRules).reduce((acc: number[], k: string) => { - return [...acc, ...workspaceRules[k]]; - }, [] as number[]); - - const activesForMonitor = activeWorkspaces.filter((w) => { - if ( - curMonitor && - Object.hasOwnProperty.call(workspaceRules, curMonitor.name) && - workspacesWithRules.includes(w) - ) { - return workspaceRules[curMonitor.name].includes(w); - } - return true; - }); - - if (monitorSpecific) { - const wrkspcsInRange = range(totalWkspcs).filter((w) => { - return getWorkspacesForMonitor(w, workspaceRules, monitor); - }); - allWkspcs = [...new Set([...activesForMonitor, ...wrkspcsInRange])]; - } else { - allWkspcs = [...new Set([...allWkspcs, ...activeWorkspaces])]; - } - - return allWkspcs - .sort((a, b) => { - return a - b; - }) - .map((i, index) => { - if (isWorkspaceIgnored(ignored, i)) { - return Widget.Box(); - } - return Widget.Button({ - class_name: 'workspace-button', - on_primary_click: () => { - hyprland.messageAsync(`dispatch workspace ${i}`); - }, - child: Widget.Label({ - attribute: i, - vpack: 'center', - css: - `margin: 0rem ${0.375 * spacing}rem;` + - `${showWsIcons && !matugen ? getWsColor(wsIconMap, i, smartHighlight, monitor, monitors) : ''}`, - class_name: renderClassnames( - showIcons, - showNumbered, - numberedActiveIndicator, - showWsIcons, - smartHighlight, - monitor, - monitors, - i, - ), - label: renderLabel( - showIcons, - available, - active, - occupied, - workspaceMask, - showWsIcons, - wsIconMap, - i, - index, - monitor, - monitors, - ), - setup: (self) => { - self.toggleClassName('active', activeId === i); - self.toggleClassName('occupied', (hyprland.getWorkspace(i)?.windows || 0) > 0); - }, - }), - }); - }); - }, - ), - }); -}; diff --git a/ags/HyprPanel/modules/icons/index.ts b/ags/HyprPanel/modules/icons/index.ts deleted file mode 100644 index 14d0a06..0000000 --- a/ags/HyprPanel/modules/icons/index.ts +++ /dev/null @@ -1,199 +0,0 @@ -export const substitutes = { - 'transmission-gtk': 'transmission', - 'blueberry.py': 'blueberry', - Caprine: 'facebook-messenger', - 'com.raggesilver.BlackBox-symbolic': 'terminal-symbolic', - 'org.wezfurlong.wezterm-symbolic': 'terminal-symbolic', - 'audio-headset-bluetooth': 'audio-headphones-symbolic', - 'audio-card-analog-usb': 'audio-speakers-symbolic', - 'audio-card-analog-pci': 'audio-card-symbolic', - 'preferences-system': 'emblem-system-symbolic', - 'com.github.Aylur.ags-symbolic': 'controls-symbolic', - 'com.github.Aylur.ags': 'controls-symbolic', -}; - -export default { - missing: 'image-missing-symbolic', - nix: { - nix: 'nix-snowflake-symbolic', - }, - app: { - terminal: 'terminal-symbolic', - }, - fallback: { - executable: 'application-x-executable', - notification: 'dialog-information-symbolic', - video: 'video-x-generic-symbolic', - audio: 'audio-x-generic-symbolic', - }, - ui: { - close: 'window-close-symbolic', - colorpicker: 'color-select-symbolic', - info: 'info-symbolic', - link: 'external-link-symbolic', - lock: 'system-lock-screen-symbolic', - menu: 'open-menu-symbolic', - refresh: 'view-refresh-symbolic', - search: 'system-search-symbolic', - settings: 'emblem-system-symbolic', - themes: 'preferences-desktop-theme-symbolic', - tick: 'object-select-symbolic', - time: 'hourglass-symbolic', - toolbars: 'toolbars-symbolic', - warning: 'dialog-warning-symbolic', - avatar: 'avatar-default-symbolic', - arrow: { - right: 'pan-end-symbolic', - left: 'pan-start-symbolic', - down: 'pan-down-symbolic', - up: 'pan-up-symbolic', - }, - }, - audio: { - mic: { - muted: 'microphone-disabled-symbolic', - low: 'microphone-sensitivity-low-symbolic', - medium: 'microphone-sensitivity-medium-symbolic', - high: 'microphone-sensitivity-high-symbolic', - }, - volume: { - muted: 'audio-volume-muted-symbolic', - low: 'audio-volume-low-symbolic', - medium: 'audio-volume-medium-symbolic', - high: 'audio-volume-high-symbolic', - overamplified: 'audio-volume-overamplified-symbolic', - }, - type: { - headset: 'audio-headphones-symbolic', - speaker: 'audio-speakers-symbolic', - card: 'audio-card-symbolic', - }, - mixer: 'mixer-symbolic', - }, - powerprofile: { - balanced: 'power-profile-balanced-symbolic', - 'power-saver': 'power-profile-power-saver-symbolic', - performance: 'power-profile-performance-symbolic', - }, - asusctl: { - profile: { - Balanced: 'power-profile-balanced-symbolic', - Quiet: 'power-profile-power-saver-symbolic', - Performance: 'power-profile-performance-symbolic', - }, - mode: { - Integrated: 'processor-symbolic', - Hybrid: 'controller-symbolic', - }, - }, - battery: { - charging: 'battery-flash-symbolic', - warning: 'battery-empty-symbolic', - }, - bluetooth: { - enabled: 'bluetooth-active-symbolic', - disabled: 'bluetooth-disabled-symbolic', - }, - brightness: { - indicator: 'display-brightness-symbolic', - keyboard: 'keyboard-brightness-symbolic', - screen: 'display-brightness-symbolic', - }, - powermenu: { - sleep: 'weather-clear-night-symbolic', - reboot: 'system-reboot-symbolic', - logout: 'system-log-out-symbolic', - shutdown: 'system-shutdown-symbolic', - }, - recorder: { - recording: 'media-record-symbolic', - }, - notifications: { - noisy: 'org.gnome.Settings-notifications-symbolic', - silent: 'notifications-disabled-symbolic', - message: 'chat-bubbles-symbolic', - }, - trash: { - full: 'user-trash-full-symbolic', - empty: 'user-trash-symbolic', - }, - mpris: { - shuffle: { - enabled: 'media-playlist-shuffle-symbolic', - disabled: 'media-playlist-consecutive-symbolic', - }, - loop: { - none: 'media-playlist-repeat-symbolic', - track: 'media-playlist-repeat-song-symbolic', - playlist: 'media-playlist-repeat-symbolic', - }, - playing: 'media-playback-pause-symbolic', - paused: 'media-playback-start-symbolic', - stopped: 'media-playback-start-symbolic', - prev: 'media-skip-backward-symbolic', - next: 'media-skip-forward-symbolic', - }, - system: { - cpu: 'org.gnome.SystemMonitor-symbolic', - ram: 'drive-harddisk-solidstate-symbolic', - temp: 'temperature-symbolic', - }, - color: { - dark: 'dark-mode-symbolic', - light: 'light-mode-symbolic', - }, - weather: { - warning: 'dialog-warning-symbolic', - sunny: 'weather-clear-symbolic', - clear: 'weather-clear-night-symbolic', - partly_cloudy: 'weather-few-clouds-symbolic', - partly_cloudy_night: 'weather-few-clouds-night-symbolic', - cloudy: 'weather-overcast-symbolic', - overcast: 'weather-overcast-symbolic', - mist: 'weather-overcast-symbolic', - patchy_rain_nearby: 'weather-showers-scattered-symbolic', - patchy_rain_possible: 'weather-showers-scattered-symbolic', - patchy_snow_possible: 'weather-snow-symbolic', - patchy_sleet_possible: 'weather-snow-symbolic', - patchy_freezing_drizzle_possible: 'weather-showers-scattered-symbolic', - thundery_outbreaks_possible: 'weather-overcast-symbolic', - blowing_snow: 'weather-snow-symbolic', - blizzard: 'weather-snow-symbolic', - fog: 'weather-fog-symbolic', - freezing_fog: 'weather-fog-symbolic', - patchy_light_drizzle: 'weather-showers-scattered-symbolic', - light_drizzle: 'weather-showers-symbolic', - freezing_drizzle: 'weather-showers-symbolic', - heavy_freezing_drizzle: 'weather-showers-symbolic', - patchy_light_rain: 'weather-showers-scattered-symbolic', - light_rain: 'weather-showers-symbolic', - moderate_rain_at_times: 'weather-showers-symbolic', - moderate_rain: 'weather-showers-symbolic', - heavy_rain_at_times: 'weather-showers-symbolic', - heavy_rain: 'weather-showers-symbolic', - light_freezing_rain: 'weather-showers-symbolic', - moderate_or_heavy_freezing_rain: 'weather-showers-symbolic', - light_sleet: 'weather-snow-symbolic', - moderate_or_heavy_sleet: 'weather-snow-symbolic', - patchy_light_snow: 'weather-snow-symbolic', - light_snow: 'weather-snow-symbolic', - patchy_moderate_snow: 'weather-snow-symbolic', - moderate_snow: 'weather-snow-symbolic', - patchy_heavy_snow: 'weather-snow-symbolic', - heavy_snow: 'weather-snow-symbolic', - ice_pellets: 'weather-showers-symbolic', - light_rain_shower: 'weather-showers-symbolic', - moderate_or_heavy_rain_shower: 'weather-showers-symbolic', - torrential_rain_shower: 'weather-showers-symbolic', - light_sleet_showers: 'weather-showers-symbolic', - moderate_or_heavy_sleet_showers: 'weather-showers-symbolic', - light_snow_showers: 'weather-snow-symbolic', - moderate_or_heavy_snow_showers: 'weather-snow-symbolic', - light_showers_of_ice_pellets: 'weather-showers-symbolic', - moderate_or_heavy_showers_of_ice_pellets: 'weather-showers-symbolic', - patchy_light_rain_with_thunder: 'weather-showers-scattered-symbolic', - moderate_or_heavy_rain_with_thunder: 'weather-showers-symbolic', - patchy_light_snow_with_thunder: 'weather-snow-symbolic', - moderate_or_heavy_snow_with_thunder: 'weather-snow-symbolic', - }, -} as const; diff --git a/ags/HyprPanel/modules/icons/weather.ts b/ags/HyprPanel/modules/icons/weather.ts deleted file mode 100644 index 90980a0..0000000 --- a/ags/HyprPanel/modules/icons/weather.ts +++ /dev/null @@ -1,54 +0,0 @@ -export const weatherIcons = { - warning: '󰼯', - sunny: '󰖙', - clear: '󰖔', - partly_cloudy: '󰖕', - partly_cloudy_night: '󰼱', - cloudy: '󰖐', - overcast: '󰖕', - mist: '󰖑', - patchy_rain_nearby: '󰼳', - patchy_rain_possible: '󰼳', - patchy_snow_possible: '󰼴', - patchy_sleet_possible: '󰙿', - patchy_freezing_drizzle_possible: '󰙿', - thundery_outbreaks_possible: '󰙾', - blowing_snow: '󰼶', - blizzard: '󰼶', - fog: '󰖑', - freezing_fog: '󰖑', - patchy_light_drizzle: '󰼳', - light_drizzle: '󰼳', - freezing_drizzle: '󰙿', - heavy_freezing_drizzle: '󰙿', - patchy_light_rain: '󰼳', - light_rain: '󰼳', - moderate_rain_at_times: '󰖗', - moderate_rain: '󰼳', - heavy_rain_at_times: '󰖖', - heavy_rain: '󰖖', - light_freezing_rain: '󰙿', - moderate_or_heavy_freezing_rain: '󰙿', - light_sleet: '󰙿', - moderate_or_heavy_sleet: '󰙿', - patchy_light_snow: '󰼴', - light_snow: '󰼴', - patchy_moderate_snow: '󰼴', - moderate_snow: '󰼶', - patchy_heavy_snow: '󰼶', - heavy_snow: '󰼶', - ice_pellets: '󰖒', - light_rain_shower: '󰖖', - moderate_or_heavy_rain_shower: '󰖖', - torrential_rain_shower: '󰖖', - light_sleet_showers: '󰼵', - moderate_or_heavy_sleet_showers: '󰼵', - light_snow_showers: '󰼵', - moderate_or_heavy_snow_showers: '󰼵', - light_showers_of_ice_pellets: '󰖒', - moderate_or_heavy_showers_of_ice_pellets: '󰖒', - patchy_light_rain_with_thunder: '󰙾', - moderate_or_heavy_rain_with_thunder: '󰙾', - patchy_light_snow_with_thunder: '󰼶', - moderate_or_heavy_snow_with_thunder: '󰼶', -} as const; diff --git a/ags/HyprPanel/modules/menus/audio/active/SelectedInput.ts b/ags/HyprPanel/modules/menus/audio/active/SelectedInput.ts deleted file mode 100644 index 4e3cff3..0000000 --- a/ags/HyprPanel/modules/menus/audio/active/SelectedInput.ts +++ /dev/null @@ -1,75 +0,0 @@ -const audio = await Service.import('audio'); -import { getIcon } from '../utils.js'; -import Box from 'types/widgets/box.js'; -import { Attribute, Child } from 'lib/types/widget.js'; - -const renderActiveInput = (): Box[] => { - return [ - Widget.Box({ - class_name: 'menu-slider-container input', - children: [ - Widget.Button({ - vexpand: false, - vpack: 'end', - setup: (self) => { - const updateClass = (): void => { - const mic = audio.microphone; - const className = `menu-active-button input ${mic.is_muted ? 'muted' : ''}`; - self.class_name = className; - }; - - self.hook(audio.microphone, updateClass, 'notify::is-muted'); - }, - on_primary_click: () => (audio.microphone.is_muted = !audio.microphone.is_muted), - child: Widget.Icon({ - class_name: 'menu-active-icon input', - setup: (self) => { - const updateIcon = (): void => { - const isMicMuted = - audio.microphone.is_muted !== null ? audio.microphone.is_muted : true; - - if (audio.microphone.volume > 0) { - self.icon = getIcon(audio.microphone.volume, isMicMuted)['mic']; - } else { - self.icon = getIcon(100, true)['mic']; - } - }; - self.hook(audio.microphone, updateIcon, 'notify::volume'); - self.hook(audio.microphone, updateIcon, 'notify::is-muted'); - }, - }), - }), - Widget.Box({ - vertical: true, - children: [ - Widget.Label({ - class_name: 'menu-active input', - hpack: 'start', - truncate: 'end', - wrap: true, - label: audio.bind('microphone').as((v) => { - return v.description === null ? 'No input device found...' : v.description; - }), - }), - Widget.Slider({ - value: audio.microphone.bind('volume').as((v) => v), - class_name: 'menu-active-slider menu-slider inputs', - draw_value: false, - hexpand: true, - min: 0, - max: 1, - onChange: ({ value }) => (audio.microphone.volume = value), - }), - ], - }), - Widget.Label({ - class_name: 'menu-active-percentage input', - vpack: 'end', - label: audio.microphone.bind('volume').as((v) => `${Math.round(v * 100)}%`), - }), - ], - }), - ]; -}; - -export { renderActiveInput }; diff --git a/ags/HyprPanel/modules/menus/audio/active/SelectedPlayback.ts b/ags/HyprPanel/modules/menus/audio/active/SelectedPlayback.ts deleted file mode 100644 index 29e5afd..0000000 --- a/ags/HyprPanel/modules/menus/audio/active/SelectedPlayback.ts +++ /dev/null @@ -1,68 +0,0 @@ -const audio = await Service.import('audio'); -import { getIcon } from '../utils.js'; -import Box from 'types/widgets/box.js'; -import { Attribute, Child } from 'lib/types/widget.js'; - -const renderActivePlayback = (): Box[] => { - return [ - Widget.Box({ - class_name: 'menu-slider-container playback', - children: [ - Widget.Button({ - vexpand: false, - vpack: 'end', - setup: (self) => { - const updateClass = (): void => { - const spkr = audio.speaker; - const className = `menu-active-button playback ${spkr.is_muted ? 'muted' : ''}`; - self.class_name = className; - }; - - self.hook(audio.speaker, updateClass, 'notify::is-muted'); - }, - on_primary_click: () => (audio.speaker.is_muted = !audio.speaker.is_muted), - child: Widget.Icon({ - class_name: 'menu-active-icon playback', - setup: (self) => { - const updateIcon = (): void => { - const isSpeakerMuted = audio.speaker.is_muted !== null ? audio.speaker.is_muted : true; - self.icon = getIcon(audio.speaker.volume, isSpeakerMuted)['spkr']; - }; - self.hook(audio.speaker, updateIcon, 'notify::volume'); - self.hook(audio.speaker, updateIcon, 'notify::is-muted'); - }, - }), - }), - Widget.Box({ - vertical: true, - children: [ - Widget.Label({ - class_name: 'menu-active playback', - hpack: 'start', - truncate: 'end', - expand: true, - wrap: true, - label: audio.bind('speaker').as((v) => v.description || ''), - }), - Widget.Slider({ - value: audio['speaker'].bind('volume'), - class_name: 'menu-active-slider menu-slider playback', - draw_value: false, - hexpand: true, - min: 0, - max: 1, - onChange: ({ value }) => (audio.speaker.volume = value), - }), - ], - }), - Widget.Label({ - vpack: 'end', - class_name: 'menu-active-percentage playback', - label: audio.speaker.bind('volume').as((v) => `${Math.round(v * 100)}%`), - }), - ], - }), - ]; -}; - -export { renderActivePlayback }; diff --git a/ags/HyprPanel/modules/menus/audio/active/index.ts b/ags/HyprPanel/modules/menus/audio/active/index.ts deleted file mode 100644 index 9768ddb..0000000 --- a/ags/HyprPanel/modules/menus/audio/active/index.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { renderActiveInput } from './SelectedInput.js'; -import { renderActivePlayback } from './SelectedPlayback.js'; -import Box from 'types/widgets/box.js'; -import { Attribute, Child } from 'lib/types/widget.js'; - -const activeDevices = (): Box => { - return Widget.Box({ - class_name: 'menu-section-container volume', - vertical: true, - children: [ - Widget.Box({ - class_name: 'menu-label-container volume selected', - hpack: 'fill', - child: Widget.Label({ - class_name: 'menu-label audio volume', - hexpand: true, - hpack: 'start', - label: 'Volume', - }), - }), - Widget.Box({ - class_name: 'menu-items-section selected', - vertical: true, - children: [ - Widget.Box({ - class_name: 'menu-active-container playback', - vertical: true, - children: renderActivePlayback(), - }), - Widget.Box({ - class_name: 'menu-active-container input', - vertical: true, - children: renderActiveInput(), - }), - ], - }), - ], - }); -}; - -export { activeDevices }; diff --git a/ags/HyprPanel/modules/menus/audio/available/InputDevices.ts b/ags/HyprPanel/modules/menus/audio/available/InputDevices.ts deleted file mode 100644 index 8c75a5a..0000000 --- a/ags/HyprPanel/modules/menus/audio/available/InputDevices.ts +++ /dev/null @@ -1,66 +0,0 @@ -const audio = await Service.import('audio'); -import { InputDevices } from 'lib/types/audio'; -import { Stream } from 'types/service/audio'; - -const renderInputDevices = (inputDevices: Stream[]): InputDevices => { - if (inputDevices.length === 0) { - return [ - Widget.Button({ - class_name: `menu-unfound-button input`, - child: Widget.Box({ - children: [ - Widget.Box({ - hpack: 'start', - children: [ - Widget.Label({ - class_name: 'menu-button-name input', - label: 'No input devices found...', - }), - ], - }), - ], - }), - }), - ]; - } - return inputDevices.map((device) => { - return Widget.Button({ - on_primary_click: () => (audio.microphone = device), - class_name: `menu-button audio input ${device}`, - child: Widget.Box({ - children: [ - Widget.Box({ - hpack: 'start', - children: [ - Widget.Label({ - wrap: true, - class_name: audio.microphone - .bind('description') - .as((v) => - device.description === v - ? 'menu-button-icon active input txt-icon' - : 'menu-button-icon input txt-icon', - ), - label: '', - }), - Widget.Label({ - truncate: 'end', - wrap: true, - class_name: audio.microphone - .bind('description') - .as((v) => - device.description === v - ? 'menu-button-name active input' - : 'menu-button-name input', - ), - label: device.description, - }), - ], - }), - ], - }), - }); - }); -}; - -export { renderInputDevices }; diff --git a/ags/HyprPanel/modules/menus/audio/available/PlaybackDevices.ts b/ags/HyprPanel/modules/menus/audio/available/PlaybackDevices.ts deleted file mode 100644 index 02bc618..0000000 --- a/ags/HyprPanel/modules/menus/audio/available/PlaybackDevices.ts +++ /dev/null @@ -1,60 +0,0 @@ -const audio = await Service.import('audio'); -import { PlaybackDevices } from 'lib/types/audio'; -import { Stream } from 'types/service/audio'; - -const renderPlaybacks = (playbackDevices: Stream[]): PlaybackDevices => { - return playbackDevices.map((device) => { - if (device.description === 'Dummy Output') { - return Widget.Box({ - class_name: 'menu-unfound-button playback', - child: Widget.Box({ - children: [ - Widget.Label({ - class_name: 'menu-button-name playback', - label: 'No playback devices found...', - }), - ], - }), - }); - } - return Widget.Button({ - class_name: `menu-button audio playback ${device}`, - on_primary_click: () => (audio.speaker = device), - child: Widget.Box({ - children: [ - Widget.Box({ - hpack: 'start', - children: [ - Widget.Label({ - truncate: 'end', - wrap: true, - class_name: audio.speaker - .bind('description') - .as((v) => - device.description === v - ? 'menu-button-icon active playback txt-icon' - : 'menu-button-icon playback txt-icon', - ), - label: '', - }), - Widget.Label({ - truncate: 'end', - wrap: true, - class_name: audio.speaker - .bind('description') - .as((v) => - device.description === v - ? 'menu-button-name active playback' - : 'menu-button-name playback', - ), - label: device.description, - }), - ], - }), - ], - }), - }); - }); -}; - -export { renderPlaybacks }; diff --git a/ags/HyprPanel/modules/menus/audio/available/index.ts b/ags/HyprPanel/modules/menus/audio/available/index.ts deleted file mode 100644 index e9b0d48..0000000 --- a/ags/HyprPanel/modules/menus/audio/available/index.ts +++ /dev/null @@ -1,72 +0,0 @@ -const audio = await Service.import('audio'); -import { BoxWidget } from 'lib/types/widget.js'; -import { renderInputDevices } from './InputDevices.js'; -import { renderPlaybacks } from './PlaybackDevices.js'; - -const availableDevices = (): BoxWidget => { - return Widget.Box({ - vertical: true, - children: [ - Widget.Box({ - class_name: 'menu-section-container playback', - vertical: true, - children: [ - Widget.Box({ - class_name: 'menu-label-container playback', - hpack: 'fill', - child: Widget.Label({ - class_name: 'menu-label audio playback', - hexpand: true, - hpack: 'start', - label: 'Playback Devices', - }), - }), - Widget.Box({ - class_name: 'menu-items-section playback', - vertical: true, - children: [ - Widget.Box({ - class_name: 'menu-container playback', - vertical: true, - children: [ - Widget.Box({ - vertical: true, - children: audio.bind('speakers').as((v) => renderPlaybacks(v)), - }), - ], - }), - ], - }), - Widget.Box({ - class_name: 'menu-label-container input', - hpack: 'fill', - child: Widget.Label({ - class_name: 'menu-label audio input', - hexpand: true, - hpack: 'start', - label: 'Input Devices', - }), - }), - Widget.Box({ - class_name: 'menu-items-section input', - vertical: true, - children: [ - Widget.Box({ - class_name: 'menu-container input', - vertical: true, - children: [ - Widget.Box({ - vertical: true, - children: audio.bind('microphones').as((v) => renderInputDevices(v)), - }), - ], - }), - ], - }), - ], - }), - ], - }); -}; - -export { availableDevices }; diff --git a/ags/HyprPanel/modules/menus/audio/index.ts b/ags/HyprPanel/modules/menus/audio/index.ts deleted file mode 100644 index 6801151..0000000 --- a/ags/HyprPanel/modules/menus/audio/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -import Window from 'types/widgets/window.js'; -import DropdownMenu from '../shared/dropdown/index.js'; -import { activeDevices } from './active/index.js'; -import { availableDevices } from './available/index.js'; -import { Attribute, Child } from 'lib/types/widget.js'; -import options from 'options.js'; - -export default (): Window => { - return DropdownMenu({ - name: 'audiomenu', - transition: options.menus.transition.bind('value'), - child: Widget.Box({ - class_name: 'menu-items audio', - hpack: 'fill', - hexpand: true, - child: Widget.Box({ - vertical: true, - hpack: 'fill', - hexpand: true, - class_name: 'menu-items-container audio', - children: [activeDevices(), availableDevices()], - }), - }), - }); -}; diff --git a/ags/HyprPanel/modules/menus/audio/utils.ts b/ags/HyprPanel/modules/menus/audio/utils.ts deleted file mode 100644 index aa1de5c..0000000 --- a/ags/HyprPanel/modules/menus/audio/utils.ts +++ /dev/null @@ -1,29 +0,0 @@ -const speakerIcons = { - 101: 'audio-volume-overamplified-symbolic', - 66: 'audio-volume-high-symbolic', - 34: 'audio-volume-medium-symbolic', - 1: 'audio-volume-low-symbolic', - 0: 'audio-volume-muted-symbolic', -} as const; - -const inputIcons = { - 101: 'microphone-sensitivity-high-symbolic', - 66: 'microphone-sensitivity-high-symbolic', - 34: 'microphone-sensitivity-medium-symbolic', - 1: 'microphone-sensitivity-low-symbolic', - 0: 'microphone-disabled-symbolic', -}; - -type IconVolumes = keyof typeof speakerIcons; - -const getIcon = (audioVol: number, isMuted: boolean): Record => { - const thresholds: IconVolumes[] = [101, 66, 34, 1, 0]; - const icon = isMuted ? 0 : thresholds.find((threshold) => threshold <= audioVol * 100) || 0; - - return { - spkr: speakerIcons[icon], - mic: inputIcons[icon], - }; -}; - -export { getIcon }; diff --git a/ags/HyprPanel/modules/menus/bluetooth/devices/connectedControls.ts b/ags/HyprPanel/modules/menus/bluetooth/devices/connectedControls.ts deleted file mode 100644 index 62e8345..0000000 --- a/ags/HyprPanel/modules/menus/bluetooth/devices/connectedControls.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { BoxWidget } from 'lib/types/widget'; -import { BluetoothDevice } from 'types/service/bluetooth'; - -const connectedControls = (dev: BluetoothDevice, connectedDevices: BluetoothDevice[]): BoxWidget => { - if (!connectedDevices.includes(dev.address)) { - return Widget.Box({}); - } - - return Widget.Box({ - vpack: 'start', - class_name: 'bluetooth-controls', - children: [ - Widget.Button({ - class_name: 'menu-icon-button unpair bluetooth', - child: Widget.Label({ - tooltip_text: dev.paired ? 'Unpair' : 'Pair', - class_name: 'menu-icon-button-label unpair bluetooth txt-icon', - label: dev.paired ? '' : '', - }), - on_primary_click: () => - Utils.execAsync([ - 'bash', - '-c', - `bluetoothctl ${dev.paired ? 'unpair' : 'pair'} ${dev.address}`, - ]).catch((err) => - console.error(`bluetoothctl ${dev.paired ? 'unpair' : 'pair'} ${dev.address}`, err), - ), - }), - Widget.Button({ - class_name: 'menu-icon-button disconnect bluetooth', - child: Widget.Label({ - tooltip_text: dev.connected ? 'Disconnect' : 'Connect', - class_name: 'menu-icon-button-label disconnect bluetooth txt-icon', - label: dev.connected ? '󱘖' : '', - }), - on_primary_click: () => dev.setConnection(!dev.connected), - }), - Widget.Button({ - class_name: 'menu-icon-button untrust bluetooth', - child: Widget.Label({ - tooltip_text: dev.trusted ? 'Untrust' : 'Trust', - class_name: 'menu-icon-button-label untrust bluetooth txt-icon', - label: dev.trusted ? '' : '󱖡', - }), - on_primary_click: () => - Utils.execAsync([ - 'bash', - '-c', - `bluetoothctl ${dev.trusted ? 'untrust' : 'trust'} ${dev.address}`, - ]).catch((err) => - console.error(`bluetoothctl ${dev.trusted ? 'untrust' : 'trust'} ${dev.address}`, err), - ), - }), - Widget.Button({ - class_name: 'menu-icon-button delete bluetooth', - child: Widget.Label({ - tooltip_text: 'Forget', - class_name: 'menu-icon-button-label delete bluetooth txt-icon', - label: '󰆴', - }), - on_primary_click: () => { - Utils.execAsync(['bash', '-c', `bluetoothctl remove ${dev.address}`]).catch((err) => - console.error('Bluetooth Remove', err), - ); - }, - }), - ], - }); -}; - -export { connectedControls }; diff --git a/ags/HyprPanel/modules/menus/bluetooth/devices/devicelist.ts b/ags/HyprPanel/modules/menus/bluetooth/devices/devicelist.ts deleted file mode 100644 index e1fdcc9..0000000 --- a/ags/HyprPanel/modules/menus/bluetooth/devices/devicelist.ts +++ /dev/null @@ -1,136 +0,0 @@ -import { Bluetooth } from 'types/service/bluetooth.js'; -import Box from 'types/widgets/box.js'; -import { connectedControls } from './connectedControls.js'; -import { getBluetoothIcon } from '../utils.js'; -import Gtk from 'types/@girs/gtk-3.0/gtk-3.0.js'; -import { Attribute, Child } from 'lib/types/widget.js'; - -const devices = (bluetooth: Bluetooth, self: Box): Box => { - return self.hook(bluetooth, () => { - if (!bluetooth.enabled) { - return (self.child = Widget.Box({ - class_name: 'bluetooth-items', - vertical: true, - expand: true, - vpack: 'center', - hpack: 'center', - children: [ - Widget.Label({ - class_name: 'bluetooth-disabled dim', - hexpand: true, - label: 'Bluetooth is disabled', - }), - ], - })); - } - - const availableDevices = bluetooth.devices - .filter((btDev) => btDev.name !== null) - .sort((a, b) => { - if (a.connected || a.paired) { - return -1; - } - - if (b.connected || b.paired) { - return 1; - } - - return b.name - a.name; - }); - - const conDevNames = availableDevices.filter((d) => d.connected || d.paired).map((d) => d.address); - - if (!availableDevices.length) { - return (self.child = Widget.Box({ - class_name: 'bluetooth-items', - vertical: true, - expand: true, - vpack: 'center', - hpack: 'center', - children: [ - Widget.Label({ - class_name: 'no-bluetooth-devices dim', - hexpand: true, - label: 'No devices currently found', - }), - Widget.Label({ - class_name: 'search-bluetooth-label dim', - hexpand: true, - label: "Press '󰑐' to search", - }), - ], - })); - } - - return (self.child = Widget.Box({ - vertical: true, - children: availableDevices.map((device) => { - return Widget.Box({ - children: [ - Widget.Button({ - hexpand: true, - class_name: `bluetooth-element-item ${device}`, - on_primary_click: () => { - if (!conDevNames.includes(device.address)) device.setConnection(true); - }, - child: Widget.Box({ - hexpand: true, - children: [ - Widget.Box({ - hexpand: true, - hpack: 'start', - class_name: 'menu-button-container', - children: [ - Widget.Label({ - vpack: 'start', - class_name: `menu-button-icon bluetooth ${conDevNames.includes(device.address) ? 'active' : ''} txt-icon`, - label: getBluetoothIcon(`${device['icon_name']}-symbolic`), - }), - Widget.Box({ - vertical: true, - vpack: 'center', - children: [ - Widget.Label({ - vpack: 'center', - hpack: 'start', - class_name: 'menu-button-name bluetooth', - truncate: 'end', - wrap: true, - label: device.alias, - }), - Widget.Revealer({ - hpack: 'start', - reveal_child: device.connected || device.paired, - child: Widget.Label({ - hpack: 'start', - class_name: 'connection-status dim', - label: device.connected ? 'Connected' : 'Paired', - }), - }), - ], - }), - ], - }), - Widget.Box({ - hpack: 'end', - children: device.connecting - ? [ - Widget.Spinner({ - vpack: 'start', - class_name: 'spinner bluetooth', - }), - ] - : [], - }), - ], - }), - }), - connectedControls(device, conDevNames), - ], - }); - }), - })); - }); -}; - -export { devices }; diff --git a/ags/HyprPanel/modules/menus/bluetooth/devices/index.ts b/ags/HyprPanel/modules/menus/bluetooth/devices/index.ts deleted file mode 100644 index 31315d5..0000000 --- a/ags/HyprPanel/modules/menus/bluetooth/devices/index.ts +++ /dev/null @@ -1,26 +0,0 @@ -const bluetooth = await Service.import('bluetooth'); -import { label } from './label.js'; -import { devices } from './devicelist.js'; -import { BoxWidget } from 'lib/types/widget.js'; - -const Devices = (): BoxWidget => { - return Widget.Box({ - class_name: 'menu-section-container', - vertical: true, - children: [ - label(bluetooth), - Widget.Box({ - class_name: 'menu-items-section', - child: Widget.Box({ - class_name: 'menu-content', - vertical: true, - setup: (self) => { - devices(bluetooth, self); - }, - }), - }), - ], - }); -}; - -export { Devices }; diff --git a/ags/HyprPanel/modules/menus/bluetooth/devices/label.ts b/ags/HyprPanel/modules/menus/bluetooth/devices/label.ts deleted file mode 100644 index 45fabf6..0000000 --- a/ags/HyprPanel/modules/menus/bluetooth/devices/label.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { BoxWidget } from 'lib/types/widget'; -import { Bluetooth } from 'types/service/bluetooth'; - -const label = (bluetooth: Bluetooth): BoxWidget => { - const searchInProgress = Variable(false); - - const startRotation = (): void => { - searchInProgress.value = true; - setTimeout(() => { - searchInProgress.value = false; - }, 10 * 1000); - }; - - return Widget.Box({ - class_name: 'menu-label-container', - hpack: 'fill', - vpack: 'start', - children: [ - Widget.Label({ - class_name: 'menu-label', - vpack: 'center', - hpack: 'start', - label: 'Bluetooth', - }), - Widget.Box({ - class_name: 'controls-container', - vpack: 'start', - children: [ - Widget.Switch({ - class_name: 'menu-switch bluetooth', - hexpand: true, - hpack: 'end', - active: bluetooth.bind('enabled'), - on_activate: ({ active }) => { - searchInProgress.value = false; - Utils.execAsync(['bash', '-c', `bluetoothctl power ${active ? 'on' : 'off'}`]).catch( - (err) => console.error(`bluetoothctl power ${active ? 'on' : 'off'}`, err), - ); - }, - }), - Widget.Separator({ - class_name: 'menu-separator bluetooth', - }), - Widget.Button({ - vpack: 'center', - class_name: 'menu-icon-button search', - on_primary_click: () => { - startRotation(); - Utils.execAsync(['bash', '-c', 'bluetoothctl --timeout 120 scan on']).catch((err) => { - searchInProgress.value = false; - console.error('bluetoothctl --timeout 120 scan on', err); - }); - }, - child: Widget.Icon({ - class_name: searchInProgress.bind('value').as((v) => (v ? 'spinning' : '')), - icon: 'view-refresh-symbolic', - }), - }), - ], - }), - ], - }); -}; - -export { label }; diff --git a/ags/HyprPanel/modules/menus/bluetooth/index.ts b/ags/HyprPanel/modules/menus/bluetooth/index.ts deleted file mode 100644 index 54dfcad..0000000 --- a/ags/HyprPanel/modules/menus/bluetooth/index.ts +++ /dev/null @@ -1,24 +0,0 @@ -import Window from 'types/widgets/window.js'; -import DropdownMenu from '../shared/dropdown/index.js'; -import { Devices } from './devices/index.js'; -import { Attribute, Child } from 'lib/types/widget.js'; -import options from 'options.js'; - -export default (): Window => { - return DropdownMenu({ - name: 'bluetoothmenu', - transition: options.menus.transition.bind('value'), - child: Widget.Box({ - class_name: 'menu-items bluetooth', - hpack: 'fill', - hexpand: true, - child: Widget.Box({ - vertical: true, - hpack: 'fill', - hexpand: true, - class_name: 'menu-items-container bluetooth', - child: Devices(), - }), - }), - }); -}; diff --git a/ags/HyprPanel/modules/menus/bluetooth/utils.ts b/ags/HyprPanel/modules/menus/bluetooth/utils.ts deleted file mode 100644 index c305538..0000000 --- a/ags/HyprPanel/modules/menus/bluetooth/utils.ts +++ /dev/null @@ -1,29 +0,0 @@ -const getBluetoothIcon = (iconName: string): string => { - const deviceIconMap = [ - ['^audio-card*', '󰎄'], - ['^audio-headphones*', '󰋋'], - ['^audio-headset*', '󰋎'], - ['^audio-input*', '󰍬'], - ['^audio-speakers*', '󰓃'], - ['^bluetooth*', '󰂯'], - ['^camera*', '󰄀'], - ['^computer*', '󰟀'], - ['^input-gaming*', '󰍬'], - ['^input-keyboard*', '󰌌'], - ['^input-mouse*', '󰍽'], - ['^input-tablet*', '󰓶'], - ['^media*', '󱛟'], - ['^modem*', '󱂇'], - ['^network*', '󱂇'], - ['^phone*', '󰄞'], - ['^printer*', '󰐪'], - ['^scanner*', '󰚫'], - ['^video-camera*', '󰕧'], - ]; - - const foundMatch = deviceIconMap.find((icon) => RegExp(icon[0]).test(iconName.toLowerCase())); - - return foundMatch ? foundMatch[1] : '󰂯'; -}; - -export { getBluetoothIcon }; diff --git a/ags/HyprPanel/modules/menus/calendar/calendar.ts b/ags/HyprPanel/modules/menus/calendar/calendar.ts deleted file mode 100644 index d2af59e..0000000 --- a/ags/HyprPanel/modules/menus/calendar/calendar.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { BoxWidget } from 'lib/types/widget'; - -const CalendarWidget = (): BoxWidget => { - return Widget.Box({ - class_name: 'calendar-menu-item-container calendar', - hpack: 'fill', - vpack: 'fill', - expand: true, - child: Widget.Box({ - class_name: 'calendar-container-box', - child: Widget.Calendar({ - expand: true, - hpack: 'fill', - vpack: 'fill', - class_name: 'calendar-menu-widget', - showDayNames: true, - showDetails: false, - showHeading: true, - }), - }), - }); -}; - -export { CalendarWidget }; diff --git a/ags/HyprPanel/modules/menus/calendar/index.ts b/ags/HyprPanel/modules/menus/calendar/index.ts deleted file mode 100644 index d3fecb8..0000000 --- a/ags/HyprPanel/modules/menus/calendar/index.ts +++ /dev/null @@ -1,36 +0,0 @@ -import DropdownMenu from 'modules/menus/shared/dropdown/index'; -import { TimeWidget } from './time/index'; -import { CalendarWidget } from './calendar'; -import { WeatherWidget } from './weather/index'; -import options from 'options'; -import Window from 'types/widgets/window'; -import { Attribute, Child } from 'lib/types/widget'; - -const { enabled: weatherEnabled } = options.menus.clock.weather; - -export default (): Window => { - return DropdownMenu({ - name: 'calendarmenu', - transition: options.menus.transition.bind('value'), - child: Widget.Box({ - class_name: 'calendar-menu-content', - css: 'padding: 1px; margin: -1px;', - vexpand: false, - children: [ - Widget.Box({ - class_name: 'calendar-content-container', - vertical: true, - children: [ - Widget.Box({ - class_name: 'calendar-content-items', - vertical: true, - children: weatherEnabled.bind('value').as((isWeatherEnabled) => { - return [TimeWidget(), CalendarWidget(), ...(isWeatherEnabled ? [WeatherWidget()] : [])]; - }), - }), - ], - }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/modules/menus/calendar/time/index.ts b/ags/HyprPanel/modules/menus/calendar/time/index.ts deleted file mode 100644 index 2cbb279..0000000 --- a/ags/HyprPanel/modules/menus/calendar/time/index.ts +++ /dev/null @@ -1,75 +0,0 @@ -import { BoxWidget } from 'lib/types/widget'; -import options from 'options'; - -const { military, hideSeconds } = options.menus.clock.time; - -const time = Variable('', { - poll: [1000, 'date "+%I:%M:%S"'], -}); - -const period = Variable('', { - poll: [1000, 'date "+%p"'], -}); - -const militaryTime = Variable('', { - poll: [1000, 'date "+%H:%M:%S"'], -}); - -const TimeWidget = (): BoxWidget => { - return Widget.Box({ - class_name: 'calendar-menu-item-container clock', - hexpand: true, - vpack: 'center', - hpack: 'fill', - child: Widget.Box({ - hexpand: true, - vpack: 'center', - hpack: 'center', - class_name: 'clock-content-items', - children: Utils.merge( - [military.bind('value'), hideSeconds.bind('value')], - (is24hr: boolean, hideSeconds: boolean) => { - if (!is24hr) { - return [ - Widget.Box({ - hpack: 'center', - children: [ - Widget.Label({ - class_name: 'clock-content-time', - label: hideSeconds ? time.bind().as((str) => str.slice(0, -3)) : time.bind(), - }), - ], - }), - Widget.Box({ - hpack: 'center', - children: [ - Widget.Label({ - vpack: 'end', - class_name: 'clock-content-period', - label: period.bind(), - }), - ], - }), - ]; - } - - return [ - Widget.Box({ - hpack: 'center', - children: [ - Widget.Label({ - class_name: 'clock-content-time', - label: hideSeconds - ? militaryTime.bind().as((str) => str.slice(0, -3)) - : militaryTime.bind(), - }), - ], - }), - ]; - }, - ), - }), - }); -}; - -export { TimeWidget }; diff --git a/ags/HyprPanel/modules/menus/calendar/weather/hourly/icon/index.ts b/ags/HyprPanel/modules/menus/calendar/weather/hourly/icon/index.ts deleted file mode 100644 index 2c636c1..0000000 --- a/ags/HyprPanel/modules/menus/calendar/weather/hourly/icon/index.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { Weather, WeatherIconTitle } from 'lib/types/weather.js'; -import { Variable } from 'types/variable.js'; -import { weatherIcons } from 'modules/icons/weather.js'; -import { isValidWeatherIconTitle } from 'globals/weather'; -import { BoxWidget } from 'lib/types/widget'; -import { getNextEpoch } from '../utils'; - -export const HourlyIcon = (theWeather: Variable, hoursFromNow: number): BoxWidget => { - const getIconQuery = (wthr: Weather): WeatherIconTitle => { - const nextEpoch = getNextEpoch(wthr, hoursFromNow); - const weatherAtEpoch = wthr.forecast.forecastday[0].hour.find((h) => h.time_epoch === nextEpoch); - - if (weatherAtEpoch === undefined) { - return 'warning'; - } - - let iconQuery = weatherAtEpoch.condition.text.trim().toLowerCase().replaceAll(' ', '_'); - - if (!weatherAtEpoch?.is_day && iconQuery === 'partly_cloudy') { - iconQuery = 'partly_cloudy_night'; - } - - if (isValidWeatherIconTitle(iconQuery)) { - return iconQuery; - } else { - return 'warning'; - } - }; - - return Widget.Box({ - hpack: 'center', - child: theWeather.bind('value').as((w) => { - const iconQuery = getIconQuery(w); - const weatherIcn = weatherIcons[iconQuery] || weatherIcons['warning']; - - return Widget.Label({ - hpack: 'center', - class_name: 'hourly-weather-icon txt-icon', - label: weatherIcn, - }); - }), - }); -}; diff --git a/ags/HyprPanel/modules/menus/calendar/weather/hourly/index.ts b/ags/HyprPanel/modules/menus/calendar/weather/hourly/index.ts deleted file mode 100644 index 0eb1982..0000000 --- a/ags/HyprPanel/modules/menus/calendar/weather/hourly/index.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { Weather } from 'lib/types/weather'; -import { Variable } from 'types/variable'; -import { HourlyIcon } from './icon/index.js'; -import { HourlyTemp } from './temperature/index.js'; -import { HourlyTime } from './time/index.js'; -import { BoxWidget } from 'lib/types/widget.js'; - -export const Hourly = (theWeather: Variable): BoxWidget => { - return Widget.Box({ - vertical: false, - hexpand: true, - hpack: 'fill', - class_name: 'hourly-weather-container', - children: [1, 2, 3, 4].map((hoursFromNow) => { - return Widget.Box({ - class_name: 'hourly-weather-item', - hexpand: true, - vertical: true, - children: [ - HourlyTime(theWeather, hoursFromNow), - HourlyIcon(theWeather, hoursFromNow), - HourlyTemp(theWeather, hoursFromNow), - ], - }); - }), - }); -}; diff --git a/ags/HyprPanel/modules/menus/calendar/weather/hourly/temperature/index.ts b/ags/HyprPanel/modules/menus/calendar/weather/hourly/temperature/index.ts deleted file mode 100644 index 440c994..0000000 --- a/ags/HyprPanel/modules/menus/calendar/weather/hourly/temperature/index.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { Weather } from 'lib/types/weather'; -import { Variable } from 'types/variable'; -import options from 'options'; -import Label from 'types/widgets/label'; -import { Child } from 'lib/types/widget'; -import { getNextEpoch } from '../utils'; - -const { unit } = options.menus.clock.weather; - -export const HourlyTemp = (theWeather: Variable, hoursFromNow: number): Label => { - return Widget.Label({ - class_name: 'hourly-weather-temp', - label: Utils.merge([theWeather.bind('value'), unit.bind('value')], (wthr, unt) => { - if (!Object.keys(wthr).length) { - return '-'; - } - - const nextEpoch = getNextEpoch(wthr, hoursFromNow); - const weatherAtEpoch = wthr.forecast.forecastday[0].hour.find((h) => h.time_epoch === nextEpoch); - - if (unt === 'imperial') { - return `${weatherAtEpoch ? Math.ceil(weatherAtEpoch.temp_f) : '-'}° F`; - } - return `${weatherAtEpoch ? Math.ceil(weatherAtEpoch.temp_c) : '-'}° C`; - }), - }); -}; diff --git a/ags/HyprPanel/modules/menus/calendar/weather/hourly/time/index.ts b/ags/HyprPanel/modules/menus/calendar/weather/hourly/time/index.ts deleted file mode 100644 index 717eac4..0000000 --- a/ags/HyprPanel/modules/menus/calendar/weather/hourly/time/index.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Weather } from 'lib/types/weather'; -import { Child } from 'lib/types/widget'; -import { Variable } from 'types/variable'; -import Label from 'types/widgets/label'; -import { getNextEpoch } from '../utils'; - -export const HourlyTime = (theWeather: Variable, hoursFromNow: number): Label => { - return Widget.Label({ - class_name: 'hourly-weather-time', - label: theWeather.bind('value').as((w) => { - if (!Object.keys(w).length) { - return '-'; - } - - const nextEpoch = getNextEpoch(w, hoursFromNow); - const dateAtEpoch = new Date(nextEpoch * 1000); - let hours = dateAtEpoch.getHours(); - const ampm = hours >= 12 ? 'PM' : 'AM'; - hours = hours % 12 || 12; - - return `${hours}${ampm}`; - }), - }); -}; diff --git a/ags/HyprPanel/modules/menus/calendar/weather/hourly/utils.ts b/ags/HyprPanel/modules/menus/calendar/weather/hourly/utils.ts deleted file mode 100644 index 13f1d53..0000000 --- a/ags/HyprPanel/modules/menus/calendar/weather/hourly/utils.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Weather } from 'lib/types/weather'; - -export const getNextEpoch = (wthr: Weather, hoursFromNow: number): number => { - const currentEpoch = wthr.location.localtime_epoch; - const epochAtHourStart = currentEpoch - (currentEpoch % 3600); - let nextEpoch = 3600 * hoursFromNow + epochAtHourStart; - - const curHour = new Date(currentEpoch * 1000).getHours(); - - /* - * NOTE: Since the API is only capable of showing the current day; if - * the hours left in the day are less than 4 (aka spilling into the next day), - * then rewind to contain the prediction within the current day. - */ - if (curHour > 19) { - const hoursToRewind = curHour - 19; - nextEpoch = 3600 * hoursFromNow + epochAtHourStart - hoursToRewind * 3600; - } - return nextEpoch; -}; diff --git a/ags/HyprPanel/modules/menus/calendar/weather/icon/index.ts b/ags/HyprPanel/modules/menus/calendar/weather/icon/index.ts deleted file mode 100644 index dff981a..0000000 --- a/ags/HyprPanel/modules/menus/calendar/weather/icon/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Weather } from 'lib/types/weather'; -import { Variable } from 'types/variable'; -import { getWeatherStatusTextIcon } from 'globals/weather.js'; -import { BoxWidget } from 'lib/types/widget'; - -export const TodayIcon = (theWeather: Variable): BoxWidget => { - return Widget.Box({ - vpack: 'center', - hpack: 'start', - class_name: 'calendar-menu-weather today icon container', - child: Widget.Label({ - class_name: 'calendar-menu-weather today icon txt-icon', - label: theWeather.bind('value').as((w) => { - return getWeatherStatusTextIcon(w); - }), - }), - }); -}; diff --git a/ags/HyprPanel/modules/menus/calendar/weather/index.ts b/ags/HyprPanel/modules/menus/calendar/weather/index.ts deleted file mode 100644 index bf4a6bf..0000000 --- a/ags/HyprPanel/modules/menus/calendar/weather/index.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { TodayIcon } from './icon/index.js'; -import { TodayStats } from './stats/index.js'; -import { TodayTemperature } from './temperature/index.js'; -import { Hourly } from './hourly/index.js'; -import { globalWeatherVar } from 'globals/weather.js'; -import { BoxWidget } from 'lib/types/widget.js'; - -const WeatherWidget = (): BoxWidget => { - return Widget.Box({ - class_name: 'calendar-menu-item-container weather', - child: Widget.Box({ - class_name: 'weather-container-box', - setup: (self) => { - return (self.child = Widget.Box({ - vertical: true, - hexpand: true, - children: [ - Widget.Box({ - class_name: 'calendar-menu-weather today', - hexpand: true, - children: [ - TodayIcon(globalWeatherVar), - TodayTemperature(globalWeatherVar), - TodayStats(globalWeatherVar), - ], - }), - Widget.Separator({ - class_name: 'menu-separator weather', - }), - Hourly(globalWeatherVar), - ], - })); - }, - }), - }); -}; - -export { WeatherWidget }; diff --git a/ags/HyprPanel/modules/menus/calendar/weather/stats/index.ts b/ags/HyprPanel/modules/menus/calendar/weather/stats/index.ts deleted file mode 100644 index 197032f..0000000 --- a/ags/HyprPanel/modules/menus/calendar/weather/stats/index.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { Weather } from 'lib/types/weather'; -import { Variable } from 'types/variable'; -import options from 'options'; -import { Unit } from 'lib/types/options'; -import { getRainChance, getWindConditions } from 'globals/weather'; -import { BoxWidget } from 'lib/types/widget'; - -const { unit } = options.menus.clock.weather; - -export const TodayStats = (theWeather: Variable): BoxWidget => { - return Widget.Box({ - class_name: 'calendar-menu-weather today stats container', - hpack: 'end', - vpack: 'center', - vertical: true, - children: [ - Widget.Box({ - class_name: 'weather wind', - children: [ - Widget.Label({ - class_name: 'weather wind icon txt-icon', - label: '', - }), - Widget.Label({ - class_name: 'weather wind label', - label: Utils.merge( - [theWeather.bind('value'), unit.bind('value')], - (wthr: Weather, unt: Unit) => { - return getWindConditions(wthr, unt); - }, - ), - }), - ], - }), - Widget.Box({ - class_name: 'weather precip', - children: [ - Widget.Label({ - class_name: 'weather precip icon txt-icon', - label: '', - }), - Widget.Label({ - class_name: 'weather precip label', - label: theWeather.bind('value').as((v) => getRainChance(v)), - }), - ], - }), - ], - }); -}; diff --git a/ags/HyprPanel/modules/menus/calendar/weather/temperature/index.ts b/ags/HyprPanel/modules/menus/calendar/weather/temperature/index.ts deleted file mode 100644 index 597a75c..0000000 --- a/ags/HyprPanel/modules/menus/calendar/weather/temperature/index.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { Weather } from 'lib/types/weather'; -import { Variable } from 'types/variable'; -import options from 'options'; -import { getTemperature, getWeatherIcon } from 'globals/weather'; -import { BoxWidget } from 'lib/types/widget'; -const { unit } = options.menus.clock.weather; - -export const TodayTemperature = (theWeather: Variable): BoxWidget => { - return Widget.Box({ - hpack: 'center', - vpack: 'center', - vertical: true, - children: [ - Widget.Box({ - hexpand: true, - vpack: 'center', - class_name: 'calendar-menu-weather today temp container', - vertical: false, - children: [ - Widget.Box({ - hexpand: true, - hpack: 'center', - children: [ - Widget.Label({ - class_name: 'calendar-menu-weather today temp label', - label: Utils.merge([theWeather.bind('value'), unit.bind('value')], (wthr, unt) => { - return getTemperature(wthr, unt); - }), - }), - Widget.Label({ - class_name: theWeather - .bind('value') - .as( - (v) => - `calendar-menu-weather today temp label icon txt-icon ${getWeatherIcon(Math.ceil(v.current.temp_f)).color}`, - ), - label: theWeather - .bind('value') - .as((v) => getWeatherIcon(Math.ceil(v.current.temp_f)).icon), - }), - ], - }), - ], - }), - Widget.Box({ - hpack: 'center', - child: Widget.Label({ - max_width_chars: 17, - truncate: 'end', - lines: 2, - class_name: theWeather - .bind('value') - .as( - (v) => - `calendar-menu-weather today condition label ${getWeatherIcon(Math.ceil(v.current.temp_f)).color}`, - ), - label: theWeather.bind('value').as((v) => v.current.condition.text), - }), - }), - ], - }); -}; diff --git a/ags/HyprPanel/modules/menus/dashboard/controls/index.ts b/ags/HyprPanel/modules/menus/dashboard/controls/index.ts deleted file mode 100644 index e158f96..0000000 --- a/ags/HyprPanel/modules/menus/dashboard/controls/index.ts +++ /dev/null @@ -1,113 +0,0 @@ -import { BoxWidget } from 'lib/types/widget'; - -const network = await Service.import('network'); -const bluetooth = await Service.import('bluetooth'); -const notifications = await Service.import('notifications'); -const audio = await Service.import('audio'); - -const Controls = (): BoxWidget => { - return Widget.Box({ - class_name: 'dashboard-card controls-container', - hpack: 'fill', - vpack: 'fill', - expand: true, - children: [ - Widget.Button({ - tooltip_text: 'Toggle Wifi', - expand: true, - setup: (self) => { - self.hook(network, () => { - return (self.class_name = `dashboard-button wifi ${!network.wifi.enabled ? 'disabled' : ''}`); - }); - }, - on_primary_click: () => network.toggleWifi(), - child: Widget.Label({ - class_name: 'txt-icon', - setup: (self) => { - self.hook(network, () => { - return (self.label = network.wifi.enabled ? '󰤨' : '󰤭'); - }); - }, - }), - }), - Widget.Button({ - tooltip_text: 'Toggle Bluetooth', - expand: true, - class_name: bluetooth - .bind('enabled') - .as((btOn) => `dashboard-button bluetooth ${!btOn ? 'disabled' : ''}`), - on_primary_click: () => bluetooth.toggle(), - child: Widget.Label({ - class_name: 'txt-icon', - label: bluetooth.bind('enabled').as((btOn) => (btOn ? '󰂯' : '󰂲')), - }), - }), - Widget.Button({ - tooltip_text: 'Toggle Notifications', - expand: true, - class_name: notifications - .bind('dnd') - .as((dnd) => `dashboard-button notifications ${dnd ? 'disabled' : ''}`), - on_primary_click: () => (notifications.dnd = !notifications.dnd), - child: Widget.Label({ - class_name: 'txt-icon', - label: notifications.bind('dnd').as((dnd) => (dnd ? '󰂛' : '󰂚')), - }), - }), - Widget.Button({ - tooltip_text: 'Toggle Mute (Playback)', - expand: true, - on_primary_click: () => (audio.speaker.is_muted = !audio.speaker.is_muted), - setup: (self) => { - self.hook( - audio.speaker, - () => { - return (self.class_name = `dashboard-button playback ${audio.speaker.is_muted ? 'disabled' : ''}`); - }, - 'notify::is-muted', - ); - }, - child: Widget.Label({ - class_name: 'txt-icon', - setup: (self) => { - self.hook( - audio.speaker, - () => { - return (self.label = audio.speaker.is_muted ? '󰖁' : '󰕾'); - }, - 'notify::is-muted', - ); - }, - }), - }), - Widget.Button({ - tooltip_text: 'Toggle Mute (Microphone)', - expand: true, - on_primary_click: () => (audio.microphone.is_muted = !audio.microphone.is_muted), - setup: (self) => { - self.hook( - audio.microphone, - () => { - return (self.class_name = `dashboard-button input ${audio.microphone.is_muted ? 'disabled' : ''}`); - }, - 'notify::is-muted', - ); - }, - child: Widget.Label({ - class_name: 'txt-icon', - setup: (self) => { - self.hook( - audio.microphone, - () => { - return (self.label = audio.microphone.is_muted ? '󰍭' : '󰍬'); - }, - 'notify::is-muted', - ); - }, - }), - }), - ], - }); -}; - -export { Controls }; diff --git a/ags/HyprPanel/modules/menus/dashboard/directories/index.ts b/ags/HyprPanel/modules/menus/dashboard/directories/index.ts deleted file mode 100644 index 5b6aa11..0000000 --- a/ags/HyprPanel/modules/menus/dashboard/directories/index.ts +++ /dev/null @@ -1,121 +0,0 @@ -import { BoxWidget } from 'lib/types/widget'; -import options from 'options'; - -const { left, right } = options.menus.dashboard.directories; - -const Directories = (): BoxWidget => { - return Widget.Box({ - class_name: 'dashboard-card directories-container', - vpack: 'fill', - hpack: 'fill', - expand: true, - children: [ - Widget.Box({ - vertical: true, - expand: true, - class_name: 'section right', - children: [ - Widget.Button({ - hpack: 'start', - expand: true, - class_name: 'directory-link left top', - on_primary_click: left.directory1.command.bind('value').as((cmd) => { - return () => { - App.closeWindow('dashboardmenu'); - Utils.execAsync(cmd); - }; - }), - child: Widget.Label({ - hpack: 'start', - label: left.directory1.label.bind('value'), - }), - }), - Widget.Button({ - expand: true, - hpack: 'start', - class_name: 'directory-link left middle', - on_primary_click: left.directory2.command.bind('value').as((cmd) => { - return () => { - App.closeWindow('dashboardmenu'); - Utils.execAsync(cmd); - }; - }), - child: Widget.Label({ - hpack: 'start', - label: left.directory2.label.bind('value'), - }), - }), - Widget.Button({ - expand: true, - hpack: 'start', - class_name: 'directory-link left bottom', - on_primary_click: left.directory3.command.bind('value').as((cmd) => { - return () => { - App.closeWindow('dashboardmenu'); - Utils.execAsync(cmd); - }; - }), - child: Widget.Label({ - hpack: 'start', - label: left.directory3.label.bind('value'), - }), - }), - ], - }), - Widget.Box({ - vertical: true, - expand: true, - class_name: 'section left', - children: [ - Widget.Button({ - hpack: 'start', - expand: true, - class_name: 'directory-link right top', - on_primary_click: right.directory1.command.bind('value').as((cmd) => { - return () => { - App.closeWindow('dashboardmenu'); - Utils.execAsync(cmd); - }; - }), - child: Widget.Label({ - hpack: 'start', - label: right.directory1.label.bind('value'), - }), - }), - Widget.Button({ - expand: true, - hpack: 'start', - class_name: 'directory-link right middle', - on_primary_click: right.directory2.command.bind('value').as((cmd) => { - return () => { - App.closeWindow('dashboardmenu'); - Utils.execAsync(cmd); - }; - }), - child: Widget.Label({ - hpack: 'start', - label: right.directory2.label.bind('value'), - }), - }), - Widget.Button({ - expand: true, - hpack: 'start', - class_name: 'directory-link right bottom', - on_primary_click: right.directory3.command.bind('value').as((cmd) => { - return () => { - App.closeWindow('dashboardmenu'); - Utils.execAsync(cmd); - }; - }), - child: Widget.Label({ - hpack: 'start', - label: right.directory3.label.bind('value'), - }), - }), - ], - }), - ], - }); -}; - -export { Directories }; diff --git a/ags/HyprPanel/modules/menus/dashboard/index.ts b/ags/HyprPanel/modules/menus/dashboard/index.ts deleted file mode 100644 index 9bac607..0000000 --- a/ags/HyprPanel/modules/menus/dashboard/index.ts +++ /dev/null @@ -1,52 +0,0 @@ -import DropdownMenu from '../shared/dropdown/index.js'; -import { Profile } from './profile/index.js'; -import { Shortcuts } from './shortcuts/index.js'; -import { Controls } from './controls/index.js'; -import { Stats } from './stats/index.js'; -import { Directories } from './directories/index.js'; -import Window from 'types/widgets/window.js'; -import { Attribute, Child } from 'lib/types/widget.js'; -import options from 'options.js'; - -const { controls, shortcuts, stats, directories } = options.menus.dashboard; - -export default (): Window => { - return DropdownMenu({ - name: 'dashboardmenu', - transition: options.menus.transition.bind('value'), - child: Widget.Box({ - class_name: 'dashboard-menu-content', - css: 'padding: 1px; margin: -1px;', - vexpand: false, - children: [ - Widget.Box({ - class_name: 'dashboard-content-container', - vertical: true, - children: Utils.merge( - [ - controls.enabled.bind('value'), - shortcuts.enabled.bind('value'), - stats.enabled.bind('value'), - directories.enabled.bind('value'), - ], - (isControlsEnabled, isShortcutsEnabled, isStatsEnabled, isDirectoriesEnabled) => { - return [ - Widget.Box({ - class_name: 'dashboard-content-items', - vertical: true, - children: [ - Profile(), - ...(isShortcutsEnabled ? [Shortcuts()] : []), - ...(isControlsEnabled ? [Controls()] : []), - ...(isDirectoriesEnabled ? [Directories()] : []), - ...(isStatsEnabled ? [Stats()] : []), - ], - }), - ]; - }, - ), - }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/modules/menus/dashboard/profile/index.ts b/ags/HyprPanel/modules/menus/dashboard/profile/index.ts deleted file mode 100644 index 9d2531a..0000000 --- a/ags/HyprPanel/modules/menus/dashboard/profile/index.ts +++ /dev/null @@ -1,110 +0,0 @@ -import powermenu from '../../power/helpers/actions.js'; -import { PowerOptions } from 'lib/types/options.js'; -import GdkPixbuf from 'gi://GdkPixbuf'; - -import options from 'options'; -import { BoxWidget, Child } from 'lib/types/widget.js'; -import Label from 'types/widgets/label.js'; -const { image, name } = options.menus.dashboard.powermenu.avatar; -const { confirmation, shutdown, logout, sleep, reboot } = options.menus.dashboard.powermenu; - -const Profile = (): BoxWidget => { - const handleClick = (action: PowerOptions): void => { - const actions = { - shutdown: shutdown.value, - reboot: reboot.value, - logout: logout.value, - sleep: sleep.value, - }; - App.closeWindow('dashboardmenu'); - - if (!confirmation.value) { - Utils.execAsync(actions[action]).catch((err) => - console.error(`Failed to execute ${action} command. Error: ${err}`), - ); - } else { - powermenu.action(action); - } - }; - - const getIconForButton = (txtIcon: string): Label => { - return Widget.Label({ - className: 'txt-icon', - label: txtIcon, - }); - }; - - return Widget.Box({ - class_name: 'profiles-container', - hpack: 'fill', - hexpand: true, - children: [ - Widget.Box({ - class_name: 'profile-picture-container dashboard-card', - hexpand: true, - vertical: true, - children: [ - Widget.Box({ - hpack: 'center', - class_name: 'profile-picture', - css: image.bind('value').as((i) => { - try { - GdkPixbuf.Pixbuf.new_from_file(i); - return `background-image: url("${i}")`; - } catch { - return `background-image: url("${App.configDir}/assets/hyprpanel.png")`; - } - }), - }), - Widget.Label({ - hpack: 'center', - class_name: 'profile-name', - label: name.bind('value').as((v) => { - if (v === 'system') { - return Utils.exec('bash -c whoami'); - } - return v; - }), - }), - ], - }), - Widget.Box({ - class_name: 'power-menu-container dashboard-card', - vertical: true, - vexpand: true, - children: [ - Widget.Button({ - class_name: 'dashboard-button shutdown', - on_clicked: () => handleClick('shutdown'), - tooltip_text: 'Shut Down', - vexpand: true, - child: getIconForButton('󰐥'), - }), - Widget.Button({ - class_name: 'dashboard-button restart', - on_clicked: () => handleClick('reboot'), - tooltip_text: 'Restart', - vexpand: true, - child: getIconForButton('󰜉'), - }), - Widget.Button({ - class_name: 'dashboard-button lock', - on_clicked: () => handleClick('logout'), - tooltip_text: 'Log Out', - vexpand: true, - child: getIconForButton('󰿅'), - }), - Widget.Button({ - class_name: 'dashboard-button sleep', - on_clicked: () => handleClick('sleep'), - tooltip_text: 'Sleep', - vexpand: true, - child: getIconForButton('󰤄'), - }), - ], - }), - ], - }); -}; - -export { Profile }; diff --git a/ags/HyprPanel/modules/menus/dashboard/shortcuts/index.ts b/ags/HyprPanel/modules/menus/dashboard/shortcuts/index.ts deleted file mode 100644 index 5b4f49c..0000000 --- a/ags/HyprPanel/modules/menus/dashboard/shortcuts/index.ts +++ /dev/null @@ -1,317 +0,0 @@ -const hyprland = await Service.import('hyprland'); -import { Attribute, BoxWidget, Child } from 'lib/types/widget'; -import options from 'options'; -import { Variable as VarType } from 'types/variable'; -import Box from 'types/widgets/box'; -import Button from 'types/widgets/button'; -import Label from 'types/widgets/label'; - -const { left, right } = options.menus.dashboard.shortcuts; - -const Shortcuts = (): BoxWidget => { - const isRecording = Variable(false, { - poll: [ - 1000, - `${App.configDir}/services/screen_record.sh status`, - (out): boolean => { - if (out === 'recording') { - return true; - } - return false; - }, - ], - }); - const handleClick = (action: string, tOut: number = 250): void => { - App.closeWindow('dashboardmenu'); - - setTimeout(() => { - Utils.execAsync(action) - .then((res) => { - return res; - }) - .catch((err) => err); - }, tOut); - }; - - const recordingDropdown = Widget.Menu({ - class_name: 'dropdown recording', - hpack: 'fill', - hexpand: true, - setup: (self) => { - const renderMonitorList = (): void => { - const displays = hyprland.monitors.map((mon) => { - return Widget.MenuItem({ - label: `Display ${mon.name}`, - on_activate: () => { - App.closeWindow('dashboardmenu'); - Utils.execAsync(`${App.configDir}/services/screen_record.sh start ${mon.name}`).catch( - (err) => console.error(err), - ); - }, - }); - }); - - // NOTE: This is disabled since window recording isn't available on wayland - // const apps = hyprland.clients.map((clt) => { - // return Widget.MenuItem({ - // label: `${clt.class.charAt(0).toUpperCase() + clt.class.slice(1)} (Workspace ${clt.workspace.name})`, - // on_activate: () => { - // App.closeWindow('dashboardmenu'); - // Utils.execAsync( - // `${App.configDir}/services/screen_record.sh start ${clt.focusHistoryID}`, - // ).catch((err) => console.error(err)); - // }, - // }); - // }); - - self.children = [ - ...displays, - // Disabled since window recording isn't available on wayland - // ...apps - ]; - }; - self.hook(hyprland, renderMonitorList, 'monitor-added'); - self.hook(hyprland, renderMonitorList, 'monitor-removed'); - }, - }); - - type ShortcutFixed = { - tooltip: string; - command: string; - icon: string; - configurable: false; - }; - - type ShortcutVariable = { - tooltip: VarType; - command: VarType; - icon: VarType; - configurable?: true; - }; - - type Shortcut = ShortcutFixed | ShortcutVariable; - - const cmdLn = (sCut: ShortcutVariable): boolean => { - return sCut.command.value.length > 0; - }; - - const leftCardHidden = Variable( - !(cmdLn(left.shortcut1) || cmdLn(left.shortcut2) || cmdLn(left.shortcut3) || cmdLn(left.shortcut4)), - ); - - const createButton = (shortcut: Shortcut, className: string): Button, Attribute> => { - if (shortcut.configurable !== false) { - return Widget.Button({ - vexpand: true, - tooltip_text: shortcut.tooltip.value, - class_name: className, - on_primary_click: () => handleClick(shortcut.command.value), - child: Widget.Label({ - class_name: 'button-label txt-icon', - label: shortcut.icon.value, - }), - }); - } else { - // handle non-configurable shortcut - return Widget.Button({ - vexpand: true, - tooltip_text: shortcut.tooltip, - class_name: className, - on_primary_click: (_, event) => { - if (shortcut.command === 'settings-dialog') { - App.closeWindow('dashboardmenu'); - App.toggleWindow('settings-dialog'); - } else if (shortcut.command === 'record') { - if (isRecording.value === true) { - App.closeWindow('dashboardmenu'); - return Utils.execAsync(`${App.configDir}/services/screen_record.sh stop`).catch((err) => - console.error(err), - ); - } else { - recordingDropdown.popup_at_pointer(event); - } - } - }, - child: Widget.Label({ - class_name: 'button-label txt-icon', - label: shortcut.icon, - }), - }); - } - }; - - const createButtonIfCommandExists = ( - shortcut: Shortcut, - className: string, - command: string, - ): Button, Attribute> | Box => { - if (command.length > 0) { - return createButton(shortcut, className); - } - return Widget.Box(); - }; - - return Widget.Box({ - class_name: 'shortcuts-container', - hpack: 'fill', - hexpand: true, - children: [ - Widget.Box({ - child: Utils.merge( - [ - left.shortcut1.command.bind('value'), - left.shortcut2.command.bind('value'), - left.shortcut1.tooltip.bind('value'), - left.shortcut2.tooltip.bind('value'), - left.shortcut1.icon.bind('value'), - left.shortcut2.icon.bind('value'), - left.shortcut3.command.bind('value'), - left.shortcut4.command.bind('value'), - left.shortcut3.tooltip.bind('value'), - left.shortcut4.tooltip.bind('value'), - left.shortcut3.icon.bind('value'), - left.shortcut4.icon.bind('value'), - ], - () => { - const isVisibleLeft = cmdLn(left.shortcut1) || cmdLn(left.shortcut2); - const isVisibleRight = cmdLn(left.shortcut3) || cmdLn(left.shortcut4); - - if (!isVisibleLeft && !isVisibleRight) { - leftCardHidden.value = true; - return Widget.Box(); - } - - leftCardHidden.value = false; - - return Widget.Box({ - class_name: 'container most-used dashboard-card', - children: [ - Widget.Box({ - className: `card-button-section-container ${isVisibleRight && isVisibleLeft ? 'visible' : ''}`, - child: isVisibleLeft - ? Widget.Box({ - vertical: true, - hexpand: true, - vexpand: true, - children: [ - createButtonIfCommandExists( - left.shortcut1, - `dashboard-button top-button ${cmdLn(left.shortcut2) ? 'paired' : ''}`, - left.shortcut1.command.value, - ), - createButtonIfCommandExists( - left.shortcut2, - 'dashboard-button', - left.shortcut2.command.value, - ), - ], - }) - : Widget.Box({ - children: [], - }), - }), - Widget.Box({ - className: 'card-button-section-container', - child: isVisibleRight - ? Widget.Box({ - vertical: true, - hexpand: true, - vexpand: true, - children: [ - createButtonIfCommandExists( - left.shortcut3, - `dashboard-button top-button ${cmdLn(left.shortcut4) ? 'paired' : ''}`, - left.shortcut3.command.value, - ), - createButtonIfCommandExists( - left.shortcut4, - 'dashboard-button', - left.shortcut4.command.value, - ), - ], - }) - : Widget.Box({ - children: [], - }), - }), - ], - }); - }, - ), - }), - Widget.Box({ - child: Utils.merge( - [ - right.shortcut1.command.bind('value'), - right.shortcut1.tooltip.bind('value'), - right.shortcut1.icon.bind('value'), - right.shortcut3.command.bind('value'), - right.shortcut3.tooltip.bind('value'), - right.shortcut3.icon.bind('value'), - leftCardHidden.bind('value'), - isRecording.bind('value'), - ], - () => { - return Widget.Box({ - class_name: `container utilities dashboard-card ${!leftCardHidden.value ? 'paired' : ''}`, - children: [ - Widget.Box({ - className: `card-button-section-container visible`, - child: Widget.Box({ - vertical: true, - hexpand: true, - vexpand: true, - children: [ - createButtonIfCommandExists( - right.shortcut1, - 'dashboard-button top-button paired', - right.shortcut1.command.value, - ), - createButtonIfCommandExists( - { - tooltip: 'HyprPanel Configuration', - command: 'settings-dialog', - icon: '󰒓', - configurable: false, - }, - 'dashboard-button', - 'settings-dialog', - ), - ], - }), - }), - Widget.Box({ - className: 'card-button-section-container', - child: Widget.Box({ - vertical: true, - hexpand: true, - vexpand: true, - children: [ - createButtonIfCommandExists( - right.shortcut3, - 'dashboard-button top-button paired', - right.shortcut3.command.value, - ), - createButtonIfCommandExists( - { - tooltip: 'Record Screen', - command: 'record', - icon: '󰑊', - configurable: false, - }, - `dashboard-button record ${isRecording.value ? 'active' : ''}`, - 'record', - ), - ], - }), - }), - ], - }); - }, - ), - }), - ], - }); -}; - -export { Shortcuts }; diff --git a/ags/HyprPanel/modules/menus/dashboard/stats/index.ts b/ags/HyprPanel/modules/menus/dashboard/stats/index.ts deleted file mode 100644 index 43e8457..0000000 --- a/ags/HyprPanel/modules/menus/dashboard/stats/index.ts +++ /dev/null @@ -1,362 +0,0 @@ -import options from 'options'; -import { GPU_Stat } from 'lib/types/gpustat'; -import { dependencies } from 'lib/utils'; -import { BoxWidget } from 'lib/types/widget'; -import { GenericResourceMetrics } from 'lib/types/customModules/generic'; - -const { terminal } = options; -const { enable_gpu } = options.menus.dashboard.stats; - -const Stats = (): BoxWidget => { - const divide = ([total, free]: number[]): number => free / total; - - const formatSizeInGB = (sizeInKB: number): number => Number((sizeInKB / 1024 ** 2).toFixed(2)); - - const cpu = Variable(0, { - poll: [ - 2000, - 'top -b -n 1', - (out): number => { - if (typeof out !== 'string') { - return 0; - } - - const cpuOut = out.split('\n').find((line) => line.includes('Cpu(s)')); - - if (cpuOut === undefined) { - return 0; - } - - const freeCpu = parseFloat(cpuOut.split(/\s+/)[1].replace(',', '.')); - return divide([100, freeCpu]); - }, - ], - }); - - const ram = Variable( - { total: 0, used: 0, percentage: 0 }, - { - poll: [ - 2000, - 'free', - (out): GenericResourceMetrics => { - if (typeof out !== 'string') { - return { total: 0, used: 0, percentage: 0 }; - } - - const ramOut = out.split('\n').find((line) => line.includes('Mem:')); - - if (ramOut === undefined) { - return { total: 0, used: 0, percentage: 0 }; - } - - const [totalRam, usedRam] = ramOut.split(/\s+/).splice(1, 2).map(Number); - - return { - percentage: divide([totalRam, usedRam]), - total: formatSizeInGB(totalRam), - used: formatSizeInGB(usedRam), - }; - }, - ], - }, - ); - - const gpu = Variable(0); - - const GPUStat = Widget.Box({ - child: enable_gpu.bind('value').as((gpStat) => { - if (!gpStat || !dependencies('gpustat')) { - return Widget.Box(); - } - - return Widget.Box({ - vertical: true, - children: [ - Widget.Box({ - class_name: 'stat gpu', - hexpand: true, - vpack: 'center', - setup: (self) => { - const getGpuUsage = (): void => { - if (!enable_gpu.value) { - gpu.value = 0; - return; - } - - Utils.execAsync('gpustat --json') - .then((out) => { - if (typeof out !== 'string') { - return 0; - } - try { - const data = JSON.parse(out); - - const totalGpu = 100; - const usedGpu = - data.gpus.reduce((acc: number, gpu: GPU_Stat) => { - return acc + gpu['utilization.gpu']; - }, 0) / data.gpus.length; - - gpu.value = divide([totalGpu, usedGpu]); - } catch (e) { - console.error('Error getting GPU stats:', e); - gpu.value = 0; - } - }) - .catch((err) => { - console.error(`An error occurred while fetching GPU stats: ${err}`); - }); - }; - - self.poll(2000, getGpuUsage); - - Utils.merge([gpu.bind('value'), enable_gpu.bind('value')], (gpu, enableGpu) => { - if (!enableGpu) { - return (self.children = []); - } - - return (self.children = [ - Widget.Button({ - on_primary_click: terminal.bind('value').as((term) => { - return (): void => { - App.closeWindow('dashboardmenu'); - Utils.execAsync(`bash -c "${term} -e btop"`).catch( - (err) => `Failed to open btop: ${err}`, - ); - }; - }), - child: Widget.Label({ - class_name: 'txt-icon', - label: '󰢮', - }), - }), - Widget.Button({ - on_primary_click: terminal.bind('value').as((term) => { - return (): void => { - App.closeWindow('dashboardmenu'); - Utils.execAsync(`bash -c "${term} -e btop"`).catch( - (err) => `Failed to open btop: ${err}`, - ); - }; - }), - child: Widget.LevelBar({ - class_name: 'stats-bar', - hexpand: true, - vpack: 'center', - value: gpu, - }), - }), - ]); - }); - }, - }), - Widget.Box({ - hpack: 'end', - children: Utils.merge([gpu.bind('value'), enable_gpu.bind('value')], (gpuUsed, enableGpu) => { - if (!enableGpu) { - return []; - } - return [ - Widget.Label({ - class_name: 'stat-value gpu', - label: `${Math.floor(gpuUsed * 100)}%`, - }), - ]; - }), - }), - ], - }); - }), - }); - - const storage = Variable( - { total: 0, used: 0, percentage: 0 }, - { - poll: [ - 2000, - 'df -B1 /', - (out): GenericResourceMetrics => { - if (typeof out !== 'string') { - return { total: 0, used: 0, percentage: 0 }; - } - - const dfOut = out.split('\n').find((line) => line.startsWith('/')); - - if (dfOut === undefined) { - return { total: 0, used: 0, percentage: 0 }; - } - - const parts = dfOut.split(/\s+/); - const size = parseInt(parts[1], 10); - const used = parseInt(parts[2], 10); - - const sizeInGB = formatSizeInGB(size); - const usedInGB = formatSizeInGB(used); - - return { - total: Math.floor(sizeInGB / 1000), - used: Math.floor(usedInGB / 1000), - percentage: divide([size, used]), - }; - }, - ], - }, - ); - - return Widget.Box({ - class_name: 'dashboard-card stats-container', - vertical: true, - vpack: 'fill', - hpack: 'fill', - expand: true, - children: [ - Widget.Box({ - vertical: true, - children: [ - Widget.Box({ - class_name: 'stat cpu', - hexpand: true, - vpack: 'center', - children: [ - Widget.Button({ - on_primary_click: terminal.bind('value').as((term) => { - return () => { - App.closeWindow('dashboardmenu'); - Utils.execAsync(`bash -c "${term} -e btop"`).catch( - (err) => `Failed to open btop: ${err}`, - ); - }; - }), - child: Widget.Label({ - class_name: 'txt-icon', - label: '', - }), - }), - Widget.Button({ - on_primary_click: terminal.bind('value').as((term) => { - return () => { - App.closeWindow('dashboardmenu'); - Utils.execAsync(`bash -c "${term} -e btop"`).catch( - (err) => `Failed to open btop: ${err}`, - ); - }; - }), - child: Widget.LevelBar({ - class_name: 'stats-bar', - hexpand: true, - vpack: 'center', - bar_mode: 'continuous', - max_value: 1, - value: cpu.bind('value'), - }), - }), - ], - }), - Widget.Label({ - hpack: 'end', - class_name: 'stat-value cpu', - label: cpu.bind('value').as((v) => `${Math.floor(v * 100)}%`), - }), - ], - }), - Widget.Box({ - vertical: true, - children: [ - Widget.Box({ - class_name: 'stat ram', - vpack: 'center', - hexpand: true, - children: [ - Widget.Button({ - on_primary_click: terminal.bind('value').as((term) => { - return () => { - App.closeWindow('dashboardmenu'); - Utils.execAsync(`bash -c "${term} -e btop"`).catch( - (err) => `Failed to open btop: ${err}`, - ); - }; - }), - child: Widget.Label({ - class_name: 'txt-icon', - label: '', - }), - }), - Widget.Button({ - on_primary_click: terminal.bind('value').as((term) => { - return () => { - App.closeWindow('dashboardmenu'); - Utils.execAsync(`bash -c "${term} -e btop"`).catch( - (err) => `Failed to open btop: ${err}`, - ); - }; - }), - child: Widget.LevelBar({ - class_name: 'stats-bar', - hexpand: true, - vpack: 'center', - value: ram.bind('value').as((v) => v.percentage), - }), - }), - ], - }), - Widget.Label({ - hpack: 'end', - class_name: 'stat-value ram', - label: ram.bind('value').as((v) => `${v.used}/${v.total} GB`), - }), - ], - }), - GPUStat, - Widget.Box({ - vertical: true, - children: [ - Widget.Box({ - class_name: 'stat storage', - hexpand: true, - vpack: 'center', - children: [ - Widget.Button({ - on_primary_click: terminal.bind('value').as((term) => { - return () => { - App.closeWindow('dashboardmenu'); - Utils.execAsync(`bash -c "${term} -e btop"`).catch( - (err) => `Failed to open btop: ${err}`, - ); - }; - }), - child: Widget.Label({ - class_name: 'txt-icon', - label: '󰋊', - }), - }), - Widget.Button({ - on_primary_click: terminal.bind('value').as((term) => { - return () => { - App.closeWindow('dashboardmenu'); - Utils.execAsync(`bash -c "${term} -e btop"`).catch( - (err) => `Failed to open btop: ${err}`, - ); - }; - }), - child: Widget.LevelBar({ - class_name: 'stats-bar', - hexpand: true, - vpack: 'center', - value: storage.bind('value').as((v) => v.percentage), - }), - }), - ], - }), - Widget.Label({ - hpack: 'end', - class_name: 'stat-value storage', - label: storage.bind('value').as((v) => `${v.used}/${v.total} GB`), - }), - ], - }), - ], - }); -}; - -export { Stats }; diff --git a/ags/HyprPanel/modules/menus/energy/brightness/index.ts b/ags/HyprPanel/modules/menus/energy/brightness/index.ts deleted file mode 100644 index cdefd1a..0000000 --- a/ags/HyprPanel/modules/menus/energy/brightness/index.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { BoxWidget } from 'lib/types/widget.js'; -import brightness from '../../../../services/Brightness.js'; -import icons from '../../../icons/index.js'; - -const Brightness = (): BoxWidget => { - return Widget.Box({ - class_name: 'menu-section-container brightness', - vertical: true, - children: [ - Widget.Box({ - class_name: 'menu-label-container', - hpack: 'fill', - child: Widget.Label({ - class_name: 'menu-label', - hexpand: true, - hpack: 'start', - label: 'Brightness', - }), - }), - Widget.Box({ - class_name: 'menu-items-section', - vpack: 'fill', - vexpand: true, - vertical: true, - child: Widget.Box({ - class_name: 'brightness-container', - children: [ - Widget.Icon({ - vexpand: true, - vpack: 'center', - class_name: 'brightness-slider-icon', - icon: icons.brightness.screen, - }), - Widget.Slider({ - vpack: 'center', - vexpand: true, - value: brightness.bind('screen'), - class_name: 'menu-active-slider menu-slider brightness', - draw_value: false, - hexpand: true, - min: 0, - max: 1, - onChange: ({ value }) => (brightness.screen = value), - }), - Widget.Label({ - vpack: 'center', - vexpand: true, - class_name: 'brightness-slider-label', - label: brightness.bind('screen').as((b) => `${Math.round(b * 100)}%`), - }), - ], - }), - }), - ], - }); -}; - -export { Brightness }; diff --git a/ags/HyprPanel/modules/menus/energy/index.ts b/ags/HyprPanel/modules/menus/energy/index.ts deleted file mode 100644 index 134d2cc..0000000 --- a/ags/HyprPanel/modules/menus/energy/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -import DropdownMenu from '../shared/dropdown/index.js'; -import { EnergyProfiles } from './profiles/index.js'; -import { Brightness } from './brightness/index.js'; -import { Attribute, Child } from 'lib/types/widget.js'; -import Window from 'types/widgets/window.js'; -import options from 'options.js'; - -export default (): Window => { - return DropdownMenu({ - name: 'energymenu', - transition: options.menus.transition.bind('value'), - child: Widget.Box({ - class_name: 'menu-items energy', - hpack: 'fill', - hexpand: true, - child: Widget.Box({ - vertical: true, - hpack: 'fill', - hexpand: true, - class_name: 'menu-items-container energy', - children: [Brightness(), EnergyProfiles()], - }), - }), - }); -}; diff --git a/ags/HyprPanel/modules/menus/energy/profiles/index.ts b/ags/HyprPanel/modules/menus/energy/profiles/index.ts deleted file mode 100644 index 72b2824..0000000 --- a/ags/HyprPanel/modules/menus/energy/profiles/index.ts +++ /dev/null @@ -1,85 +0,0 @@ -const powerProfiles = await Service.import('powerprofiles'); -import { PowerProfile, PowerProfileObject, PowerProfiles } from 'lib/types/powerprofiles.js'; -import { BoxWidget } from 'lib/types/widget.js'; -import icons from '../../../icons/index.js'; -import { uptime } from 'lib/variables.js'; - -const EnergyProfiles = (): BoxWidget => { - const isValidProfile = (profile: string): profile is PowerProfile => - profile === 'power-saver' || profile === 'balanced' || profile === 'performance'; - - function renderUptime(curUptime: number): string { - const days = Math.floor(curUptime / (60 * 24)); - const hours = Math.floor((curUptime % (60 * 24)) / 60); - const minutes = Math.floor(curUptime % 60); - return ` : ${days}d ${hours}h ${minutes}m`; - } - - return Widget.Box({ - class_name: 'menu-section-container energy', - vertical: true, - children: [ - Widget.Box({ - class_name: 'menu-label-container', - hpack: 'fill', - children: [ - Widget.Label({ - class_name: 'menu-label', - hexpand: true, - hpack: 'start', - label: 'Power Profile', - }), - Widget.Label({ - class_name: 'menu-label uptime', - label: uptime.bind().as(renderUptime), - tooltipText: 'Uptime', - }), - ], - }), - Widget.Box({ - class_name: 'menu-items-section', - vpack: 'fill', - vexpand: true, - vertical: true, - children: powerProfiles.bind('profiles').as((profiles: PowerProfiles) => { - return profiles.map((prof: PowerProfileObject) => { - const profileLabels = { - 'power-saver': 'Power Saver', - balanced: 'Balanced', - performance: 'Performance', - }; - - const profileType = prof.Profile; - - if (!isValidProfile(profileType)) { - return profileLabels.balanced; - } - - return Widget.Button({ - on_primary_click: () => { - powerProfiles.active_profile = prof.Profile; - }, - class_name: powerProfiles.bind('active_profile').as((active) => { - return `power-profile-item ${active === prof.Profile ? 'active' : ''}`; - }), - child: Widget.Box({ - children: [ - Widget.Icon({ - class_name: 'power-profile-icon', - icon: icons.powerprofile[profileType], - }), - Widget.Label({ - class_name: 'power-profile-label', - label: profileLabels[profileType], - }), - ], - }), - }); - }); - }), - }), - ], - }); -}; - -export { EnergyProfiles }; diff --git a/ags/HyprPanel/modules/menus/main.ts b/ags/HyprPanel/modules/menus/main.ts deleted file mode 100644 index 274579f..0000000 --- a/ags/HyprPanel/modules/menus/main.ts +++ /dev/null @@ -1,25 +0,0 @@ -import PowerMenu from './power/index.js'; -import Verification from './power/verification.js'; -import AudioMenu from './audio/index.js'; -import NetworkMenu from './network/index.js'; -import BluetoothMenu from './bluetooth/index.js'; -import MediaMenu from './media/index.js'; -import NotificationsMenu from './notifications/index.js'; -import CalendarMenu from './calendar/index.js'; -import EnergyMenu from './energy/index.js'; -import DashboardMenu from './dashboard/index.js'; -import PowerDropdown from './powerDropdown/index.js'; - -export default [ - PowerMenu(), - Verification(), - AudioMenu(), - NetworkMenu(), - BluetoothMenu(), - MediaMenu(), - NotificationsMenu(), - CalendarMenu(), - EnergyMenu(), - DashboardMenu(), - PowerDropdown(), -]; diff --git a/ags/HyprPanel/modules/menus/media/components/bar.ts b/ags/HyprPanel/modules/menus/media/components/bar.ts deleted file mode 100644 index 81448db..0000000 --- a/ags/HyprPanel/modules/menus/media/components/bar.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { BoxWidget } from 'lib/types/widget'; -import { Mpris, MprisPlayer } from 'types/service/mpris'; - -const media = await Service.import('mpris'); - -const Bar = (getPlayerInfo: (media: Mpris) => MprisPlayer): BoxWidget => { - return Widget.Box({ - class_name: 'media-indicator-current-progress-bar', - hexpand: true, - children: [ - Widget.Box({ - hexpand: true, - child: Widget.Slider({ - hexpand: true, - tooltip_text: '--', - class_name: 'menu-slider media progress', - draw_value: false, - on_change: ({ value }) => { - const foundPlayer = getPlayerInfo(media); - if (foundPlayer === undefined) { - return; - } - return (foundPlayer.position = value * foundPlayer.length); - }, - setup: (self) => { - const update = (): void => { - const foundPlayer = getPlayerInfo(media); - if (foundPlayer !== undefined) { - const value = foundPlayer.length ? foundPlayer.position / foundPlayer.length : 0; - self.value = value > 0 ? value : 0; - } else { - self.value = 0; - } - }; - self.hook(media, update); - self.poll(1000, update); - - const updateTooltip = (): void => { - const foundPlayer = getPlayerInfo(media); - if (foundPlayer === undefined) { - self.tooltip_text = '00:00'; - return; - } - const curHour = Math.floor(foundPlayer.position / 3600); - const curMin = Math.floor((foundPlayer.position % 3600) / 60); - const curSec = Math.floor(foundPlayer.position % 60); - - if (typeof foundPlayer.position === 'number' && foundPlayer.position >= 0) { - const formatTime = (time: number): string => { - return time.toString().padStart(2, '0'); - }; - - const formatHour = (hour: number): string => { - return hour > 0 ? formatTime(hour) + ':' : ''; - }; - - self.tooltip_text = `${formatHour(curHour)}${formatTime(curMin)}:${formatTime(curSec)}`; - } else { - self.tooltip_text = `00:00`; - } - }; - self.poll(1000, updateTooltip); - self.hook(media, updateTooltip); - }, - }), - }), - ], - }); -}; - -export { Bar }; diff --git a/ags/HyprPanel/modules/menus/media/components/controls.ts b/ags/HyprPanel/modules/menus/media/components/controls.ts deleted file mode 100644 index 5cbce21..0000000 --- a/ags/HyprPanel/modules/menus/media/components/controls.ts +++ /dev/null @@ -1,198 +0,0 @@ -import { MprisPlayer } from 'types/service/mpris.js'; -import icons from '../../../icons/index.js'; -import { LoopStatus, PlaybackStatus } from 'lib/types/mpris.js'; -import { BoxWidget } from 'lib/types/widget.js'; -const media = await Service.import('mpris'); - -const Controls = (getPlayerInfo: () => MprisPlayer): BoxWidget => { - const isValidLoopStatus = (status: string): status is LoopStatus => ['none', 'track', 'playlist'].includes(status); - - const isValidPlaybackStatus = (status: string): status is PlaybackStatus => - ['playing', 'paused', 'stopped'].includes(status); - - const isLoopActive = (player: MprisPlayer): string => { - return player['loop_status'] !== null && ['track', 'playlist'].includes(player['loop_status'].toLowerCase()) - ? 'active' - : ''; - }; - - const isShuffleActive = (player: MprisPlayer): string => { - return player['shuffle_status'] !== null && player['shuffle_status'] ? 'active' : ''; - }; - - return Widget.Box({ - class_name: 'media-indicator-current-player-controls', - vertical: true, - children: [ - Widget.Box({ - class_name: 'media-indicator-current-controls', - hpack: 'center', - children: [ - Widget.Box({ - class_name: 'media-indicator-control shuffle', - children: [ - Widget.Button({ - hpack: 'center', - hasTooltip: true, - setup: (self) => { - self.hook(media, () => { - const foundPlayer = getPlayerInfo(); - if (foundPlayer === undefined) { - self.tooltip_text = 'Unavailable'; - self.class_name = 'media-indicator-control-button shuffle disabled'; - return; - } - - self.tooltip_text = - foundPlayer.shuffle_status !== null - ? foundPlayer.shuffle_status - ? 'Shuffling' - : 'Not Shuffling' - : null; - self.on_primary_click = (): void => { - foundPlayer.shuffle(); - }; - self.class_name = `media-indicator-control-button shuffle ${isShuffleActive(foundPlayer)} ${foundPlayer.shuffle_status !== null ? 'enabled' : 'disabled'}`; - }); - }, - child: Widget.Icon(icons.mpris.shuffle['enabled']), - }), - ], - }), - Widget.Box({ - children: [ - Widget.Button({ - hpack: 'center', - child: Widget.Icon(icons.mpris.prev), - setup: (self) => { - self.hook(media, () => { - const foundPlayer = getPlayerInfo(); - if (foundPlayer === undefined) { - self.class_name = 'media-indicator-control-button prev disabled'; - return; - } - - self.on_primary_click = (): void => { - foundPlayer.previous(); - }; - self.class_name = `media-indicator-control-button prev ${foundPlayer.can_go_prev !== null && foundPlayer.can_go_prev ? 'enabled' : 'disabled'}`; - }); - }, - }), - ], - }), - Widget.Box({ - children: [ - Widget.Button({ - hpack: 'center', - setup: (self) => { - self.hook(media, () => { - const foundPlayer = getPlayerInfo(); - if (foundPlayer === undefined) { - self.class_name = 'media-indicator-control-button play disabled'; - return; - } - - self.on_primary_click = (): void => { - foundPlayer.playPause(); - }; - self.class_name = `media-indicator-control-button play ${foundPlayer.can_play !== null ? 'enabled' : 'disabled'}`; - }); - }, - child: Widget.Icon({ - icon: Utils.watch(icons.mpris.paused, media, 'changed', () => { - const foundPlayer: MprisPlayer = getPlayerInfo(); - if (foundPlayer === undefined) { - return icons.mpris['paused']; - } - const playbackStatus = foundPlayer.play_back_status?.toLowerCase(); - - if (playbackStatus && isValidPlaybackStatus(playbackStatus)) { - return icons.mpris[playbackStatus]; - } else { - return icons.mpris['paused']; - } - }), - }), - }), - ], - }), - Widget.Box({ - class_name: `media-indicator-control next`, - children: [ - Widget.Button({ - hpack: 'center', - child: Widget.Icon(icons.mpris.next), - setup: (self) => { - self.hook(media, () => { - const foundPlayer = getPlayerInfo(); - if (foundPlayer === undefined) { - self.class_name = 'media-indicator-control-button next disabled'; - return; - } - - self.on_primary_click = (): void => { - foundPlayer.next(); - }; - self.class_name = `media-indicator-control-button next ${foundPlayer.can_go_next !== null && foundPlayer.can_go_next ? 'enabled' : 'disabled'}`; - }); - }, - }), - ], - }), - Widget.Box({ - class_name: 'media-indicator-control loop', - children: [ - Widget.Button({ - hpack: 'center', - setup: (self) => { - self.hook(media, () => { - const foundPlayer = getPlayerInfo(); - if (foundPlayer === undefined) { - self.tooltip_text = 'Unavailable'; - self.class_name = 'media-indicator-control-button shuffle disabled'; - return; - } - - self.tooltip_text = - foundPlayer.loop_status !== null - ? foundPlayer.loop_status - ? 'Shuffling' - : 'Not Shuffling' - : null; - self.on_primary_click = (): void => { - foundPlayer.loop(); - }; - self.class_name = `media-indicator-control-button loop ${isLoopActive(foundPlayer)} ${foundPlayer.loop_status !== null ? 'enabled' : 'disabled'}`; - }); - }, - child: Widget.Icon({ - setup: (self) => { - self.hook(media, () => { - const foundPlayer: MprisPlayer = getPlayerInfo(); - - if (foundPlayer === undefined) { - self.icon = icons.mpris.loop['none']; - return; - } - - const loopStatus = foundPlayer.loop_status?.toLowerCase(); - - if (loopStatus && isValidLoopStatus(loopStatus)) { - self.icon = icons.mpris.loop[loopStatus]; - } else { - self.icon = icons.mpris.loop['none']; - } - }); - }, - }), - }), - ], - }), - ], - }), - ], - }); -}; - -export { Controls }; diff --git a/ags/HyprPanel/modules/menus/media/components/mediainfo.ts b/ags/HyprPanel/modules/menus/media/components/mediainfo.ts deleted file mode 100644 index ea6cb76..0000000 --- a/ags/HyprPanel/modules/menus/media/components/mediainfo.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { BoxWidget } from 'lib/types/widget'; -import { MprisPlayer } from 'types/service/mpris'; - -const media = await Service.import('mpris'); - -const MediaInfo = (getPlayerInfo: () => MprisPlayer): BoxWidget => { - return Widget.Box({ - class_name: 'media-indicator-current-media-info', - hpack: 'center', - hexpand: true, - vertical: true, - children: [ - Widget.Box({ - class_name: 'media-indicator-current-song-name', - hpack: 'center', - children: [ - Widget.Label({ - truncate: 'end', - max_width_chars: 31, - wrap: true, - class_name: 'media-indicator-current-song-name-label', - setup: (self) => { - self.hook(media, () => { - const curPlayer = getPlayerInfo(); - return (self.label = - curPlayer !== undefined && curPlayer['track_title'].length - ? curPlayer['track_title'] - : 'No Media Currently Playing'); - }); - }, - }), - ], - }), - Widget.Box({ - class_name: 'media-indicator-current-song-author', - hpack: 'center', - children: [ - Widget.Label({ - truncate: 'end', - wrap: true, - max_width_chars: 35, - class_name: 'media-indicator-current-song-author-label', - setup: (self) => { - self.hook(media, () => { - const curPlayer = getPlayerInfo(); - - const makeArtistList = (trackArtists: string[]): string => { - if (trackArtists.length === 1 && !trackArtists[0].length) { - return '-----'; - } - - return trackArtists.join(', '); - }; - - return (self.label = - curPlayer !== undefined && curPlayer['track_artists'].length - ? makeArtistList(curPlayer['track_artists']) - : '-----'); - }); - }, - }), - ], - }), - Widget.Box({ - class_name: 'media-indicator-current-song-album', - hpack: 'center', - children: [ - Widget.Label({ - truncate: 'end', - wrap: true, - max_width_chars: 40, - class_name: 'media-indicator-current-song-album-label', - setup: (self) => { - self.hook(media, () => { - const curPlayer = getPlayerInfo(); - return (self.label = - curPlayer !== undefined && curPlayer['track_album'].length - ? curPlayer['track_album'] - : '---'); - }); - }, - }), - ], - }), - ], - }); -}; - -export { MediaInfo }; diff --git a/ags/HyprPanel/modules/menus/media/index.ts b/ags/HyprPanel/modules/menus/media/index.ts deleted file mode 100644 index 489034d..0000000 --- a/ags/HyprPanel/modules/menus/media/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import Window from 'types/widgets/window.js'; -import DropdownMenu from '../shared/dropdown/index.js'; -import { Media } from './media.js'; -import { Attribute, Child } from 'lib/types/widget.js'; -import options from 'options.js'; - -export default (): Window => { - return DropdownMenu({ - name: 'mediamenu', - transition: options.menus.transition.bind('value'), - child: Widget.Box({ - class_name: 'menu-items media', - hpack: 'fill', - hexpand: true, - child: Widget.Box({ - class_name: 'menu-items-container media', - hpack: 'fill', - hexpand: true, - child: Media(), - }), - }), - }); -}; diff --git a/ags/HyprPanel/modules/menus/media/media.ts b/ags/HyprPanel/modules/menus/media/media.ts deleted file mode 100644 index 2035516..0000000 --- a/ags/HyprPanel/modules/menus/media/media.ts +++ /dev/null @@ -1,97 +0,0 @@ -const media = await Service.import('mpris'); -import { MediaInfo } from './components/mediainfo.js'; -import { Controls } from './components/controls.js'; -import { Bar } from './components/bar.js'; -import { MprisPlayer } from 'types/service/mpris.js'; -import options from 'options.js'; -import { BoxWidget } from 'lib/types/widget.js'; - -const { tint, color } = options.theme.bar.menus.menu.media.card; - -const generateAlbumArt = (imageUrl: string): string => { - const userTint = tint.value; - const userHexColor = color.value; - - const r = parseInt(userHexColor.slice(1, 3), 16); - const g = parseInt(userHexColor.slice(3, 5), 16); - const b = parseInt(userHexColor.slice(5, 7), 16); - - const alpha = userTint / 100; - - const css = `background-image: linear-gradient( - rgba(${r}, ${g}, ${b}, ${alpha}), - rgba(${r}, ${g}, ${b}, ${alpha}), - ${userHexColor} 65em - ), url("${imageUrl}");`; - - return css; -}; -const Media = (): BoxWidget => { - const curPlayer = Variable(''); - - media.connect('changed', () => { - const statusOrder = { - Playing: 1, - Paused: 2, - Stopped: 3, - }; - - const isPlaying = media.players.find((p) => p['play_back_status'] === 'Playing'); - - const playerStillExists = media.players.some((p) => curPlayer.value === p['bus_name']); - - const nextPlayerUp = media.players.sort( - (a, b) => statusOrder[a['play_back_status']] - statusOrder[b['play_back_status']], - )[0].bus_name; - - if (isPlaying || !playerStillExists) { - curPlayer.value = nextPlayerUp; - } - }); - - const getPlayerInfo = (): MprisPlayer => { - return media.players.find((p) => p.bus_name === curPlayer.value) || media.players[0]; - }; - - return Widget.Box({ - class_name: 'menu-section-container', - children: [ - Widget.Box({ - class_name: 'menu-items-section', - vertical: false, - child: Widget.Box({ - class_name: 'menu-content', - children: [ - Widget.Box({ - class_name: 'media-content', - child: Widget.Box({ - class_name: 'media-indicator-right-section', - hpack: 'fill', - hexpand: true, - vertical: true, - children: [MediaInfo(getPlayerInfo), Controls(getPlayerInfo), Bar(getPlayerInfo)], - }), - }), - ], - setup: (self) => { - self.hook(media, () => { - const curPlayer = getPlayerInfo(); - if (curPlayer !== undefined) { - self.css = generateAlbumArt(curPlayer.track_cover_url); - } - }); - - Utils.merge([color.bind('value'), tint.bind('value')], () => { - const curPlayer = getPlayerInfo(); - if (curPlayer !== undefined) { - self.css = generateAlbumArt(curPlayer.track_cover_url); - } - }); - }, - }), - }), - ], - }); -}; - -export { Media }; diff --git a/ags/HyprPanel/modules/menus/network/ethernet/index.ts b/ags/HyprPanel/modules/menus/network/ethernet/index.ts deleted file mode 100644 index e1bf0d0..0000000 --- a/ags/HyprPanel/modules/menus/network/ethernet/index.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { BoxWidget } from 'lib/types/widget'; - -const network = await Service.import('network'); - -const Ethernet = (): BoxWidget => { - return Widget.Box({ - class_name: 'menu-section-container ethernet', - vertical: true, - children: [ - Widget.Box({ - class_name: 'menu-label-container', - hpack: 'fill', - child: Widget.Label({ - class_name: 'menu-label', - hexpand: true, - hpack: 'start', - label: 'Ethernet', - }), - }), - Widget.Box({ - class_name: 'menu-items-section', - vertical: true, - child: Widget.Box({ - class_name: 'menu-content', - vertical: true, - setup: (self) => { - self.hook(network, () => { - return (self.child = Widget.Box({ - class_name: 'network-element-item', - child: Widget.Box({ - hpack: 'start', - children: [ - Widget.Icon({ - class_name: `network-icon ethernet ${network.wired.state === 'activated' ? 'active' : ''}`, - tooltip_text: network.wired.internet, - icon: `${network.wired['icon_name']}`, - }), - Widget.Box({ - class_name: 'connection-container', - vertical: true, - children: [ - Widget.Label({ - class_name: 'active-connection', - hpack: 'start', - truncate: 'end', - wrap: true, - label: `Ethernet Connection ${network.wired.state !== 'unknown' && typeof network.wired?.speed === 'number' ? `(${network.wired?.speed / 1000} Gbps)` : ''}`, - }), - Widget.Label({ - hpack: 'start', - class_name: 'connection-status dim', - label: - network.wired.internet.charAt(0).toUpperCase() + - network.wired.internet.slice(1), - }), - ], - }), - ], - }), - })); - }); - }, - }), - }), - ], - }); -}; - -export { Ethernet }; diff --git a/ags/HyprPanel/modules/menus/network/index.ts b/ags/HyprPanel/modules/menus/network/index.ts deleted file mode 100644 index f3e88dc..0000000 --- a/ags/HyprPanel/modules/menus/network/index.ts +++ /dev/null @@ -1,22 +0,0 @@ -import Window from 'types/widgets/window.js'; -import DropdownMenu from '../shared/dropdown/index.js'; -import { Ethernet } from './ethernet/index.js'; -import { Wifi } from './wifi/index.js'; -import { Attribute, Child } from 'lib/types/widget.js'; -import options from 'options.js'; - -export default (): Window => { - return DropdownMenu({ - name: 'networkmenu', - transition: options.menus.transition.bind('value'), - child: Widget.Box({ - class_name: 'menu-items network', - child: Widget.Box({ - vertical: true, - hexpand: true, - class_name: 'menu-items-container network', - children: [Ethernet(), Wifi()], - }), - }), - }); -}; diff --git a/ags/HyprPanel/modules/menus/network/utils.ts b/ags/HyprPanel/modules/menus/network/utils.ts deleted file mode 100644 index 229189a..0000000 --- a/ags/HyprPanel/modules/menus/network/utils.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { WifiIcon } from 'lib/types/network'; - -const getWifiIcon = (iconName: string): WifiIcon => { - const deviceIconMap: [string, WifiIcon][] = [ - ['network-wireless-acquiring', '󰤩'], - ['network-wireless-connected', '󰤨'], - ['network-wireless-encrypted', '󰤪'], - ['network-wireless-hotspot', '󰤨'], - ['network-wireless-no-route', '󰤩'], - ['network-wireless-offline', '󰤮'], - ['network-wireless-signal-excellent', '󰤨'], - ['network-wireless-signal-good', '󰤥'], - ['network-wireless-signal-ok', '󰤢'], - ['network-wireless-signal-weak', '󰤟'], - ['network-wireless-signal-none', '󰤯'], - ]; - - const foundMatch = deviceIconMap.find((icon) => RegExp(icon[0]).test(iconName.toLowerCase())); - - return foundMatch ? foundMatch[1] : '󰤨'; -}; - -export { getWifiIcon }; diff --git a/ags/HyprPanel/modules/menus/network/wifi/APStaging.ts b/ags/HyprPanel/modules/menus/network/wifi/APStaging.ts deleted file mode 100644 index 29b2798..0000000 --- a/ags/HyprPanel/modules/menus/network/wifi/APStaging.ts +++ /dev/null @@ -1,104 +0,0 @@ -import { Network } from 'types/service/network'; -import { Variable } from 'types/variable'; -import { AccessPoint } from 'lib/types/network'; -import Box from 'types/widgets/box'; -import { Attribute, Child } from 'lib/types/widget'; - -const renderWapStaging = ( - self: Box, - network: Network, - staging: Variable, - connecting: Variable, -): void => { - Utils.merge([network.bind('wifi'), staging.bind('value')], () => { - if (!Object.keys(staging.value).length) { - return (self.child = Widget.Box()); - } - - return (self.child = Widget.Box({ - class_name: 'network-element-item staging', - vertical: true, - children: [ - Widget.Box({ - hpack: 'fill', - hexpand: true, - children: [ - Widget.Icon({ - class_name: `network-icon wifi`, - icon: `${staging.value.iconName}`, - }), - Widget.Box({ - class_name: 'connection-container', - hexpand: true, - vertical: true, - children: [ - Widget.Label({ - class_name: 'active-connection', - hpack: 'start', - truncate: 'end', - wrap: true, - label: staging.value.ssid, - }), - ], - }), - Widget.Revealer({ - hpack: 'end', - reveal_child: connecting.bind('value').as((c) => staging.value.bssid === c), - child: Widget.Spinner({ - class_name: 'spinner wap', - }), - }), - ], - }), - Widget.Box({ - class_name: 'network-password-input-container', - hpack: 'fill', - hexpand: true, - children: [ - Widget.Entry({ - hpack: 'start', - hexpand: true, - visibility: false, - class_name: 'network-password-input', - placeholder_text: 'enter password', - onAccept: (selfInp) => { - connecting.value = staging.value.bssid || ''; - Utils.execAsync( - `nmcli dev wifi connect ${staging.value.bssid} password ${selfInp.text}`, - ) - .catch((err) => { - connecting.value = ''; - console.error(`Failed to connect to wifi: ${staging.value.ssid}... ${err}`); - Utils.notify({ - summary: 'Network', - body: err, - timeout: 5000, - }); - }) - .then(() => { - connecting.value = ''; - staging.value = {} as AccessPoint; - }); - selfInp.text = ''; - }, - }), - Widget.Button({ - hpack: 'end', - class_name: 'close-network-password-input-button', - on_primary_click: () => { - connecting.value = ''; - staging.value = {} as AccessPoint; - }, - child: Widget.Icon({ - class_name: 'close-network-password-input-icon', - icon: 'window-close-symbolic', - }), - }), - ], - }), - ], - })); - }); -}; - -export { renderWapStaging }; diff --git a/ags/HyprPanel/modules/menus/network/wifi/WirelessAPs.ts b/ags/HyprPanel/modules/menus/network/wifi/WirelessAPs.ts deleted file mode 100644 index fac891d..0000000 --- a/ags/HyprPanel/modules/menus/network/wifi/WirelessAPs.ts +++ /dev/null @@ -1,219 +0,0 @@ -import { Network } from 'types/service/network.js'; -import { AccessPoint, WifiStatus } from 'lib/types/network.js'; -import { Variable } from 'types/variable.js'; -import { getWifiIcon } from '../utils.js'; -import { WIFI_STATUS_MAP } from 'globals/network.js'; -import { Attribute, Child } from 'lib/types/widget.js'; -import Box from 'types/widgets/box.js'; -const renderWAPs = ( - self: Box, - network: Network, - staging: Variable, - connecting: Variable, -): void => { - const getIdBySsid = (ssid: string, nmcliOutput: string): string | undefined => { - const lines = nmcliOutput.trim().split('\n'); - for (const line of lines) { - const columns = line.trim().split(/\s{2,}/); - if (columns[0].includes(ssid)) { - return columns[1]; - } - } - }; - - const isValidWifiStatus = (status: string): status is WifiStatus => { - return status in WIFI_STATUS_MAP; - }; - - const getWifiStatus = (): string => { - const wifiState = network.wifi.state?.toLowerCase(); - - if (wifiState && isValidWifiStatus(wifiState)) { - return WIFI_STATUS_MAP[wifiState]; - } - return WIFI_STATUS_MAP['unknown']; - }; - - self.hook(network, () => { - Utils.merge([staging.bind('value'), connecting.bind('value')], () => { - // NOTE: Sometimes the network service will yield a "this._device is undefined" when - // trying to access the "access_points" property. So we must validate that - // it's not 'undefined' - // -- - // Also this is an AGS bug that needs to be fixed - - // TODO: Remove @ts-ignore once AGS bug is fixed - // @ts-expect-error to fix AGS bug - let WAPs = network.wifi._device !== undefined ? network.wifi['access_points'] : []; - - const dedupeWAPs = (): AccessPoint[] => { - const dedupMap: Record = {}; - WAPs.forEach((item: AccessPoint) => { - if (item.ssid !== null && !Object.hasOwnProperty.call(dedupMap, item.ssid)) { - dedupMap[item.ssid] = item; - } - }); - - return Object.keys(dedupMap).map((itm) => dedupMap[itm]); - }; - - WAPs = dedupeWAPs(); - - const isInStaging = (wap: AccessPoint): boolean => { - if (Object.keys(staging.value).length === 0) { - return false; - } - - return wap.bssid === staging.value.bssid; - }; - - const isDisconnecting = (wap: AccessPoint): boolean => { - if (wap.ssid === network.wifi.ssid) { - return network.wifi.state.toLowerCase() === 'deactivating'; - } - return false; - }; - - const filteredWAPs = WAPs.filter((ap: AccessPoint) => { - return ap.ssid !== 'Unknown' && !isInStaging(ap); - }).sort((a: AccessPoint, b: AccessPoint) => { - if (network.wifi.ssid === a.ssid) { - return -1; - } - - if (network.wifi.ssid === b.ssid) { - return 1; - } - - return b.strength - a.strength; - }); - - if (filteredWAPs.length <= 0 && Object.keys(staging.value).length === 0) { - return (self.child = Widget.Label({ - class_name: 'waps-not-found dim', - expand: true, - hpack: 'center', - vpack: 'center', - label: 'No Wi-Fi Networks Found', - })); - } - return (self.children = filteredWAPs.map((ap: AccessPoint) => { - return Widget.Box({ - children: [ - Widget.Button({ - on_primary_click: () => { - if (ap.bssid === connecting.value || ap.active) { - return; - } - - connecting.value = ap.bssid || ''; - Utils.execAsync(`nmcli device wifi connect ${ap.bssid}`) - .then(() => { - connecting.value = ''; - staging.value = {} as AccessPoint; - }) - .catch((err) => { - if (err.toLowerCase().includes('secrets were required, but not provided')) { - staging.value = ap; - } else { - Utils.notify({ - summary: 'Network', - body: err, - timeout: 5000, - }); - } - connecting.value = ''; - }); - }, - class_name: 'network-element-item', - child: Widget.Box({ - hexpand: true, - children: [ - Widget.Box({ - hpack: 'start', - hexpand: true, - children: [ - Widget.Label({ - vpack: 'start', - class_name: `network-icon wifi ${ap.ssid === network.wifi.ssid ? 'active' : ''} txt-icon`, - label: getWifiIcon(`${ap['iconName']}`), - }), - Widget.Box({ - class_name: 'connection-container', - vpack: 'center', - vertical: true, - children: [ - Widget.Label({ - vpack: 'center', - class_name: 'active-connection', - hpack: 'start', - truncate: 'end', - wrap: true, - label: ap.ssid, - }), - Widget.Revealer({ - revealChild: ap.ssid === network.wifi.ssid, - child: Widget.Label({ - hpack: 'start', - class_name: 'connection-status dim', - label: getWifiStatus(), - }), - }), - ], - }), - ], - }), - Widget.Revealer({ - hpack: 'end', - vpack: 'start', - reveal_child: ap.bssid === connecting.value || isDisconnecting(ap), - child: Widget.Spinner({ - vpack: 'start', - class_name: 'spinner wap', - }), - }), - ], - }), - }), - Widget.Revealer({ - vpack: 'start', - reveal_child: ap.bssid !== connecting.value && ap.active, - child: Widget.Button({ - tooltip_text: 'Delete/Forget Network', - class_name: 'menu-icon-button network disconnect', - on_primary_click: () => { - connecting.value = ap.bssid || ''; - Utils.execAsync('nmcli connection show --active').then(() => { - Utils.execAsync('nmcli connection show --active').then((res) => { - const connectionId = getIdBySsid(ap.ssid || '', res); - - if (connectionId === undefined) { - console.error( - `Error while forgetting "${ap.ssid}": Connection ID not found`, - ); - return; - } - - Utils.execAsync(`nmcli connection delete ${connectionId} "${ap.ssid}"`) - .then(() => (connecting.value = '')) - .catch((err) => { - connecting.value = ''; - console.error(`Error while forgetting "${ap.ssid}": ${err}`); - }); - }); - }); - }, - child: Widget.Label({ - class_name: 'txt-icon delete-network', - label: '󰚃', - }), - }), - }), - ], - }); - })); - }); - }); -}; - -export { renderWAPs }; diff --git a/ags/HyprPanel/modules/menus/network/wifi/index.ts b/ags/HyprPanel/modules/menus/network/wifi/index.ts deleted file mode 100644 index 57948f6..0000000 --- a/ags/HyprPanel/modules/menus/network/wifi/index.ts +++ /dev/null @@ -1,81 +0,0 @@ -const network = await Service.import('network'); -import { renderWAPs } from './WirelessAPs.js'; -import { renderWapStaging } from './APStaging.js'; -import { AccessPoint } from 'lib/types/network.js'; -import { BoxWidget } from 'lib/types/widget.js'; - -const Staging = Variable({} as AccessPoint); -const Connecting = Variable(''); - -const searchInProgress = Variable(false); - -const startRotation = (): void => { - searchInProgress.value = true; - setTimeout(() => { - searchInProgress.value = false; - }, 5 * 1000); -}; - -const Wifi = (): BoxWidget => { - return Widget.Box({ - class_name: 'menu-section-container wifi', - vertical: true, - children: [ - Widget.Box({ - class_name: 'menu-label-container', - hpack: 'fill', - children: [ - Widget.Label({ - class_name: 'menu-label', - hexpand: true, - hpack: 'start', - label: 'Wi-Fi', - }), - Widget.Switch({ - class_name: 'menu-switch network', - vpack: 'center', - tooltip_text: 'Toggle Wifi', - active: network.wifi.enabled, - on_activate: () => { - network.toggleWifi(); - }, - }), - Widget.Button({ - vpack: 'center', - hpack: 'end', - class_name: 'menu-icon-button search network', - on_primary_click: () => { - startRotation(); - network.wifi.scan(); - }, - child: Widget.Icon({ - class_name: searchInProgress.bind('value').as((v) => (v ? 'spinning' : '')), - icon: 'view-refresh-symbolic', - }), - }), - ], - }), - Widget.Box({ - class_name: 'menu-items-section', - vertical: true, - children: [ - Widget.Box({ - class_name: 'wap-staging', - setup: (self) => { - renderWapStaging(self, network, Staging, Connecting); - }, - }), - Widget.Box({ - class_name: 'available-waps', - vertical: true, - setup: (self) => { - renderWAPs(self, network, Staging, Connecting); - }, - }), - ], - }), - ], - }); -}; - -export { Wifi }; diff --git a/ags/HyprPanel/modules/menus/notifications/controls/index.ts b/ags/HyprPanel/modules/menus/notifications/controls/index.ts deleted file mode 100644 index a2964fd..0000000 --- a/ags/HyprPanel/modules/menus/notifications/controls/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { closeNotifications } from 'globals/notification'; -import { BoxWidget } from 'lib/types/widget'; -import { Notifications } from 'types/service/notifications'; -import options from 'options'; - -const { clearDelay } = options.notifications; - -const Controls = (notifs: Notifications): BoxWidget => { - return Widget.Box({ - class_name: 'notification-menu-controls', - expand: false, - vertical: false, - children: [ - Widget.Box({ - class_name: 'menu-label-container notifications', - hpack: 'start', - vpack: 'center', - expand: true, - children: [ - Widget.Label({ - class_name: 'menu-label notifications', - label: 'Notifications', - }), - ], - }), - Widget.Box({ - hpack: 'end', - vpack: 'center', - expand: false, - children: [ - Widget.Switch({ - class_name: 'menu-switch notifications', - vpack: 'center', - active: notifs.bind('dnd').as((dnd: boolean) => !dnd), - on_activate: ({ active }) => { - notifs.dnd = !active; - }, - }), - Widget.Box({ - children: [ - Widget.Separator({ - hpack: 'center', - vexpand: true, - vertical: true, - class_name: 'menu-separator notification-controls', - }), - Widget.Button({ - className: 'clear-notifications-button', - tooltip_text: 'Clear Notifications', - on_primary_click: clearDelay.bind('value').as((delay) => { - return () => { - if (removingNotifications.value) { - return; - } - - return closeNotifications(notifs.notifications, delay); - }; - }), - child: Widget.Label({ - class_name: removingNotifications.bind('value').as((removing: boolean) => { - return removing - ? 'clear-notifications-label txt-icon removing' - : 'clear-notifications-label txt-icon'; - }), - label: '', - }), - }), - ], - }), - ], - }), - ], - }); -}; - -export { Controls }; diff --git a/ags/HyprPanel/modules/menus/notifications/index.ts b/ags/HyprPanel/modules/menus/notifications/index.ts deleted file mode 100644 index bbdbce2..0000000 --- a/ags/HyprPanel/modules/menus/notifications/index.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { Notification } from 'types/service/notifications.js'; -import DropdownMenu from '../shared/dropdown/index.js'; -const notifs = await Service.import('notifications'); -import { Controls } from './controls/index.js'; -import { NotificationCard } from './notification/index.js'; -import { NotificationPager } from './pager/index.js'; - -import options from 'options'; -import Window from 'types/widgets/window.js'; -import { Attribute, Child } from 'lib/types/widget.js'; - -const { displayedTotal } = options.notifications; - -export default (): Window => { - const curPage = Variable(1); - - Utils.merge( - [curPage.bind('value'), displayedTotal.bind('value'), notifs.bind('notifications')], - (currentPage: number, dispTotal: number, notifications: Notification[]) => { - // If the page doesn't have enough notifications to display, go back - // to the previous page. - if (notifications.length <= (currentPage - 1) * dispTotal) { - curPage.value = currentPage <= 1 ? 1 : currentPage - 1; - } - }, - ); - - return DropdownMenu({ - name: 'notificationsmenu', - transition: options.menus.transition.bind('value'), - child: Widget.Box({ - class_name: 'notification-menu-content', - css: 'padding: 1px; margin: -1px;', - hexpand: true, - vexpand: false, - children: [ - Widget.Box({ - class_name: 'notification-card-container menu', - vertical: true, - hexpand: false, - vexpand: false, - children: [Controls(notifs), NotificationCard(notifs, curPage), NotificationPager(curPage)], - }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/modules/menus/notifications/notification/actions/index.ts b/ags/HyprPanel/modules/menus/notifications/notification/actions/index.ts deleted file mode 100644 index bf68dad..0000000 --- a/ags/HyprPanel/modules/menus/notifications/notification/actions/index.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { BoxWidget } from 'lib/types/widget'; -import { Notification, Notifications } from 'types/service/notifications'; -const Actions = (notif: Notification, notifs: Notifications): BoxWidget => { - if (notif.actions !== undefined && notif.actions.length > 0) { - return Widget.Box({ - class_name: 'notification-card-actions menu', - hexpand: true, - vpack: 'end', - children: notif.actions.map((action) => { - return Widget.Button({ - hexpand: true, - class_name: 'notification-action-buttons menu', - on_primary_click: () => { - if (action.id.includes('scriptAction:-')) { - App.closeWindow('notificationsmenu'); - Utils.execAsync(`${action.id.replace('scriptAction:-', '')}`).catch((err) => - console.error(err), - ); - notifs.CloseNotification(notif.id); - } else { - App.closeWindow('notificationsmenu'); - notif.invoke(action.id); - } - }, - child: Widget.Box({ - hpack: 'center', - hexpand: true, - children: [ - Widget.Label({ - class_name: 'notification-action-buttons-label menu', - hexpand: true, - max_width_chars: 15, - truncate: 'end', - wrap: true, - label: action.label, - }), - ], - }), - }); - }), - }); - } - - return Widget.Box({ - class_name: 'spacer', - }); -}; - -export { Actions }; diff --git a/ags/HyprPanel/modules/menus/notifications/notification/body/index.ts b/ags/HyprPanel/modules/menus/notifications/notification/body/index.ts deleted file mode 100644 index 62aac7a..0000000 --- a/ags/HyprPanel/modules/menus/notifications/notification/body/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { BoxWidget } from 'lib/types/widget.js'; -import { notifHasImg } from '../../utils.js'; -import { Notification } from 'types/service/notifications'; - -export const Body = (notif: Notification): BoxWidget => { - return Widget.Box({ - vpack: 'start', - hexpand: true, - class_name: 'notification-card-body menu', - children: [ - Widget.Label({ - hexpand: true, - use_markup: true, - xalign: 0, - justification: 'left', - truncate: 'end', - lines: 2, - max_width_chars: !notifHasImg(notif) ? 35 : 28, - wrap: true, - class_name: 'notification-card-body-label menu', - label: notif['body'], - }), - ], - }); -}; diff --git a/ags/HyprPanel/modules/menus/notifications/notification/close/index.ts b/ags/HyprPanel/modules/menus/notifications/notification/close/index.ts deleted file mode 100644 index 261f949..0000000 --- a/ags/HyprPanel/modules/menus/notifications/notification/close/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Attribute } from 'lib/types/widget'; -import { Notification, Notifications } from 'types/service/notifications'; -import Button from 'types/widgets/button'; -import Label from 'types/widgets/label'; -export const CloseButton = (notif: Notification, notifs: Notifications): Button, Attribute> => { - return Widget.Button({ - class_name: 'close-notification-button menu', - on_primary_click: () => { - notifs.CloseNotification(notif.id); - }, - child: Widget.Label({ - class_name: 'txt-icon notif-close', - label: '󰅜', - hpack: 'center', - }), - }); -}; diff --git a/ags/HyprPanel/modules/menus/notifications/notification/header/icon.ts b/ags/HyprPanel/modules/menus/notifications/notification/header/icon.ts deleted file mode 100644 index c51bc01..0000000 --- a/ags/HyprPanel/modules/menus/notifications/notification/header/icon.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Notification } from 'types/service/notifications.js'; -import { NotificationIcon } from 'lib/types/notification.js'; -import { getNotificationIcon } from 'globals/notification'; -import { BoxWidget } from 'lib/types/widget'; - -const NotificationIcon = ({ app_entry = '', app_icon = '', app_name = '' }: Partial): BoxWidget => { - return Widget.Box({ - css: ` - min-width: 2rem; - min-height: 2rem; - `, - child: Widget.Icon({ - class_name: 'notification-icon menu', - icon: getNotificationIcon(app_name, app_icon, app_entry), - }), - }); -}; - -export { NotificationIcon }; diff --git a/ags/HyprPanel/modules/menus/notifications/notification/header/index.ts b/ags/HyprPanel/modules/menus/notifications/notification/header/index.ts deleted file mode 100644 index 1373ae3..0000000 --- a/ags/HyprPanel/modules/menus/notifications/notification/header/index.ts +++ /dev/null @@ -1,54 +0,0 @@ -import GLib from 'gi://GLib'; -import { Notification } from 'types/service/notifications'; -import { NotificationIcon } from './icon.js'; -import { notifHasImg } from '../../utils.js'; -import options from 'options.js'; -import { BoxWidget } from 'lib/types/widget.js'; - -const { military } = options.menus.clock.time; - -export const Header = (notif: Notification): BoxWidget => { - const time = (time: number, format = '%I:%M %p'): string => { - return GLib.DateTime.new_from_unix_local(time).format(military.value ? '%H:%M' : format) || '--:--'; - }; - - return Widget.Box({ - vertical: false, - hexpand: true, - children: [ - Widget.Box({ - class_name: 'notification-card-header menu', - hpack: 'start', - children: [NotificationIcon(notif)], - }), - Widget.Box({ - class_name: 'notification-card-header menu', - hexpand: true, - vpack: 'start', - children: [ - Widget.Label({ - class_name: 'notification-card-header-label menu', - hpack: 'start', - hexpand: true, - vexpand: true, - max_width_chars: !notifHasImg(notif) ? 34 : 22, - truncate: 'end', - wrap: true, - label: notif['summary'], - }), - ], - }), - Widget.Box({ - class_name: 'notification-card-header menu', - hpack: 'end', - vpack: 'start', - hexpand: true, - child: Widget.Label({ - vexpand: true, - class_name: 'notification-time', - label: time(notif.time), - }), - }), - ], - }); -}; diff --git a/ags/HyprPanel/modules/menus/notifications/notification/image/index.ts b/ags/HyprPanel/modules/menus/notifications/notification/image/index.ts deleted file mode 100644 index 6b01768..0000000 --- a/ags/HyprPanel/modules/menus/notifications/notification/image/index.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Notification } from 'types/service/notifications'; -import { notifHasImg } from '../../utils.js'; -import { BoxWidget } from 'lib/types/widget.js'; - -const Image = (notif: Notification): BoxWidget => { - if (notifHasImg(notif)) { - return Widget.Box({ - class_name: 'notification-card-image-container menu', - hpack: 'center', - vpack: 'center', - vexpand: false, - child: Widget.Box({ - hpack: 'center', - vexpand: false, - class_name: 'notification-card-image menu', - css: `background-image: url("${notif.image}")`, - }), - }); - } - - return Widget.Box(); -}; - -export { Image }; diff --git a/ags/HyprPanel/modules/menus/notifications/notification/index.ts b/ags/HyprPanel/modules/menus/notifications/notification/index.ts deleted file mode 100644 index 9254327..0000000 --- a/ags/HyprPanel/modules/menus/notifications/notification/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { Notifications, Notification } from 'types/service/notifications'; -import { notifHasImg } from '../utils.js'; -import { Header } from './header/index.js'; -import { Actions } from './actions/index.js'; -import { Image } from './image/index.js'; -import { Placeholder } from './placeholder/index.js'; -import { Body } from './body/index.js'; -import { CloseButton } from './close/index.js'; -import options from 'options.js'; -import { Variable } from 'types/variable.js'; -import { filterNotifications } from 'lib/shared/notifications.js'; -import Scrollable from 'types/widgets/scrollable.js'; -import { Attribute, Child } from 'lib/types/widget.js'; - -const { displayedTotal, ignore } = options.notifications; - -const NotificationCard = (notifs: Notifications, curPage: Variable): Scrollable => { - return Widget.Scrollable({ - vscroll: 'automatic', - child: Widget.Box({ - class_name: 'menu-content-container notifications', - hpack: 'center', - vexpand: true, - spacing: 0, - vertical: true, - setup: (self) => { - Utils.merge( - [ - notifs.bind('notifications'), - curPage.bind('value'), - displayedTotal.bind('value'), - ignore.bind('value'), - ], - (notifications, currentPage, dispTotal, ignoredNotifs) => { - const filteredNotifications = filterNotifications(notifications, ignoredNotifs); - - const sortedNotifications = filteredNotifications.sort((a, b) => b.time - a.time); - - if (filteredNotifications.length <= 0) { - return (self.children = [Placeholder(notifs)]); - } - - const pageStart = (currentPage - 1) * dispTotal; - const pageEnd = currentPage * dispTotal; - return (self.children = sortedNotifications - .slice(pageStart, pageEnd) - .map((notif: Notification) => { - return Widget.Box({ - class_name: 'notification-card-content-container', - children: [ - Widget.Box({ - class_name: 'notification-card menu', - vpack: 'start', - hexpand: true, - vexpand: false, - children: [ - Image(notif), - Widget.Box({ - vpack: 'center', - vertical: true, - hexpand: true, - class_name: `notification-card-content ${!notifHasImg(notif) ? 'noimg' : ' menu'}`, - children: [Header(notif), Body(notif), Actions(notif, notifs)], - }), - ], - }), - CloseButton(notif, notifs), - ], - }); - })); - }, - ); - }, - }), - }); -}; - -export { NotificationCard }; diff --git a/ags/HyprPanel/modules/menus/notifications/notification/placeholder/index.ts b/ags/HyprPanel/modules/menus/notifications/notification/placeholder/index.ts deleted file mode 100644 index e22df55..0000000 --- a/ags/HyprPanel/modules/menus/notifications/notification/placeholder/index.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { BoxWidget } from 'lib/types/widget'; -import { Notifications } from 'types/service/notifications'; - -const Placeholder = (notifs: Notifications): BoxWidget => { - return Widget.Box({ - class_name: 'notification-label-container', - vpack: 'fill', - hpack: 'center', - expand: true, - child: Widget.Box({ - vpack: 'center', - vertical: true, - expand: true, - children: [ - Widget.Label({ - vpack: 'center', - class_name: 'placeholder-label dim bell txt-icon', - label: notifs.bind('dnd').as((dnd) => (dnd ? '󰂛' : '󰂚')), - }), - Widget.Label({ - vpack: 'start', - class_name: 'placehold-label dim message', - label: "You're all caught up :)", - }), - ], - }), - }); -}; - -export { Placeholder }; diff --git a/ags/HyprPanel/modules/menus/notifications/pager/index.ts b/ags/HyprPanel/modules/menus/notifications/pager/index.ts deleted file mode 100644 index 1a4571b..0000000 --- a/ags/HyprPanel/modules/menus/notifications/pager/index.ts +++ /dev/null @@ -1,88 +0,0 @@ -const notifs = await Service.import('notifications'); - -import { BoxWidget } from 'lib/types/widget'; -import options from 'options'; -import { Notification } from 'types/service/notifications'; -import { Variable } from 'types/variable'; - -const { displayedTotal } = options.notifications; -const { show: showPager } = options.theme.bar.menus.menu.notifications.pager; - -export const NotificationPager = (curPage: Variable): BoxWidget => { - return Widget.Box({ - class_name: 'notification-menu-pager', - hexpand: true, - vexpand: false, - children: Utils.merge( - [ - curPage.bind('value'), - displayedTotal.bind('value'), - notifs.bind('notifications'), - showPager.bind('value'), - ], - (currentPage: number, dispTotal: number, _: Notification[], showPgr: boolean) => { - if (showPgr === false || (currentPage === 1 && notifs.notifications.length <= dispTotal)) { - return []; - } - return [ - Widget.Button({ - hexpand: true, - hpack: 'start', - class_name: `pager-button left ${currentPage <= 1 ? 'disabled' : ''}`, - onPrimaryClick: () => { - curPage.value = 1; - }, - child: Widget.Label({ - className: 'pager-button-label', - label: '', - }), - }), - Widget.Button({ - hexpand: true, - hpack: 'start', - class_name: `pager-button left ${currentPage <= 1 ? 'disabled' : ''}`, - onPrimaryClick: () => { - curPage.value = currentPage <= 1 ? 1 : currentPage - 1; - }, - child: Widget.Label({ - className: 'pager-button-label', - label: '', - }), - }), - Widget.Label({ - hexpand: true, - hpack: 'center', - class_name: 'pager-label', - label: `${currentPage} / ${Math.ceil(notifs.notifications.length / dispTotal) || 1}`, - }), - Widget.Button({ - hexpand: true, - hpack: 'end', - class_name: `pager-button right ${currentPage >= Math.ceil(notifs.notifications.length / dispTotal) ? 'disabled' : ''}`, - onPrimaryClick: () => { - const maxPage = Math.ceil(notifs.notifications.length / displayedTotal.value); - curPage.value = currentPage >= maxPage ? currentPage : currentPage + 1; - }, - child: Widget.Label({ - className: 'pager-button-label', - label: '', - }), - }), - Widget.Button({ - hexpand: true, - hpack: 'end', - class_name: `pager-button right ${currentPage >= Math.ceil(notifs.notifications.length / dispTotal) ? 'disabled' : ''}`, - onPrimaryClick: () => { - const maxPage = Math.ceil(notifs.notifications.length / displayedTotal.value); - curPage.value = maxPage; - }, - child: Widget.Label({ - className: 'pager-button-label', - label: '󰄾', - }), - }), - ]; - }, - ), - }); -}; diff --git a/ags/HyprPanel/modules/menus/notifications/utils.ts b/ags/HyprPanel/modules/menus/notifications/utils.ts deleted file mode 100644 index dcf2c7d..0000000 --- a/ags/HyprPanel/modules/menus/notifications/utils.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Notification } from 'types/service/notifications'; - -const notifHasImg = (notif: Notification): boolean => { - return notif.image !== undefined && notif.image.length ? true : false; -}; - -export { notifHasImg }; diff --git a/ags/HyprPanel/modules/menus/power/helpers/actions.ts b/ags/HyprPanel/modules/menus/power/helpers/actions.ts deleted file mode 100644 index fee7dfa..0000000 --- a/ags/HyprPanel/modules/menus/power/helpers/actions.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { Action } from 'lib/types/power'; -import options from 'options'; -const { sleep, reboot, logout, shutdown } = options.menus.dashboard.powermenu; - -class PowerMenu extends Service { - static { - Service.register( - this, - {}, - { - title: ['string'], - cmd: ['string'], - }, - ); - } - - #title = ''; - #cmd = ''; - - get title(): string { - return this.#title; - } - - action(action: Action): void { - [this.#cmd, this.#title] = { - sleep: [sleep.value, 'Sleep'], - reboot: [reboot.value, 'Reboot'], - logout: [logout.value, 'Log Out'], - shutdown: [shutdown.value, 'Shutdown'], - }[action]; - - this.notify('cmd'); - this.notify('title'); - this.emit('changed'); - App.closeWindow('powermenu'); - App.openWindow('verification'); - } - - customAction(action: Action, cmnd: string): void { - [this.#cmd, this.#title] = [cmnd, action]; - - this.notify('cmd'); - this.notify('title'); - this.emit('changed'); - App.closeWindow('powermenu'); - App.openWindow('verification'); - } - - shutdown = (): void => { - this.action('shutdown'); - }; - - exec = (): void => { - App.closeWindow('verification'); - Utils.execAsync(this.#cmd); - }; -} - -const powermenu = new PowerMenu(); -Object.assign(globalThis, { powermenu }); -export default powermenu; diff --git a/ags/HyprPanel/modules/menus/power/index.ts b/ags/HyprPanel/modules/menus/power/index.ts deleted file mode 100644 index bb8505d..0000000 --- a/ags/HyprPanel/modules/menus/power/index.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { Action } from 'lib/types/power.js'; -import PopupWindow from '../shared/popup/index.js'; -import powermenu from './helpers/actions.js'; -import icons from '../../icons/index.js'; -import Window from 'types/widgets/window.js'; -import { Attribute, Child, GButton } from 'lib/types/widget.js'; -import options from 'options.js'; - -const SysButton = (action: Action, label: string): GButton => - Widget.Button({ - class_name: `widget-button powermenu-button-${action}`, - on_clicked: () => powermenu.action(action), - child: Widget.Box({ - vertical: true, - class_name: 'system-button widget-box', - children: [ - Widget.Icon({ - class_name: `system-button_icon ${action}`, - icon: icons.powermenu[action], - }), - Widget.Label({ - class_name: `system-button_label ${action}`, - label, - }), - ], - }), - }); -export default (): Window => - PopupWindow({ - name: 'powermenu', - transition: options.menus.transition.bind('value'), - child: Widget.Box({ - class_name: 'powermenu horizontal', - children: [ - SysButton('shutdown', 'SHUTDOWN'), - SysButton('logout', 'LOG OUT'), - SysButton('reboot', 'REBOOT'), - SysButton('sleep', 'SLEEP'), - ], - }), - }); diff --git a/ags/HyprPanel/modules/menus/power/verification.ts b/ags/HyprPanel/modules/menus/power/verification.ts deleted file mode 100644 index a71f46b..0000000 --- a/ags/HyprPanel/modules/menus/power/verification.ts +++ /dev/null @@ -1,54 +0,0 @@ -import Window from 'types/widgets/window.js'; -import PopupWindow from '../shared/popup/index.js'; -import powermenu from './helpers/actions.js'; -import { Attribute, Child } from 'lib/types/widget.js'; - -export default (): Window => - PopupWindow({ - name: 'verification', - transition: 'crossfade', - child: Widget.Box({ - class_name: 'verification', - child: Widget.Box({ - class_name: 'verification-content', - expand: true, - vertical: true, - children: [ - Widget.Box({ - class_name: 'text-box', - vertical: true, - children: [ - Widget.Label({ - class_name: 'title', - label: powermenu.bind('title').as((t) => t.toUpperCase()), - }), - Widget.Label({ - class_name: 'desc', - label: powermenu - .bind('title') - .as((p) => `Are you sure you want to ${p.toLowerCase()}?`), - }), - ], - }), - Widget.Box({ - class_name: 'buttons horizontal', - vexpand: true, - vpack: 'end', - homogeneous: true, - children: [ - Widget.Button({ - class_name: 'verification-button bar-verification_yes', - child: Widget.Label('Yes'), - on_clicked: powermenu.exec, - }), - Widget.Button({ - class_name: 'verification-button bar-verification_no', - child: Widget.Label('No'), - on_clicked: () => App.toggleWindow('verification'), - }), - ], - }), - ], - }), - }), - }); diff --git a/ags/HyprPanel/modules/menus/powerDropdown/button.ts b/ags/HyprPanel/modules/menus/powerDropdown/button.ts deleted file mode 100644 index f2ae20f..0000000 --- a/ags/HyprPanel/modules/menus/powerDropdown/button.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { PowerOptions } from 'lib/types/options'; -import options from 'options'; -import powermenu from '../power/helpers/actions'; -import { GButton } from 'lib/types/widget'; - -const { confirmation, shutdown, logout, sleep, reboot, showLabel } = options.menus.power; - -export const PowerButton = (action: PowerOptions): GButton => { - const handleClick = (action: PowerOptions): void => { - const actions = { - shutdown: shutdown.value, - reboot: reboot.value, - logout: logout.value, - sleep: sleep.value, - }; - App.closeWindow('powerdropdownmenu'); - - if (!confirmation.value) { - Utils.execAsync(actions[action]).catch((err) => - console.error(`Failed to execute ${action} command. Error: ${err}`), - ); - } else { - powermenu.customAction(action, actions[action]); - } - }; - - const powerIconMap = { - shutdown: '󰐥', - reboot: '󰜉', - logout: '󰿅', - sleep: '󰤄', - }; - - return Widget.Button({ - className: showLabel.bind('value').as((shwLbl) => { - return `power-menu-button ${action} ${!shwLbl ? 'no-label' : ''}`; - }), - on_clicked: () => handleClick(action), - child: Widget.Box({ - vertical: false, - children: showLabel.bind('value').as((shwLbl) => { - if (shwLbl) { - return [ - Widget.Label({ - label: powerIconMap[action], - className: `power-button-icon ${action}-icon txt-icon`, - }), - Widget.Label({ - hpack: 'center', - hexpand: true, - label: action.charAt(0).toUpperCase() + action.slice(1), - className: `power-button-label ${action}-label show-label`, - }), - ]; - } - return [ - Widget.Label({ - label: powerIconMap[action], - className: `power-button-icon ${action}-icon no-label txt-icon`, - }), - ]; - }), - }), - }); -}; diff --git a/ags/HyprPanel/modules/menus/powerDropdown/index.ts b/ags/HyprPanel/modules/menus/powerDropdown/index.ts deleted file mode 100644 index 1562d8b..0000000 --- a/ags/HyprPanel/modules/menus/powerDropdown/index.ts +++ /dev/null @@ -1,21 +0,0 @@ -import Window from 'types/widgets/window.js'; -import DropdownMenu from '../shared/dropdown/index.js'; -import { PowerButton } from './button.js'; -import { Attribute, Child } from 'lib/types/widget.js'; -import options from 'options.js'; - -export default (): Window => { - return DropdownMenu({ - name: 'powerdropdownmenu', - transition: options.menus.transition.bind('value'), - child: Widget.Box({ - class_name: 'menu-items power-dropdown', - child: Widget.Box({ - vertical: true, - hexpand: true, - class_name: 'menu-items-container power-dropdown', - children: [PowerButton('shutdown'), PowerButton('reboot'), PowerButton('logout'), PowerButton('sleep')], - }), - }), - }); -}; diff --git a/ags/HyprPanel/modules/menus/shared/dropdown/eventBoxes/index.ts b/ags/HyprPanel/modules/menus/shared/dropdown/eventBoxes/index.ts deleted file mode 100644 index 727610d..0000000 --- a/ags/HyprPanel/modules/menus/shared/dropdown/eventBoxes/index.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { Attribute, BoxWidget } from 'lib/types/widget'; -import EventBox from 'types/widgets/eventbox'; -import { BarLocation } from 'lib/types/options'; - -const createEventBox = (className: string, windowName: string): EventBox => { - return Widget.EventBox({ - class_name: className, - hexpand: true, - vexpand: false, - can_focus: false, - child: Widget.Box(), - setup: (w) => { - w.on('button-press-event', () => App.toggleWindow(windowName)); - }, - }); -}; - -export const barEventMargins = ( - windowName: string, - location: BarLocation = 'top', -): [EventBox, EventBox] => { - if (location === 'top') { - return [ - createEventBox('mid-eb event-top-padding-static', windowName), - createEventBox('mid-eb event-top-padding', windowName), - ]; - } else { - return [ - createEventBox('mid-eb event-bottom-padding', windowName), - createEventBox('mid-eb event-bottom-padding-static', windowName), - ]; - } -}; diff --git a/ags/HyprPanel/modules/menus/shared/dropdown/index.ts b/ags/HyprPanel/modules/menus/shared/dropdown/index.ts deleted file mode 100644 index d9496e7..0000000 --- a/ags/HyprPanel/modules/menus/shared/dropdown/index.ts +++ /dev/null @@ -1,98 +0,0 @@ -import options from 'options'; -import { DropdownMenuProps } from 'lib/types/dropdownmenu'; -import { Attribute, Child, Exclusivity } from 'lib/types/widget'; -import Window from 'types/widgets/window'; -import { barEventMargins } from './eventBoxes/index'; -import { globalEventBoxes } from 'globals/dropdown'; - -const { location } = options.theme.bar; - -// NOTE: We make the window visible for 2 seconds (on startup) so the child -// elements can allocat their proper dimensions. -// Otherwise the width that we rely on for menu positioning is set improperly -// for the first time we open a menu of each type. -const initRender = Variable(true); - -setTimeout(() => { - initRender.value = false; -}, 2000); - -export default ({ - name, - child, - transition, - exclusivity = 'ignore' as Exclusivity, - ...props -}: DropdownMenuProps): Window => - Widget.Window({ - name, - class_names: [name, 'dropdown-menu'], - setup: (w) => w.keybind('Escape', () => App.closeWindow(name)), - visible: initRender.bind('value'), - keymode: 'on-demand', - exclusivity, - layer: 'top', - anchor: location.bind('value').as((ln) => [ln, 'left']), - child: Widget.EventBox({ - class_name: 'parent-event', - on_primary_click: () => App.closeWindow(name), - on_secondary_click: () => App.closeWindow(name), - child: Widget.Box({ - class_name: 'top-eb', - vertical: true, - children: [ - Widget.Box({ - className: 'event-box-container', - children: location.bind('value').as((lcn) => { - if (lcn === 'top') { - return barEventMargins(name); - } else { - return []; - } - }), - }), - Widget.EventBox({ - class_name: 'in-eb menu-event-box', - on_primary_click: () => { - return true; - }, - on_secondary_click: () => { - return true; - }, - setup: (self) => { - globalEventBoxes.value[name] = self; - }, - child: Widget.Box({ - class_name: 'dropdown-menu-container', - css: 'padding: 1px; margin: -1px;', - child: Widget.Revealer({ - revealChild: false, - setup: (self) => - self.hook(App, (_, wname, visible) => { - if (wname === name) self.reveal_child = visible; - }), - transition, - transitionDuration: options.menus.transitionTime.bind('value'), - child: Widget.Box({ - class_name: 'dropdown-menu-container', - can_focus: true, - children: [child], - }), - }), - }), - }), - Widget.Box({ - className: 'event-box-container', - children: location.bind('value').as((lcn) => { - if (lcn === 'bottom') { - return barEventMargins(name); - } else { - return []; - } - }), - }), - ], - }), - }), - ...props, - }); diff --git a/ags/HyprPanel/modules/menus/shared/dropdown/locationHandler/index.ts b/ags/HyprPanel/modules/menus/shared/dropdown/locationHandler/index.ts deleted file mode 100644 index 28ce7c7..0000000 --- a/ags/HyprPanel/modules/menus/shared/dropdown/locationHandler/index.ts +++ /dev/null @@ -1,98 +0,0 @@ -const hyprland = await Service.import('hyprland'); - -import options from 'options'; -import { bash } from 'lib/utils'; -import { Widget as TWidget } from 'types/@girs/gtk-3.0/gtk-3.0.cjs'; -import { Monitor } from 'types/service/hyprland'; -import Box from 'types/widgets/box'; -import EventBox from 'types/widgets/eventbox'; -import Revealer from 'types/widgets/revealer'; -import { globalEventBoxes } from 'globals/dropdown'; - -type NestedRevealer = Revealer, unknown>; -type NestedBox = Box; -type NestedEventBox = EventBox; - -const { location } = options.theme.bar; -const { scalingPriority } = options; - -export const calculateMenuPosition = async (pos: number[], windowName: string): Promise => { - const self = globalEventBoxes.value[windowName] as NestedEventBox; - const curHyprlandMonitor = hyprland.monitors.find((m) => m.id === hyprland.active.monitor.id); - const dropdownWidth = self.child.get_allocation().width; - const dropdownHeight = self.child.get_allocation().height; - - let hyprScaling = 1; - try { - const monitorInfo = await bash('hyprctl monitors -j'); - const parsedMonitorInfo = JSON.parse(monitorInfo); - - const foundMonitor = parsedMonitorInfo.find((monitor: Monitor) => monitor.id === hyprland.active.monitor.id); - hyprScaling = foundMonitor?.scale || 1; - } catch (error) { - console.error(`Error parsing hyprland monitors: ${error}`); - } - - let monWidth = curHyprlandMonitor?.width; - let monHeight = curHyprlandMonitor?.height; - - if (monWidth === undefined || monHeight === undefined || hyprScaling === undefined) { - return; - } - - // If GDK Scaling is applied, then get divide width by scaling - // to get the proper coordinates. - // Ex: On a 2860px wide monitor... if scaling is set to 2, then the right - // end of the monitor is the 1430th pixel. - const gdkScale = Utils.exec('bash -c "echo $GDK_SCALE"'); - - if (scalingPriority.value === 'both') { - const scale = parseFloat(gdkScale); - monWidth = monWidth / scale; - monHeight = monHeight / scale; - - monWidth = monWidth / hyprScaling; - monHeight = monHeight / hyprScaling; - } else if (/^\d+(.\d+)?$/.test(gdkScale) && scalingPriority.value === 'gdk') { - const scale = parseFloat(gdkScale); - monWidth = monWidth / scale; - monHeight = monHeight / scale; - } else { - monWidth = monWidth / hyprScaling; - monHeight = monHeight / hyprScaling; - } - - // If monitor is vertical (transform = 1 || 3) swap height and width - const isVertical = curHyprlandMonitor?.transform !== undefined ? curHyprlandMonitor.transform % 2 !== 0 : false; - - if (isVertical) { - [monWidth, monHeight] = [monHeight, monWidth]; - } - - let marginRight = monWidth - dropdownWidth / 2; - marginRight = marginRight - pos[0]; - let marginLeft = monWidth - dropdownWidth - marginRight; - - const minimumMargin = 0; - - if (marginRight < minimumMargin) { - marginRight = minimumMargin; - marginLeft = monWidth - dropdownWidth - minimumMargin; - } - - if (marginLeft < minimumMargin) { - marginLeft = minimumMargin; - marginRight = monWidth - dropdownWidth - minimumMargin; - } - - self.set_margin_left(marginLeft); - self.set_margin_right(marginRight); - - if (location.value === 'top') { - self.set_margin_top(0); - self.set_margin_bottom(monHeight); - } else { - self.set_margin_bottom(0); - self.set_margin_top(monHeight - dropdownHeight); - } -}; diff --git a/ags/HyprPanel/modules/menus/shared/popup/index.ts b/ags/HyprPanel/modules/menus/shared/popup/index.ts deleted file mode 100644 index 3738030..0000000 --- a/ags/HyprPanel/modules/menus/shared/popup/index.ts +++ /dev/null @@ -1,186 +0,0 @@ -import { WINDOW_LAYOUTS } from 'globals/window'; -import { LayoutFunction, Layouts, PopupWindowProps } from 'lib/types/popupwindow'; -import { Attribute, Child, Exclusivity, GtkWidget, Transition } from 'lib/types/widget'; -import Box from 'types/widgets/box'; -import EventBox from 'types/widgets/eventbox'; -import Window from 'types/widgets/window'; - -type Opts = { - className: string; - vexpand: boolean; -}; - -export const Padding = (name: string, opts: Opts): EventBox, unknown> => - Widget.EventBox({ - class_name: opts?.className || '', - hexpand: true, - vexpand: typeof opts?.vexpand === 'boolean' ? opts.vexpand : true, - can_focus: false, - child: Widget.Box(), - setup: (w) => w.on('button-press-event', () => App.toggleWindow(name)), - }); - -const PopupRevealer = ( - name: string, - child: GtkWidget, - transition = 'slide_down' as Transition, -): Box => - Widget.Box( - { css: 'padding: 1px;' }, - Widget.Revealer({ - transition, - child: Widget.Box({ - class_name: `window-content ${name}-window`, - child, - }), - transitionDuration: 200, - setup: (self) => - self.hook(App, (_, wname, visible) => { - if (wname === name) self.reveal_child = visible; - }), - }), - ); - -const Layout: LayoutFunction = (name: string, child: GtkWidget, transition: Transition) => ({ - center: () => - Widget.CenterBox( - {}, - Padding(name, {} as Opts), - Widget.CenterBox( - { vertical: true }, - Padding(name, {} as Opts), - PopupRevealer(name, child, transition), - Padding(name, {} as Opts), - ), - Padding(name, {} as Opts), - ), - top: () => - Widget.CenterBox( - {}, - Padding(name, {} as Opts), - Widget.Box({ vertical: true }, PopupRevealer(name, child, transition), Padding(name, {} as Opts)), - Padding(name, {} as Opts), - ), - 'top-right': () => - Widget.Box( - {}, - Padding(name, {} as Opts), - Widget.Box( - { - hexpand: false, - vertical: true, - }, - Padding(name, { - vexpand: false, - className: 'event-top-padding', - }), - PopupRevealer(name, child, transition), - Padding(name, {} as Opts), - ), - ), - 'top-center': () => - Widget.Box( - {}, - Padding(name, {} as Opts), - Widget.Box( - { - hexpand: false, - vertical: true, - }, - Padding(name, { - vexpand: false, - className: 'event-top-padding', - }), - PopupRevealer(name, child, transition), - Padding(name, {} as Opts), - ), - Padding(name, {} as Opts), - ), - 'top-left': () => - Widget.Box( - {}, - Widget.Box( - { - hexpand: false, - vertical: true, - }, - Padding(name, { - vexpand: false, - className: 'event-top-padding', - }), - PopupRevealer(name, child, transition), - Padding(name, {} as Opts), - ), - Padding(name, {} as Opts), - ), - 'bottom-left': () => - Widget.Box( - {}, - Widget.Box( - { - hexpand: false, - vertical: true, - }, - Padding(name, {} as Opts), - PopupRevealer(name, child, transition), - ), - Padding(name, {} as Opts), - ), - 'bottom-center': () => - Widget.Box( - {}, - Padding(name, {} as Opts), - Widget.Box( - { - hexpand: false, - vertical: true, - }, - Padding(name, {} as Opts), - PopupRevealer(name, child, transition), - ), - Padding(name, {} as Opts), - ), - 'bottom-right': () => - Widget.Box( - {}, - Padding(name, {} as Opts), - Widget.Box( - { - hexpand: false, - vertical: true, - }, - Padding(name, {} as Opts), - PopupRevealer(name, child, transition), - ), - ), -}); - -const isValidLayout = (layout: string): layout is Layouts => { - return WINDOW_LAYOUTS.includes(layout); -}; - -export default ({ - name, - child, - layout = 'center', - transition = 'none', - exclusivity = 'ignore' as Exclusivity, - ...props -}: PopupWindowProps): Window => { - const layoutFn = isValidLayout(layout) ? layout : 'center'; - - const layoutWidget = Layout(name, child, transition)[layoutFn](); - - return Widget.Window({ - name, - class_names: [name, 'popup-window'], - setup: (w) => w.keybind('Escape', () => App.closeWindow(name)), - visible: false, - keymode: 'on-demand', - exclusivity, - layer: 'top', - anchor: ['top', 'bottom', 'right', 'left'], - child: layoutWidget, - ...props, - }); -}; diff --git a/ags/HyprPanel/modules/notifications/actions/index.ts b/ags/HyprPanel/modules/notifications/actions/index.ts deleted file mode 100644 index 402f1d9..0000000 --- a/ags/HyprPanel/modules/notifications/actions/index.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { Attribute, Child } from 'lib/types/widget'; -import { Notification, Notifications } from 'types/service/notifications'; -import Box from 'types/widgets/box'; - -const Action = (notif: Notification, notifs: Notifications): Box => { - if (notif.actions !== undefined && notif.actions.length > 0) { - return Widget.Box({ - class_name: 'notification-card-actions', - hexpand: true, - vpack: 'end', - children: notif.actions.map((action) => { - return Widget.Button({ - hexpand: true, - class_name: 'notification-action-buttons', - on_primary_click: () => { - if (action.id.includes('scriptAction:-')) { - Utils.execAsync(`${action.id.replace('scriptAction:-', '')}`).catch((err) => - console.error(err), - ); - notifs.CloseNotification(notif.id); - } else { - notif.invoke(action.id); - } - }, - child: Widget.Box({ - hpack: 'center', - hexpand: true, - children: [ - Widget.Label({ - class_name: 'notification-action-buttons-label', - hexpand: true, - label: action.label, - max_width_chars: 15, - truncate: 'end', - wrap: true, - }), - ], - }), - }); - }), - }); - } - - return Widget.Box(); -}; - -export { Action }; diff --git a/ags/HyprPanel/modules/notifications/body/index.ts b/ags/HyprPanel/modules/notifications/body/index.ts deleted file mode 100644 index 92fa7a7..0000000 --- a/ags/HyprPanel/modules/notifications/body/index.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { Notification } from 'types/service/notifications'; -import { notifHasImg } from '../../menus/notifications/utils.js'; -import Box from 'types/widgets/box.js'; -import { Attribute, Child } from 'lib/types/widget.js'; - -export const Body = (notif: Notification): Box => { - return Widget.Box({ - vpack: 'start', - hexpand: true, - class_name: 'notification-card-body', - children: [ - Widget.Label({ - hexpand: true, - use_markup: true, - xalign: 0, - justification: 'left', - truncate: 'end', - lines: 2, - max_width_chars: !notifHasImg(notif) ? 35 : 28, - wrap: true, - class_name: 'notification-card-body-label', - label: notif['body'], - }), - ], - }); -}; diff --git a/ags/HyprPanel/modules/notifications/close/index.ts b/ags/HyprPanel/modules/notifications/close/index.ts deleted file mode 100644 index d7a0d6e..0000000 --- a/ags/HyprPanel/modules/notifications/close/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Attribute, Child } from 'lib/types/widget'; -import { Notification, Notifications } from 'types/service/notifications'; -import Button from 'types/widgets/button'; -import Label from 'types/widgets/label'; - -export const CloseButton = (notif: Notification, notifs: Notifications): Button, Attribute> => { - return Widget.Button({ - class_name: 'close-notification-button', - on_primary_click: () => { - notifs.CloseNotification(notif.id); - }, - child: Widget.Label({ - class_name: 'txt-icon notif-close', - label: '󰅜', - hpack: 'center', - }), - }); -}; diff --git a/ags/HyprPanel/modules/notifications/header/icon.ts b/ags/HyprPanel/modules/notifications/header/icon.ts deleted file mode 100644 index 5a02ca2..0000000 --- a/ags/HyprPanel/modules/notifications/header/icon.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Notification } from 'types/service/notifications.js'; -import { getNotificationIcon } from 'globals/notification.js'; -import Box from 'types/widgets/box'; -import { Attribute, Child } from 'lib/types/widget'; - -const NotificationIcon = ({ - app_entry = '', - app_icon = '', - app_name = '', -}: Partial): Box => { - return Widget.Box({ - css: ` - min-width: 2rem; - min-height: 2rem; - `, - child: Widget.Icon({ - class_name: 'notification-icon', - icon: getNotificationIcon(app_name, app_icon, app_entry), - }), - }); -}; - -export { NotificationIcon }; diff --git a/ags/HyprPanel/modules/notifications/header/index.ts b/ags/HyprPanel/modules/notifications/header/index.ts deleted file mode 100644 index 71d038d..0000000 --- a/ags/HyprPanel/modules/notifications/header/index.ts +++ /dev/null @@ -1,56 +0,0 @@ -import GLib from 'gi://GLib'; -import { notifHasImg } from '../../menus/notifications/utils.js'; -import { NotificationIcon } from './icon.js'; -import { Notification } from 'types/service/notifications'; -import options from 'options.js'; -import Box from 'types/widgets/box.js'; -import { Attribute, Child } from 'lib/types/widget.js'; - -const { military } = options.menus.clock.time; - -export const Header = (notif: Notification): Box => { - const time = (time: number, format = '%I:%M %p'): string => { - return GLib.DateTime.new_from_unix_local(time).format(military.value ? '%H:%M' : format) || '--'; - }; - - return Widget.Box({ - vertical: false, - hexpand: true, - children: [ - Widget.Box({ - class_name: 'notification-card-header', - hpack: 'start', - children: [NotificationIcon(notif)], - }), - Widget.Box({ - class_name: 'notification-card-header', - hexpand: true, - hpack: 'start', - vpack: 'start', - children: [ - Widget.Label({ - class_name: 'notification-card-header-label', - hpack: 'start', - hexpand: true, - vexpand: true, - max_width_chars: !notifHasImg(notif) ? 30 : 19, - truncate: 'end', - wrap: true, - label: notif['summary'], - }), - ], - }), - Widget.Box({ - class_name: 'notification-card-header menu', - hpack: 'end', - vpack: 'start', - hexpand: true, - child: Widget.Label({ - vexpand: true, - class_name: 'notification-time', - label: time(notif.time), - }), - }), - ], - }); -}; diff --git a/ags/HyprPanel/modules/notifications/image/index.ts b/ags/HyprPanel/modules/notifications/image/index.ts deleted file mode 100644 index df1fded..0000000 --- a/ags/HyprPanel/modules/notifications/image/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Notification } from 'types/service/notifications'; -import { notifHasImg } from '../../menus/notifications/utils.js'; -import Box from 'types/widgets/box.js'; -import { Attribute, Child } from 'lib/types/widget.js'; - -const Image = (notif: Notification): Box => { - if (notifHasImg(notif)) { - return Widget.Box({ - class_name: 'notification-card-image-container', - hpack: 'center', - vpack: 'center', - vexpand: false, - child: Widget.Box({ - hpack: 'center', - vexpand: false, - class_name: 'notification-card-image', - css: `background-image: url("${notif.image}")`, - }), - }); - } - - return Widget.Box(); -}; - -export { Image }; diff --git a/ags/HyprPanel/modules/notifications/index.ts b/ags/HyprPanel/modules/notifications/index.ts deleted file mode 100644 index 7e86589..0000000 --- a/ags/HyprPanel/modules/notifications/index.ts +++ /dev/null @@ -1,80 +0,0 @@ -const notifs = await Service.import('notifications'); -import options from 'options'; -import { notifHasImg } from '../menus/notifications/utils.js'; -import { Image } from './image/index.js'; -import { Action } from './actions/index.js'; -import { Header } from './header/index.js'; -import { Body } from './body/index.js'; -import { CloseButton } from './close/index.js'; -import { getPosition } from 'lib/utils.js'; -import { filterNotifications } from 'lib/shared/notifications.js'; -import { Notification } from 'types/service/notifications.js'; -import Window from 'types/widgets/window.js'; -import Box from 'types/widgets/box.js'; -import { Attribute, Child } from 'lib/types/widget.js'; -const hyprland = await Service.import('hyprland'); - -const { position, timeout, cache_actions, monitor, active_monitor, displayedTotal, ignore } = options.notifications; - -const curMonitor = Variable(monitor.value); - -hyprland.active.connect('changed', () => { - curMonitor.value = hyprland.active.monitor.id; -}); - -export default (): Window, unknown> => { - Utils.merge([timeout.bind('value'), cache_actions.bind('value')], (timeout, doCaching) => { - notifs.popupTimeout = timeout; - notifs.cacheActions = doCaching; - }); - - return Widget.Window({ - name: 'notifications-window', - class_name: 'notifications-window', - monitor: Utils.merge( - [curMonitor.bind('value'), monitor.bind('value'), active_monitor.bind('value')], - (curMon, mon, activeMonitor) => { - if (activeMonitor === true) { - return curMon; - } - - return mon; - }, - ), - layer: options.tear.bind('value').as((tear) => (tear ? 'top' : 'overlay')), - anchor: position.bind('value').as((v) => getPosition(v)), - exclusivity: 'normal', - child: Widget.Box({ - class_name: 'notification-card-container', - vertical: true, - hexpand: true, - setup: (self) => { - Utils.merge( - [notifs.bind('popups'), ignore.bind('value')], - (notifications: Notification[], ignoredNotifs: string[]) => { - const filteredNotifications = filterNotifications(notifications, ignoredNotifs); - - return (self.children = filteredNotifications.slice(0, displayedTotal.value).map((notif) => { - return Widget.Box({ - class_name: 'notification-card', - vpack: 'start', - hexpand: true, - children: [ - Image(notif), - Widget.Box({ - vpack: 'start', - vertical: true, - hexpand: true, - class_name: `notification-card-content ${!notifHasImg(notif) ? 'noimg' : ''}`, - children: [Header(notif), Body(notif), Action(notif, notifs)], - }), - CloseButton(notif, notifs), - ], - }); - })); - }, - ); - }, - }), - }); -}; diff --git a/ags/HyprPanel/modules/osd/bar/index.ts b/ags/HyprPanel/modules/osd/bar/index.ts deleted file mode 100644 index b73cda1..0000000 --- a/ags/HyprPanel/modules/osd/bar/index.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { OSDOrientation } from 'lib/types/options'; -import brightness from 'services/Brightness'; -import options from 'options'; -import Box from 'types/widgets/box'; -import { Attribute, Child } from 'lib/types/widget'; -const audio = await Service.import('audio'); - -export const OSDBar = (ort: OSDOrientation): Box => { - return Widget.Box({ - class_name: 'osd-bar-container', - children: [ - Widget.LevelBar({ - class_name: 'osd-bar', - vertical: ort === 'vertical', - inverted: ort === 'vertical', - bar_mode: 'continuous', - setup: (self) => { - self.hook( - brightness, - () => { - self.class_names = self.class_names.filter((c) => c !== 'overflow'); - self.value = brightness.screen; - }, - 'notify::screen', - ); - self.hook( - brightness, - () => { - self.class_names = self.class_names.filter((c) => c !== 'overflow'); - self.value = brightness.kbd; - }, - 'notify::kbd', - ); - self.hook( - audio.microphone, - () => { - self.toggleClassName('overflow', audio.microphone.volume > 1); - self.value = - audio.microphone.volume <= 1 ? audio.microphone.volume : audio.microphone.volume - 1; - }, - 'notify::volume', - ); - self.hook( - audio.microphone, - () => { - self.toggleClassName( - 'overflow', - audio.microphone.volume > 1 && - (!options.theme.osd.muted_zero.value || audio.microphone.is_muted === false), - ); - self.value = - options.theme.osd.muted_zero.value && audio.microphone.is_muted !== false - ? 0 - : audio.microphone.volume <= 1 - ? audio.microphone.volume - : audio.microphone.volume - 1; - }, - 'notify::is-muted', - ); - self.hook( - audio.speaker, - () => { - self.toggleClassName('overflow', audio.speaker.volume > 1); - self.value = audio.speaker.volume <= 1 ? audio.speaker.volume : audio.speaker.volume - 1; - }, - 'notify::volume', - ); - self.hook( - audio.speaker, - () => { - self.toggleClassName( - 'overflow', - audio.speaker.volume > 1 && - (!options.theme.osd.muted_zero.value || audio.speaker.is_muted === false), - ); - self.value = - options.theme.osd.muted_zero.value && audio.speaker.is_muted !== false - ? 0 - : audio.speaker.volume <= 1 - ? audio.speaker.volume - : audio.speaker.volume - 1; - }, - 'notify::is-muted', - ); - }, - }), - ], - }); -}; diff --git a/ags/HyprPanel/modules/osd/icon/index.ts b/ags/HyprPanel/modules/osd/icon/index.ts deleted file mode 100644 index 1682c91..0000000 --- a/ags/HyprPanel/modules/osd/icon/index.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { Attribute, Child } from 'lib/types/widget'; -import brightness from 'services/Brightness'; -import Box from 'types/widgets/box'; -const audio = await Service.import('audio'); - -export const OSDIcon = (): Box => { - return Widget.Box({ - class_name: 'osd-icon-container', - hexpand: true, - child: Widget.Label({ - class_name: 'osd-icon txt-icon', - hexpand: true, - vexpand: true, - hpack: 'center', - vpack: 'center', - setup: (self) => { - self.hook( - brightness, - () => { - self.label = '󱍖'; - }, - 'notify::screen', - ); - self.hook( - brightness, - () => { - self.label = '󰥻'; - }, - 'notify::kbd', - ); - self.hook( - audio.microphone, - () => { - self.label = audio.microphone.is_muted ? '󰍭' : '󰍬'; - }, - 'notify::volume', - ); - self.hook( - audio.microphone, - () => { - self.label = audio.microphone.is_muted ? '󰍭' : '󰍬'; - }, - 'notify::is-muted', - ); - self.hook( - audio.speaker, - () => { - self.label = audio.speaker.is_muted ? '󰝟' : '󰕾'; - }, - 'notify::volume', - ); - self.hook( - audio.speaker, - () => { - self.label = audio.speaker.is_muted ? '󰝟' : '󰕾'; - }, - 'notify::is-muted', - ); - }, - }), - }); -}; diff --git a/ags/HyprPanel/modules/osd/index.ts b/ags/HyprPanel/modules/osd/index.ts deleted file mode 100644 index 8e3dbd6..0000000 --- a/ags/HyprPanel/modules/osd/index.ts +++ /dev/null @@ -1,199 +0,0 @@ -import options from 'options'; -import brightness from 'services/Brightness'; -import { OSDLabel } from './label/index'; -import { OSDBar } from './bar/index'; -import { OSDIcon } from './icon/index'; -import { getPosition } from 'lib/utils'; -import { Attribute, Child } from 'lib/types/widget'; -import { Revealer } from 'resource:///com/github/Aylur/ags/widgets/revealer.js'; -import { Window } from 'resource:///com/github/Aylur/ags/widgets/window.js'; -const hyprland = await Service.import('hyprland'); -const audio = await Service.import('audio'); - -const { enable, duration, orientation, location, active_monitor, monitor } = options.theme.osd; - -const curMonitor = Variable(monitor.value); - -hyprland.active.connect('changed', () => { - curMonitor.value = hyprland.active.monitor.id; -}); - -let count = 0; - -const handleRevealRevealer = (self: Revealer, property: 'reveal_child' | 'visible'): void => { - if (!enable.value || property !== 'reveal_child') { - return; - } - - self.reveal_child = true; - - count++; - Utils.timeout(duration.value, () => { - count--; - - if (count === 0) { - self.reveal_child = false; - } - }); -}; - -const handleRevealWindow = (self: Window, property: 'reveal_child' | 'visible'): void => { - if (!enable.value || property !== 'visible') { - return; - } - - self.visible = true; - - count++; - Utils.timeout(duration.value, () => { - count--; - - if (count === 0) { - self.visible = false; - } - }); -}; - -const handleReveal = ( - self: Revealer | Window, - property: 'reveal_child' | 'visible', -): void => { - if (self instanceof Revealer) { - handleRevealRevealer(self, property); - } else if (self instanceof Window) { - handleRevealWindow(self, property); - } -}; - -const renderOSD = (): Revealer => { - return Widget.Revealer({ - transition: 'crossfade', - reveal_child: false, - setup: (self) => { - self.hook( - brightness, - () => { - handleReveal(self, 'reveal_child'); - }, - 'notify::screen', - ); - self.hook( - brightness, - () => { - handleReveal(self, 'reveal_child'); - }, - 'notify::kbd', - ); - self.hook( - audio.microphone, - () => { - handleReveal(self, 'reveal_child'); - }, - 'notify::volume', - ); - self.hook( - audio.microphone, - () => { - handleReveal(self, 'reveal_child'); - }, - 'notify::is-muted', - ); - self.hook( - audio.speaker, - () => { - handleReveal(self, 'reveal_child'); - }, - 'notify::volume', - ); - self.hook( - audio.speaker, - () => { - handleReveal(self, 'reveal_child'); - }, - 'notify::is-muted', - ); - }, - child: Widget.Box({ - class_name: 'osd-container', - vertical: orientation.bind('value').as((ort) => ort === 'vertical'), - children: orientation.bind('value').as((ort) => { - if (ort === 'vertical') { - return [OSDLabel(), OSDBar(ort), OSDIcon()]; - } - - return [OSDIcon(), OSDBar(ort), OSDLabel()]; - }), - }), - }); -}; - -export default (): Window => - Widget.Window({ - monitor: Utils.merge( - [curMonitor.bind('value'), monitor.bind('value'), active_monitor.bind('value')], - (curMon, mon, activeMonitor) => { - if (activeMonitor === true) { - return curMon; - } - - return mon; - }, - ), - name: `indicator`, - class_name: 'indicator', - layer: options.tear.bind('value').as((tear) => (tear ? 'top' : 'overlay')), - anchor: location.bind('value').as((v) => getPosition(v)), - click_through: true, - child: Widget.Box({ - css: 'padding: 1px;', - expand: true, - child: renderOSD(), - }), - setup: (self) => { - self.hook(enable, () => { - handleReveal(self, 'visible'); - }); - self.hook( - brightness, - () => { - handleReveal(self, 'visible'); - }, - 'notify::screen', - ); - self.hook( - brightness, - () => { - handleReveal(self, 'visible'); - }, - 'notify::kbd', - ); - self.hook( - audio.microphone, - () => { - handleReveal(self, 'visible'); - }, - 'notify::volume', - ); - self.hook( - audio.microphone, - () => { - handleReveal(self, 'visible'); - }, - 'notify::is-muted', - ); - self.hook( - audio.speaker, - () => { - handleReveal(self, 'visible'); - }, - 'notify::volume', - ); - self.hook( - audio.speaker, - () => { - handleReveal(self, 'visible'); - }, - 'notify::is-muted', - ); - }, - }); diff --git a/ags/HyprPanel/modules/osd/label/index.ts b/ags/HyprPanel/modules/osd/label/index.ts deleted file mode 100644 index 9e61636..0000000 --- a/ags/HyprPanel/modules/osd/label/index.ts +++ /dev/null @@ -1,86 +0,0 @@ -import brightness from 'services/Brightness'; -import options from 'options'; -import Box from 'types/widgets/box'; -import { Attribute, Child } from 'lib/types/widget'; -const audio = await Service.import('audio'); - -export const OSDLabel = (): Box => { - return Widget.Box({ - class_name: 'osd-label-container', - hexpand: true, - vexpand: true, - child: Widget.Label({ - class_name: 'osd-label', - hexpand: true, - vexpand: true, - hpack: 'center', - vpack: 'center', - setup: (self) => { - self.hook( - brightness, - () => { - self.class_names = self.class_names.filter((c) => c !== 'overflow'); - self.label = `${Math.round(brightness.screen * 100)}`; - }, - 'notify::screen', - ); - self.hook( - brightness, - () => { - self.class_names = self.class_names.filter((c) => c !== 'overflow'); - self.label = `${Math.round(brightness.kbd * 100)}`; - }, - 'notify::kbd', - ); - self.hook( - audio.microphone, - () => { - self.toggleClassName('overflow', audio.microphone.volume > 1); - self.label = `${Math.round(audio.microphone.volume * 100)}`; - }, - 'notify::volume', - ); - self.hook( - audio.microphone, - () => { - self.toggleClassName( - 'overflow', - audio.microphone.volume > 1 && - (!options.theme.osd.muted_zero.value || audio.microphone.is_muted === false), - ); - const inputVolume = - options.theme.osd.muted_zero.value && audio.microphone.is_muted !== false - ? 0 - : Math.round(audio.microphone.volume * 100); - self.label = `${inputVolume}`; - }, - 'notify::is-muted', - ); - self.hook( - audio.speaker, - () => { - self.toggleClassName('overflow', audio.speaker.volume > 1); - self.label = `${Math.round(audio.speaker.volume * 100)}`; - }, - 'notify::volume', - ); - self.hook( - audio.speaker, - () => { - self.toggleClassName( - 'overflow', - audio.speaker.volume > 1 && - (!options.theme.osd.muted_zero.value || audio.speaker.is_muted === false), - ); - const speakerVolume = - options.theme.osd.muted_zero.value && audio.speaker.is_muted !== false - ? 0 - : Math.round(audio.speaker.volume * 100); - self.label = `${speakerVolume}`; - }, - 'notify::is-muted', - ); - }, - }), - }); -}; diff --git a/ags/HyprPanel/modules/shared/barItemBox.ts b/ags/HyprPanel/modules/shared/barItemBox.ts deleted file mode 100644 index 0f84c41..0000000 --- a/ags/HyprPanel/modules/shared/barItemBox.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { BarBoxChild } from 'lib/types/bar'; -import { Bind } from 'lib/types/variable'; -import { Attribute, GtkWidget } from 'lib/types/widget'; -import options from 'options'; -import Button from 'types/widgets/button'; - -export const BarItemBox = (child: BarBoxChild): Button => { - const computeVisible = (): Bind | boolean => { - if (child.isVis !== undefined) { - return child.isVis.bind('value'); - } - return child.isVisible; - }; - - return Widget.Button({ - class_name: options.theme.bar.buttons.style.bind('value').as((style) => { - const styleMap = { - default: 'style1', - split: 'style2', - wave: 'style3', - wave2: 'style4', - }; - - const boxClassName = Object.hasOwnProperty.call(child, 'boxClass') ? child.boxClass : ''; - - return `bar_item_box_visible ${styleMap[style]} ${boxClassName}`; - }), - child: child.component, - visible: computeVisible(), - ...child.props, - }); -}; diff --git a/ags/HyprPanel/nix/default.nix b/ags/HyprPanel/nix/default.nix deleted file mode 100644 index f3a946d..0000000 --- a/ags/HyprPanel/nix/default.nix +++ /dev/null @@ -1,64 +0,0 @@ -{ - inputs, - pkgs, - system, - stdenv, - lib, - writeShellScriptBin, - bun, - dart-sass, - fd, - accountsservice, - btop, - pipewire, - bluez, - bluez-tools, - grimblast, - gpu-screen-recorder, - networkmanager, - brightnessctl, - matugen, - swww, - python3, - libgtop, - gnome-bluetooth, - gobject-introspection, - glib, -}: let - ags = inputs.ags.packages.${system}.default.override { - extraPackages = [accountsservice]; - }; - - pname = "hyprpanel"; - config = stdenv.mkDerivation { - inherit pname; - version = "latest"; - src = ../.; - - buildPhase = '' - ${bun}/bin/bun build ./main.ts \ - --outfile main.js \ - --external "resource://*" \ - --external "gi://*" - ''; - - installPhase = '' - mkdir $out - cp -r assets $out - cp -r scss $out - cp -r widget $out - cp -r services $out - cp -f main.js $out/config.js - ''; - }; -in { - desktop = { - inherit config; - script = writeShellScriptBin pname '' - export PATH=$PATH:${lib.makeBinPath [dart-sass fd btop pipewire bluez bluez-tools networkmanager matugen swww grimblast gpu-screen-recorder brightnessctl gnome-bluetooth python3]} - export GI_TYPELIB_PATH=${libgtop}/lib/girepository-1.0:${glib}/lib/girepository-1.0:$GI_TYPELIB_PATH - ${ags}/bin/ags -b hyprpanel -c ${config}/config.js $@ - ''; - }; -} - diff --git a/ags/HyprPanel/options.ts b/ags/HyprPanel/options.ts deleted file mode 100644 index 24c854c..0000000 --- a/ags/HyprPanel/options.ts +++ /dev/null @@ -1,1187 +0,0 @@ -import { opt, mkOptions } from 'lib/option'; -import { NetstatLabelType, RateUnit, ResourceLabelType } from 'lib/types/bar'; -import { KbLabelType } from 'lib/types/customModules/kbLayout'; -import { - ActiveWsIndicator, - BarButtonStyles, - BarLocation, - NotificationAnchor, - OSDAnchor, - OSDOrientation, - ScalingPriority, - WindowLayer, -} from 'lib/types/options'; -import { MatugenScheme, MatugenTheme, MatugenVariations } from 'lib/types/options'; -import { UnitType } from 'lib/types/weather'; -import { Transition } from 'lib/types/widget'; -import { WorkspaceIcons, WorkspaceIconsColored } from 'lib/types/workspace'; - -// WARN: CHANGING THESE VALUES WILL PREVENT MATUGEN COLOR GENERATION FOR THE CHANGED VALUE -export const colors = { - rosewater: '#f5e0dc', - flamingo: '#f2cdcd', - pink: '#f5c2e7', - mauve: '#cba6f7', - red: '#f38ba8', - maroon: '#eba0ac', - peach: '#fab387', - yellow: '#f9e2af', - green: '#a6e3a1', - teal: '#94e2d5', - sky: '#89dceb', - sapphire: '#74c7ec', - blue: '#89b4fa', - lavender: '#b4befe', - text: '#cdd6f4', - subtext1: '#bac2de', - subtext2: '#a6adc8', - overlay2: '#9399b2', - overlay1: '#7f849c', - overlay0: '#6c7086', - surface2: '#585b70', - surface1: '#45475a', - surface0: '#313244', - base2: '#242438', - base: '#1e1e2e', - mantle: '#181825', - crust: '#11111b', -}; - -// WARN: CHANGING THESE VALUES WILL PREVENT MATUGEN COLOR GENERATION FOR THE CHANGED VALUE -const secondary_colors = { - text: '#cdd6f3', - pink: '#f5c2e6', - red: '#f38ba7', - peach: '#fab386', - mantle: '#181824', - surface1: '#454759', - surface0: '#313243', - overlay1: '#7f849b', - lavender: '#b4befd', - mauve: '#cba6f6', - green: '#a6e3a0', - sky: '#89dcea', - teal: '#94e2d4', - yellow: '#f9e2ad', - maroon: '#eba0ab', - crust: '#11111a', - surface2: '#585b69', -}; - -const tertiary_colors = { - pink: '#f5c2e8', - red: '#f38ba9', - mantle: '#181826', - surface0: '#313245', - overlay1: '#7f849d', - lavender: '#b4beff', - mauve: '#cba6f8', - green: '#a6e3a2', - sky: '#89dcec', - teal: '#94e2d6', - yellow: '#f9e2ae', - maroon: '#eba0ad', - crust: '#11111c', - surface2: '#585b71', -}; - -const options = mkOptions(OPTIONS, { - theme: { - matugen: opt(false), - matugen_settings: { - mode: opt('dark'), - scheme_type: opt('tonal-spot'), - variation: opt('standard_1'), - contrast: opt(0.0), - }, - font: { - size: opt('1.2rem'), - name: opt('Ubuntu Nerd Font'), - weight: opt(600), - }, - notification: { - scaling: opt(100), - background: opt(tertiary_colors.mantle), - opacity: opt(100), - actions: { - background: opt(secondary_colors.lavender), - text: opt(colors.mantle), - }, - label: opt(colors.lavender), - border: opt(secondary_colors.surface0), - border_radius: opt('0.6em'), - time: opt(secondary_colors.overlay1), - text: opt(colors.text), - labelicon: opt(colors.lavender), - close_button: { - background: opt(secondary_colors.red), - label: opt(colors.crust), - }, - }, - osd: { - scaling: opt(100), - duration: opt(2500), - enable: opt(true), - orientation: opt('vertical'), - opacity: opt(100), - bar_container: opt(colors.crust), - icon_container: opt(tertiary_colors.lavender), - bar_color: opt(tertiary_colors.lavender), - bar_empty_color: opt(colors.surface0), - bar_overflow_color: opt(secondary_colors.red), - icon: opt(colors.crust), - label: opt(tertiary_colors.lavender), - monitor: opt(0), - active_monitor: opt(true), - radius: opt('0.4em'), - margins: opt('0px 5px 0px 0px'), - location: opt('right'), - muted_zero: opt(false), - }, - bar: { - scaling: opt(100), - floating: opt(false), - location: opt('top'), - layer: opt('top'), - margin_top: opt('0.5em'), - opacity: opt(100), - margin_bottom: opt('0em'), - margin_sides: opt('0.5em'), - border_radius: opt('0.4em'), - outer_spacing: opt('1.6em'), - label_spacing: opt('0.5em'), - transparent: opt(false), - dropdownGap: opt('2.9em'), - background: opt(colors.crust), - buttons: { - style: opt('default'), - enableBorders: opt(false), - borderSize: opt('0.1em'), - monochrome: opt(false), - spacing: opt('0.25em'), - padding_x: opt('0.7rem'), - padding_y: opt('0.2rem'), - y_margins: opt('0.4em'), - radius: opt('0.3em'), - opacity: opt(100), - background_opacity: opt(100), - background_hover_opacity: opt(100), - background: opt(colors.base2), - icon_background: opt(colors.base2), - hover: opt(colors.surface1), - text: opt(colors.lavender), - icon: opt(colors.lavender), - dashboard: { - background: opt(colors.base2), - enableBorder: opt(false), - border: opt(colors.yellow), - icon: opt(colors.yellow), - spacing: opt('0.5em'), - }, - workspaces: { - background: opt(colors.base2), - enableBorder: opt(false), - smartHighlight: opt(true), - border: opt(colors.pink), - available: opt(colors.sky), - occupied: opt(colors.flamingo), - active: opt(colors.pink), - hover: opt(colors.pink), - numbered_active_highlight_border: opt('0.2em'), - numbered_active_highlight_padding: opt('0.2em'), - numbered_active_highlighted_text_color: opt(colors.mantle), - numbered_active_underline_color: opt(colors.pink), - spacing: opt('0.5em'), - fontSize: opt('1.2em'), - }, - windowtitle: { - background: opt(colors.base2), - enableBorder: opt(false), - border: opt(colors.pink), - text: opt(colors.pink), - icon: opt(colors.pink), - icon_background: opt(colors.base2), - spacing: opt('0.5em'), - }, - media: { - enableBorder: opt(false), - border: opt(colors.lavender), - background: opt(colors.base2), - text: opt(colors.lavender), - icon: opt(colors.lavender), - icon_background: opt(colors.base2), - spacing: opt('0.5em'), - }, - volume: { - enableBorder: opt(false), - border: opt(colors.maroon), - background: opt(colors.base2), - text: opt(colors.maroon), - icon: opt(colors.maroon), - icon_background: opt(colors.base2), - spacing: opt('0.5em'), - }, - network: { - enableBorder: opt(false), - border: opt(colors.mauve), - background: opt(colors.base2), - text: opt(colors.mauve), - icon: opt(colors.mauve), - icon_background: opt(colors.base2), - spacing: opt('0.5em'), - }, - bluetooth: { - enableBorder: opt(false), - border: opt(colors.sky), - background: opt(colors.base2), - text: opt(colors.sky), - icon: opt(colors.sky), - icon_background: opt(colors.base2), - spacing: opt('0.5em'), - }, - systray: { - enableBorder: opt(false), - border: opt(colors.lavender), - background: opt(colors.base2), - spacing: opt('0.5em'), - }, - battery: { - enableBorder: opt(false), - border: opt(colors.yellow), - background: opt(colors.base2), - text: opt(colors.yellow), - icon: opt(colors.yellow), - icon_background: opt(colors.base2), - spacing: opt('0.5em'), - }, - clock: { - enableBorder: opt(false), - border: opt(colors.pink), - background: opt(colors.base2), - text: opt(colors.pink), - icon: opt(colors.pink), - icon_background: opt(colors.base2), - spacing: opt('0.5em'), - }, - notifications: { - enableBorder: opt(false), - border: opt(colors.lavender), - background: opt(colors.base2), - icon: opt(colors.lavender), - icon_background: opt(colors.base2), - total: opt(colors.lavender), - spacing: opt('0.5em'), - }, - modules: { - ram: { - enableBorder: opt(false), - border: opt(colors.yellow), - background: opt(colors.base2), - text: opt(colors.yellow), - icon: opt(colors.yellow), - icon_background: opt(colors.base2), - spacing: opt('0.45em'), - }, - cpu: { - enableBorder: opt(false), - border: opt(colors.red), - background: opt(colors.base2), - text: opt(colors.red), - icon: opt(colors.red), - icon_background: opt(colors.base2), - spacing: opt('0.5em'), - }, - storage: { - enableBorder: opt(false), - border: opt(colors.pink), - background: opt(colors.base2), - text: opt(colors.pink), - icon: opt(colors.pink), - icon_background: opt(colors.base2), - spacing: opt('0.45em'), - }, - netstat: { - enableBorder: opt(false), - border: opt(colors.green), - background: opt(colors.base2), - text: opt(colors.green), - icon: opt(colors.green), - icon_background: opt(colors.base2), - spacing: opt('0.45em'), - }, - kbLayout: { - enableBorder: opt(false), - border: opt(colors.sky), - background: opt(colors.base2), - text: opt(colors.sky), - icon: opt(colors.sky), - icon_background: opt(colors.base2), - spacing: opt('0.45em'), - }, - updates: { - enableBorder: opt(false), - border: opt(colors.mauve), - background: opt(colors.base2), - text: opt(colors.mauve), - icon: opt(colors.mauve), - icon_background: opt(colors.base2), - spacing: opt('0.45em'), - }, - weather: { - enableBorder: opt(false), - border: opt(colors.lavender), - background: opt(colors.base2), - text: opt(colors.lavender), - icon: opt(colors.lavender), - icon_background: opt(colors.base2), - spacing: opt('0.45em'), - }, - power: { - enableBorder: opt(false), - border: opt(colors.red), - background: opt(colors.base2), - icon: opt(colors.red), - icon_background: opt(colors.base2), - spacing: opt('0.45em'), - }, - submap: { - enableBorder: opt(false), - border: opt(colors.teal), - background: opt(colors.base2), - text: opt(colors.teal), - icon: opt(colors.teal), - icon_background: opt(colors.base2), - spacing: opt('0.45em'), - }, - }, - }, - menus: { - monochrome: opt(false), - background: opt(colors.crust), - opacity: opt(100), - cards: opt(colors.base), - card_radius: opt('0.4em'), - border: { - size: opt('0.13em'), - radius: opt('0.7em'), - color: opt(colors.surface0), - }, - text: opt(colors.text), - dimtext: opt(colors.surface2), - feinttext: opt(colors.surface0), - label: opt(colors.lavender), - popover: { - text: opt(colors.lavender), - background: opt(secondary_colors.mantle), - border: opt(secondary_colors.mantle), - }, - listitems: { - passive: opt(colors.text), - active: opt(secondary_colors.lavender), - }, - icons: { - passive: opt(colors.surface2), - active: opt(colors.lavender), - }, - switch: { - enabled: opt(colors.lavender), - disabled: opt(tertiary_colors.surface0), - puck: opt(secondary_colors.surface1), - }, - check_radio_button: { - background: opt(colors.surface1), - active: opt(tertiary_colors.lavender), - }, - buttons: { - default: opt(colors.lavender), - active: opt(secondary_colors.pink), - disabled: opt(tertiary_colors.surface2), - text: opt(secondary_colors.mantle), - }, - iconbuttons: { - passive: opt(secondary_colors.text), - active: opt(tertiary_colors.lavender), - }, - progressbar: { - foreground: opt(colors.lavender), - background: opt(colors.surface1), - }, - slider: { - primary: opt(colors.lavender), - background: opt(tertiary_colors.surface2), - backgroundhover: opt(colors.surface1), - puck: opt(colors.overlay0), - }, - dropdownmenu: { - background: opt(colors.crust), - text: opt(colors.text), - divider: opt(colors.base), - }, - tooltip: { - background: opt(colors.crust), - text: opt(tertiary_colors.lavender), - }, - menu: { - media: { - scaling: opt(100), - song: opt(tertiary_colors.lavender), - artist: opt(tertiary_colors.teal), - album: opt(tertiary_colors.pink), - background: { - color: opt(colors.crust), - }, - card: { - color: opt(colors.base), - tint: opt(85), - }, - border: { - color: opt(colors.surface0), - }, - buttons: { - inactive: opt(colors.surface2), - enabled: opt(secondary_colors.teal), - background: opt(tertiary_colors.lavender), - text: opt(colors.crust), - }, - slider: { - primary: opt(colors.pink), - background: opt(tertiary_colors.surface2), - backgroundhover: opt(colors.surface1), - puck: opt(colors.overlay0), - }, - }, - volume: { - scaling: opt(100), - card: { - color: opt(colors.base), - }, - background: { - color: opt(colors.crust), - }, - border: { - color: opt(colors.surface0), - }, - label: { - color: opt(colors.maroon), - }, - text: opt(colors.text), - listitems: { - passive: opt(colors.text), - active: opt(secondary_colors.maroon), - }, - iconbutton: { - passive: opt(colors.text), - active: opt(colors.maroon), - }, - icons: { - passive: opt(colors.overlay2), - active: opt(colors.maroon), - }, - audio_slider: { - primary: opt(colors.maroon), - background: opt(tertiary_colors.surface2), - backgroundhover: opt(colors.surface1), - puck: opt(colors.surface2), - }, - input_slider: { - primary: opt(colors.maroon), - background: opt(tertiary_colors.surface2), - backgroundhover: opt(colors.surface1), - puck: opt(colors.surface2), - }, - }, - network: { - scaling: opt(100), - card: { - color: opt(colors.base), - }, - background: { - color: opt(colors.crust), - }, - border: { - color: opt(colors.surface0), - }, - label: { - color: opt(colors.mauve), - }, - text: opt(colors.text), - status: { - color: opt(colors.overlay0), - }, - listitems: { - passive: opt(colors.text), - active: opt(secondary_colors.mauve), - }, - icons: { - passive: opt(colors.overlay2), - active: opt(colors.mauve), - }, - iconbuttons: { - passive: opt(colors.text), - active: opt(colors.mauve), - }, - switch: { - enabled: opt(colors.mauve), - disabled: opt(tertiary_colors.surface0), - puck: opt(secondary_colors.surface1), - }, - }, - bluetooth: { - scaling: opt(100), - card: { - color: opt(colors.base), - }, - background: { - color: opt(colors.crust), - }, - border: { - color: opt(colors.surface0), - }, - label: { - color: opt(colors.sky), - }, - text: opt(colors.text), - status: opt(colors.overlay0), - switch_divider: opt(colors.surface1), - switch: { - enabled: opt(colors.sky), - disabled: opt(tertiary_colors.surface0), - puck: opt(secondary_colors.surface1), - }, - listitems: { - passive: opt(colors.text), - active: opt(secondary_colors.sky), - }, - icons: { - passive: opt(colors.overlay2), - active: opt(colors.sky), - }, - iconbutton: { - passive: opt(colors.text), - active: opt(colors.sky), - }, - }, - systray: { - dropdownmenu: { - background: opt(colors.crust), - text: opt(colors.text), - divider: opt(colors.base), - }, - }, - battery: { - scaling: opt(100), - card: { - color: opt(colors.base), - }, - background: { - color: opt(colors.crust), - }, - border: { - color: opt(colors.surface0), - }, - label: { - color: opt(colors.yellow), - }, - text: opt(colors.text), - listitems: { - passive: opt(secondary_colors.text), - active: opt(colors.yellow), - }, - icons: { - passive: opt(colors.overlay2), - active: opt(colors.yellow), - }, - slider: { - primary: opt(colors.yellow), - background: opt(tertiary_colors.surface2), - backgroundhover: opt(colors.surface1), - puck: opt(colors.overlay0), - }, - }, - clock: { - scaling: opt(100), - card: { - color: opt(colors.base), - }, - background: { - color: opt(colors.crust), - }, - border: { - color: opt(colors.surface0), - }, - text: opt(colors.text), - time: { - time: opt(colors.pink), - timeperiod: opt(colors.teal), - }, - calendar: { - yearmonth: opt(colors.teal), - weekdays: opt(colors.pink), - paginator: opt(secondary_colors.pink), - currentday: opt(colors.pink), - days: opt(colors.text), - contextdays: opt(colors.surface2), - }, - weather: { - icon: opt(colors.pink), - temperature: opt(colors.text), - status: opt(colors.teal), - stats: opt(colors.pink), - thermometer: { - extremelyhot: opt(colors.red), - hot: opt(colors.peach), - moderate: opt(colors.lavender), - cold: opt(colors.blue), - extremelycold: opt(colors.sky), - }, - hourly: { - time: opt(colors.pink), - icon: opt(colors.pink), - temperature: opt(colors.pink), - }, - }, - }, - dashboard: { - scaling: opt(100), - confirmation_scaling: opt(100), - card: { - color: opt(colors.base), - }, - background: { - color: opt(colors.crust), - }, - border: { - color: opt(colors.surface0), - }, - profile: { - name: opt(colors.pink), - size: opt('8.5em'), - radius: opt('0.4em'), - }, - powermenu: { - shutdown: opt(colors.red), - restart: opt(colors.peach), - logout: opt(colors.green), - sleep: opt(colors.sky), - confirmation: { - card: opt(colors.base), - background: opt(colors.crust), - border: opt(colors.surface0), - label: opt(colors.lavender), - body: opt(colors.text), - confirm: opt(colors.green), - deny: opt(colors.red), - button_text: opt(secondary_colors.crust), - }, - }, - shortcuts: { - background: opt(colors.lavender), - text: opt(secondary_colors.mantle), - recording: opt(colors.green), - }, - controls: { - disabled: opt(colors.surface2), - wifi: { - background: opt(colors.mauve), - text: opt(secondary_colors.mantle), - }, - bluetooth: { - background: opt(colors.sky), - text: opt(secondary_colors.mantle), - }, - notifications: { - background: opt(colors.yellow), - text: opt(secondary_colors.mantle), - }, - volume: { - background: opt(colors.maroon), - text: opt(secondary_colors.mantle), - }, - input: { - background: opt(colors.pink), - text: opt(secondary_colors.mantle), - }, - }, - directories: { - left: { - top: { - color: opt(colors.pink), - }, - middle: { - color: opt(colors.yellow), - }, - bottom: { - color: opt(colors.maroon), - }, - }, - right: { - top: { - color: opt(colors.teal), - }, - middle: { - color: opt(colors.mauve), - }, - bottom: { - color: opt(colors.lavender), - }, - }, - }, - monitors: { - bar_background: opt(colors.surface1), - cpu: { - icon: opt(colors.maroon), - bar: opt(tertiary_colors.maroon), - label: opt(colors.maroon), - }, - ram: { - icon: opt(colors.yellow), - bar: opt(tertiary_colors.yellow), - label: opt(colors.yellow), - }, - gpu: { - icon: opt(colors.green), - bar: opt(tertiary_colors.green), - label: opt(colors.green), - }, - disk: { - icon: opt(colors.pink), - bar: opt(tertiary_colors.pink), - label: opt(colors.pink), - }, - }, - }, - power: { - scaling: opt(90), - radius: opt('0.4em'), - background: { - color: opt(colors.crust), - }, - border: { - color: opt(colors.surface0), - }, - buttons: { - shutdown: { - background: opt(colors.base), - icon_background: opt(secondary_colors.red), - text: opt(colors.red), - icon: opt(secondary_colors.mantle), - }, - restart: { - background: opt(colors.base), - icon_background: opt(secondary_colors.peach), - text: opt(colors.peach), - icon: opt(secondary_colors.mantle), - }, - logout: { - background: opt(colors.base), - icon_background: opt(secondary_colors.green), - text: opt(colors.green), - icon: opt(secondary_colors.mantle), - }, - sleep: { - background: opt(colors.base), - icon_background: opt(secondary_colors.sky), - text: opt(colors.sky), - icon: opt(secondary_colors.mantle), - }, - }, - }, - notifications: { - scaling: opt(100), - height: opt('58em'), - label: opt(colors.lavender), - no_notifications_label: opt(colors.surface0), - background: opt(colors.crust), - card: opt(colors.base), - border: opt(colors.surface0), - switch_divider: opt(colors.surface1), - clear: opt(colors.red), - switch: { - enabled: opt(colors.lavender), - disabled: opt(tertiary_colors.surface0), - puck: opt(secondary_colors.surface1), - }, - pager: { - show: opt(true), - background: opt(colors.crust), - button: opt(colors.lavender), - label: opt(colors.overlay2), - }, - scrollbar: { - color: opt(colors.lavender), - width: opt('0.35em'), - radius: opt('0.2em'), - }, - }, - }, - }, - }, - }, - - bar: { - scrollSpeed: opt(5), - layouts: opt({ - '1': { - left: ['dashboard', 'workspaces', 'windowtitle'], - middle: ['media'], - right: ['volume', 'clock', 'notifications'], - }, - '2': { - left: ['dashboard', 'workspaces', 'windowtitle'], - middle: ['media'], - right: ['volume', 'clock', 'notifications'], - }, - '0': { - left: ['dashboard', 'workspaces', 'windowtitle'], - middle: ['media'], - right: ['volume', 'network', 'bluetooth', 'battery', 'systray', 'clock', 'notifications'], - }, - }), - launcher: { - icon: opt('󰣇'), - rightClick: opt(''), - middleClick: opt(''), - scrollUp: opt(''), - scrollDown: opt(''), - }, - windowtitle: { - custom_title: opt(true), - title_map: opt([]), - class_name: opt(true), - label: opt(true), - icon: opt(true), - truncation: opt(true), - truncation_size: opt(50), - leftClick: opt(''), - rightClick: opt(''), - middleClick: opt(''), - scrollUp: opt(''), - scrollDown: opt(''), - }, - workspaces: { - show_icons: opt(false), - showAllActive: opt(true), - ignored: opt(''), - show_numbered: opt(false), - showWsIcons: opt(false), - numbered_active_indicator: opt('underline'), - icons: { - available: opt(''), - active: opt(''), - occupied: opt(''), - }, - workspaceIconMap: opt({}), - workspaces: opt(10), - spacing: opt(1), - monitorSpecific: opt(true), - hideUnoccupied: opt(true), - workspaceMask: opt(false), - reverse_scroll: opt(false), - scroll_speed: opt(5), - }, - volume: { - label: opt(true), - rightClick: opt(''), - middleClick: opt(''), - scrollUp: opt('pactl set-sink-volume @DEFAULT_SINK@ +5%'), - scrollDown: opt('pactl set-sink-volume @DEFAULT_SINK@ -5%'), - }, - network: { - truncation: opt(true), - truncation_size: opt(7), - label: opt(true), - rightClick: opt(''), - middleClick: opt(''), - scrollUp: opt(''), - scrollDown: opt(''), - }, - bluetooth: { - label: opt(true), - rightClick: opt(''), - middleClick: opt(''), - scrollUp: opt(''), - scrollDown: opt(''), - }, - battery: { - label: opt(true), - hideLabelWhenFull: opt(false), - rightClick: opt(''), - middleClick: opt(''), - scrollUp: opt(''), - scrollDown: opt(''), - }, - systray: { - ignore: opt([]), - }, - clock: { - icon: opt('󰸗'), - showIcon: opt(true), - showTime: opt(true), - format: opt('%a %b %d %I:%M:%S %p'), - rightClick: opt(''), - middleClick: opt(''), - scrollUp: opt(''), - scrollDown: opt(''), - }, - media: { - show_artist: opt(false), - truncation: opt(true), - show_label: opt(true), - truncation_size: opt(30), - show_active_only: opt(false), - rightClick: opt(''), - middleClick: opt(''), - }, - notifications: { - show_total: opt(false), - hideCountWhenZero: opt(false), - rightClick: opt(''), - middleClick: opt(''), - scrollUp: opt(''), - scrollDown: opt(''), - }, - customModules: { - scrollSpeed: opt(5), - ram: { - icon: opt(''), - label: opt(true), - labelType: opt('percentage'), - round: opt(true), - pollingInterval: opt(2000), - leftClick: opt(''), - rightClick: opt(''), - middleClick: opt(''), - }, - cpu: { - icon: opt(''), - label: opt(true), - round: opt(true), - pollingInterval: opt(2000), - leftClick: opt(''), - rightClick: opt(''), - middleClick: opt(''), - scrollUp: opt(''), - scrollDown: opt(''), - }, - storage: { - label: opt(true), - icon: opt('󰋊'), - round: opt(false), - labelType: opt('percentage'), - pollingInterval: opt(2000), - leftClick: opt(''), - rightClick: opt(''), - middleClick: opt(''), - }, - netstat: { - label: opt(true), - networkInterface: opt(''), - icon: opt('󰖟'), - round: opt(true), - labelType: opt('full'), - rateUnit: opt('auto'), - pollingInterval: opt(2000), - leftClick: opt(''), - rightClick: opt(''), - middleClick: opt(''), - }, - kbLayout: { - label: opt(true), - labelType: opt('code'), - icon: opt('󰌌'), - leftClick: opt(''), - rightClick: opt(''), - middleClick: opt(''), - scrollUp: opt(''), - scrollDown: opt(''), - }, - updates: { - updateCommand: opt('$HOME/.config/ags/scripts/checkUpdates.sh -arch'), - label: opt(true), - padZero: opt(true), - icon: opt('󰏖'), - pollingInterval: opt(1000 * 60 * 60 * 6), - leftClick: opt(''), - rightClick: opt(''), - middleClick: opt(''), - scrollUp: opt(''), - scrollDown: opt(''), - }, - submap: { - label: opt(true), - showSubmapName: opt(true), - enabledIcon: opt('󰌐'), - disabledIcon: opt('󰌌'), - enabledText: opt('Submap On'), - disabledText: opt('Submap off'), - leftClick: opt(''), - rightClick: opt(''), - middleClick: opt(''), - scrollUp: opt(''), - scrollDown: opt(''), - }, - weather: { - label: opt(true), - unit: opt('imperial'), - leftClick: opt(''), - rightClick: opt(''), - middleClick: opt(''), - scrollUp: opt(''), - scrollDown: opt(''), - }, - power: { - icon: opt(''), - showLabel: opt(true), - leftClick: opt('menu:powerdropdown'), - rightClick: opt(''), - middleClick: opt(''), - scrollUp: opt(''), - scrollDown: opt(''), - }, - }, - }, - - menus: { - transition: opt('crossfade'), - transitionTime: opt(200), - power: { - showLabel: opt(true), - confirmation: opt(true), - sleep: opt('systemctl suspend'), - reboot: opt('systemctl reboot'), - logout: opt('hyprctl dispatch exit'), - shutdown: opt('systemctl poweroff'), - }, - dashboard: { - powermenu: { - confirmation: opt(true), - sleep: opt('systemctl suspend'), - reboot: opt('systemctl reboot'), - logout: opt('hyprctl dispatch exit'), - shutdown: opt('systemctl poweroff'), - avatar: { - image: opt('avatar-default-symbolic'), - name: opt<'system' | string>('system'), - }, - }, - stats: { - enabled: opt(true), - enable_gpu: opt(false), - }, - controls: { - enabled: opt(true), - }, - shortcuts: { - enabled: opt(true), - left: { - shortcut1: { - icon: opt('󰇩'), - tooltip: opt('Microsoft Edge'), - command: opt('microsoft-edge-stable'), - }, - shortcut2: { - icon: opt(''), - tooltip: opt('Spotify'), - command: opt('spotify-launcher'), - }, - shortcut3: { - icon: opt(''), - tooltip: opt('Discord'), - command: opt('discord'), - }, - shortcut4: { - icon: opt(''), - tooltip: opt('Search Apps'), - command: opt('rofi -show drun'), - }, - }, - right: { - shortcut1: { - icon: opt(''), - tooltip: opt('Color Picker'), - command: opt('hyprpicker -a'), - }, - shortcut3: { - icon: opt('󰄀'), - tooltip: opt('Screenshot'), - command: opt('bash -c "$HOME/.config/ags/services/snapshot.sh"'), - }, - }, - }, - directories: { - enabled: opt(true), - left: { - directory1: { - label: opt('󰉍 Downloads'), - command: opt('bash -c "dolphin $HOME/Downloads/"'), - }, - directory2: { - label: opt('󰉏 Videos'), - command: opt('bash -c "dolphin $HOME/Videos/"'), - }, - directory3: { - label: opt('󰚝 Projects'), - command: opt('bash -c "dolphin $HOME/Projects/"'), - }, - }, - right: { - directory1: { - label: opt('󱧶 Documents'), - command: opt('bash -c "dolphin $HOME/Documents/"'), - }, - directory2: { - label: opt('󰉏 Pictures'), - command: opt('bash -c "dolphin $HOME/Pictures/"'), - }, - directory3: { - label: opt('󱂵 Home'), - command: opt('bash -c "dolphin $HOME/"'), - }, - }, - }, - }, - clock: { - time: { - military: opt(false), - hideSeconds: opt(false), - }, - weather: { - enabled: opt(true), - interval: opt(60000), - unit: opt('imperial'), - location: opt('Los Angeles'), - key: opt( - JSON.parse(Utils.readFile(`${App.configDir}/.weather.json`) || '{}')?.weather_api_key || '', - ), - }, - }, - }, - - scalingPriority: opt('gdk'), - - terminal: opt('kitty'), - - tear: opt(false), - - wallpaper: { - enable: opt(true), - image: opt(''), - pywal: opt(false), - }, - - notifications: { - position: opt('top right'), - ignore: opt([]), - displayedTotal: opt(10), - monitor: opt(0), - active_monitor: opt(true), - timeout: opt(7000), - cache_actions: opt(true), - clearDelay: opt(100), - }, - - dummy: opt(true), -}); - -globalThis['options'] = options; -export default options; diff --git a/ags/HyprPanel/package-lock.json b/ags/HyprPanel/package-lock.json deleted file mode 100644 index d15b8fb..0000000 --- a/ags/HyprPanel/package-lock.json +++ /dev/null @@ -1,3089 +0,0 @@ -{ - "name": "hyprpanel", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "hyprpanel", - "version": "1.0.0", - "license": "MIT", - "devDependencies": { - "@types/node": "^22.5.4", - "@typescript-eslint/eslint-plugin": "^8.5.0", - "@typescript-eslint/parser": "^8.5.0", - "eslint": "^8.57.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-import": "^2.30.0", - "eslint-plugin-prettier": "^5.2.1", - "prettier": "^3.3.3", - "tsconfig-paths": "^4.2.0", - "typescript": "^5.6.2" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", - "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", - "deprecated": "Use @eslint/config-array instead", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", - "dev": true - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@pkgr/core": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", - "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/@rtsao/scc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", - "dev": true - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "node_modules/@types/node": { - "version": "22.5.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.5.tgz", - "integrity": "sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==", - "dev": true, - "dependencies": { - "undici-types": "~6.19.2" - } - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.5.0.tgz", - "integrity": "sha512-lHS5hvz33iUFQKuPFGheAB84LwcJ60G8vKnEhnfcK1l8kGVLro2SFYW6K0/tj8FUhRJ0VHyg1oAfg50QGbPPHw==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.5.0", - "@typescript-eslint/type-utils": "8.5.0", - "@typescript-eslint/utils": "8.5.0", - "@typescript-eslint/visitor-keys": "8.5.0", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", - "eslint": "^8.57.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.5.0.tgz", - "integrity": "sha512-gF77eNv0Xz2UJg/NbpWJ0kqAm35UMsvZf1GHj8D9MRFTj/V3tAciIWXfmPLsAAF/vUlpWPvUDyH1jjsr0cMVWw==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "8.5.0", - "@typescript-eslint/types": "8.5.0", - "@typescript-eslint/typescript-estree": "8.5.0", - "@typescript-eslint/visitor-keys": "8.5.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.5.0.tgz", - "integrity": "sha512-06JOQ9Qgj33yvBEx6tpC8ecP9o860rsR22hWMEd12WcTRrfaFgHr2RB/CA/B+7BMhHkXT4chg2MyboGdFGawYg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "8.5.0", - "@typescript-eslint/visitor-keys": "8.5.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.5.0.tgz", - "integrity": "sha512-N1K8Ix+lUM+cIDhL2uekVn/ZD7TZW+9/rwz8DclQpcQ9rk4sIL5CAlBC0CugWKREmDjBzI/kQqU4wkg46jWLYA==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "8.5.0", - "@typescript-eslint/utils": "8.5.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.5.0.tgz", - "integrity": "sha512-qjkormnQS5wF9pjSi6q60bKUHH44j2APxfh9TQRXK8wbYVeDYYdYJGIROL87LGZZ2gz3Rbmjc736qyL8deVtdw==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.5.0.tgz", - "integrity": "sha512-vEG2Sf9P8BPQ+d0pxdfndw3xIXaoSjliG0/Ejk7UggByZPKXmJmw3GW5jV2gHNQNawBUyfahoSiCFVov0Ruf7Q==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "8.5.0", - "@typescript-eslint/visitor-keys": "8.5.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.5.0.tgz", - "integrity": "sha512-6yyGYVL0e+VzGYp60wvkBHiqDWOpT63pdMV2CVG4LVDd5uR6q1qQN/7LafBZtAtNIn/mqXjsSeS5ggv/P0iECw==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.5.0", - "@typescript-eslint/types": "8.5.0", - "@typescript-eslint/typescript-estree": "8.5.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.5.0.tgz", - "integrity": "sha512-yTPqMnbAZJNy2Xq2XU8AdtOW9tJIr+UQb64aXB9f3B1498Zx9JorVgFJcZpEc9UBuCCrdzKID2RGAMkYcDtZOw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "8.5.0", - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true - }, - "node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", - "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/data-view-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", - "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", - "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", - "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/es-abstract": { - "version": "1.23.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", - "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "data-view-buffer": "^1.0.1", - "data-view-byte-length": "^1.0.1", - "data-view-byte-offset": "^1.0.0", - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.0.3", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", - "get-symbol-description": "^1.0.2", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "hasown": "^2.0.2", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.1", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.3", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.2", - "safe-array-concat": "^1.1.2", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.9", - "string.prototype.trimend": "^1.0.8", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-length": "^1.0.1", - "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.6", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.15" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.4", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", - "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.11.0.tgz", - "integrity": "sha512-gbBE5Hitek/oG6MUVj6sFuzEjA/ClzNflVrLovHi/JgLdC7fiN5gLAY1WIPW1a0V5I999MnsrvVrCOGmmVqDBQ==", - "dev": true, - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.30.0.tgz", - "integrity": "sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==", - "dev": true, - "dependencies": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.8", - "array.prototype.findlastindex": "^1.2.5", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.9.0", - "hasown": "^2.0.2", - "is-core-module": "^2.15.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.0", - "semver": "^6.3.1", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "node_modules/eslint-plugin-import/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/eslint-plugin-import/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-import/node_modules/tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz", - "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.9.1" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-plugin-prettier" - }, - "peerDependencies": { - "@types/eslint": ">=8.0.0", - "eslint": ">=8.0.0", - "eslint-config-prettier": "*", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "dev": true, - "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", - "dev": true, - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-view": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", - "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", - "dev": true, - "dependencies": { - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", - "dev": true, - "dependencies": { - "which-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.values": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", - "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", - "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", - "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", - "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.6", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "set-function-name": "^2.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-array-concat": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", - "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-regex-test": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-regex": "^1.1.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", - "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", - "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/synckit": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz", - "integrity": "sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==", - "dev": true, - "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/ts-api-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", - "dev": true, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, - "node_modules/tsconfig-paths": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", - "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", - "dev": true, - "dependencies": { - "json5": "^2.2.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", - "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", - "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", - "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", - "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typescript": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", - "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "dev": true - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", - "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/ags/HyprPanel/package.json b/ags/HyprPanel/package.json deleted file mode 100644 index a617f97..0000000 --- a/ags/HyprPanel/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "hyprpanel", - "version": "1.0.0", - "description": "A customizble panel built for Hyprland.", - "main": "config.js", - "directories": { - "lib": "lib" - }, - "scripts": { - "lint": "eslint --config .eslintrc.js .", - "lint:fix": "eslint --config .eslintrc.js .", - "format": "prettier --write 'modules/**/*.ts'" - }, - "keywords": [], - "author": "", - "license": "MIT", - "devDependencies": { - "@types/node": "^22.5.4", - "@typescript-eslint/eslint-plugin": "^8.5.0", - "@typescript-eslint/parser": "^8.5.0", - "eslint": "^8.57.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-import": "^2.30.0", - "eslint-plugin-prettier": "^5.2.1", - "prettier": "^3.3.3", - "tsconfig-paths": "^4.2.0", - "typescript": "^5.6.2" - } -} diff --git a/ags/HyprPanel/scripts/checkUpdates.sh b/ags/HyprPanel/scripts/checkUpdates.sh deleted file mode 100755 index 39bf6ec..0000000 --- a/ags/HyprPanel/scripts/checkUpdates.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash - -check_arch_updates() { - official_updates=0 - aur_updates=0 - - if [ "$1" = "-y" ]; then - aur_updates=$(yay -Qum 2>/dev/null | wc -l) - elif [ "$1" = "-p" ]; then - official_updates=$(checkupdates 2>/dev/null | wc -l) - else - official_updates=$(checkupdates 2>/dev/null | wc -l) - aur_updates=$(yay -Qum 2>/dev/null | wc -l) - fi - - total_updates=$((official_updates + aur_updates)) - - echo $total_updates -} - -check_ubuntu_updates() { - result=$(apt-get -s -o Debug::NoLocking=true upgrade | grep -c ^Inst) - echo "$result" -} - -check_fedora_updates() { - result=$(dnf check-update -q | grep -v '^Loaded plugins' | grep -v '^No match for' | wc -l) - echo "$result" -} - -case "$1" in --arch) - check_arch_updates "$2" - ;; --ubuntu) - check_ubuntu_updates - ;; --fedora) - check_fedora_updates - ;; -*) - echo "0" - ;; -esac diff --git a/ags/HyprPanel/scripts/fillThemes.js b/ags/HyprPanel/scripts/fillThemes.js deleted file mode 100644 index 085d05f..0000000 --- a/ags/HyprPanel/scripts/fillThemes.js +++ /dev/null @@ -1,388 +0,0 @@ -#!/usr/bin/env node - -/** - * compare_themes.js - * - * A Node.js script to compare theme JSON files against base themes and add missing keys, - * as well as remove any properties that don't exist in the corresponding base theme. - * It assigns values based on matching colors or randomly selects from border colors. - * - * Usage: - * node compare_themes.js [--dry-run] [themes_directory] - * - * If no themes_directory is provided, it defaults to '~/.config/ags/themes'. - */ - -const fs = require('fs'); -const path = require('path'); -const os = require('os'); - -/** - * ANSI color codes for formatting console output. - */ -const COLORS = { - RESET: '\x1b[0m', - FG_RED: '\x1b[31m', - FG_GREEN: '\x1b[32m', - FG_YELLOW: '\x1b[33m', - FG_BLUE: '\x1b[34m', - FG_MAGENTA: '\x1b[35m', - FG_CYAN: '\x1b[36m', - FG_WHITE: '\x1b[37m', - BG_RED: '\x1b[41m', - BG_GREEN: '\x1b[42m', - BG_YELLOW: '\x1b[43m', - BG_BLUE: '\x1b[44m', - BG_MAGENTA: '\x1b[45m', - BG_CYAN: '\x1b[46m', - BG_WHITE: '\x1b[47m', -}; - -/** - * Formats a message with the given color. - * - * @param {string} color - The ANSI color code. - * @param {string} message - The message to format. - * @returns {string} The formatted message. - */ -const formatMessage = (color, message) => `${color}${message}${COLORS.RESET}`; - -/** - * Loads and parses a JSON file. - * - * @param {string} filePath - The path to the JSON file. - * @returns {Object} The parsed JSON object. - */ -const loadJSON = (filePath) => { - try { - const data = fs.readFileSync(filePath, 'utf8'); - return JSON.parse(data); - } catch (error) { - console.error(formatMessage(COLORS.FG_RED, `Error reading or parsing '${filePath}': ${error.message}`)); - process.exit(1); - } -}; - -/** - * Saves a JSON object to a file with indentation. - * - * @param {string} filePath - The path to the JSON file. - * @param {Object} data - The JSON data to save. - */ -const saveJSON = (filePath, data) => { - try { - const jsonString = JSON.stringify(data, null, 2); - fs.writeFileSync(filePath, jsonString, 'utf8'); - } catch (error) { - console.error(formatMessage(COLORS.FG_RED, `Error writing to '${filePath}': ${error.message}`)); - process.exit(1); - } -}; - -/** - * Finds the most common value in an array. - * - * @param {Array} arr - The array to analyze. - * @returns {*} The most common value in the array. - */ -const getMostCommonValue = (arr) => { - const frequency = {}; - let maxFreq = 0; - let mostCommon = arr[0] || null; - - arr.forEach((value) => { - frequency[value] = (frequency[value] || 0) + 1; - if (frequency[value] > maxFreq) { - maxFreq = frequency[value]; - mostCommon = value; - } - }); - - return mostCommon; -}; - -/** - * Compares two JSON objects and finds missing keys in the target. - * - * @param {Object} baseJSON - The base JSON object. - * @param {Object} targetJSON - The target JSON object to compare. - * @returns {Array} An array of missing keys. - */ -const findMissingKeys = (baseJSON, targetJSON) => { - const baseKeys = new Set(Object.keys(baseJSON)); - const targetKeys = new Set(Object.keys(targetJSON)); - - const missingKeys = [...baseKeys].filter((key) => !targetKeys.has(key)); - return missingKeys; -}; - -/** - * Determines if a key should be excluded based on predefined patterns. - * - * @param {string} key - The key to check. - * @returns {boolean} True if the key is excluded, otherwise false. - */ -const isExcludedKey = (key) => { - const excludedPatterns = []; - - return excludedPatterns.some((pattern) => pattern.test(key)); -}; - -/** - * Builds a mapping from values to their corresponding keys in the base theme. - * - * @param {Object} baseJSON - The base JSON object. - * @returns {Object} A map where keys are values and values are arrays of keys. - */ -const buildValueToKeysMap = (baseJSON) => { - const valueToKeysMap = {}; - - Object.entries(baseJSON).forEach(([key, value]) => { - if (!valueToKeysMap[value]) { - valueToKeysMap[value] = []; - } - valueToKeysMap[value].push(key); - }); - - return valueToKeysMap; -}; - -/** - * Collects all border colors from the base theme. - * - * @param {Object} baseJSON - The base JSON object. - * @returns {Array} An array of border color values. - */ -const collectBorderColors = (baseJSON) => { - const borderColors = new Set(); - - Object.entries(baseJSON).forEach(([key, value]) => { - if (/^theme\.bar\.buttons\..*\.border$/.test(key)) { - borderColors.add(value); - } - }); - - return Array.from(borderColors); -}; - -/** - * Determines the best match value for a missing key based on related keys. - * - * @param {string} baseValue - The value of the missing key in the base theme. - * @param {Object} valueToKeysMap - A map from values to keys in the base theme. - * @param {Object} targetJSON - The target JSON object. - * @returns {*} The best matching value or null if a random selection is needed. - */ -const determineBestMatchValue = (baseValue, valueToKeysMap, targetJSON) => { - const relatedBaseKeys = valueToKeysMap[baseValue] || []; - - const correspondingTargetValues = relatedBaseKeys - .map((baseKey) => targetJSON[baseKey]) - .filter((value) => value !== undefined); - - if (correspondingTargetValues.length > 0) { - return getMostCommonValue(correspondingTargetValues); - } - - return null; -}; - -/** - * Finds extra keys in the target JSON that are not present in the base theme. - * - * @param {Object} baseTheme - The base JSON object. - * @param {Object} targetJSON - The target JSON object. - * @returns {Array} An array of extra keys. - */ -const findExtraKeys = (baseTheme, targetJSON) => { - const validKeys = new Set(Object.keys(baseTheme)); - - const targetKeys = Object.keys(targetJSON); - - const extraKeys = targetKeys.filter((key) => !validKeys.has(key) && !isExcludedKey(key)); - - return extraKeys; -}; - -/** - * Creates a backup of a theme file. - * - * @param {string} themePath - The path to the theme file. - */ -const backupTheme = (themePath) => { - const backupDir = path.join(path.dirname(themePath), 'backup'); - if (!fs.existsSync(backupDir)) { - fs.mkdirSync(backupDir); - } - const backupPath = path.join(backupDir, path.basename(themePath)); - fs.copyFileSync(themePath, backupPath); - console.log(formatMessage(COLORS.FG_CYAN, `Backup created at '${backupPath}'.`)); -}; - -/** - * Processes a single theme by adding missing keys and removing extra keys. - * - * @param {string} themePath - The path to the theme file. - * @param {Object} baseTheme - The base JSON object. - * @param {boolean} dryRun - If true, no changes will be written to files. - */ -const processTheme = (themePath, baseTheme, dryRun) => { - const themeJSON = loadJSON(themePath); - const missingKeys = findMissingKeys(baseTheme, themeJSON); - - let hasChanges = false; - - if (missingKeys.length === 0) { - console.log(formatMessage(COLORS.FG_GREEN, `✅ No missing keys in '${path.basename(themePath)}'.`)); - } else { - console.log( - formatMessage( - COLORS.FG_YELLOW, - `\n🔍 Processing '${path.basename(themePath)}': Found ${missingKeys.length} missing key(s).`, - ), - ); - - const valueToKeysMap = buildValueToKeysMap(baseTheme); - const borderColors = collectBorderColors(baseTheme); - - missingKeys.forEach((key) => { - if (isExcludedKey(key)) { - console.log(formatMessage(COLORS.FG_MAGENTA, `❗ Excluded key from addition: "${key}"`)); - return; - } - - const baseValue = baseTheme[key]; - const bestValue = determineBestMatchValue(baseValue, valueToKeysMap, themeJSON); - - if (bestValue !== null) { - themeJSON[key] = bestValue; - console.log(formatMessage(COLORS.FG_GREEN, `➕ Added key: "${key}": "${bestValue}"`)); - } else { - if (borderColors.length === 0) { - console.error(formatMessage(COLORS.FG_RED, '❌ Error: No border colors available to assign.')); - return; - } - const randomColor = borderColors[Math.floor(Math.random() * borderColors.length)]; - themeJSON[key] = randomColor; - console.log( - formatMessage( - COLORS.FG_YELLOW, - `➕ Added key with random border color: "${key}": "${randomColor}"`, - ), - ); - } - - hasChanges = true; - }); - } - - const extraKeys = findExtraKeys(baseTheme, themeJSON); - - if (extraKeys.length === 0) { - console.log(formatMessage(COLORS.FG_GREEN, `✅ No extra keys to remove in '${path.basename(themePath)}'.`)); - } else { - console.log( - formatMessage( - COLORS.FG_YELLOW, - `\n🗑️ Processing '${path.basename(themePath)}': Found ${extraKeys.length} extra key(s) to remove.`, - ), - ); - - extraKeys.forEach((key) => { - delete themeJSON[key]; - console.log(formatMessage(COLORS.FG_RED, `➖ Removed key: "${key}"`)); - hasChanges = true; - }); - } - - if (hasChanges) { - if (dryRun) { - console.log( - formatMessage( - COLORS.FG_CYAN, - `(Dry-Run) 📝 Would update '${path.basename(themePath)}' with missing and extra keys.`, - ), - ); - } else { - backupTheme(themePath); - saveJSON(themePath, themeJSON); - console.log( - formatMessage(COLORS.FG_GREEN, `✅ Updated '${path.basename(themePath)}' with missing and extra keys.`), - ); - } - } else { - console.log(formatMessage(COLORS.FG_BLUE, `ℹ️ No changes made to '${path.basename(themePath)}'.`)); - } -}; - -/** - * The main function that orchestrates the theme comparison and updating. - */ -const main = () => { - const args = process.argv.slice(2); - const dryRunIndex = args.indexOf('--dry-run'); - const dryRun = dryRunIndex !== -1; - if (dryRun) { - args.splice(dryRunIndex, 1); - console.log(formatMessage(COLORS.FG_CYAN, '🔍 Running in Dry-Run mode. No files will be modified.')); - } - - const themesDir = args[0] || path.join(os.homedir(), '.config', 'ags', 'themes'); - - if (!fs.existsSync(themesDir)) { - console.error(formatMessage(COLORS.FG_RED, `❌ Error: Themes directory '${themesDir}' does not exist.`)); - process.exit(1); - } - - const baseThemeFile = 'catppuccin_mocha.json'; - const baseThemeSplitFile = 'catppuccin_mocha_split.json'; - const baseThemePath = path.join(themesDir, baseThemeFile); - const baseThemeSplitPath = path.join(themesDir, baseThemeSplitFile); - - if (!fs.existsSync(baseThemePath)) { - console.error( - formatMessage(COLORS.FG_RED, `❌ Error: Base theme '${baseThemeFile}' does not exist in '${themesDir}'.`), - ); - process.exit(1); - } - - if (!fs.existsSync(baseThemeSplitPath)) { - console.error( - formatMessage( - COLORS.FG_RED, - `❌ Error: Base split theme '${baseThemeSplitFile}' does not exist in '${themesDir}'.`, - ), - ); - process.exit(1); - } - - const baseTheme = loadJSON(baseThemePath); - const baseThemeSplit = loadJSON(baseThemeSplitPath); - - const themeFiles = fs.readdirSync(themesDir).filter((file) => file.endsWith('.json')); - - themeFiles.forEach((file) => { - if (file === baseThemeFile || file === baseThemeSplitFile) { - return; - } - - const themePath = path.join(themesDir, file); - let correspondingBaseTheme; - - if (file.endsWith('_split.json')) { - correspondingBaseTheme = baseThemeSplit; - } else { - correspondingBaseTheme = baseTheme; - } - - try { - processTheme(themePath, correspondingBaseTheme, dryRun); - } catch (error) { - console.error(formatMessage(COLORS.FG_RED, `❌ Error processing '${file}': ${error.message}`)); - } - }); - - console.log(formatMessage(COLORS.FG_GREEN, '\n🎉 All themes have been processed.')); -}; - -main(); diff --git a/ags/HyprPanel/scripts/fillThemes.sh b/ags/HyprPanel/scripts/fillThemes.sh deleted file mode 100755 index 8684653..0000000 --- a/ags/HyprPanel/scripts/fillThemes.sh +++ /dev/null @@ -1,86 +0,0 @@ -#!/bin/bash - -# Generated by our good friend Chat Jippity -# Might be inefficient but it works - -# Define directories and theme files -THEMES_DIR="$(dirname "$(realpath "$0")")/../themes" -COMPLETE_THEME_FILE="catppuccin_mocha.json" -COMPLETE_SPLIT_THEME_FILE="catppuccin_mocha_split.json" - -# Check if jq is installed -if ! command -v jq &>/dev/null; then - echo "jq is required but not installed. Please install jq and try again." - exit 1 -fi - -# Function to fill missing values -fill_missing_values() { - local complete_theme_file="$1" - local target_theme_file="$2" - - # Load complete theme and target theme into variables - complete_theme=$(jq '.' "$complete_theme_file") - target_theme=$(jq '.' "$target_theme_file") - - # Create associative arrays to map colors to properties for fast lookup - declare -A color_to_props - declare -A prop_to_color - - # Populate color_to_props and prop_to_color arrays from complete theme - while IFS= read -r line; do - key=$(echo "$line" | awk '{print $1}') - value=$(echo "$line" | awk '{print $2}') - color_to_props["$value"]+="$key " - prop_to_color["$key"]="$value" - done < <(echo "$complete_theme" | jq -r 'to_entries[] | "\(.key) \(.value)"') - - # Generate filled theme by iterating over complete theme keys - filled_theme="$target_theme" - for key in "${!prop_to_color[@]}"; do - if ! echo "$target_theme" | jq -e ".\"$key\"" &>/dev/null; then - # Find corresponding color if missing in target theme - value="${prop_to_color[$key]}" - corresponding_color="" - - # Check if other properties with the same color exist in the target theme - for prop in ${color_to_props["$value"]}; do - if echo "$target_theme" | jq -e ".\"$prop\"" &>/dev/null; then - corresponding_color=$(echo "$target_theme" | jq -r ".\"$prop\"") - break - fi - done - - # Add missing property with the corresponding color - if [ -n "$corresponding_color" ]; then - filled_theme=$(echo "$filled_theme" | jq --arg key "$key" --arg value "$corresponding_color" '.[$key] = $value') - echo "Added missing property: $key with value: $corresponding_color to $target_theme_file" - else - # Default action if no corresponding color is found - echo "No corresponding color found for $key; using value from complete theme." - filled_theme=$(echo "$filled_theme" | jq --arg key "$key" --arg value "$value" '.[$key] = $value') - fi - fi - done - - # Write the filled theme back to the target file - echo "$filled_theme" >"$target_theme_file" - echo "Filled missing values in $target_theme_file" -} - -# Process all theme files in the directory -for file in "$THEMES_DIR"/*.json; do - filename=$(basename "$file") - - # Skip the complete theme files - if [[ "$filename" == "$COMPLETE_THEME_FILE" ]] || [[ "$filename" == "$COMPLETE_SPLIT_THEME_FILE" ]]; then - continue - fi - - # Determine whether to use split or non-split complete theme - if [[ "$filename" == *"_split"* ]]; then - fill_missing_values "$THEMES_DIR/$COMPLETE_SPLIT_THEME_FILE" "$file" - else - fill_missing_values "$THEMES_DIR/$COMPLETE_THEME_FILE" "$file" - fi -done diff --git a/ags/HyprPanel/scss/main.scss b/ags/HyprPanel/scss/main.scss deleted file mode 100644 index 49328f9..0000000 --- a/ags/HyprPanel/scss/main.scss +++ /dev/null @@ -1,54 +0,0 @@ -* { - all: unset; - font-family: $font-name; - font-size: $font-size; - font-weight: $font-weight; -} - -//general -@import "style/colors"; -@import "style/common/common.scss"; -@import "style/common/floating-widget.scss"; -@import "style/common/widget-button.scss"; - -//general styles -@import "style/common/general"; - -//modules - bar -@import "style/bar/bar"; -@import "style/bar/menu"; -@import "style/bar/audio"; -@import "style/bar/media"; -@import "style/bar/network"; -@import "style/bar/bluetooth"; -@import "style/bar/clock"; -@import "style/bar/workspace"; -@import "style/bar/window_title"; -@import "style/bar/systray"; -@import "style/bar/notifications"; -@import "style/bar/power"; -@import "style/bar/battery"; - -//modules - menus -@import "style/menus/menu"; -@import "style/menus/power"; -@import "style/menus/powerdropdown"; -@import "style/menus/audiomenu"; -@import "style/menus/network"; -@import "style/menus/bluetooth"; -@import "style/menus/media"; -@import "style/menus/notifications"; -@import "style/menus/calendar"; -@import "style/menus/energy"; -@import "style/menus/dashboard"; - -//notifications -@import "style/notifications/popups"; - -//osd -@import "style/osd/index"; - -//settings dialog -@import "style/settings/dialog"; - -@import "style/customModules/style"; diff --git a/ags/HyprPanel/scss/optionsTrackers.ts b/ags/HyprPanel/scss/optionsTrackers.ts deleted file mode 100644 index ef360de..0000000 --- a/ags/HyprPanel/scss/optionsTrackers.ts +++ /dev/null @@ -1,58 +0,0 @@ -import icons from 'lib/icons'; -import { bash, dependencies, Notify, isAnImage } from 'lib/utils'; -import options from 'options'; -import Wallpaper from 'services/Wallpaper'; - -const { matugen } = options.theme; -const { mode, scheme_type, contrast } = options.theme.matugen_settings; - -const ensureMatugenWallpaper = (): void => { - const wallpaperPath = options.wallpaper.image.value; - - if (matugen.value && (!options.wallpaper.image.value.length || !isAnImage(wallpaperPath))) { - Notify({ - summary: 'Matugen Failed', - body: "Please select a wallpaper in 'Theming > General' first.", - iconName: icons.ui.warning, - timeout: 7000, - }); - matugen.value = false; - } -}; - -export const initializeTrackers = (resetCssFunc: () => void): void => { - matugen.connect('changed', () => { - ensureMatugenWallpaper(); - options.resetTheme(); - }); - - mode.connect('changed', () => { - options.resetTheme(); - }); - scheme_type.connect('changed', () => { - options.resetTheme(); - }); - contrast.connect('changed', () => { - options.resetTheme(); - }); - - Wallpaper.connect('changed', () => { - console.info('Wallpaper changed, regenerating Matugen colors...'); - if (options.theme.matugen.value) { - options.resetTheme(); - resetCssFunc(); - } - }); - - options.wallpaper.image.connect('changed', () => { - if ((!Wallpaper.isRunning() && options.theme.matugen.value) || !options.wallpaper.enable.value) { - console.info('Wallpaper path changed, regenerating Matugen colors...'); - options.resetTheme(); - resetCssFunc(); - } - if (options.wallpaper.pywal.value && dependencies('wal')) { - const wallpaperPath = options.wallpaper.image.value; - bash(`wal -i ${wallpaperPath}`); - } - }); -}; diff --git a/ags/HyprPanel/scss/style.ts b/ags/HyprPanel/scss/style.ts deleted file mode 100644 index 0679506..0000000 --- a/ags/HyprPanel/scss/style.ts +++ /dev/null @@ -1,79 +0,0 @@ -import options from 'options'; -import { bash, dependencies } from 'lib/utils'; -import { MatugenColors, RecursiveOptionsObject } from 'lib/types/options'; -import { initializeTrackers } from './optionsTrackers'; -import { generateMatugenColors, replaceHexValues } from '../services/matugen/index'; -import { isHexColor } from 'globals/variables'; - -const deps = ['font', 'theme', 'bar.flatButtons', 'bar.position', 'bar.battery.charging', 'bar.battery.blocks']; - -function extractVariables(theme: RecursiveOptionsObject, prefix = '', matugenColors?: MatugenColors): string[] { - let result = [] as string[]; - for (const key in theme) { - if (!theme.hasOwnProperty(key)) { - continue; - } - - const themeValue = theme[key]; - - const newPrefix = prefix ? `${prefix}-${key}` : key; - - const replacedValue = - isHexColor(themeValue.value) && matugenColors !== undefined - ? replaceHexValues(themeValue.value, matugenColors) - : themeValue.value; - - if (typeof themeValue === 'function') { - result.push(`$${newPrefix}: ${replacedValue};`); - continue; - } - if (typeof themeValue !== 'object' || themeValue === null || Array.isArray(themeValue)) continue; - - if (typeof themeValue.value !== 'undefined') { - result.push(`$${newPrefix}: ${replacedValue};`); - } else { - result = result.concat(extractVariables(themeValue, newPrefix, matugenColors)); - } - } - - return result; -} - -const resetCss = async (): Promise => { - if (!dependencies('sass')) return; - - try { - const matugenColors = await generateMatugenColors(); - - const variables = extractVariables(options.theme as RecursiveOptionsObject, '', matugenColors); - - const vars = `${TMP}/variables.scss`; - const css = `${TMP}/main.css`; - const scss = `${TMP}/entry.scss`; - const localScss = `${App.configDir}/scss/main.scss`; - - const themeVariables = variables; - const integratedVariables = themeVariables; - - const imports = [vars].map((f) => `@import '${f}';`); - - await Utils.writeFile(integratedVariables.join('\n'), vars); - - let mainScss = Utils.readFile(localScss); - mainScss = `${imports}\n${mainScss}`; - - await Utils.writeFile(mainScss, scss); - - await bash(`sass --load-path=${App.configDir}/scss/ ${scss} ${css}`); - - App.applyCss(css, true); - } catch (error) { - console.error(error); - } -}; - -initializeTrackers(resetCss); - -Utils.monitorFile(`${App.configDir}/scss/style`, resetCss); -options.handler(deps, resetCss); -await resetCss(); diff --git a/ags/HyprPanel/scss/style/bar/audio.scss b/ags/HyprPanel/scss/style/bar/audio.scss deleted file mode 100644 index 10e1a9d..0000000 --- a/ags/HyprPanel/scss/style/bar/audio.scss +++ /dev/null @@ -1,59 +0,0 @@ -.bar-button-icon.volume { - font-size: 1.3em; - color: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-volume-icon); -} - -.bar-button-label.volume { - color: if($bar-buttons-monochrome, $bar-buttons-text, $bar-buttons-volume-text); - min-width: 2.2em; - margin-left: $bar-buttons-volume-spacing; -} - -.style2 { - .bar-button-icon.volume { - border-top-left-radius: $bar-buttons-radius; - border-bottom-left-radius: $bar-buttons-radius; - background: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-volume-icon_background); - padding: $bar-buttons-padding_y 0em; - padding-left: $bar-buttons-padding_x; - padding-right: $bar-buttons-volume-spacing; - border-top-left-radius: if( - $bar-buttons-volume-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - border-bottom-left-radius: if( - $bar-buttons-volume-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - } - - .bar-button-label.volume { - padding: $bar-buttons-padding_y 0em; - padding-right: $bar-buttons-padding_x; - padding-left: $bar-buttons-volume-spacing; - margin-left: 0em; - } - &.no-label.volume-container { - .bar-button-icon.volume { - border-top-right-radius: if( - $bar-buttons-volume-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - border-bottom-right-radius: if( - $bar-buttons-volume-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - } - } -} -.bar_item_box_visible.volume { - border: if( - $bar-buttons-volume-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-borderSize solid if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-volume-border), - 0em - ); -} diff --git a/ags/HyprPanel/scss/style/bar/bar.scss b/ags/HyprPanel/scss/style/bar/bar.scss deleted file mode 100644 index 74bc27c..0000000 --- a/ags/HyprPanel/scss/style/bar/bar.scss +++ /dev/null @@ -1,156 +0,0 @@ -.bar { - * { - font-size: $font-size * $bar-scaling * 0.01; - } - - .bar-panel-container { - margin-top: if($bar-floating, $bar-margin_top, 0em); - margin-bottom: if($bar-floating, $bar-margin_bottom, 0em); - margin-left: if($bar-floating, $bar-margin_sides, 0em); - margin-right: if($bar-floating, $bar-margin_sides, 0em); - } - - .bar-panel { - $bar-opacity-ratio: $bar-opacity * 0.01; - $transparency-value: 1 - $bar-opacity-ratio; - background: if($bar-transparent, transparent, transparentize($bar-background, $transparency-value)); - border-radius: if($bar-floating, $bar-border_radius, 0em); - } -} - -$bar-button-background-opacity-ratio: $bar-buttons-background_opacity * 0.01; -$transparency-value: 1 - $bar-button-background-opacity-ratio; - -$bar-button-background-hover-opacity-ratio: $bar-buttons-background_hover_opacity * 0.01; -$transparency-value-hover: 1 - $bar-button-background-hover-opacity-ratio; - -.bar_item_box_visible { - background-color: transparentize($bar-buttons-background, $transparency-value); - border-radius: $bar-buttons-radius; - margin: $bar-buttons-y_margins $bar-buttons-spacing; - opacity: $bar-buttons-opacity * 0.01; - padding: $bar-buttons-padding_y $bar-buttons-padding_x; - - &.style3 { - border-bottom-left-radius: 1.3em; - border-top-right-radius: 1.3em; - } - - &.style4 { - border-bottom-right-radius: 1.3em; - border-top-left-radius: 1.3em; - } - - &:hover { - opacity: $bar-buttons-background_hover_opacity * 0.01; - } - - &.battery { - background-color: transparentize( - if($bar-buttons-monochrome, $bar-buttons-background, $bar-buttons-battery-background), - $transparency-value - ); - } - - &.bluetooth { - background-color: transparentize( - if($bar-buttons-monochrome, $bar-buttons-background, $bar-buttons-bluetooth-background), - $transparency-value - ); - } - - &.clock { - background-color: transparentize( - if($bar-buttons-monochrome, $bar-buttons-background, $bar-buttons-clock-background), - $transparency-value - ); - } - - &.media { - background-color: transparentize( - if($bar-buttons-monochrome, $bar-buttons-background, $bar-buttons-media-background), - $transparency-value - ); - } - - &.dashboard { - background-color: transparentize( - if($bar-buttons-monochrome, $bar-buttons-background, $bar-buttons-dashboard-background), - $transparency-value - ); - } - - &.network { - background-color: transparentize( - if($bar-buttons-monochrome, $bar-buttons-background, $bar-buttons-network-background), - $transparency-value - ); - } - - &.notifications { - background-color: transparentize( - if($bar-buttons-monochrome, $bar-buttons-background, $bar-buttons-notifications-background), - $transparency-value - ); - } - - &.systray { - background-color: transparentize( - if($bar-buttons-monochrome, $bar-buttons-background, $bar-buttons-systray-background), - $transparency-value - ); - &:hover { - opacity: 1; - } - } - - &.volume { - background-color: transparentize( - if($bar-buttons-monochrome, $bar-buttons-background, $bar-buttons-volume-background), - $transparency-value - ); - } - - &.windowtitle { - background-color: transparentize( - if($bar-buttons-monochrome, $bar-buttons-background, $bar-buttons-windowtitle-background), - $transparency-value - ); - } - - &.workspaces { - background-color: transparentize( - if($bar-buttons-monochrome, $bar-buttons-background, $bar-buttons-workspaces-background), - $transparency-value - ); - &:hover { - opacity: 1; - } - } - - &.style2 { - padding: 0em; - } -} - -.no-label.style2 { - .bar-button-icon { - border-top-right-radius: $bar-buttons-radius; - border-bottom-right-radius: $bar-buttons-radius; - } -} - -.bar_item_box_hidden { - background: none; - border-radius: 0rem; - padding: 0rem 0rem 0rem 0rem; - margin: 0rem 0rem 0rem 0rem; -} - -.box-left { - margin-left: $bar-outer_spacing; -} - -.box-right { - margin-right: $bar-outer_spacing; -} diff --git a/ags/HyprPanel/scss/style/bar/battery.scss b/ags/HyprPanel/scss/style/bar/battery.scss deleted file mode 100644 index f1b449a..0000000 --- a/ags/HyprPanel/scss/style/bar/battery.scss +++ /dev/null @@ -1,63 +0,0 @@ -.bar-button-label.battery { - color: if($bar-buttons-monochrome, $bar-buttons-text, $bar-buttons-battery-text); - margin-left: $bar-buttons-battery-spacing; -} - -.bar-button-icon.battery { - color: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-battery-icon); -} - -.style2 { - .bar-button-icon.battery { - border-top-left-radius: $bar-buttons-radius; - border-bottom-left-radius: $bar-buttons-radius; - background: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-battery-icon_background); - padding: $bar-buttons-padding_y 0em; - padding-left: $bar-buttons-padding_x; - padding-right: $bar-buttons-battery-spacing; - border-top-left-radius: if( - $bar-buttons-battery-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - border-bottom-left-radius: if( - $bar-buttons-battery-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - - &:last-child { - border-radius: $bar-buttons-radius; - } - } - - .bar-button-label.battery { - padding: $bar-buttons-padding_y 0em; - padding-right: $bar-buttons-padding_x; - padding-left: $bar-buttons-battery-spacing; - margin-left: 0em; - } - &.no-label.battery-container { - .bar-button-icon.battery { - border-top-right-radius: if( - $bar-buttons-battery-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - border-bottom-right-radius: if( - $bar-buttons-battery-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - } - } -} - -.bar_item_box_visible.battery { - border: if( - $bar-buttons-battery-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-borderSize solid if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-battery-border), - 0em - ); -} - diff --git a/ags/HyprPanel/scss/style/bar/bluetooth.scss b/ags/HyprPanel/scss/style/bar/bluetooth.scss deleted file mode 100644 index f641765..0000000 --- a/ags/HyprPanel/scss/style/bar/bluetooth.scss +++ /dev/null @@ -1,70 +0,0 @@ -.bar-button-icon.bluetooth { - font-size: 1.15em; - color: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-bluetooth-icon); -} - -.bar-button-label.bluetooth { - color: if($bar-buttons-monochrome, $bar-buttons-text, $bar-buttons-bluetooth-text); - margin-left: $bar-buttons-bluetooth-spacing; -} - -.bluetooth-disabled-menu { - font-weight: bold; - font-size: 1.1rem; - color: $surface2; - margin: 6rem 0rem; -} - -.menu-button-isactive { - color: if($bar-buttons-monochrome, $bar-buttons-text, $bar-buttons-bluetooth-text); -} - -.style2 { - .bar-button-icon.bluetooth { - border-top-left-radius: $bar-buttons-radius; - border-bottom-left-radius: $bar-buttons-radius; - background: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-bluetooth-icon_background); - padding: $bar-buttons-padding_y 0em; - padding-left: $bar-buttons-padding_x; - padding-right: $bar-buttons-bluetooth-spacing; - border-top-left-radius: if( - $bar-buttons-bluetooth-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - border-bottom-left-radius: if( - $bar-buttons-bluetooth-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - } - - .bar-button-label.bluetooth { - padding: $bar-buttons-padding_y 0em; - padding-right: $bar-buttons-padding_x; - padding-left: $bar-buttons-bluetooth-spacing; - margin-left: 0em; - } - &.no-label.bluetooth-container { - .bar-button-icon.bluetooth { - border-top-right-radius: if( - $bar-buttons-bluetooth-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - border-bottom-right-radius: if( - $bar-buttons-bluetooth-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - } - } -} - -.bar_item_box_visible.bluetooth { - border: if( - $bar-buttons-bluetooth-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-borderSize solid if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-bluetooth-border), - 0em - ); -} diff --git a/ags/HyprPanel/scss/style/bar/clock.scss b/ags/HyprPanel/scss/style/bar/clock.scss deleted file mode 100644 index c861ce7..0000000 --- a/ags/HyprPanel/scss/style/bar/clock.scss +++ /dev/null @@ -1,59 +0,0 @@ -.bar-button-label.clock { - color: if($bar-buttons-monochrome, $bar-buttons-text, $bar-buttons-clock-text); - margin-left: $bar-buttons-clock-spacing; -} - -.bar-button-icon.clock { - font-size: 1.2em; - color: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-clock-icon); -} - -.style2 { - .bar-button-icon.clock { - border-top-left-radius: $bar-buttons-radius; - border-bottom-left-radius: $bar-buttons-radius; - background: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-clock-icon_background); - padding: $bar-buttons-padding_y 0em; - padding-left: $bar-buttons-padding_x; - padding-right: $bar-buttons-clock-spacing; - border-top-left-radius: if( - $bar-buttons-clock-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - border-bottom-left-radius: if( - $bar-buttons-clock-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - } - - .bar-button-label.clock { - padding: $bar-buttons-padding_y 0em; - padding-right: $bar-buttons-padding_x; - padding-left: $bar-buttons-clock-spacing; - margin-left: 0em; - } - &.no-label.clock-container { - .bar-button-icon.clock { - border-top-right-radius: if( - $bar-buttons-clock-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - border-bottom-right-radius: if( - $bar-buttons-clock-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - } - } -} - -.bar_item_box_visible.clock { - border: if( - $bar-buttons-clock-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-borderSize solid if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-clock-border), - 0em - ); -} diff --git a/ags/HyprPanel/scss/style/bar/media.scss b/ags/HyprPanel/scss/style/bar/media.scss deleted file mode 100644 index 95e8b49..0000000 --- a/ags/HyprPanel/scss/style/bar/media.scss +++ /dev/null @@ -1,43 +0,0 @@ -.bar-button-label.media { - color: if($bar-buttons-monochrome, $bar-buttons-text, $bar-buttons-media-text); - margin-left: $bar-buttons-media-spacing; -} - -.bar-button-icon.media { - font-size: 1.2em; - color: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-media-icon); -} - -.style2 { - .bar-button-icon.media { - background: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-media-icon_background); - padding: $bar-buttons-padding_y 0em; - padding-left: $bar-buttons-padding_x; - padding-right: $bar-buttons-media-spacing; - border-top-left-radius: if( - $bar-buttons-media-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - border-bottom-left-radius: if( - $bar-buttons-media-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - } - - .bar-button-label.media { - padding: $bar-buttons-padding_y 0em; - padding-right: $bar-buttons-padding_x; - padding-left: $bar-buttons-media-spacing; - margin-left: 0em; - } -} - -.bar_item_box_visible.media { - border: if( - $bar-buttons-media-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-borderSize solid if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-media-border), - 0em - ); -} diff --git a/ags/HyprPanel/scss/style/bar/menu.scss b/ags/HyprPanel/scss/style/bar/menu.scss deleted file mode 100644 index 224956e..0000000 --- a/ags/HyprPanel/scss/style/bar/menu.scss +++ /dev/null @@ -1,25 +0,0 @@ -.bar-menu_label { - color: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-dashboard-icon); - font-size: 1.3em; - border-radius: $bar-buttons-radius; -} - -.bar_item_box_visible.style2.dashboard { - background: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-dashboard-background); - - .bar-menu_label { - color: if($bar-buttons-monochrome, $bar-buttons-background, $bar-buttons-dashboard-icon); - } -} - -.style2 .bar-menu_label { - padding: $bar-buttons-padding_y $bar-buttons-padding_x; -} - -.bar_item_box_visible.dashboard { - border: if( - $bar-buttons-dashboard-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-borderSize solid if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-dashboard-border), - 0em - ); -} diff --git a/ags/HyprPanel/scss/style/bar/network.scss b/ags/HyprPanel/scss/style/bar/network.scss deleted file mode 100644 index a2b02c4..0000000 --- a/ags/HyprPanel/scss/style/bar/network.scss +++ /dev/null @@ -1,58 +0,0 @@ -.bar-button-label.network-label { - color: if($bar-buttons-monochrome, $bar-buttons-text, $bar-buttons-network-text); - margin-left: $bar-buttons-network-spacing; -} - -.bar-button-icon.network-icon { - color: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-network-icon); -} - -.style2 { - .bar-button-icon.network-icon { - border-top-left-radius: $bar-buttons-radius; - border-bottom-left-radius: $bar-buttons-radius; - background: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-network-icon_background); - padding: $bar-buttons-padding_y 0em; - padding-left: $bar-buttons-padding_x; - padding-right: $bar-buttons-network-spacing; - border-top-left-radius: if( - $bar-buttons-network-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - border-bottom-left-radius: if( - $bar-buttons-network-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - } - - .bar-button-label.network-label { - padding: $bar-buttons-padding_y 0em; - padding-right: $bar-buttons-padding_x; - padding-left: $bar-buttons-network-spacing; - margin-left: 0em; - } - &.no-label.network-container { - .bar-button-icon.network-icon { - border-top-right-radius: if( - $bar-buttons-network-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - border-bottom-right-radius: if( - $bar-buttons-network-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - } - } -} - -.bar_item_box_visible.network { - border: if( - $bar-buttons-network-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-borderSize solid if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-network-border), - 0em - ); -} diff --git a/ags/HyprPanel/scss/style/bar/notifications.scss b/ags/HyprPanel/scss/style/bar/notifications.scss deleted file mode 100644 index 5818a26..0000000 --- a/ags/HyprPanel/scss/style/bar/notifications.scss +++ /dev/null @@ -1,66 +0,0 @@ -.bar-button-icon.notifications { - color: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-notifications-icon); - font-size: 1.3em; -} - -.bar-button-label.notifications { - color: if($bar-buttons-monochrome, $bar-buttons-text, $bar-buttons-notifications-total); - margin-left: $bar-buttons-notifications-spacing; - min-width: 1em; -} - -.style2 { - .bar-button-icon.notifications { - border-top-left-radius: $bar-buttons-radius; - border-bottom-left-radius: $bar-buttons-radius; - background: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-notifications-icon_background); - padding: $bar-buttons-padding_y 0em; - padding-left: $bar-buttons-padding_x; - padding-right: $bar-buttons-notifications-spacing; - border-top-left-radius: if( - $bar-buttons-notifications-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - border-bottom-left-radius: if( - $bar-buttons-notifications-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - color: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-notifications-icon); - - &:last-child { - border-radius: $bar-buttons-radius; - } - } - - .bar-button-label.notifications { - padding: $bar-buttons-padding_y 0em; - padding-right: $bar-buttons-padding_x; - padding-left: $bar-buttons-notifications-spacing; - margin-left: 0em; - } - - &.no-label.notifications-container { - .bar-button-icon.notifications { - border-top-right-radius: if( - $bar-buttons-notifications-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - border-bottom-right-radius: if( - $bar-buttons-notifications-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - } - } -} - -.bar_item_box_visible.notifications { - border: if( - $bar-buttons-notifications-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-borderSize solid if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-notifications-border), - 0em - ); -} diff --git a/ags/HyprPanel/scss/style/bar/power.scss b/ags/HyprPanel/scss/style/bar/power.scss deleted file mode 100644 index e872b0f..0000000 --- a/ags/HyprPanel/scss/style/bar/power.scss +++ /dev/null @@ -1,4 +0,0 @@ -.bar-power_label { - color: $red; - margin-top: 0.2rem; -} diff --git a/ags/HyprPanel/scss/style/bar/systray.scss b/ags/HyprPanel/scss/style/bar/systray.scss deleted file mode 100644 index f135d24..0000000 --- a/ags/HyprPanel/scss/style/bar/systray.scss +++ /dev/null @@ -1,19 +0,0 @@ -.systray button:not(:first-child) { - margin-left: $bar-buttons-systray-spacing; -} - -.systray-icon { - font-size: 1.3em; -} - -.style2.systray { - padding: $bar-buttons-padding_y $bar-buttons-padding_x; -} - -.bar_item_box_visible.systray { - border: if( - $bar-buttons-systray-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-borderSize solid if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-systray-border), - 0em - ); -} diff --git a/ags/HyprPanel/scss/style/bar/window_title.scss b/ags/HyprPanel/scss/style/bar/window_title.scss deleted file mode 100644 index 0fd422c..0000000 --- a/ags/HyprPanel/scss/style/bar/window_title.scss +++ /dev/null @@ -1,66 +0,0 @@ -.bar-button-icon.windowtitle { - color: if($bar-buttons-monochrome, $bar-buttons-text, $bar-buttons-windowtitle-icon); -} - -.bar-button-label.windowtitle { - color: if($bar-buttons-monochrome, $bar-buttons-text, $bar-buttons-windowtitle-text); - margin-left: $bar-buttons-windowtitle-spacing; - - &.no-icon { - margin-left: 0; - } -} - -.style2 { - .bar-button-icon.windowtitle { - border-top-left-radius: $bar-buttons-radius; - border-bottom-left-radius: $bar-buttons-radius; - background: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-windowtitle-icon_background); - padding: $bar-buttons-padding_y 0em; - padding-left: $bar-buttons-padding_x; - padding-right: $bar-buttons-windowtitle-spacing; - border-top-left-radius: if( - $bar-buttons-windowtitle-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - border-bottom-left-radius: if( - $bar-buttons-windowtitle-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - } - - .bar-button-label.windowtitle { - padding: $bar-buttons-padding_y 0em; - padding-right: $bar-buttons-padding_x; - padding-left: $bar-buttons-windowtitle-spacing; - margin-left: 0em; - - &.no-icon { - padding-left: $bar-buttons-padding_x; - } - } - &.no-label.windowtitle-container { - .bar-button-icon.windowtitle { - border-top-right-radius: if( - $bar-buttons-windowtitle-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - border-bottom-right-radius: if( - $bar-buttons-windowtitle-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - } - } -} - -.bar_item_box_visible.windowtitle { - border: if( - $bar-buttons-windowtitle-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-borderSize solid if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-windowtitle-border), - 0em - ); -} diff --git a/ags/HyprPanel/scss/style/bar/workspace.scss b/ags/HyprPanel/scss/style/bar/workspace.scss deleted file mode 100644 index 967cc74..0000000 --- a/ags/HyprPanel/scss/style/bar/workspace.scss +++ /dev/null @@ -1,92 +0,0 @@ -.workspaces { - label { - font-size: 0.2em; - min-width: 4em; - min-height: 4em; - border-radius: 1.9rem * 0.6; - transition: 300ms * 0.5; - background-color: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-workspaces-available); - color: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-workspaces-available); - - &.occupied { - background-color: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-workspaces-occupied); - color: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-workspaces-occupied); - min-width: 4em; - min-height: 4em; - } - - &.active { - color: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-workspaces-active); - background-color: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-workspaces-active); - min-width: 12em; - min-height: 4em; - } - - &.workspace-icon { - background-color: transparent; - min-width: 0em; - min-height: 0em; - border-radius: 0em; - transition: 300ms * 0.5; - font-size: 1em; - } - - &.workspace-number { - background-color: transparent; - min-width: 0em; - min-height: 0em; - border-radius: 0em; - transition: 0ms; - padding: 0em 0.2em; - font-size: $bar-buttons-workspaces-fontSize; - } - - &.underline { - border-top: 0.1em solid transparent; - border-bottom: 0.1em solid $bar-buttons-workspaces-numbered_active_underline_color; - transition: 0ms; - } - - &.highlight { - transition: 0ms; - color: $bar-buttons-workspaces-numbered_active_highlighted_text_color; - border-radius: $bar-buttons-workspaces-numbered_active_highlight_border; - background-color: $bar-buttons-workspaces-active; - padding: 0em $bar-buttons-workspaces-numbered_active_highlight_padding; - } - } -} - -.workspace-button { - &:hover label { - color: $bar-buttons-workspaces-hover; - - &.default { - background-color: $bar-buttons-workspaces-hover; - } - } - - &:hover .can_underline { - border-top: 0.1em solid transparent; - border-bottom: 0.1em solid - if($bar-buttons-monochrome, $bar-buttons-workspaces-hover, $bar-buttons-workspaces-hover); - } - - &:hover .can_highlight { - background-color: $bar-buttons-workspaces-hover; - color: $bar-buttons-workspaces-numbered_active_highlighted_text_color; - border-radius: $bar-buttons-workspaces-numbered_active_highlight_border; - } -} - -.style2.workspaces { - padding: $bar-buttons-padding_y $bar-buttons-padding_x; -} - -.bar_item_box_visible.workspaces { - border: if( - $bar-buttons-workspaces-enableBorder or $bar-buttons-enableBorders, - $bar-buttons-borderSize solid if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-workspaces-border), - 0em - ); -} diff --git a/ags/HyprPanel/scss/style/colors.scss b/ags/HyprPanel/scss/style/colors.scss deleted file mode 100644 index a117726..0000000 --- a/ags/HyprPanel/scss/style/colors.scss +++ /dev/null @@ -1,52 +0,0 @@ -$primary-color: #CDD6F4; -$dark-background: #0e0e1e; -$light-background: #1e1e2e; -$mauve: #cba6f7; -$red: #f38ba8; -$yellow: #f9e2af; -$orange: #fab387; -$teal: #94e2d5; -$lightteal: #bac2de; -$pink: #f5c2e7; -$green: #a6e3a1; -$grey: #585b70; -$blue: #89b4fa; -$lightgrey: #a6adc8; -$lightblue: #74c7ec; - -$rosewater: #f5e0dc; -$flamingo: #f2cdcd; -$pink: #f5c2e7; -$mauve: #cba6f7; -$red: #f38ba8; -$maroon: #eba0ac; -$peach: #fab387; -$yellow: #f9e2af; -$green: #a6e3a1; -$teal: #94e2d5; -$sky: #89dceb; -$sapphire: #74c7ec; -$blue: #89b4fa; -$lavender: #b4befe; -$text: #cdd6f4; -$subtext1: #bac2de; -$subtext2: #a6adc8; -$overlay2: #9399b2; -$overlay1: #7f849c; -$overlay0: #6c7086; -$surface2: #585b70; -$surface1: #45475a; -$surface0: #313244; -$base: #1e1e2e; -$base2: #242438; -$mantle: #181825; -$crust: #11111b; - -$default_fg: $primary-color; -$default_bg: #000000; -$primary_bg: $dark-background; -// $primary_fg: mix($mauve, $primary_bg, 70%); -$primary_fg: mix($mauve, $primary_bg, 70%); -$secondary_fg: $green; -$secondary_bg: $light-background; -$shadow-color: #1e1e2e; diff --git a/ags/HyprPanel/scss/style/common/common.scss b/ags/HyprPanel/scss/style/common/common.scss deleted file mode 100644 index 38180fb..0000000 --- a/ags/HyprPanel/scss/style/common/common.scss +++ /dev/null @@ -1,234 +0,0 @@ -@import "../colors"; - -menu { - margin: 6px; - padding: 6px; - background-color: $primary_bg; - background-clip: border-box; - border-radius: 12px; - border: 1px solid $secondary_bg; - - menuitem { - transition: background-color 75ms cubic-bezier(0, 0, 0.2, 1); - min-height: 20px; - min-width: 40px; - padding: 4px 8px; - color: #FFFFFF; - font: initial; - text-shadow: none; - border-radius: 6px; - - &:hover, - &:active { - background-color: $secondary_bg; - } - - &:disabled { - color: $secondary_bg; - } - - arrow { - min-height: 16px; - min-width: 16px; - -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); - margin-left: 8px; - } - } - - separator { - min-height: 1px; - margin: 4px 0; - background-color: $secondary_bg - } -} - -menu>arrow { - min-height: 16px; - min-width: 16px; - padding: 4px; - color: $secondary_bg; -} - -menu>arrow.top { - margin-top: 0; - border-radius: 6px; - -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); -} - -menu>arrow.bottom { - margin-top: 8px; - margin-bottom: -12px; - border-radius: 6px; - -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); -} - -check, -radio { - min-height: 15px; - min-width: 15px; - margin: 4px; - padding: 0; - color: transparent; - background-color: $secondary_bg; - transition: all 75ms cubic-bezier(0, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0, 0, 0.2, 1); -} - -radio { - border-radius: 9999px; -} - -check { - border-radius: 4px; -} - -check:hover, -radio:hover { - box-shadow: 0 0 0 4px transparentize($primary_bg, 0.8); - background-color: $primary_bg; -} - -check:active, -radio:active { - box-shadow: 0 0 0 4px transparentize($primary_bg, 0.8); - background-color: $primary_bg; -} - -check:checked, -check:indeterminate, -radio:checked, -radio:indeterminate { - color: $primary_bg; - background-color: $primary_fg; -} - -check:checked:hover, -check:indeterminate:hover, -radio:checked:hover, -radio:indeterminate:hover { - box-shadow: 0 0 0 4px transparentize($primary_fg, 0.8); - background-color: $primary_fg; -} - -check:checked:active, -check:indeterminate:active, -radio:checked:active, -radio:indeterminate:active { - box-shadow: 0 0 0 4px transparentize($primary_fg, 0.8); - background-color: $primary_fg; -} - -switch { - transition: all 75ms cubic-bezier(0, 0, 0.2, 1); - margin: 4px 0; - border: none; - border-radius: 9999px; - background-color: $secondary_bg; - background-clip: padding-box; - font-size: 0; - color: transparent; -} - -switch:checked { - background-color: $primary_fg; -} - -switch:disabled { - opacity: 0.5; -} - -switch slider { - transition: all 75ms cubic-bezier(0, 0, 0.2, 1); - min-width: 18px; - min-height: 18px; - margin: 3px; - border-radius: 9999px; - outline: none; - background-color: $default_fg; - border: none; - color: transparent; -} - -scale { - min-height: 2px; - min-width: 2px; -} - -scale.horizontal { - padding: 17px 12px; -} - -scale.vertical { - padding: 12px 17px; -} - -scale slider { - min-height: 18px; - min-width: 18px; - margin: -8px; -} - -scale trough { - transition: background-color 75ms cubic-bezier(0, 0, 0.2, 1); - outline: none; - background-color: $secondary_bg; -} - -scale highlight { - transition: background-color 75ms cubic-bezier(0, 0, 0.2, 1); - background-color: $primary_fg; -} - -scale highlight:disabled { - background-color: #1e1e2e; -} - -scale fill { - transition: background-color 75ms cubic-bezier(0, 0, 0.2, 1); -} - -scale fill:disabled { - background-color: transparent; -} - -scale slider { - transition: all 75ms cubic-bezier(0, 0, 0.2, 1); - border-radius: 9999px; - color: $primary_fg; - background-color: $primary_bg; - box-shadow: inset 0 0 0 2px $primary_fg; -} - -scale slider:hover { - box-shadow: inset 0 0 0 2px $primary_fg, 0 0 0 8px transparentize($primary_fg, 0.9); -} - -scale slider:active { - box-shadow: inset 0 0 0 4px $primary_fg, 0 0 0 8px transparentize($primary_fg, 0.9); -} - -tooltip { - box-shadow: none; -} - -separator { - min-width: 1px; - min-height: 1px; - background-color: $secondary_bg; -} - -@keyframes spin { - to { - -gtk-icon-transform: rotate(1turn); - } -} - -spinner { - background: none; - opacity: 0; - -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); -} - -spinner:checked { - opacity: 1; - animation: spin 1s linear infinite; -} diff --git a/ags/HyprPanel/scss/style/common/floating-widget.scss b/ags/HyprPanel/scss/style/common/floating-widget.scss deleted file mode 100644 index e1a9da4..0000000 --- a/ags/HyprPanel/scss/style/common/floating-widget.scss +++ /dev/null @@ -1,10 +0,0 @@ -@import "../colors"; - -@mixin floating-widget { - margin: max($spacing, 8px); - border: 0.2rem solid $surface0; - background-color: $base; - color: $primary_fg; - border-radius: 0.5rem; - padding: 1.5rem; -} diff --git a/ags/HyprPanel/scss/style/common/general.scss b/ags/HyprPanel/scss/style/common/general.scss deleted file mode 100644 index da7ee41..0000000 --- a/ags/HyprPanel/scss/style/common/general.scss +++ /dev/null @@ -1,79 +0,0 @@ -@import '../colors.scss'; - -.txt-icon { - font-family: "JetBrainsMono Nerd Font Propo", monospace; - font-size: 1.5em; - - &.bluetooth { - font-size: 1em; - } - - &.playback { - font-size: 1.3em; - } - - &.input { - font-size: 1.3em; - } -} - -.bar.txt-icon { - font-family: "JetBrainsMono Nerd Font Propo", monospace; - font-size: 1.2em; -} - -window.popup { - opacity: $bar-menus-opacity * 0.01; - - menuitem { - label { - color: $bar-menus-popover-text; - } - - &:hover { - background-color: transparentize(if($bar-menus-monochrome, $bar-menus-text, $bar-menus-popover-text), 0.6); - } - } - - menu { - border-color: $bar-menus-popover-border; - background: if($bar-menus-monochrome, $bar-menus-background, $bar-menus-popover-background); - } - - separator { - - background-color: transparentize(if($bar-menus-monochrome, $bar-menus-text, $bar-menus-popover-text), 0.7); - min-height: 0.075em; - } - - arrow { - color: if($bar-menus-monochrome, $bar-menus-text, $bar-menus-popover-text); - } -} - -tooltip { - * { - all: unset; - } - - opacity: $bar-menus-opacity * 0.01; - - font-size: 1.1em; - - >*>* { - padding: 0.6em; - border-radius: $bar-menus-border-radius * 0.5; - color: if($bar-menus-monochrome, $bar-menus-label, $bar-menus-tooltip-text); - background: if($bar-menus-monochrome, $bar-menus-background, $bar-menus-tooltip-background); - } -} - -check:not(:checked) { - background-color: $bar-menus-check_radio_button-background; - border: 1px solid $bar-menus-check_radio_button-active; -} - -check:checked { - background-color: $bar-menus-check_radio_button-active; - border: 1px solid $bar-menus-check_radio_button-background; -} diff --git a/ags/HyprPanel/scss/style/common/widget-button.scss b/ags/HyprPanel/scss/style/common/widget-button.scss deleted file mode 100644 index 657db61..0000000 --- a/ags/HyprPanel/scss/style/common/widget-button.scss +++ /dev/null @@ -1,52 +0,0 @@ -$popover-padding: 7px * 1.6; -$padding: 7px; -$spacing: 12px; -$radius: 11px; - -.widget-button { - background: $crust; - opacity: 1; - font-size: 1.6rem; - font-weight: bold; - margin: 10px; - padding: 15px 20px; - border-radius: 10px; - border: 3px solid; - border-color: $crust; - transition: border-color .3s ease-in-out; - transition: opacity .3s ease-in-out; - - &:hover { - border: 3px solid; - border-color: $lavender; - transition: border-color .3s ease-in-out; - } - - &:focus, - &:active { - border: 3px solid; - border-color: $lavender; - } - - image { - border-radius: $radius + ($popover-padding * 1.4); - min-width: 1.2em; - min-height: 1.2em; - font-size: 4em; - } - - label { - margin-top: $spacing; - } - - &:active { - image { - opacity: .3; - transition: opacity .3s ease-in-out; - } - label { - opacity: .3; - transition: opacity .3s ease-in-out; - } - } -} diff --git a/ags/HyprPanel/scss/style/customModules/style.scss b/ags/HyprPanel/scss/style/customModules/style.scss deleted file mode 100644 index 1522e8a..0000000 --- a/ags/HyprPanel/scss/style/customModules/style.scss +++ /dev/null @@ -1,366 +0,0 @@ -/* - * ################################# - * # Default Styling # - * ################################# - */ -.bar-button-label { - margin-left: 0.5em; - color: $text; -} - -.module-icon { - font-size: 1em; -} - -.style2 { - .bar-button-icon { - border-top-left-radius: $bar-buttons-radius; - border-bottom-left-radius: $bar-buttons-radius; - padding: $bar-buttons-padding_y 0em; - padding-left: $bar-buttons-padding_x; - padding-right: 0.5em; - background: $text; - color: $bar-background; - } - - .bar-button-label { - padding: $bar-buttons-padding_y 0em; - padding-right: $bar-buttons-padding_x; - padding-left: 0.5em; - margin-left: 0em; - } -} - -/* - * ################################# - * # Styling Function # - * ################################# - */ -@mixin styleModule( - $class, - $textColor, - $iconColor, - $iconBackground, - $labelBackground, - $spacing, - $borderEnabled, - $borderColor, - $fontSize: 1em -) { - $bar-button-background-opacity-ratio: $bar-buttons-background_opacity * 0.01; - $transparency-value: 1 - $bar-button-background-opacity-ratio; - - $bar-button-background-hover-opacity-ratio: $bar-buttons-background_hover_opacity * 0.01; - $transparency-value-hover: 1 - $bar-button-background-hover-opacity-ratio; - .bar_item_box_visible { - &.#{$class} { - background: transparentize($labelBackground, $transparency-value); - border: if( - $borderEnabled or $bar-buttons-enableBorders, - $bar-buttons-borderSize solid if($bar-buttons-monochrome, $bar-buttons-icon, $borderColor), - 0em - ); - - &.style2 { - background: transparent; - } - - &:hover { - opacity: $bar-buttons-background_hover_opacity * 0.01; - } - } - } - - .module-label.#{$class} { - color: if($bar-buttons-monochrome, $bar-buttons-text, $textColor); - margin-left: $spacing; - border-radius: $bar-buttons-radius; - } - - .module-icon.#{$class} { - color: if($bar-buttons-monochrome, $bar-buttons-icon, $iconColor); - font-size: if($fontSize, $fontSize, 1em); - } - - .style2 { - .module-icon.#{$class} { - background: if($bar-buttons-monochrome, $bar-buttons-icon, $iconBackground); - padding-right: $spacing; - color: if($bar-buttons-monochrome, $bar-buttons-background, $iconColor); - border-top-left-radius: if( - $borderEnabled or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - border-bottom-left-radius: if( - $borderEnabled or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - } - - .module-label.#{$class} { - background: transparentize($labelBackground, $transparency-value); - padding-left: $spacing * 1.5; - margin-left: 0em; - border-top-left-radius: 0em; - border-bottom-left-radius: 0em; - } - &.no-label.#{$class} { - .module-icon { - border-top-right-radius: if( - $borderEnabled or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - border-bottom-right-radius: if( - $borderEnabled or $bar-buttons-enableBorders, - $bar-buttons-radius * 0.4, - $bar-buttons-radius - ); - } - } - } -} - -/* - * ################################# - * # Ram Module Styling # - * ################################# - */ -@include styleModule( - // - // class name - 'ram', - // label color - $bar-buttons-modules-ram-text, - // icon color - $bar-buttons-modules-ram-icon, - // icon background if split style is used - $bar-buttons-modules-ram-icon_background, - // label background - $bar-buttons-modules-ram-background, - // inner spacing - $bar-buttons-modules-ram-spacing, - // - // if border enabled - $bar-buttons-modules-ram-enableBorder, - // border color - $bar-buttons-modules-ram-border -); - -/* - * ################################# - * # Cpu Module Styling # - * ################################# - */ -@include styleModule( - // - // class name - 'cpu', - // label color - $bar-buttons-modules-cpu-text, - // icon color - $bar-buttons-modules-cpu-icon, - // icon background if split style is used - $bar-buttons-modules-cpu-icon_background, - // label background - $bar-buttons-modules-cpu-background, - // inner spacing - $bar-buttons-modules-cpu-spacing, - // if border enabled - $bar-buttons-modules-cpu-enableBorder, - // border color - $bar-buttons-modules-cpu-border, - // custom font size - 1.05em // -); - -/* - * ################################# - * # Storage Module Styling # - * ################################# - */ -@include styleModule( - // - // class name - 'storage', - // label color - $bar-buttons-modules-storage-text, - // icon color - $bar-buttons-modules-storage-icon, - // icon background if split style is used - $bar-buttons-modules-storage-icon_background, - // label background - $bar-buttons-modules-storage-background, - // inner spacing - $bar-buttons-modules-storage-spacing, - // if border enabled - $bar-buttons-modules-storage-enableBorder, - // border color - $bar-buttons-modules-storage-border, - // custom font size - 1.3em // -); - -/* - * ################################# - * # Netstat Module Styling # - * ################################# - */ -@include styleModule( - // - // class name - 'netstat', - // label color - $bar-buttons-modules-netstat-text, - // icon color - $bar-buttons-modules-netstat-icon, - // icon background if split style is used - $bar-buttons-modules-netstat-icon_background, - // label background - $bar-buttons-modules-netstat-background, - // inner spacing - $bar-buttons-modules-netstat-spacing, - // if border enabled - $bar-buttons-modules-netstat-enableBorder, - // border color - $bar-buttons-modules-netstat-border, - // custom font size - 1.2em // -); - -/* - * ################################# - * # KB Layout Module Styling # - * ################################# - */ -@include styleModule( - // - // class name - 'kblayout', - // label color - $bar-buttons-modules-kbLayout-text, - // icon color - $bar-buttons-modules-kbLayout-icon, - // icon background if split style is used - $bar-buttons-modules-kbLayout-icon_background, - // label background - $bar-buttons-modules-kbLayout-background, - // inner spacing - $bar-buttons-modules-kbLayout-spacing, - // if border enabled - $bar-buttons-modules-kbLayout-enableBorder, - // border color - $bar-buttons-modules-kbLayout-border, - // custom font size - 1.2em // -); - -/* - * ################################# - * # Updates Module Styling # - * ################################# - */ -@include styleModule( - // - // class name - 'updates', - // label color - $bar-buttons-modules-updates-text, - // icon color - $bar-buttons-modules-updates-icon, - // icon background if split style is used - $bar-buttons-modules-updates-icon_background, - // label background - $bar-buttons-modules-updates-background, - // inner spacing - $bar-buttons-modules-updates-spacing, - // if border enabled - $bar-buttons-modules-updates-enableBorder, - // border color - $bar-buttons-modules-updates-border, - // custom font size - 1.2em // -); - -/* - * ################################# - * # Submap Module Styling # - * ################################# - */ -@include styleModule( - // - // class name - 'submap', - // label color - $bar-buttons-modules-submap-text, - // icon color - $bar-buttons-modules-submap-icon, - // icon background if split style is used - $bar-buttons-modules-submap-icon_background, - // label background - $bar-buttons-modules-submap-background, - // inner spacing - $bar-buttons-modules-submap-spacing, - // if border enabled - $bar-buttons-modules-submap-enableBorder, - // border color - $bar-buttons-modules-submap-border, - // custom font size - 1.2em // -); - -/* - * ################################# - * # Weather Module Styling # - * ################################# - */ -@include styleModule( - // - // class name - 'weather-custom', - // label color - $bar-buttons-modules-weather-text, - // icon color - $bar-buttons-modules-weather-icon, - // icon background if split style is used - $bar-buttons-modules-weather-icon_background, - // label background - $bar-buttons-modules-weather-background, - // inner spacing - $bar-buttons-modules-weather-spacing, - // if border enabled - $bar-buttons-modules-weather-enableBorder, - // border color - $bar-buttons-modules-weather-border, - // custom font size - 1.2em // -); - -/* - * ################################# - * # Power Module Styling # - * ################################# - */ -@include styleModule( - // - // class name - 'powermodule', - // label color - $red, - // icon color - $bar-buttons-modules-power-icon, - // icon background if split style is used - $bar-buttons-modules-power-icon_background, - // label background - $bar-buttons-modules-power-background, - // inner spacing - $bar-buttons-modules-power-spacing, - // if border enabled - $bar-buttons-modules-power-enableBorder, - // border color - $bar-buttons-modules-power-border, - // custom font size - 1.3em // -); diff --git a/ags/HyprPanel/scss/style/highlights.scss b/ags/HyprPanel/scss/style/highlights.scss deleted file mode 100644 index 0cdd921..0000000 --- a/ags/HyprPanel/scss/style/highlights.scss +++ /dev/null @@ -1,222 +0,0 @@ -@import "colors"; - -* { - color: $default_fg; - font-family: "JetBrainsMono NF"; - font-size: 0.9rem; -} - -html, body { - padding: 0; - margin: 0; - background-color: $primary_bg; -} - -// scrollbar { -// background-color: red; -// min-width: 5em; -// } - -.code { - background: $light-background; - border-radius: 0.5rem; - - .code-header { - background: $light-background; - border-top-left-radius: 0.5rem; - border-top-right-radius: 0.5rem; - border-bottom: 1px solid $primary_fg; - padding: 5px; - - > button { - color: $default_fg; - background: transparent; - float: right; - border: none; - - &:before { - content: '󰆏'; - display: inline-block; - padding-right: 0.5rem; - } - } - } -} - -$languages-map: ( - arduino: "", - armasm: "", - avrasm: "", - bash: "", - c: "", - clojure: "", - coffeescript: "", - cpp: "", - csharp: "󰌛", - css: "", - dockerfile: "󰡨", - go: "", - gradle: "", - haskell: "", - html: "", - java: "", - javascript: "󰌞", - json: "", - latex: "", - lua: "󰢱", - makefile: "", - markdown: "", - mipsasm: "", - nginx: "", - nix: "󱄅", - php: "", - prolog: "", - python: "", - r: "󰟔", - ruby: "", - rust: "", - scss: "", - shell: "", - typescript: "󰛦", - wasm: "", - x86asm: "", - xml: "󰗀", -); - -@each $lang, $content in $languages-map { - [data-language="#{$lang}"]:before { - content: $content; - font-size: 1.1rem; - color: $primary_fg; - padding-right: 0.5rem; - } -} - -pre { - padding: 5px; - overflow-x: scroll; - - code.hljs { - color: $default_fg; - background: transparent; - } -} - -code { - & .hljs-keyword { - color: $mauve; - } - - & .hljs-built_in { - color: $red; - } - - & .hljs-type { - color: $yellow; - } - - & .hljs-literal, - & .hljs-number { - color: $orange; - } - - & .hljs-operator { - color: $teal; - } - - & .hljs-punctuation { - color: $lightteal; - } - - & .hljs-property, - & .hljs-variable.language_, - & .hljs-symbol { - color: $teal; - } - - & .hljs-regexp { - color: $pink; - } - - & .hljs-string, - & .hljs-char.escape_, - & .hljs-subst { - color: $green; - } - - & .hljs-comment { - color: $grey; - } - - & .hljs-doctag { - color: $red; - } - - & .hljs-meta, - & .hljs-title.function_, - & .hljs-section { - color: $orange; - } - - & .hljs-tag, - & .hljs-attribute { - color: $lightgrey; - } - - & .hljs-name, - & .hljs-selector-attr { - color: $mauve; - } - - & .hljs-params, - & .hljs-selector-class, - & .hljs-template-variable { - color: $default_fg; - } - - & .hljs-selector-tag { - color: $yellow; - } - - & .hljs-selector-id { - color: $blue; - } - - & .hljs-bullet, - & .hljs-code, - & .hljs-formula { - color: $teal; - } - - & .hljs-emphasis { - color: $red; - font-style: italic; - } - - & .hljs-strong { - color: $red; - font-weight: bold; - } - - & .hljs-link { - color: $lightblue; - font-style: italic; - } - - & .hljs-quote { - color: $green; - font-style: italic; - } - - & .hljs-addition { - color: $green; - background: rgba(166, 227, 161, 0.15); - } - - & .hljs-deletion { - color: $red; - background: rgba(243, 139, 168, 0.15); - } -} - - diff --git a/ags/HyprPanel/scss/style/menus/audiomenu.scss b/ags/HyprPanel/scss/style/menus/audiomenu.scss deleted file mode 100644 index 767b30a..0000000 --- a/ags/HyprPanel/scss/style/menus/audiomenu.scss +++ /dev/null @@ -1,185 +0,0 @@ -.menu-items-container.audio { - min-width: 18em * $bar-menus-menu-volume-scaling * 0.01; - - @import "./menu.scss"; - - * { - font-size: $font-size * $bar-menus-menu-volume-scaling * 0.01; - } - - background: if($bar-menus-monochrome, $bar-menus-background, $bar-menus-menu-volume-background-color); - - .menu-items { - border-color: if($bar-menus-monochrome, $bar-menus-border-color, $bar-menus-menu-volume-border-color); - opacity: $bar-menus-opacity * 0.01; - } - - .menu-dropdown-label.audio { - color: if($bar-menus-monochrome, $bar-menus-label, $bar-menus-menu-volume-label-color); - } - - .menu-label.audio { - color: if($bar-menus-monochrome, $bar-menus-label, $bar-menus-menu-volume-label-color); - } - - .menu-active.playback, - .menu-active.input { - color: if($bar-menus-monochrome, $bar-menus-text, $bar-menus-menu-volume-text); - } - - .menu-button-isactive.audio { - color: if($bar-menus-monochrome, $bar-menus-icons-active, $bar-menus-menu-volume-icons-active); - } - - .menu-slider.playback { - trough { - background: if($bar-menus-monochrome, $bar-menus-slider-background, $bar-menus-menu-volume-audio_slider-background); - - highlight, - progress { - background: if($bar-menus-monochrome, $bar-menus-slider-primary, $bar-menus-menu-volume-audio_slider-primary); - } - } - - &:hover { - trough { - background: if($bar-menus-monochrome, $bar-menus-slider-backgroundhover, $bar-menus-menu-volume-audio_slider-backgroundhover); - } - - slider { - background: if($bar-menus-monochrome, $bar-menus-slider-puck, $bar-menus-menu-volume-audio_slider-puck); - } - } - } - - .menu-slider.inputs { - trough { - background: if($bar-menus-monochrome, $bar-menus-slider-background, $bar-menus-menu-volume-input_slider-background); - - highlight, - progress { - background: if($bar-menus-monochrome, $bar-menus-slider-primary, $bar-menus-menu-volume-input_slider-primary); - } - } - - &:hover { - trough { - background: if($bar-menus-monochrome, $bar-menus-slider-backgroundhover, $bar-menus-menu-volume-input_slider-backgroundhover); - } - - slider { - background: if($bar-menus-monochrome, $bar-menus-slider-puck, $bar-menus-menu-volume-input_slider-puck); - } - } - } - - .menu-active-percentage.playback, - .menu-active-percentage.input { - color: if($bar-menus-monochrome, $bar-menus-text, $bar-menus-menu-volume-text); - } - - .menu-active-button { - - .menu-active-icon.playback, - .menu-active-icon.input { - color: if($bar-menus-monochrome, $bar-menus-iconbuttons-active, $bar-menus-menu-volume-iconbutton-active); - opacity: 1; - } - - &.muted { - - .menu-active-icon.playback, - .menu-active-icon.input { - color: if($bar-menus-monochrome, $bar-menus-iconbuttons-passive, $bar-menus-menu-volume-iconbutton-passive); - opacity: 1; - } - } - - &:hover { - - .menu-active-icon.playback, - .menu-active-icon.input { - color: if($bar-menus-monochrome, $bar-menus-iconbuttons-passive, $bar-menus-menu-volume-iconbutton-passive); - opacity: 0.3; - } - } - - &.muted:hover { - - .menu-active-icon.playback, - .menu-active-icon.input { - color: if($bar-menus-monochrome, $bar-menus-iconbuttons-active, $bar-menus-menu-volume-iconbutton-active); - opacity: 1; - } - } - } - - .menu-button-icon.playback, - .menu-button-icon.input { - color: if($bar-menus-monochrome, $bar-menus-icons-passive, $bar-menus-menu-volume-icons-passive); - - &.active { - color: if($bar-menus-monochrome, $bar-menus-icons-active, $bar-menus-menu-volume-icons-active); - } - } - - .menu-button.audio { - color: if($bar-menus-monochrome, $bar-menus-icons-passive, $bar-menus-menu-volume-icons-passive); - - .menu-button-name.playback, - .menu-button-name.input { - color: if($bar-menus-monochrome, $bar-menus-text, $bar-menus-menu-volume-text); - } - - - &:hover { - - .menu-button-name.playback, - .menu-button-name.input { - color: if($bar-menus-monochrome, $bar-menus-listitems-active, $bar-menus-menu-volume-listitems-active); - } - } - } - - .menu-section-container.volume { - margin-bottom: 0.65em; - } - - .menu-section-container.playback { - margin-top: 0em; - margin-bottom: 1em; - } - - .menu-section-container.input { - margin-top: 0em; - } - - .menu-label-container.input { - border-radius: 0em; - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-volume-card-color); - } - - .menu-label-container.playback { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-volume-card-color); - } - - .menu-items-section.input { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-volume-card-color); - } - - .menu-items-section.playback { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-volume-card-color); - } - - .menu-label-container.selected { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-volume-card-color); - } - - .menu-items-section.selected { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-volume-card-color); - } - - .menu-items-section.playback { - border-radius: 0em; - } -} diff --git a/ags/HyprPanel/scss/style/menus/bluetooth.scss b/ags/HyprPanel/scss/style/menus/bluetooth.scss deleted file mode 100644 index 19dd17c..0000000 --- a/ags/HyprPanel/scss/style/menus/bluetooth.scss +++ /dev/null @@ -1,162 +0,0 @@ -.menu-items-container.bluetooth * { - font-size: $font-size * $bar-menus-menu-bluetooth-scaling * 0.01; -} - -@import "./menu.scss"; - -.menu-items.bluetooth { - background: if($bar-menus-monochrome, $bar-menus-background, $bar-menus-menu-bluetooth-background-color); - border-color: if($bar-menus-monochrome, $bar-menus-border-color, $bar-menus-menu-bluetooth-border-color); - opacity: $bar-menus-opacity * 0.01; - font-size: $font-size * $bar-menus-menu-bluetooth-scaling * 0.01; -} - -.menu-items-container.bluetooth { - - min-width: 18em * $bar-menus-menu-bluetooth-scaling * 0.01; - - font-size: 1.3em; - - .menu-section-container { - margin: 1em 0em; - } - - .menu-label-container { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-bluetooth-card-color); - - .menu-label { - color: if($bar-menus-monochrome, $bar-menus-label, $bar-menus-menu-bluetooth-label-color); - } - - .controls-container { - margin: 0.5em 1em; - } - } - - - .menu-items-section { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-bluetooth-card-color); - min-height: 20em * $bar-menus-menu-bluetooth-scaling * 0.01; - font-size: 1em; - } - - button { - margin-right: 0.5em; - - &.search { - image { - color: if($bar-menus-monochrome, $bar-menus-iconbuttons-passive, $bar-menus-menu-bluetooth-iconbutton-passive); - } - - &:hover image { - color: if($bar-menus-monochrome, $bar-menus-iconbuttons-active, $bar-menus-menu-bluetooth-iconbutton-active); - } - - font-size: 0.8em; - margin-bottom: 0em; - } - - &:hover { - color: if($bar-menus-monochrome, $bar-menus-iconbuttons-active, $bar-menus-menu-bluetooth-iconbutton-active); - } - } - - .menu-icon-button.bluetooth { - color: if($bar-menus-monochrome, $bar-menus-iconbuttons-passive, $bar-menus-menu-bluetooth-iconbutton-passive); - - &:hover { - color: if($bar-menus-monochrome, $bar-menus-iconbuttons-active, $bar-menus-menu-bluetooth-iconbutton-active); - } - } - - .bluetooth-element-item { - margin-bottom: 0.4em; - - &:hover { - - .menu-button-icon, - .menu-button-name { - color: if($bar-menus-monochrome, $bar-menus-iconbuttons-active, $bar-menus-menu-bluetooth-iconbutton-active); - } - } - - image { - margin-right: 0em; - margin-top: 0.0em; - min-height: 1em; - min-width: 1em; - - &.active { - color: if($bar-menus-monochrome, $bar-menus-icons-active, $bar-menus-menu-bluetooth-icons-active); - } - } - - label { - color: if($bar-menus-monochrome, $bar-menus-text, $bar-menus-menu-bluetooth-text); - font-size: 1em; - } - - .menu-button-icon { - font-size: 1.5em; - color: if($bar-menus-monochrome, $bar-menus-icons-passive, $bar-menus-menu-bluetooth-icons-passive); - - &.active { - color: if($bar-menus-monochrome, $bar-menus-icons-active, $bar-menus-menu-bluetooth-icons-active); - } - } - - .connection-status { - font-size: 0.9em; - margin-left: 0.6rem; - color: if($bar-menus-monochrome, $bar-menus-text, $bar-menus-menu-bluetooth-text); - opacity: 0.4; - } - } - - spinner { - min-height: 1.3em; - min-width: 1.3em; - color: if($bar-menus-monochrome, $bar-menus-iconbuttons-active, $bar-menus-menu-bluetooth-iconbutton-active); - } - - .menu-separator { - margin: 0em 1em; - } - - .menu-switch.bluetooth { - background-color: if($bar-menus-monochrome, $bar-menus-switch-disabled, $bar-menus-menu-bluetooth-switch-disabled); - - &:checked { - background: if($bar-menus-monochrome, $bar-menus-switch-enabled, $bar-menus-menu-bluetooth-switch-enabled); - } - - slider { - background-color: if($bar-menus-monochrome, $bar-menus-switch-puck, $bar-menus-menu-bluetooth-switch-puck); - } - - &:hover { - trough { - background: if($bar-menus-monochrome, $bar-menus-switch-disabled, $bar-menus-menu-bluetooth-switch-disabled); - } - - slider { - background: if($bar-menus-monochrome, $bar-menus-switch-puck, $bar-menus-menu-bluetooth-switch-puck); - } - } - - &:active { - background: if($bar-menus-monochrome, $bar-menus-switch-enabled, $bar-menus-menu-bluetooth-switch-enabled); - } - } - - .no-bluetooth-devices.dim, - .search-bluetooth-label.dim, - .bluetooth-disabled.dim { - &:last-child { - margin-bottom: 2em; - } - - color: if($bar-menus-monochrome, $bar-menus-text, $bar-menus-menu-bluetooth-text); - opacity: 0.5; - } -} diff --git a/ags/HyprPanel/scss/style/menus/calendar.scss b/ags/HyprPanel/scss/style/menus/calendar.scss deleted file mode 100644 index 2552ddb..0000000 --- a/ags/HyprPanel/scss/style/menus/calendar.scss +++ /dev/null @@ -1,285 +0,0 @@ -.calendar-menu-content * { - font-size: $font-size * $bar-menus-menu-clock-scaling * 0.01; -} - -.calendar-content-container { - margin-top: 0em; - min-width: 27em; - min-height: 6em; - background: if( - $bar-menus-monochrome, - $bar-menus-background, - $bar-menus-menu-clock-background-color - ); - border: $bar-menus-border-size solid - if( - $bar-menus-monochrome, - $bar-menus-border-color, - $bar-menus-menu-clock-border-color - ); - border-radius: $bar-menus-border-radius; - margin-right: 0.5em; - opacity: $bar-menus-opacity * 0.01; -} - -.calendar-menu-item-container { - border-radius: $bar-menus-card_radius; - margin-bottom: 1.35em; - background: if( - $bar-menus-monochrome, - $bar-menus-cards, - $bar-menus-menu-clock-card-color - ); -} - -.calendar-content-items { - margin: 1.35em; -} - -.calendar-container-box { - margin: 0.75em; - margin-bottom: 0em; -} - -.calendar-menu-widget { - border-radius: 0.4em; - color: if( - $bar-menus-monochrome, - $bar-menus-text, - $bar-menus-menu-clock-calendar-days - ); - - &:selected { - box-shadow: - inset 0 -0.5em 0 0 if($bar-menus-monochrome, $bar-menus-label, $bar-menus-menu-clock-calendar-currentday), - inset -0.4em -0.3em 0 0 - if( - $bar-menus-monochrome, - $bar-menus-cards, - $bar-menus-menu-clock-card-color - ), - inset 0.4em 0 0 0.01em - if( - $bar-menus-monochrome, - $bar-menus-cards, - $bar-menus-menu-clock-card-color - ); - color: if( - $bar-menus-monochrome, - $bar-menus-label, - $bar-menus-menu-clock-calendar-currentday - ); - border-radius: 0em; - } - - &.header { - background-color: transparent; - color: if( - $bar-menus-monochrome, - $bar-menus-label, - $bar-menus-menu-clock-calendar-yearmonth - ); - } - - &.button { - color: $text; - font-weight: 900; - font-size: 900em; - } - - &:hover { - color: if( - $bar-menus-monochrome, - $bar-menus-icons-active, - $bar-menus-menu-clock-calendar-paginator - ); - } - - &.highlight { - color: if( - $bar-menus-monochrome, - $bar-menus-icons-active, - $bar-menus-menu-clock-calendar-weekdays - ); - } - - &:indeterminate { - color: transparentize( - if( - $bar-menus-monochrome, - $bar-menus-text, - $bar-menus-menu-clock-calendar-days - ), - 0.65 - ); - } - - font-size: 1.1em; - padding: 0.35em; -} - -.clock-content-items { - min-height: 8em; - - .clock-content-time { - font-size: 4em; - color: if( - $bar-menus-monochrome, - $bar-menus-label, - $bar-menus-menu-clock-time-time - ); - } - - .clock-content-period { - font-size: 1.75em; - margin-bottom: 1.35em; - margin-right: -0.875em; - color: if( - $bar-menus-monochrome, - $bar-menus-label, - $bar-menus-menu-clock-time-timeperiod - ); - } -} - -.calendar-menu-item-container { - margin-bottom: 0.65em; - &:last-child { - margin-bottom: 0em; - } -} - -.weather-container-box { - margin: 1.5em; - margin-top: 2.5em; - min-width: 3em; - - .calendar-menu-weather.today.icon { - label { - color: if( - $bar-menus-monochrome, - $bar-menus-icons-active, - $bar-menus-menu-clock-weather-icon - ); - font-size: 5em; - } - } - - .calendar-menu-weather.today.temp.label { - color: if( - $bar-menus-monochrome, - $bar-menus-text, - $bar-menus-menu-clock-weather-temperature - ); - margin-left: 0.2em; - font-size: 2.5em; - - &.icon { - font-size: 2.5em; - } - } - - .calendar-menu-weather.today.condition.label { - color: if( - $bar-menus-monochrome, - $bar-menus-label, - $bar-menus-menu-clock-weather-status - ); - font-size: 1.5em; - margin-bottom: 0.4em; - } - - .calendar-menu-weather.today.temp.label.icon.weather-color.red { - color: if( - $bar-menus-monochrome, - $bar-menus-icons-active, - $bar-menus-menu-clock-weather-thermometer-extremelyhot - ); - } - - .calendar-menu-weather.today.temp.label.icon.weather-color.orange { - color: if( - $bar-menus-monochrome, - $bar-menus-icons-active, - $bar-menus-menu-clock-weather-thermometer-hot - ); - } - - .calendar-menu-weather.today.temp.label.icon.weather-color.lavender { - color: if( - $bar-menus-monochrome, - $bar-menus-icons-active, - $bar-menus-menu-clock-weather-thermometer-moderate - ); - } - - .calendar-menu-weather.today.temp.label.icon.weather-color.blue { - color: if( - $bar-menus-monochrome, - $bar-menus-icons-active, - $bar-menus-menu-clock-weather-thermometer-cold - ); - } - - .calendar-menu-weather.today.temp.label.icon.weather-color.sky { - color: if( - $bar-menus-monochrome, - $bar-menus-icons-active, - $bar-menus-menu-clock-weather-thermometer-extremelycold - ); - } -} - -.calendar-menu-weather.today.stats.container { - margin-bottom: 0.75em; - color: if( - $bar-menus-monochrome, - $bar-menus-label, - $bar-menus-menu-clock-weather-stats - ); - - .weather.label { - margin-left: 0.35em; - } -} - -.menu-separator.weather { - margin: 1.5em 0em; -} - -.hourly-weather-time { - color: if( - $bar-menus-monochrome, - $bar-menus-label, - $bar-menus-menu-clock-weather-hourly-time - ); - margin-bottom: 0.5em; -} - -.hourly-weather-icon { - color: if( - $bar-menus-monochrome, - $bar-menus-icons-active, - $bar-menus-menu-clock-weather-hourly-icon - ); - margin-bottom: 0.25em; - font-size: 1.8em; -} - -.hourly-weather-temp { - color: if( - $bar-menus-monochrome, - $bar-menus-label, - $bar-menus-menu-clock-weather-hourly-temperature - ); -} - -.weather.precip.icon { - min-width: 1em; - font-size: 1em; -} - -.weather.wind.icon { - min-width: 1em; - font-size: 1em; -} diff --git a/ags/HyprPanel/scss/style/menus/dashboard.scss b/ags/HyprPanel/scss/style/menus/dashboard.scss deleted file mode 100644 index d292038..0000000 --- a/ags/HyprPanel/scss/style/menus/dashboard.scss +++ /dev/null @@ -1,386 +0,0 @@ -.dashboard-menu-content * { - font-size: $font-size * $bar-menus-menu-dashboard-scaling * 0.01; -} - -.dashboard-content-items { - margin-left: 0.50em; - min-width: 28.5em; - background: if($bar-menus-monochrome, $bar-menus-background, $bar-menus-menu-dashboard-background-color); - border: $bar-menus-border-size solid if($bar-menus-monochrome, $bar-menus-border-color, $bar-menus-menu-dashboard-border-color); - border-radius: $bar-menus-border-radius; - opacity: $bar-menus-opacity * 0.01; - - button { - border-radius: 0.4em; - } - - .dashboard-card { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-dashboard-card-color); - margin: 1.3em; - border-radius: $bar-menus-card_radius; - padding: 1.5em; - } - - .profile-picture-container { - margin-right: 0.65em; - margin-bottom: 0.65em; - - .profile-picture { - min-width: $bar-menus-menu-dashboard-profile-size; - min-height: $bar-menus-menu-dashboard-profile-size; - border-radius: $bar-menus-menu-dashboard-profile-radius; - background-size: cover; - background-repeat: no-repeat; - background-position: center; - } - - .profile-name { - font-size: 1.5em; - color: if($bar-menus-monochrome, $bar-menus-label, $bar-menus-menu-dashboard-profile-name); - margin-top: 0.75em; - } - } - - .power-menu-container { - margin-left: 0em; - margin-bottom: 0.65em; - - .dashboard-button { - min-width: 3em; - min-height: 2.5em; - - &:not(:last-child) { - margin-bottom: 0.75em; - } - - label { - color: if($bar-menus-monochrome, $bar-menus-buttons-text, $bar-menus-menu-dashboard-shortcuts-text); - font-size: 1.7em; - } - - &.shutdown { - background: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-powermenu-shutdown); - - label { - font-size: 1.9em; - } - } - - &.restart { - background: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-powermenu-restart); - - label { - font-size: 1.9em; - } - } - - &.lock { - background: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-powermenu-logout); - } - - &.sleep { - background: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-powermenu-sleep); - } - - &:hover { - &.shutdown { - background: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-powermenu-shutdown), 0.5); - } - - &.restart { - background: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-powermenu-restart), 0.5); - } - - &.lock { - background: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-powermenu-logout), 0.5); - } - - &.sleep { - background: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-powermenu-sleep), 0.5); - } - } - - - } - } - - .shortcuts-container { - font-size: 1em; - - .dashboard-card { - padding: 1.5em; - - button { - min-height: 2.5em; - min-width: 2.5em; - } - } - - .card-button-section-container.visible { - margin-right: 1.5em; - } - - .top-button.paired { - margin-bottom: 1.5em; - } - - .container { - margin-top: 0em; - margin-bottom: 0.65em; - - &.most-used { - margin-right: 0.65em; - } - - &.utilities.paired { - margin-left: 0em; - } - - button { - background: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-shortcuts-background); - color: if($bar-menus-monochrome, $bar-menus-buttons-text, $bar-menus-menu-dashboard-shortcuts-text); - min-height: 3em; - - label { - font-size: 1.5em; - } - - &.record.active { - background: $red; - - &:hover { - background: transparentize($red, 0.5); - } - } - - &:hover { - background: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-shortcuts-background), 0.5); - } - } - } - } - - .controls-container { - margin-bottom: 0.65em; - - &.dashboard-card { - margin-top: 0em; - } - - button { - padding: 0em; - min-height: 3em; - min-width: 3.8em; - - label { - color: if($bar-menus-monochrome, $bar-menus-buttons-text, $bar-menus-menu-dashboard-controls-wifi-text); - font-size: 1.6em; - } - - &:not(:last-child) { - margin-right: 1em; - } - - &.wifi { - background: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-controls-wifi-background); - } - - &.bluetooth { - background: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-controls-bluetooth-background); - } - - &.notifications { - background: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-controls-notifications-background); - } - - &.playback { - background: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-controls-volume-background); - } - - &.input { - background: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-controls-input-background); - } - - &.wifi:hover { - background: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-controls-wifi-background), 0.5); - } - - &.bluetooth:hover { - background: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-controls-bluetooth-background), 0.5); - } - - &.notifications:hover { - background: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-controls-notifications-background), 0.5); - } - - &.playback:hover { - background: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-controls-volume-background), 0.5); - } - - &.input:hover { - background: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-controls-input-background), 0.5); - } - - &.disabled { - background: if($bar-menus-monochrome, $bar-menus-buttons-disabled, $bar-menus-menu-dashboard-controls-disabled); - - &.wifi:hover { - background: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-controls-wifi-background), 0.5); - } - - &.bluetooth:hover { - background: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-controls-bluetooth-background), 0.5); - } - - &.notifications:hover { - background: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-controls-notifications-background), 0.5); - } - - &.playback:hover { - background: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-controls-volume-background), 0.5); - } - - &.input:hover { - background: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-controls-input-background), 0.5); - } - } - } - } - - .directories-container { - &.dashboard-card { - margin-top: 0em; - margin-bottom: 0.65em; - padding-left: 1.5em; - padding-right: 0em; - } - - .directory-link { - padding: 0.5em 0em; - min-width: 9em; - - &:last-child { - margin-bottom: 0em; - } - - label { - font-size: 1.3em; - } - - &.right.top { - color: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-directories-right-top-color); - } - - &.right.middle { - color: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-directories-right-middle-color); - } - - &.right.bottom { - color: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-directories-right-bottom-color); - } - - &.left.top { - color: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-directories-left-top-color); - } - - &.left.middle { - color: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-directories-left-middle-color); - } - - &.left.bottom { - color: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-directories-left-bottom-color); - } - - &:hover { - opacity: 0.5; - } - } - } - - .stats-container { - margin-top: 0em; - - .stat { - label { - margin-right: 0.75em; - font-size: 1.3em; - min-width: 1.65em; - } - - &.cpu label { - color: if($bar-menus-monochrome, $bar-menus-icons-active, $bar-menus-menu-dashboard-monitors-cpu-icon); - } - - &.ram label { - color: if($bar-menus-monochrome, $bar-menus-icons-active, $bar-menus-menu-dashboard-monitors-ram-icon); - } - - &.gpu label { - color: if($bar-menus-monochrome, $bar-menus-icons-active, $bar-menus-menu-dashboard-monitors-gpu-icon); - } - - &.storage label { - color: if($bar-menus-monochrome, $bar-menus-icons-active, $bar-menus-menu-dashboard-monitors-disk-icon); - } - - .stats-bar { - levelbar * { - transition: 200ms; - } - - trough { - min-height: 1.05em; - } - - block { - border-radius: 0.4em; - - &.empty { - background: if($bar-menus-monochrome, $bar-menus-progressbar-background, $bar-menus-menu-dashboard-monitors-bar_background); - } - - &.filled { - padding-left: 0.85em; - } - } - } - - &.cpu .stats-bar block.filled { - background: if($bar-menus-monochrome, $bar-menus-progressbar-foreground, $bar-menus-menu-dashboard-monitors-cpu-bar); - } - - &.ram .stats-bar block.filled { - background: if($bar-menus-monochrome, $bar-menus-progressbar-foreground, $bar-menus-menu-dashboard-monitors-ram-bar); - } - - &.gpu .stats-bar block.filled { - background: if($bar-menus-monochrome, $bar-menus-progressbar-foreground, $bar-menus-menu-dashboard-monitors-gpu-bar); - } - - &.storage .stats-bar block.filled { - background: if($bar-menus-monochrome, $bar-menus-progressbar-foreground, $bar-menus-menu-dashboard-monitors-disk-bar); - } - } - - .stat-value { - margin-bottom: 0.75em; - font-size: 0.9em; - - &.cpu { - color: if($bar-menus-monochrome, $bar-menus-label, $bar-menus-menu-dashboard-monitors-cpu-label); - } - - &.ram { - color: if($bar-menus-monochrome, $bar-menus-label, $bar-menus-menu-dashboard-monitors-ram-label); - } - - &.gpu { - color: if($bar-menus-monochrome, $bar-menus-label, $bar-menus-menu-dashboard-monitors-gpu-label); - } - - &.storage { - color: if($bar-menus-monochrome, $bar-menus-label, $bar-menus-menu-dashboard-monitors-disk-label); - } - } - } -} diff --git a/ags/HyprPanel/scss/style/menus/energy.scss b/ags/HyprPanel/scss/style/menus/energy.scss deleted file mode 100644 index 45648f3..0000000 --- a/ags/HyprPanel/scss/style/menus/energy.scss +++ /dev/null @@ -1,108 +0,0 @@ -.menu-items-container.energy * { - font-size: $font-size * $bar-menus-menu-battery-scaling * 0.01; -} - -.menu-items.energy { - background: if($bar-menus-monochrome, $bar-menus-background, $bar-menus-menu-battery-background-color); - border-color: if($bar-menus-monochrome, $bar-menus-border-color, $bar-menus-menu-battery-border-color); - opacity: $bar-menus-opacity * 0.01; - font-size: $font-size * $bar-menus-menu-battery-scaling * 0.01; -} - -@import "./menu.scss"; - -.menu-items-container.energy { - min-width: 18em * $bar-menus-menu-battery-scaling * 0.01; - - .menu-label { - color: if($bar-menus-monochrome, $bar-menus-label, $bar-menus-menu-battery-label-color); - } - - .menu-label-container { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-battery-card-color); - } - - .uptime { - font-size: 0.92em; - } - - .menu-items-section { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-battery-card-color); - } - - .power-profile-item { - color: if($bar-menus-monochrome, $bar-menus-listitems-passive, $bar-menus-menu-battery-listitems-passive); - margin-bottom: 0.5em; - - label { - margin-left: 1em; - } - - image { - font-size: 1.3em; - min-width: 1em; - min-height: 1em; - color: if($bar-menus-monochrome, $bar-menus-icons-passive, $bar-menus-menu-battery-icons-passive); - } - - &:hover { - color: if($bar-menus-monochrome, $bar-menus-listitems-active, $bar-menus-menu-battery-listitems-active); - - label { - color: if($bar-menus-monochrome, $bar-menus-icons-active, $bar-menus-menu-battery-icons-active); - } - - image { - color: if($bar-menus-monochrome, $bar-menus-icons-active, $bar-menus-menu-battery-icons-active); - } - } - - &.active { - color: if($bar-menus-monochrome, $bar-menus-listitems-active, $bar-menus-menu-battery-listitems-active); - - image { - color: if($bar-menus-monochrome, $bar-menus-icons-active, $bar-menus-menu-battery-icons-active); - } - } - } - - .brightness-container { - padding-bottom: 1em; - } - - .brightness-slider-icon { - font-size: 1.4em; - min-width: 1em; - min-height: 1em; - color: if($bar-menus-monochrome, $bar-menus-icons-active, $bar-menus-menu-battery-icons-active); - } - - .brightness-slider-label { - color: if($bar-menus-monochrome, $bar-menus-text, $bar-menus-menu-battery-text); - font-size: 0.9em; - min-width: 2.5em; - font-weight: bold; - margin-bottom: 0.2em; - } - - .menu-slider.brightness { - trough { - background: if($bar-menus-monochrome, $bar-menus-slider-background, $bar-menus-menu-battery-slider-background); - - highlight, - progress { - background: if($bar-menus-monochrome, $bar-menus-slider-primary, $bar-menus-menu-battery-slider-primary); - } - } - - &:hover { - trough { - background: if($bar-menus-monochrome, $bar-menus-slider-backgroundhover, $bar-menus-menu-battery-slider-backgroundhover); - } - - slider { - background: if($bar-menus-monochrome, $bar-menus-slider-puck, $bar-menus-menu-battery-slider-puck); - } - } - } -} diff --git a/ags/HyprPanel/scss/style/menus/media.scss b/ags/HyprPanel/scss/style/menus/media.scss deleted file mode 100644 index 7c6205c..0000000 --- a/ags/HyprPanel/scss/style/menus/media.scss +++ /dev/null @@ -1,126 +0,0 @@ -.menu-items.media { - background: if($bar-menus-monochrome, $bar-menus-background, $bar-menus-menu-media-background-color); - border-color: if($bar-menus-monochrome, $bar-menus-border-color, $bar-menus-menu-media-border-color); - opacity: $bar-menus-opacity * 0.01; - -} - -.menu-items-container.media { - * { - font-size: $font-size * $bar-menus-menu-media-scaling * 0.01; - } - - min-width: 23em * $bar-menus-menu-media-scaling * 0.01; - min-height: 10em * $bar-menus-menu-media-scaling * 0.01; - - .menu-section-container { - margin: 1em 0em; - } - - .menu-items-section { - border-radius: $bar-menus-card_radius; - padding: 0em; - } - - .menu-content { - border-radius: 0.4em; - background-size: cover; - background-position: center; - } - - .media-content { - margin: 1em; - } - - .media-indicator-current-song-name { - margin-bottom: 0.75rem; - } - - .media-indicator-current-song-author { - margin-bottom: 0.75rem; - } - - .media-indicator-current-song-name-label { - color: if($bar-menus-monochrome, $bar-menus-label, $bar-menus-menu-media-song); - font-size: 1.35em; - } - - .media-indicator-current-song-author-label { - color: if($bar-menus-monochrome, $bar-menus-label, $bar-menus-menu-media-artist); - font-size: 1em; - } - - .media-indicator-current-song-album-label { - color: if($bar-menus-monochrome, $bar-menus-label, $bar-menus-menu-media-album); - font-size: 1em; - } - - .media-indicator-current-controls { - margin-top: 1.5rem; - margin-bottom: 0.5rem; - } - - .media-indicator-control-button { - margin: 0rem 0.5rem; - } - - .media-indicator-control-button { - background: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-media-buttons-background); - color: if($bar-menus-monochrome, $bar-menus-buttons-text, $bar-menus-menu-media-buttons-text); - min-height: 1.8em; - min-width: 2.5em; - border-radius: 0.2rem; - - &.disabled { - background: if($bar-menus-monochrome, $bar-menus-buttons-disabled, $bar-menus-menu-media-buttons-inactive); - } - - &.enabled { - background: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-media-buttons-background); - - &:hover { - background: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-media-buttons-background), 0.5); - } - - &.active { - background: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-media-buttons-enabled); - - &:hover { - background: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-media-buttons-enabled), 0.5); - } - } - } - - } - - image { - font-size: 1.1em; - } - - .menu-slider.media.progress { - margin-top: 1em; - margin-bottom: 1em; - - trough { - background: if($bar-menus-monochrome, $bar-menus-slider-background, $bar-menus-menu-media-slider-background); - border-radius: 0.2em; - - highlight, - progress { - border-radius: 0.2em; - min-height: .85em; - background: if($bar-menus-monochrome, $bar-menus-slider-primary, $bar-menus-menu-media-slider-primary); - } - } - - slider { - background: if($bar-menus-monochrome, $bar-menus-slider-puck, $bar-menus-menu-media-slider-puck); - } - - &:hover { - trough { - background: transparentize(if($bar-menus-monochrome, $bar-menus-slider-backgroundhover, $bar-menus-menu-media-slider-backgroundhover), 0.3); - } - } - } -} diff --git a/ags/HyprPanel/scss/style/menus/menu.scss b/ags/HyprPanel/scss/style/menus/menu.scss deleted file mode 100644 index 349169a..0000000 --- a/ags/HyprPanel/scss/style/menus/menu.scss +++ /dev/null @@ -1,256 +0,0 @@ -.menu-slider { - trough { - border-radius: 0.3rem; - background: $surface0; - - highlight, - progress { - background: $peach; - border-radius: 0.3rem; - } - } - - slider { - box-shadow: none; - background-color: transparent; - min-height: 0.6rem; - min-width: 0.6rem; - border: 0rem solid transparent; - border-radius: 0.3rem; - } - - &:hover { - trough { - background: $surface0; - } - - slider { - background: $overlay0; - box-shadow: none; - } - } -} - -.menu-switch { - font-size: 1.3em; - background-color: $surface0; - border-radius: 0.2em; - - &:checked { - background: $sky; - } - - trough { - highlight, - progress { - background-color: $peach; - border-radius: 0.3em; - } - } - - slider { - box-shadow: none; - background-color: $overlay0; - min-height: 1em; - min-width: 1em; - border: 0em solid transparent; - border-radius: 0.2em; - margin: 0.1em 0.15em; - } - - &:hover { - trough { - background: $surface0; - } - - slider { - background: $overlay0; - box-shadow: none; - } - } - - &:active { - background-color: $sky; - } -} - -.menu-separator { - min-height: 0.1rem; - margin: 0.6rem 0rem; - background: $surface1; -} - -.menu-items { - background: $crust; - border: $bar-menus-border-size solid $bar-menus-border-color; - border-radius: $bar-menus-border-radius; - color: $text; -} - -.menu-items-container { - border-radius: 0.4em; - font-size: 1.3em; -} - -.menu-section-container { - margin: 1em 0em; - - .menu-label { - color: $text; - font-size: 1.1em; - font-weight: bold; - } - - .menu-label-container { - background: $base; - border-radius: $bar-menus-card_radius; - border-bottom-left-radius: 0em; - border-bottom-right-radius: 0em; - margin: 0em 1em; - min-height: 2em; - } - - &:first-child { - margin-bottom: 0em; - } - - &:last-child { - margin-top: 0em; - } - - &:nth-child(2) { - margin-top: 1em; - } - - .menu-items-section { - background: $base; - border-radius: $bar-menus-card_radius; - border-top-left-radius: 0em; - border-top-right-radius: 0em; - padding: 0.9em; - margin: 0em 1em; - } -} - -.menu-active { - font-size: 0.9em; - font-weight: bold; - margin: 0rem 1em; - margin-bottom: 0.9em; -} - -.menu-active-container { - &:first-child { - margin-bottom: 0.5em; - } -} - -.menu-active-button { - padding: 0.1em; - margin-bottom: -0.2em; - - .menu-active-icon { - font-size: 1.4em; - font-weight: bold; - } - - &.muted image { - color: $maroon; - } - - &:hover image { - color: $maroon; - } -} - -.menu-active-percentage { - font-size: 0.9em; - min-width: 2.5em; - font-weight: bold; -} - -.menu-active-slider { - margin-left: 1rem; - margin-right: 1.5rem; -} - -.menu-active-slider * { - min-height: 0.85em; - border-radius: 0.2em; -} - -.menu-slider-container { - margin-bottom: 0.7rem; -} - -.menu-label-dim { - color: $overlay0; - margin-right: 1rem; - font-size: 1em; - font-weight: bold; -} - -.menu-icon-button { - &:hover { - color: $surface2; - } -} - -.menu-dropdown-label-container { - background: $base; - border-radius: 0.4em; -} - -.menu-button { - margin-bottom: 0.4em; -} - -.menu-button-name { - font-size: 0.95em; - font-weight: bold; - margin-left: 0.5em; - margin-right: 1.2rem; -} - -.menu-button-icon { - font-size: 1.3em; - font-weight: bold; - margin-right: 0.5rem; -} - -.menu-item-box { - margin-bottom: 0.5rem; -} - -.dropdown-menu-container { - min-height: 10em; -} - -.menu-label { - margin: 0.5em 1em; - color: $sky; -} - -.event-box-container { - min-height: 0em; - margin-top: $bar-dropdownGap; -} - -.event-top-padding * { - min-height: 0em; - margin-top: if($bar-floating and $bar-location == 'top', $bar-margin_top, 0); - margin-bottom: if($bar-floating and $bar-location == 'bottom', $bar-margin_bottom, 0); -} - -@keyframes spin { - to { - -gtk-icon-transform: rotate(1turn); - } -} - -image.spinning { - animation-name: spin; - animation-duration: 1s; - animation-timing-function: linear; - animation-iteration-count: infinite; -} diff --git a/ags/HyprPanel/scss/style/menus/network.scss b/ags/HyprPanel/scss/style/menus/network.scss deleted file mode 100644 index b76bee1..0000000 --- a/ags/HyprPanel/scss/style/menus/network.scss +++ /dev/null @@ -1,184 +0,0 @@ -.menu-items-container.network * { - font-size: $font-size * $bar-menus-menu-network-scaling * 0.01; -} - -@import './menu.scss'; - -.menu-items.network { - background: if($bar-menus-monochrome, $bar-menus-background, $bar-menus-menu-network-background-color); - border-color: if($bar-menus-monochrome, $bar-menus-border-color, $bar-menus-menu-network-border-color); - opacity: $bar-menus-opacity * 0.01; - font-size: $font-size * $bar-menus-menu-network-scaling * 0.01; -} - -.menu-items-container.network { - min-width: 18em * $bar-menus-menu-network-scaling * 0.01; - font-size: 1.3em; - - .menu-items-section { - padding-bottom: 1.5em; - } - - .menu-label { - color: if($bar-menus-monochrome, $bar-menus-label, $bar-menus-menu-network-label-color); - } - - .network-icon { - font-size: 1.3em; - min-width: 1em; - min-height: 1em; - color: if($bar-menus-monochrome, $bar-menus-icons-passive, $bar-menus-menu-network-icons-passive); - - &.active { - color: if($bar-menus-monochrome, $bar-menus-icons-active, $bar-menus-menu-network-icons-active); - } - } - - .menu-icon-button.network { - margin: 1em; - } - - .connection-container { - margin-left: 1em; - } - - .connection-status.dim { - color: if($bar-menus-monochrome, $bar-menus-text, $bar-menus-menu-network-text); - opacity: 0.5; - font-size: 0.9em; - } - - .menu-section-container.wifi { - margin-top: 0.65em; - - .menu-items-section { - min-height: 12em; - } - } - - .network-element-item { - &:not(:last-child) { - margin-bottom: 0.5em; - } - - &.staging { - margin-bottom: 0.5em; - } - - &:hover { - .network-icon { - color: if($bar-menus-monochrome, $bar-menus-icons-active, $bar-menus-menu-network-icons-active); - opacity: 1; - } - - .active-connection { - color: if( - $bar-menus-monochrome, - $bar-menus-iconbuttons-active, - $bar-menus-menu-network-iconbuttons-active - ); - } - } - - .active-connection { - color: if($bar-menus-monochrome, $bar-menus-text, $bar-menus-menu-network-text); - } - - .active-connection.dim { - color: if($bar-menus-monochrome, $bar-menus-text, $bar-menus-menu-network-text); - opacity: 0.5; - } - } - - .spinner.wap { - color: if($bar-menus-monochrome, $bar-menus-iconbuttons-active, $bar-menus-menu-network-iconbuttons-active); - } - - .network-password-input-container { - background: darken(if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-network-card-color), 5%); - color: if($bar-menus-monochrome, $bar-menus-text, $bar-menus-menu-network-text); - border-radius: 0.4em; - margin: 0em 2em; - margin-top: 0.75em; - padding: 0.5em; - } - - .close-network-password-input-button { - padding: 0em 0.5em; - - &:hover image { - color: if($bar-menus-monochrome, $bar-menus-text, $bar-menus-menu-network-text); - opacity: 0.5; - } - } - - .menu-icon-button.network.search { - color: if($bar-menus-monochrome, $bar-menus-iconbuttons-passive, $bar-menus-menu-network-iconbuttons-passive); - - &:hover { - color: if($bar-menus-monochrome, $bar-menus-iconbuttons-active, $bar-menus-menu-network-iconbuttons-active); - } - } - - .menu-icon-button.network.disconnect { - color: if($bar-menus-monochrome, $bar-menus-iconbuttons-passive, $bar-menus-menu-network-iconbuttons-passive); - margin: 0em; - margin-top: -0.2em; - margin-left: 1em; - - label { - font-size: 1.4em; - } - - &:hover { - color: if($bar-menus-monochrome, $bar-menus-iconbuttons-active, $bar-menus-menu-network-iconbuttons-active); - } - } - - .waps-not-found.dim { - color: if($bar-menus-monochrome, $bar-menus-text, $bar-menus-menu-network-text); - opacity: 0.5; - } - - .menu-label-container { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-network-card-color); - } - - .menu-items-section { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-network-card-color); - } - - .menu-switch.network { - background-color: if( - $bar-menus-monochrome, - $bar-menus-switch-disabled, - $bar-menus-menu-network-switch-disabled - ); - - &:checked { - background: if($bar-menus-monochrome, $bar-menus-switch-enabled, $bar-menus-menu-network-switch-enabled); - } - - slider { - background-color: if($bar-menus-monochrome, $bar-menus-switch-puck, $bar-menus-menu-network-switch-puck); - } - - &:hover { - trough { - background: if( - $bar-menus-monochrome, - $bar-menus-switch-disabled, - $bar-menus-menu-network-switch-disabled - ); - } - - slider { - background: if($bar-menus-monochrome, $bar-menus-switch-puck, $bar-menus-menu-network-switch-puck); - } - } - - &:active { - background: if($bar-menus-monochrome, $bar-menus-switch-enabled, $bar-menus-menu-network-switch-enabled); - } - } -} diff --git a/ags/HyprPanel/scss/style/menus/notifications.scss b/ags/HyprPanel/scss/style/menus/notifications.scss deleted file mode 100644 index 5f2d735..0000000 --- a/ags/HyprPanel/scss/style/menus/notifications.scss +++ /dev/null @@ -1,192 +0,0 @@ -.notification-menu-content * { - font-size: $font-size * $bar-menus-menu-notifications-scaling * 0.01; -} - -.notification-card-container.menu { - margin: 0em; - min-width: 30.6em * $bar-menus-menu-notifications-scaling * 0.01; - min-height: $bar-menus-menu-notifications-height * $bar-menus-menu-notifications-scaling * 0.01; - background: if($bar-menus-monochrome, $bar-menus-background, $bar-menus-menu-notifications-background); - border: $bar-menus-border-size solid if($bar-menus-monochrome, $bar-menus-border-color, $bar-menus-menu-notifications-border); - border-radius: $bar-menus-border-radius; - margin-right: 0.45em; - opacity: $bar-menus-opacity * 0.01; - - .window-content.notificationsmenu-window { - margin-right: 0.50em; - } - - .menu-content-container.notifications { - margin: 1em; - margin-bottom: 0em; - min-height: 4em; - } - - .notification-menu-controls { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-notifications-card); - margin: 1em 1em; - margin-bottom: 0.5em; - border-radius: $bar-menus-card_radius; - padding: 0.4em 0.75em; - } - - .notification-card.menu { - background: $notification-background; - min-width: 26.2em * $bar-menus-menu-notifications-scaling * 0.01; - font-size: $font-size * $bar-menus-menu-notifications-scaling * 0.01; - border: 0.15em solid $notification-border; - border-radius: 0em; - border-bottom-left-radius: $notification-border_radius; - border-top-left-radius: $notification-border_radius; - margin: 0em; - } - - .notification-card-content-container { - margin-bottom: 0.65em; - - &:last-child { - margin-bottom: 1em; - } - } - - .notification-card-content { - margin-bottom: 0.25em; - } - - .menu-label.notifications { - margin: 0em; - font-size: $font-size * $bar-menus-menu-notifications-scaling * 0.01; - color: if($bar-menus-monochrome, $bar-menus-label, $bar-menus-menu-notifications-label); - } - - .menu-separator.notification-controls { - min-width: 0.1em; - background-color: if($bar-menus-monochrome, $bar-menus-dropdownmenu-divider, $bar-menus-menu-notifications-switch_divider); - margin: 0em 1em; - } - - .menu-switch.notifications { - background-color: if($bar-menus-monochrome, $bar-menus-switch-disabled, $bar-menus-menu-notifications-switch-disabled); - - &:checked { - background: if($bar-menus-monochrome, $bar-menus-switch-enabled, $bar-menus-menu-notifications-switch-enabled); - } - - slider { - background-color: if($bar-menus-monochrome, $bar-menus-switch-puck, $bar-menus-menu-notifications-switch-puck); - } - - &:hover { - trough { - background: if($bar-menus-monochrome, $bar-menus-switch-disabled, $bar-menus-menu-notifications-switch-disabled); - } - - slider { - background: if($bar-menus-monochrome, $bar-menus-switch-puck, $bar-menus-menu-notifications-switch-puck); - } - } - - &:active { - background: if($bar-menus-monochrome, $bar-menus-switch-enabled, $bar-menus-menu-notifications-switch-enabled); - } - } - - .clear-notifications-button { - margin-right: 0.3em; - - &:hover label:not(.removing) { - color: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-notifications-clear), 0.5); - } - } - - .clear-notifications-label { - color: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-notifications-clear); - font-size: 1.5em; - - &.removing { - color: $bar-menus-buttons-disabled; - } - } - - scrollbar { - margin-right: 0.2em; - min-width: $bar-menus-menu-notifications-scrollbar-width; - border-radius: $bar-menus-menu-notifications-scrollbar-radius; - background: transparent; - - slider { - min-width: $bar-menus-menu-notifications-scrollbar-width; - border-radius: $bar-menus-menu-notifications-scrollbar-radius; - background: $bar-menus-menu-notifications-scrollbar-color; - } - } -} - -.notification-label-container { - margin-bottom: 8em; - - label { - color: if($bar-menus-monochrome, $bar-menus-feinttext, $bar-menus-menu-notifications-no_notifications_label); - } - - .bell { - font-size: 10em * $bar-menus-menu-notifications-scaling * 0.01; - } - - .message { - font-size: 1.5em * $bar-menus-menu-notifications-scaling * 0.01; - } -} - -.close-notification-button.menu { - background: $notification-close_button-background; - color: $notification-close_button-label; - min-width: 2.1em; - border-radius: 0rem $notification-border_radius $notification-border_radius 0em; - - label { - font-size: 1.5em; - } - - &:hover { - background: transparentize($notification-close_button-background , 0.5); - } -} - -.notification-menu-pager { - background: $bar-menus-menu-notifications-pager-background; - border-radius: $bar-menus-border-radius; - border-top-left-radius: 0em; - border-top-right-radius: 0em; - - .pager-button { - margin: 0em; - padding: 0.25em 1em; - color: $bar-menus-menu-notifications-pager-button; - - .pager-button-label { - font-size: 2em; - } - - &:hover { - .pager-button-label { - color: transparentize($bar-menus-menu-notifications-pager-button, 0.4); - text-decoration: none; - } - } - } - - .pager-label { - color: $bar-menus-menu-notifications-pager-label; - } - - .disabled { - color: transparentize($bar-menus-menu-notifications-pager-button, 0.8); - - &:hover { - .pager-button-label { - color: transparentize($bar-menus-menu-notifications-pager-button, 0.8); - } - } - } -} diff --git a/ags/HyprPanel/scss/style/menus/power.scss b/ags/HyprPanel/scss/style/menus/power.scss deleted file mode 100644 index 43c1c03..0000000 --- a/ags/HyprPanel/scss/style/menus/power.scss +++ /dev/null @@ -1,227 +0,0 @@ -window#powermenu, -window#verification { - // the fraction has to be more than hyprland ignorealpha - background-color: rgba(0, 0, 0, .4); -} - -$popover-padding: 0.6rem * 1.6; - -window#verification .verification { - * { - font-size: $font-size * $bar-menus-menu-dashboard-confirmation_scaling * 0.01; - } - - @include floating-widget; - background: if($bar-menus-monochrome, $bar-menus-background, $bar-menus-menu-dashboard-powermenu-confirmation-background); - border: $bar-menus-border-size solid if($bar-menus-monochrome, $bar-menus-border-color, $bar-menus-menu-dashboard-powermenu-confirmation-border); - padding: 0.35em * 1.6 * 1.5; - min-width: 20em; - min-height: 6em; - opacity: $bar-menus-opacity * 0.01; - - .verification-content { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-dashboard-powermenu-confirmation-card); - border-radius: $bar-menus-border-radius * 0.5; - padding: 1em; - } - - .text-box { - margin-bottom: 0.3em; - - .title { - font-size: 1.5em; - color: if($bar-menus-monochrome, $bar-menus-label, $bar-menus-menu-dashboard-powermenu-confirmation-label); - margin-bottom: 0.5em; - } - - .desc { - color: if($bar-menus-monochrome, $bar-menus-text, $bar-menus-menu-dashboard-powermenu-confirmation-body); - font-size: 1em; - margin-bottom: 0.55em; - padding: 1em 3em; - } - } - - .verification-button { - background: $bar-menus-buttons-default; - padding: 0.7em 0em; - margin: 0.4em 1.7em; - border-radius: $bar-menus-border-radius * 0.5; - opacity: 1; - transition: border-color 0.2s ease-in-out; - transition: opacity .3s ease-in-out; - - &.bar-verification_yes { - background-color: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-powermenu-confirmation-confirm); - } - - &.bar-verification_no { - background-color: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-powermenu-confirmation-deny); - } - - &:hover { - &.bar-verification_yes { - background-color: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-powermenu-confirmation-confirm), 0.6); - transition: background-color 0.2s ease-in-out; - } - - &.bar-verification_no { - background-color: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-powermenu-confirmation-deny), 0.6); - transition: background-color 0.2s ease-in-out; - } - } - - &:focus { - &.bar-verification_yes { - background-color: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-powermenu-confirmation-confirm), 0.6); - transition: background 0.2s ease-in-out; - } - - &.bar-verification_no { - background-color: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-powermenu-confirmation-deny), 0.6); - transition: background 0.2s ease-in-out; - } - } - - &:active { - &.bar-verification_yes { - background-color: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-powermenu-confirmation-confirm), 0.6); - transition: background 0.2s ease-in-out; - } - - &.bar-verification_no { - background-color: transparentize(if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-dashboard-powermenu-confirmation-deny), 0.6); - transition: background 0.2s ease-in-out; - } - - image { - opacity: .3; - transition: opacity .3s ease-in-out; - } - - label { - opacity: .3; - transition: opacity .3s ease-in-out; - } - } - } - - .bar-verification_no label { - color: if($bar-menus-monochrome, $bar-menus-buttons-text, $bar-menus-menu-dashboard-powermenu-confirmation-button_text); - } - - .bar-verification_yes label { - color: if($bar-menus-monochrome, $bar-menus-buttons-text, $bar-menus-menu-dashboard-powermenu-confirmation-button_text); - } -} - -window#powermenu .powermenu { - @include floating-widget; - - &.line { - padding: $popover-padding * 1.5; - } - - &.box { - padding: $popover-padding * 2; - } -} - -.widget-button { - border-color: $crust; - min-width: 4.5em; - min-height: 4.5em; - opacity: 1; - transition: border-color 0.2s ease-in-out; - transition: opacity .3s ease-in-out; - - &:hover { - &.powermenu-button-shutdown { - border-color: $red; - } - - &.powermenu-button-logout { - border-color: $green; - } - - &.powermenu-button-sleep { - border-color: $sky; - } - - &.powermenu-button-reboot { - border-color: $peach; - } - } - - &:focus { - &.powermenu-button-shutdown { - border-color: $red; - } - - &.powermenu-button-logout { - border-color: $green; - } - - &.powermenu-button-sleep { - border-color: $sky; - } - - &.powermenu-button-reboot { - border-color: $peach; - } - } - - &:active { - &.powermenu-button-shutdown { - border-color: rgba($red, .5); - } - - &.powermenu-button-logout { - border-color: rgba($green, .5); - } - - &.powermenu-button-sleep { - border-color: rgba($sky, .5); - } - - &.powermenu-button-reboot { - border-color: rgba($peach, .5); - } - } -} - -.system-button_icon { - &.shutdown { - color: $red; - } - - &.logout { - color: $green; - } - - &.reboot { - color: $peach; - } - - &.sleep { - color: $sky; - } -} - -.system-button_label { - &.shutdown { - color: $red; - } - - &.logout { - color: $green; - } - - &.reboot { - color: $peach; - } - - &.sleep { - color: $sky; - } -} diff --git a/ags/HyprPanel/scss/style/menus/powerdropdown.scss b/ags/HyprPanel/scss/style/menus/powerdropdown.scss deleted file mode 100644 index 853835c..0000000 --- a/ags/HyprPanel/scss/style/menus/powerdropdown.scss +++ /dev/null @@ -1,136 +0,0 @@ -.menu-items-container.power-dropdown * { - font-size: $font-size * $bar-menus-menu-power-scaling * 0.01; -} - -@import "./menu.scss"; - -.menu-items.power-dropdown { - background: if($bar-menus-monochrome, $bar-menus-background, $bar-menus-menu-power-background-color); - border-color: if($bar-menus-monochrome, $bar-menus-border-color, $bar-menus-menu-power-border-color); - opacity: $bar-menus-opacity * 0.01; - font-size: $font-size * $bar-menus-menu-power-scaling * 0.01; -} - -.menu-items-container.power-dropdown { - &.reboot { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-power-buttons-restart-background); - } - - &.logout { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-power-buttons-logout-background); - } - - &.sleep { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-power-buttons-sleep-background); - } - - min-height: 3.5em * $bar-menus-menu-power-scaling * 0.01; - font-size: 1.3em; - margin: 1em; - - .menu-items-section { - padding-bottom: 1.5em; - } - - .power-menu-button { - border-radius: $bar-menus-border-radius * 0.6; - - // This doubles the border-radius so it doesn't show up as - // an artifact behind the button as that has a radius as well - border-top-left-radius: $bar-menus-border-radius * 2; - border-bottom-left-radius: $bar-menus-border-radius * 2; - - &.no-label { - // This doubles the border-radius so it doesn't show up as - // an artifact behind the button as that has a radius as well - border-top-right-radius: $bar-menus-border-radius * 2; - border-bottom-right-radius: $bar-menus-border-radius * 2; - } - - &:hover { - opacity: 0.4; - } - - &:not(:last-child) { - margin-bottom: 1.5em; - } - - .power-button-label { - font-size: 1.1em; - } - - &.shutdown { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-power-buttons-shutdown-background); - } - - &.reboot { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-power-buttons-restart-background); - } - - &.logout { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-power-buttons-logout-background); - } - - &.sleep { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-power-buttons-sleep-background); - } - - .show-label { - padding-right: 1em; - } - - .no-label { - border-top-right-radius: $bar-menus-border-radius * 0.35; - border-bottom-right-radius: $bar-menus-border-radius * 0.35; - } - - .shutdown-label { - color: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-power-buttons-shutdown-text); - } - - .reboot-label { - color: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-power-buttons-restart-text); - } - - .logout-label { - color: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-power-buttons-logout-text); - } - - .sleep-label { - color: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-power-buttons-sleep-text); - } - } - - label:not(.txt-icon) { - margin-left: 1em; - } - - label.txt-icon { - min-width: 3.75rem * $bar-menus-menu-power-scaling * 0.01; - min-height: 3.75rem * $bar-menus-menu-power-scaling * 0.01; - background: $red; - border-top-left-radius: $bar-menus-border-radius * 0.35; - border-bottom-left-radius: $bar-menus-border-radius * 0.35; - font-size: 1.75em; - - &.shutdown-icon { - background: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-power-buttons-shutdown-icon_background); - color: if($bar-menus-monochrome, $bar-menus-buttons-text, $bar-menus-menu-power-buttons-shutdown-icon); - } - - &.reboot-icon { - background: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-power-buttons-restart-icon_background); - color: if($bar-menus-monochrome, $bar-menus-buttons-text, $bar-menus-menu-power-buttons-restart-icon); - } - - &.logout-icon { - background: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-power-buttons-logout-icon_background); - color: if($bar-menus-monochrome, $bar-menus-buttons-text, $bar-menus-menu-power-buttons-logout-icon); - } - - &.sleep-icon { - background: if($bar-menus-monochrome, $bar-menus-buttons-default, $bar-menus-menu-power-buttons-sleep-icon_background); - color: if($bar-menus-monochrome, $bar-menus-buttons-text, $bar-menus-menu-power-buttons-sleep-icon); - } - } -} diff --git a/ags/HyprPanel/scss/style/notifications/popups.scss b/ags/HyprPanel/scss/style/notifications/popups.scss deleted file mode 100644 index c371c3a..0000000 --- a/ags/HyprPanel/scss/style/notifications/popups.scss +++ /dev/null @@ -1,107 +0,0 @@ -.notification-card { - color: $notification-text; - background: $notification-background; - margin: 0.45em; - border: 0.15em solid transparentize($notification-border, 0.5); - min-width: 26em; - min-height: 6rem; - border-radius: $notification-border_radius; - opacity: $notification-opacity * 0.01; -} - -.notification-card-container { - * { - font-size: $font-size * $notification-scaling * 0.01; - } - - padding: 1px; -} - -.notification-card-image-container { - margin: 0.65em 0.65em; - border-radius: 0.4em; -} - -.notification-card-image { - border-radius: 0.4em; - min-width: 2.5em; - min-height: 2.5em; - padding: 0.85em 0.85em; - background-size: contain; - background-repeat: no-repeat; - background-position: center; -} - -.notification-card-content { - min-width: 2.9em; - min-height: 2.9em; - padding: 0.5em 0.5em; - margin-right: 0.5rem; - margin-bottom: 0.5rem; -} - -.notification-card-content.noimg { - margin-left: 0.5em; - margin-top: .15em; -} - -.notification-card-header-label { - font-size: 0.95em; - margin-bottom: 0.5em; - color: $notification-label; -} - -.notification-card-body-label { - font-size: 0.84em; - margin-bottom: 1em; - font-weight: 600; -} - -.notification-card-actions { - margin-top: 0.25em; - margin-bottom: 0.4em; -} - -.notification-action-buttons { - color: $notification-actions-text; - background: $notification-actions-background; - min-width: 4em; - min-height: 1.65em; - border-radius: 0.2em; - - &:not(:last-child) { - margin-right: 2rem; - } - - &:hover { - background: transparentize($notification-actions-background, 0.6); - } -} - -.notification-icon { - color: $notification-labelicon; - margin-bottom: 0.4em; - min-width: 1em; - min-height: 1em; - font-size: 1.3em; -} - -.notification-time { - font-size: 0.85em; - color: $notification-time; -} - -.close-notification-button { - background: $notification-close_button-background; - color: $notification-close_button-label; - min-width: 2.1em; - border-radius: 0rem $notification-border_radius*0.7 $notification-border_radius*0.7 0em; - - label { - font-size: 1.5em; - } - - &:hover { - background: transparentize($notification-close_button-background, 0.5); - } -} diff --git a/ags/HyprPanel/scss/style/osd/index.scss b/ags/HyprPanel/scss/style/osd/index.scss deleted file mode 100644 index 8b60d26..0000000 --- a/ags/HyprPanel/scss/style/osd/index.scss +++ /dev/null @@ -1,81 +0,0 @@ -.indicator { - * { - font-size: $font-size * $osd-scaling * 0.01; - } - - .osd-container { - margin: $osd-margins; - opacity: $osd-opacity * 0.01; - } - - .osd-label-container { - background: $osd-bar_container; - - border-radius: if($osd-orientation =="vertical", $osd-radius $osd-radius 0em 0em, 0em $osd-radius $osd-radius 0em); - - .osd-label { - font-size: 1em; - padding-top: if($osd-orientation =="vertical", 1em, 0em); - padding-right: if($osd-orientation =="horizontal", 1em, 0em); - color: $osd-label; - - &.overflow { - color: $osd-bar_overflow_color; - } - } - } - - .osd-icon-container { - background: $osd-icon_container; - - border-radius: if($osd-orientation =="vertical", 0em 0em $osd-radius $osd-radius, $osd-radius 0em 0em $osd-radius ); - - .osd-icon { - font-size: 2.1em; - padding: if($osd-orientation =="vertical", 0.2em 0em, 0em 0.4em); - color: $osd-icon; - } - } - - .osd-bar-container { - padding: 1.25em; - background: $osd-bar_container; - - .osd-bar { - levelbar * { - transition: 200ms; - } - - trough { - min-height: if($osd-orientation =="vertical", 10em, 0); - min-width: if($osd-orientation =="horizontal", 10em, 0); - } - - block { - border-radius: $osd-radius * 0.5; - - &.empty { - background: $osd-bar_empty_color; - - } - - &.filled { - background: $osd-bar_color; - padding: 0.45em; - } - } - - &.overflow { - block { - &.empty { - background: $osd-bar_color; - } - - &.filled { - background: $osd-bar_overflow_color; - } - } - } - } - } -} diff --git a/ags/HyprPanel/scss/style/settings/dialog.scss b/ags/HyprPanel/scss/style/settings/dialog.scss deleted file mode 100644 index 27ac3df..0000000 --- a/ags/HyprPanel/scss/style/settings/dialog.scss +++ /dev/null @@ -1,407 +0,0 @@ -window.settings-dialog { - opacity: $bar-menus-opacity * 0.01; - background-color: $bar-menus-cards; - color: $bar-menus-text; - - $widget-bg: $bar-menus-cards; - $border: none; - $fg: $bar-menus-text; - - .settings-dialog-box { - min-width: 75em; - } - - .header { - background-color: transparentize($bar-menus-background, 0.1); - border-bottom-left-radius: $bar-menus-border-radius * 0.5; - border-bottom-right-radius: $bar-menus-border-radius * 0.5; - padding: $padding; - - button { - font-weight: bold; - - } - - button.close { - color: $bar-menus-iconbuttons-passive; - - image { - font-size: 2em; - } - - &:hover { - color: $bar-menus-buttons-active; - } - } - - button.reset { - color: $bar-menus-iconbuttons-passive; - padding: $padding*.5; - - image { - font-size: 1.25em; - } - - &:hover { - color: $bar-menus-buttons-active; - } - } - } - - .page { - - .page-content { - padding: $padding*2; - padding-top: 0; - } - } - - .group { - .group-title { - color: $bar-menus-text; - margin-bottom: $spacing*.5; - } - - .group-reset { - margin: $spacing * .5; - padding: $padding * .5; - - &:disabled { - color: transparent; - } - } - - &:not(:first-child) { - margin-top: $spacing; - } - } - - .row { - background-color: $widget-bg; - padding: $padding; - border: $border; - border-top: none; - - &:first-child { - border-radius: $radius $radius 0em 0em; - border: $border; - } - - &:last-child { - border-radius: 0em 0em $radius $radius; - } - - &:first-child:last-child { - border-radius: $radius; - border: $border; - } - - button.reset { - margin-left: $spacing; - } - - label.id, - label.note { - color: transparentize($fg, .4) - } - - entry, - button { - padding: $padding; - } - - spinbutton { - entry { - border-radius: $radius 0em 0em $radius; - } - - button { - border-radius: 0em; - } - - button:last-child { - border-radius: 0em $radius $radius 0em; - } - } - - .enum-setter { - label { - background-color: $widget-bg; - border: $border; - padding: 0em $padding; - border-radius: $radius 0em 0em $radius; - } - - button { - border-radius: 0em; - } - - button:last-child { - border-radius: 0em $radius $radius 0em; - } - } - - &.wallpaper { - button { - margin-top: $spacing * .5; - } - - .preview { - border-radius: $radius; - } - } - } -} - -.option-item { - margin: 0em 2em; - margin-bottom: 1em; - - .reset { - color: $bar-menus-iconbuttons-passive; - } - - .options-label { - color: $bar-menus-text; - } - - .options-sublabel { - font-size: 0.75em; - margin-top: 0.2em; - color: $bar-menus-dimtext; - } - - .options-sublabel-link { - - label { - font-size: 0.75em; - margin-top: 0.2em; - color: $bar-menus-dimtext; - } - - &:hover label { - color: $bar-menus-listitems-active; - } - } - - .inputter-container { - border-radius: $bar-menus-border-radius * 0.5; - - :first-child { - border-radius: $bar-menus-border-radius * 0.5; - } - - padding: 0.35em 0.35em; - background: transparentize($bar-menus-background, 0.6); - margin-right: 1em; - } -} - -.options-header { - margin: 1em 1em; - - .label-name { - color: $bar-menus-label; - font-size: 0.9em; - margin-right: 0.5em; - } -} - -.pager-button { - color: transparentize($bar-menus-text, 0.4); - margin: 0.5em 0.75em; - - &.category label { - font-size: 1.4em; - } - - &:hover { - label { - text-decoration: underline; - color: $bar-menus-text; - } - } - - &.active { - label { - text-decoration: underline; - color: $bar-menus-text; - } - } -} - -.bar-theme-page { - min-height: 40em; -} - -.settings-menu-stack { - background: $red; -} - -.paged-container { - .reset-options { - color: $bar-menus-text; - - image:disabled { - color: $bar-menus-buttons-disabled; - } - - &:hover { - image { - color: transparentize($bar-menus-text, 0.5); - } - } - } - - scrollbar { - margin-right: 0.2em; - min-width: 0.6em; - border-radius: $bar-menus-border-radius; - background: $bar-menus-background; - - slider { - min-width: 0.6em; - border-radius: $bar-menus-border-radius; - background: $bar-menus-buttons-default; - } - } - - selection { - background: $bar-menus-label; - color: $bar-menus-cards; - } - - switch { - font-size: 10px; - - &:checked { - background: $bar-menus-switch-enabled; - } - - slider { - background-color: $bar-menus-switch-puck; - } - - &:active { - background: if($bar-menus-monochrome, $bar-menus-switch-enabled, $bar-menus-menu-bluetooth-switch-enabled); - } - } - - entry { - min-width: 15em; - } -} - -dialog { - background: $bar-menus-cards; - color: $bar-menus-text; - - :selected { - background: transparentize($bar-menus-label, 0.2); - color: transparentize($bar-menus-cards, 0.2); - } - - headerbar { - border-bottom: 0.075em solid $bar-menus-border-color; - background: $bar-menus-cards; - padding: 0.5em; - font-size: 1.5em; - - button { - color: $bar-menus-buttons-text; - min-width: 4.5em; - min-height: 2.5em; - border-radius: $bar-menus-border-radius; - background: $bar-menus-buttons-default; - - &:hover { - background: transparentize($bar-menus-buttons-default, 0.5); - } - } - } - - viewport { - border-right: .25em solid $bar-menus-border-color; - - list { - row { - padding: 0em 1.5em; - - &:hover { - background: $bar-menus-buttons-default; - color: $bar-menus-buttons-text; - } - - label { - margin: 0.5em 0.5em; - font-size: 0.85em; - } - } - } - - } - - stack { - .horizontal .path-bar { - button { - background: $bar-menus-iconbuttons-active; - min-width: 3em; - min-height: 2em; - border-radius: $bar-menus-border-radius * 0.5; - - &:disabled { - background: $bar-menus-buttons-disabled; - } - - &:hover { - background: transparentize($bar-menus-buttons-active, 0.5); - } - - label { - margin: 0em 0.25em; - color: $bar-menus-buttons-text - } - - image { - margin: 0em 0.5em; - color: $bar-menus-buttons-text - } - - margin: 0.25em; - } - } - } - - treeview header button { - padding: 0.25em; - border: .15em solid $bar-menus-border-color; - } - - headerbar { - color: $bar-menus-label; - } -} - -.unsaved-icon { - margin-right: 1em; - font-size: 1em; - color: $yellow; -} - -.options-import, -.options-export { - border-radius: $bar-menus-border-radius * 0.5; - color: $bar-menus-buttons-text; - padding: 0.35em 0.35em; - background: $bar-menus-buttons-default; - margin-right: 1em; - margin-left: 0.5em; - - &:hover { - background: transparentize($bar-menus-buttons-default, 0.8); - } -} - -.options-import { - margin-right: 0em; -} diff --git a/ags/HyprPanel/services/Brightness.ts b/ags/HyprPanel/services/Brightness.ts deleted file mode 100644 index 4ac8d49..0000000 --- a/ags/HyprPanel/services/Brightness.ts +++ /dev/null @@ -1,74 +0,0 @@ -// <3 Aylur for this brightness service -import { bash, dependencies, sh } from 'lib/utils'; - -if (!dependencies('brightnessctl')) App.quit(); - -const get = (args: string): number => Number(Utils.exec(`brightnessctl ${args}`)); -const screen = await bash`ls -w1 /sys/class/backlight | head -1`; -const kbd = await bash`ls -w1 /sys/class/leds | grep '::kbd_backlight$' | head -1`; - -class Brightness extends Service { - static { - Service.register( - this, - {}, - { - screen: ['float', 'rw'], - kbd: ['int', 'rw'], - }, - ); - } - - #kbdMax = get(`--device ${kbd} max`); - #kbd = get(`--device ${kbd} get`); - #screenMax = get(`--device ${screen} max`); - #screen = get(`--device ${screen} get`) / (get(`--device ${screen} max`) || 1); - - get kbd(): number { - return this.#kbd; - } - get screen(): number { - return this.#screen; - } - - set kbd(value) { - if (value < 0 || value > this.#kbdMax) return; - - sh(`brightnessctl -d ${kbd} s ${value} -q`).then(() => { - this.#kbd = value; - this.changed('kbd'); - }); - } - - set screen(percent) { - if (percent < 0) percent = 0; - - if (percent > 1) percent = 1; - - sh(`brightnessctl set ${Math.round(percent * 100)}% -d ${screen} -q`).then(() => { - this.#screen = percent; - this.changed('screen'); - }); - } - - constructor() { - super(); - - const screenPath = `/sys/class/backlight/${screen}/brightness`; - const kbdPath = `/sys/class/leds/${kbd}/brightness`; - - Utils.monitorFile(screenPath, async (f) => { - const v = await Utils.readFileAsync(f); - this.#screen = Number(v) / this.#screenMax; - this.changed('screen'); - }); - - Utils.monitorFile(kbdPath, async (f) => { - const v = await Utils.readFileAsync(f); - this.#kbd = Number(v) / this.#kbdMax; - this.changed('kbd'); - }); - } -} - -export default new Brightness(); diff --git a/ags/HyprPanel/services/Wallpaper.ts b/ags/HyprPanel/services/Wallpaper.ts deleted file mode 100644 index a27947c..0000000 --- a/ags/HyprPanel/services/Wallpaper.ts +++ /dev/null @@ -1,97 +0,0 @@ -import { dependencies, sh } from 'lib/utils'; -import options from 'options'; -const hyprland = await Service.import('hyprland'); - -const WP = `${Utils.HOME}/.config/background`; - -class Wallpaper extends Service { - static { - Service.register( - this, - {}, - { - wallpaper: ['string'], - }, - ); - } - - #blockMonitor = false; - #isRunning = false; - - #wallpaper(): void { - if (!dependencies('swww')) return; - - hyprland.monitors.map((m) => m.name); - sh('hyprctl cursorpos').then((pos) => { - sh([ - 'swww', - 'img', - '--invert-y', - '--transition-type', - 'grow', - '--transition-duration', - '1.5', - '--transition-fps', - '30', - '--transition-pos', - pos.replace(' ', ''), - WP, - ]).then(() => { - this.changed('wallpaper'); - }); - }); - } - - async #setWallpaper(path: string): Promise { - this.#blockMonitor = true; - - await sh(`cp ${path} ${WP}`); - this.#wallpaper(); - - this.#blockMonitor = false; - } - - readonly set = (path: string): void => { - this.#setWallpaper(path); - }; - readonly isRunning = (): boolean => { - return this.#isRunning; - }; - - get wallpaper(): string { - return WP; - } - - constructor() { - super(); - - options.wallpaper.enable.connect('changed', () => { - if (options.wallpaper.enable.value) { - this.#isRunning = true; - Utils.execAsync('swww-daemon') - .then(() => { - this.#wallpaper(); - }) - .catch(() => null); - } else { - this.#isRunning = false; - Utils.execAsync('pkill swww-daemon').catch(() => null); - } - }); - - if (!dependencies('swww') || !options.wallpaper.enable.value) return this; - - this.#isRunning = true; - Utils.monitorFile(WP, () => { - if (!this.#blockMonitor) this.#wallpaper(); - }); - - Utils.execAsync('swww-daemon') - .then(() => { - this.#wallpaper(); - }) - .catch(() => null); - } -} - -export default new Wallpaper(); diff --git a/ags/HyprPanel/services/bluetooth.py b/ags/HyprPanel/services/bluetooth.py deleted file mode 100755 index bc26f77..0000000 --- a/ags/HyprPanel/services/bluetooth.py +++ /dev/null @@ -1,173 +0,0 @@ -#!/usr/bin/env python3 - -import dbus -import dbus.service -import dbus.mainloop.glib -from gi.repository import GLib -import subprocess -import logging - -logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') - -AGENT_PATH = "/test/agent" -CAPABILITY = "NoInputNoOutput" - -def send_notification_with_actions(title, message, actions, action_handler): - bus = dbus.SessionBus() - notification_object = bus.get_object("org.freedesktop.Notifications", "/org/freedesktop/Notifications") - notify_interface = dbus.Interface(notification_object, "org.freedesktop.Notifications") - bus.add_signal_receiver(action_handler, - dbus_interface="org.freedesktop.Notifications", - signal_name="ActionInvoked") - notify_interface.Notify("bluetooth_agent", 0, "", title, message, actions, {}, -1) - -class Agent(dbus.service.Object): - def __init__(self, bus): - dbus.service.Object.__init__(self, bus, AGENT_PATH) - - @dbus.service.method("org.bluez.Agent1", in_signature="", out_signature="") - def Release(self): - logging.info("Release") - - def get_device_name(self, device): - bus = dbus.SystemBus() - device_proxy = bus.get_object("org.bluez", device) - device_properties = dbus.Interface(device_proxy, "org.freedesktop.DBus.Properties") - return device_properties.Get("org.bluez.Device1", "Name") - - @dbus.service.method("org.bluez.Agent1", in_signature="o", out_signature="") - def RequestPinCode(self, device): - device_name = self.get_device_name(device) - logging.info(f"RequestPinCode {device_name} ({device})") - self.request_input("Enter PIN code", f"Enter PIN code for device {device_name}", device, "pin") - - @dbus.service.method("org.bluez.Agent1", in_signature="o", out_signature="u") - def RequestPasskey(self, device): - device_name = self.get_device_name(device) - logging.info(f"RequestPasskey {device_name} ({device})") - self.request_input("Enter Passkey", f"Enter passkey for device {device_name}", device, "passkey") - - @dbus.service.method("org.bluez.Agent1", in_signature="ou", out_signature="") - def DisplayPasskey(self, device, passkey): - device_name = self.get_device_name(device) - logging.info(f"DisplayPasskey {device_name} passkey {passkey}") - send_notification_with_actions("Bluetooth Pairing Request", f"Passkey for device {device_name} is {passkey}", [], lambda *args: None) - - @dbus.service.method("org.bluez.Agent1", in_signature="ou", out_signature="") - def RequestConfirmation(self, device, passkey): - device_name = self.get_device_name(device) - logging.info(f"RequestConfirmation {device_name} passkey {passkey}") - actions = ["confirm", "Confirm", "deny", "Deny"] - - def action_handler(notification_id, action_key): - if action_key == "confirm": - logging.info(f"Confirmed pairing for {device_name}") - self.send_reply(device) - elif action_key == "deny": - logging.info(f"Denied pairing for {device_name}") - self.send_error(device, "org.bluez.Error.Rejected") - - send_notification_with_actions("Bluetooth Pairing Request", - f"Confirm passkey {passkey} for device {device_name}", - actions, action_handler) - return - - @dbus.service.method("org.bluez.Agent1", in_signature="o", out_signature="") - def RequestAuthorization(self, device): - device_name = self.get_device_name(device) - logging.info(f"RequestAuthorization {device_name}") - actions = ["confirm", "Confirm", "deny", "Deny"] - - def action_handler(notification_id, action_key): - if action_key == "confirm": - logging.info(f"Authorized device {device_name}") - self.send_reply(device) - elif action_key == "deny": - logging.info(f"Denied authorization for {device_name}") - self.send_error(device, "org.bluez.Error.Rejected") - - send_notification_with_actions("Bluetooth Service Authorization", - f"Authorize device {device_name}", - actions, action_handler) - return - - @dbus.service.method("org.bluez.Agent1", in_signature="os", out_signature="") - def AuthorizeService(self, device, uuid): - device_name = self.get_device_name(device) - logging.info(f"AuthorizeService {device_name} uuid {uuid}") - actions = ["confirm", "Confirm", "deny", "Deny"] - - def action_handler(notification_id, action_key): - if action_key == "confirm": - logging.info(f"Authorized service {uuid} for device {device_name}") - self.send_reply(device) - elif action_key == "deny": - logging.info(f"Denied authorization for service {uuid} on device {device_name}") - self.send_error(device, "org.bluez.Error.Rejected") - - send_notification_with_actions("Bluetooth Service Authorization", - f"Authorize service {uuid} for device {device_name}", - actions, action_handler) - return - - @dbus.service.method("org.bluez.Agent1", in_signature="", out_signature="") - def Cancel(self): - logging.info("Cancel") - - def request_input(self, title, message, device, input_type): - def action_handler(notification_id, action_key): - if action_key == "input": - result = subprocess.run(["zenity", "--entry", "--title", title, "--text", message], capture_output=True, text=True) - user_input = result.stdout.strip() - if input_type == "pin": - self.handle_pin_input(device, user_input) - elif input_type == "passkey": - self.handle_passkey_input(device, user_input) - elif action_key == "cancel": - self.send_error(device, "org.bluez.Error.Rejected") - - actions = ["input", "Enter", "cancel", "Cancel"] - send_notification_with_actions(title, message, actions, action_handler) - - def handle_pin_input(self, device, pin_code): - logging.info(f"PIN code entered for {device}: {pin_code}") - self.send_reply(device) - - def handle_passkey_input(self, device, passkey): - logging.info(f"Passkey entered for {device}: {passkey}") - self.send_reply(device) - - def send_reply(self, device): - logging.info(f"Sending reply for {device}") - bus = dbus.SystemBus() - agent = bus.get_object("org.bluez", device) - agent_interface = dbus.Interface(agent, "org.bluez.Device1") - agent_interface.Pair(reply_handler=self.success_callback, error_handler=self.error_callback) - - def send_error(self, device, error): - logging.info(f"Sending error for {device}") - bus = dbus.SystemBus() - agent = bus.get_object("org.bluez", device) - agent_interface = dbus.Interface(agent, "org.bluez.Device1") - agent_interface.CancelPairing(reply_handler=self.success_callback, error_handler=self.error_callback) - - def success_callback(self): - logging.info("Operation succeeded") - - def error_callback(self, error): - logging.error(f"Operation failed: {error}") - -def register_agent(): - bus = dbus.SystemBus() - manager = dbus.Interface(bus.get_object("org.bluez", "/org/bluez"), "org.bluez.AgentManager1") - path = AGENT_PATH - agent = Agent(bus) - manager.RegisterAgent(path, CAPABILITY) - manager.RequestDefaultAgent(path) - logging.info("Agent registered") - -if __name__ == "__main__": - dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) - register_agent() - loop = GLib.MainLoop() - loop.run() diff --git a/ags/HyprPanel/services/matugen/index.ts b/ags/HyprPanel/services/matugen/index.ts deleted file mode 100644 index e39c3cb..0000000 --- a/ags/HyprPanel/services/matugen/index.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { defaultColorMap } from 'lib/types/defaults/options'; -import { ColorMapValue, ColorMapKey, HexColor, MatugenColors } from 'lib/types/options'; -import { getMatugenVariations } from './variations'; -import { bash, dependencies, Notify, isAnImage } from 'lib/utils'; -import options from 'options'; -import icons from 'lib/icons'; -import { Variable } from 'types/variable'; -const { scheme_type, contrast } = options.theme.matugen_settings; -const { matugen } = options.theme; - -const updateOptColor = (color: HexColor, opt: Variable): void => { - opt.value = color; -}; - -export async function generateMatugenColors(): Promise { - if (!matugen.value || !dependencies('matugen')) { - return; - } - const wallpaperPath = options.wallpaper.image.value; - - try { - if (!wallpaperPath.length || !isAnImage(wallpaperPath)) { - Notify({ - summary: 'Matugen Failed', - body: "Please select a wallpaper in 'Theming > General' first.", - iconName: icons.ui.warning, - timeout: 7000, - }); - return; - } - - const normalizedContrast = contrast.value > 1 ? 1 : contrast.value < -1 ? -1 : contrast.value; - const contents = await bash( - `matugen image ${wallpaperPath} -t scheme-${scheme_type.value} --contrast ${normalizedContrast} --json hex`, - ); - - return JSON.parse(contents).colors[options.theme.matugen_settings.mode.value]; - } catch (error) { - const errMsg = `An error occurred while generating matugen colors: ${error}`; - console.error(errMsg); - return; - } -} - -const isColorValid = (color: string): color is ColorMapKey => { - return defaultColorMap.hasOwnProperty(color); -}; - -export const replaceHexValues = (incomingHex: HexColor, matugenColors: MatugenColors): HexColor => { - if (!options.theme.matugen.value) { - return incomingHex; - } - - const matugenVariation = getMatugenVariations(matugenColors, options.theme.matugen_settings.variation.value); - updateOptColor(matugenVariation.base, options.theme.bar.menus.menu.media.card.color as Variable); - - for (const curColor of Object.keys(defaultColorMap)) { - const currentColor: string = curColor; - if (!isColorValid(currentColor)) { - continue; - } - - const curColorValue: ColorMapValue = defaultColorMap[currentColor]; - if (curColorValue === incomingHex) { - return matugenVariation[currentColor]; - } - } - - return incomingHex; -}; diff --git a/ags/HyprPanel/services/matugen/variations.ts b/ags/HyprPanel/services/matugen/variations.ts deleted file mode 100644 index 7daba85..0000000 --- a/ags/HyprPanel/services/matugen/variations.ts +++ /dev/null @@ -1,570 +0,0 @@ -import { MatugenColors, MatugenVariation, MatugenVariations } from 'lib/types/options'; - -/* - * NOTE: This maps the values of the default colors to the values generated by Matugen. - * Each of the variations are carefully tested and curated to make sure that colors don't - * have weird luminocity overlaps (light on light, dark on dark). - */ -export const getMatugenVariations = (matugenColors: MatugenColors, variation: MatugenVariations): MatugenVariation => { - const matVtns = { - standard_1: { - rosewater: matugenColors.secondary, - flamingo: matugenColors.secondary, - pink: matugenColors.tertiary, - mauve: matugenColors.primary, - red: matugenColors.tertiary, - maroon: matugenColors.primary, - peach: matugenColors.tertiary, - yellow: matugenColors.secondary, - green: matugenColors.primary, - teal: matugenColors.secondary, - sky: matugenColors.secondary, - sapphire: matugenColors.primary, - blue: matugenColors.primary, - lavender: matugenColors.primary, - text: matugenColors.on_background, - subtext1: matugenColors.outline, - subtext2: matugenColors.outline, - overlay2: matugenColors.outline, - overlay1: matugenColors.outline, - overlay0: matugenColors.outline, - surface2: matugenColors.outline, - surface1: matugenColors.surface_bright, - surface0: matugenColors.surface_bright, - base2: matugenColors.inverse_on_surface, - base: matugenColors.inverse_on_surface, - mantle: matugenColors.surface_dim, - crust: matugenColors.surface_dim, - notifications_closer: matugenColors.primary, - notifications_background: matugenColors.surface_dim, - dashboard_btn_text: matugenColors.surface_dim, - red2: matugenColors.tertiary, - peach2: matugenColors.tertiary, - pink2: matugenColors.tertiary, - mantle2: matugenColors.surface_dim, - surface1_2: matugenColors.inverse_on_surface, - surface0_2: matugenColors.surface_bright, - overlay1_2: matugenColors.outline, - text2: matugenColors.on_background, - lavender2: matugenColors.primary, - crust2: matugenColors.surface_dim, - maroon2: matugenColors.primary, - mauve2: matugenColors.primary, - green2: matugenColors.primary, - surface2_2: matugenColors.surface, - sky2: matugenColors.secondary, - teal2: matugenColors.secondary, - yellow2: matugenColors.secondary, - pink3: matugenColors.tertiary, - red3: matugenColors.secondary, - mantle3: matugenColors.inverse_on_surface, - surface0_3: matugenColors.outline, - surface2_3: matugenColors.outline, - overlay1_3: matugenColors.outline, - lavender3: matugenColors.primary, - mauve3: matugenColors.primary, - green3: matugenColors.primary, - sky3: matugenColors.secondary, - teal3: matugenColors.secondary, - yellow3: matugenColors.secondary, - maroon3: matugenColors.primary, - crust3: matugenColors.surface_dim, - }, - standard_2: { - rosewater: matugenColors.primary, - flamingo: matugenColors.primary, - pink: matugenColors.tertiary, - mauve: matugenColors.secondary, - red: matugenColors.tertiary, - maroon: matugenColors.secondary, - peach: matugenColors.tertiary, - yellow: matugenColors.primary, - green: matugenColors.secondary, - teal: matugenColors.primary, - sky: matugenColors.primary, - sapphire: matugenColors.secondary, - blue: matugenColors.secondary, - lavender: matugenColors.secondary, - text: matugenColors.on_background, - subtext1: matugenColors.outline, - subtext2: matugenColors.outline, - overlay2: matugenColors.outline, - overlay1: matugenColors.outline, - overlay0: matugenColors.outline, - surface2: matugenColors.outline, - surface1: matugenColors.surface_bright, - surface0: matugenColors.surface_bright, - base2: matugenColors.inverse_on_surface, - base: matugenColors.inverse_on_surface, - mantle: matugenColors.surface_dim, - crust: matugenColors.surface_dim, - notifications_closer: matugenColors.tertiary, - notifications_background: matugenColors.surface_dim, - dashboard_btn_text: matugenColors.surface_dim, - red2: matugenColors.tertiary, - peach2: matugenColors.tertiary, - pink2: matugenColors.tertiary, - mantle2: matugenColors.surface_dim, - surface1_2: matugenColors.inverse_on_surface, - surface0_2: matugenColors.surface_bright, - overlay1_2: matugenColors.outline, - text2: matugenColors.on_background, - lavender2: matugenColors.secondary, - crust2: matugenColors.surface_dim, - maroon2: matugenColors.secondary, - surface2_2: matugenColors.surface, - mauve2: matugenColors.secondary, - green2: matugenColors.secondary, - sky2: matugenColors.primary, - teal2: matugenColors.primary, - yellow2: matugenColors.primary, - pink3: matugenColors.tertiary, - red3: matugenColors.secondary, - mantle3: matugenColors.inverse_on_surface, - surface0_3: matugenColors.outline, - surface2_3: matugenColors.outline, - overlay1_3: matugenColors.outline, - lavender3: matugenColors.secondary, - mauve3: matugenColors.secondary, - green3: matugenColors.secondary, - sky3: matugenColors.primary, - teal3: matugenColors.primary, - yellow3: matugenColors.primary, - maroon3: matugenColors.secondary, - crust3: matugenColors.surface_dim, - }, - standard_3: { - rosewater: matugenColors.secondary, - flamingo: matugenColors.secondary, - pink: matugenColors.secondary, - mauve: matugenColors.primary, - red: matugenColors.secondary, - maroon: matugenColors.primary, - peach: matugenColors.secondary, - yellow: matugenColors.secondary, - green: matugenColors.primary, - teal: matugenColors.secondary, - sky: matugenColors.secondary, - sapphire: matugenColors.primary, - blue: matugenColors.primary, - lavender: matugenColors.primary, - text: matugenColors.on_background, - subtext1: matugenColors.outline, - subtext2: matugenColors.outline, - overlay2: matugenColors.outline, - overlay1: matugenColors.outline, - overlay0: matugenColors.outline, - surface2: matugenColors.outline, - surface1: matugenColors.surface_bright, - surface0: matugenColors.surface_bright, - base2: matugenColors.inverse_on_surface, - base: matugenColors.inverse_on_surface, - mantle: matugenColors.surface_dim, - crust: matugenColors.surface_dim, - notifications_closer: matugenColors.secondary, - notifications_background: matugenColors.surface_dim, - dashboard_btn_text: matugenColors.surface_dim, - red2: matugenColors.secondary, - peach2: matugenColors.secondary, - pink2: matugenColors.secondary, - mantle2: matugenColors.surface_dim, - surface1_2: matugenColors.inverse_on_surface, - surface0_2: matugenColors.surface_bright, - surface2_2: matugenColors.surface, - overlay1_2: matugenColors.outline, - text2: matugenColors.on_background, - lavender2: matugenColors.primary, - crust2: matugenColors.surface_dim, - maroon2: matugenColors.primary, - mauve2: matugenColors.primary, - green2: matugenColors.primary, - sky2: matugenColors.secondary, - teal2: matugenColors.secondary, - yellow2: matugenColors.secondary, - pink3: matugenColors.secondary, - red3: matugenColors.secondary, - mantle3: matugenColors.inverse_on_surface, - surface0_3: matugenColors.outline, - surface2_3: matugenColors.outline, - overlay1_3: matugenColors.outline, - lavender3: matugenColors.primary, - mauve3: matugenColors.primary, - green3: matugenColors.primary, - sky3: matugenColors.secondary, - teal3: matugenColors.secondary, - yellow3: matugenColors.secondary, - maroon3: matugenColors.primary, - crust3: matugenColors.surface_dim, - }, - vivid_1: { - rosewater: matugenColors.surface, - flamingo: matugenColors.surface, - pink: matugenColors.surface, - mauve: matugenColors.surface, - red: matugenColors.surface, - maroon: matugenColors.surface, - peach: matugenColors.surface, - yellow: matugenColors.surface, - green: matugenColors.surface, - teal: matugenColors.surface, - sky: matugenColors.surface, - sapphire: matugenColors.surface, - blue: matugenColors.surface, - lavender: matugenColors.surface, - text: matugenColors.surface, - subtext1: matugenColors.primary_container, - subtext2: matugenColors.primary_container, - overlay2: matugenColors.primary_container, - overlay1: matugenColors.primary_container, - overlay0: matugenColors.primary_container, - surface2: matugenColors.surface_container_high, - surface1: matugenColors.surface_container_high, - surface0: matugenColors.surface_container_high, - base2: matugenColors.primary, - base: matugenColors.primary, - mantle: matugenColors.surface_container_low, - crust: matugenColors.surface_container_lowest, - red2: matugenColors.primary_container, - peach2: matugenColors.primary_container, - pink2: matugenColors.primary_container, - mantle2: matugenColors.primary, - surface1_2: matugenColors.primary, - surface0_2: matugenColors.primary, - overlay1_2: matugenColors.surface_container_high, - text2: matugenColors.outline, - lavender2: matugenColors.primary_container, - crust2: matugenColors.primary, - maroon2: matugenColors.primary_container, - mauve2: matugenColors.primary_container, - surface2_2: matugenColors.primary_container, - green2: matugenColors.primary_container, - sky2: matugenColors.primary_container, - teal2: matugenColors.primary_container, - yellow2: matugenColors.primary_container, - pink3: matugenColors.primary_fixed, - red3: matugenColors.secondary, - mantle3: matugenColors.primary, - surface0_3: matugenColors.primary, - surface2_3: matugenColors.outline, - overlay1_3: matugenColors.primary, - lavender3: matugenColors.primary, - mauve3: matugenColors.primary, - green3: matugenColors.primary_fixed, - sky3: matugenColors.primary, - teal3: matugenColors.primary, - yellow3: matugenColors.primary_fixed, - maroon3: matugenColors.primary_fixed, - crust3: matugenColors.primary, - }, - vivid_2: { - rosewater: matugenColors.surface, - flamingo: matugenColors.surface, - pink: matugenColors.surface, - mauve: matugenColors.surface, - red: matugenColors.surface, - maroon: matugenColors.surface, - peach: matugenColors.surface, - yellow: matugenColors.surface, - green: matugenColors.surface, - teal: matugenColors.surface, - sky: matugenColors.surface, - sapphire: matugenColors.surface, - blue: matugenColors.surface, - lavender: matugenColors.surface, - text: matugenColors.surface, - subtext1: matugenColors.secondary_container, - subtext2: matugenColors.secondary_container, - overlay2: matugenColors.secondary_container, - overlay1: matugenColors.secondary_container, - overlay0: matugenColors.secondary_container, - surface2: matugenColors.surface_container_high, - surface1: matugenColors.surface_container_high, - surface0: matugenColors.surface_container_high, - base2: matugenColors.secondary, - base: matugenColors.secondary, - mantle: matugenColors.surface_container_low, - crust: matugenColors.surface_container_lowest, - red2: matugenColors.secondary_container, - peach2: matugenColors.secondary_container, - pink2: matugenColors.secondary_container, - surface2_2: matugenColors.primary_container, - mantle2: matugenColors.secondary, - surface1_2: matugenColors.secondary, - surface0_2: matugenColors.secondary, - overlay1_2: matugenColors.surface_container_high, - text2: matugenColors.outline, - lavender2: matugenColors.secondary_container, - crust2: matugenColors.secondary, - maroon2: matugenColors.secondary_container, - mauve2: matugenColors.secondary_container, - green2: matugenColors.secondary_container, - sky2: matugenColors.secondary_container, - teal2: matugenColors.secondary_container, - yellow2: matugenColors.secondary_container, - pink3: matugenColors.secondary_fixed, - red3: matugenColors.secondary, - mantle3: matugenColors.secondary, - surface0_3: matugenColors.secondary, - surface2_3: matugenColors.outline, - overlay1_3: matugenColors.secondary, - lavender3: matugenColors.secondary, - mauve3: matugenColors.secondary, - green3: matugenColors.secondary_fixed, - sky3: matugenColors.secondary, - teal3: matugenColors.secondary, - yellow3: matugenColors.secondary_fixed, - maroon3: matugenColors.secondary_fixed, - crust3: matugenColors.secondary, - }, - vivid_3: { - rosewater: matugenColors.surface, - flamingo: matugenColors.surface, - pink: matugenColors.surface, - mauve: matugenColors.surface, - red: matugenColors.surface, - maroon: matugenColors.surface, - peach: matugenColors.surface, - yellow: matugenColors.surface, - green: matugenColors.surface, - teal: matugenColors.surface, - sky: matugenColors.surface, - sapphire: matugenColors.surface, - blue: matugenColors.surface, - lavender: matugenColors.surface, - text: matugenColors.surface, - subtext1: matugenColors.tertiary_container, - subtext2: matugenColors.tertiary_container, - overlay2: matugenColors.tertiary_container, - overlay1: matugenColors.tertiary_container, - overlay0: matugenColors.tertiary_container, - surface2: matugenColors.surface_container_high, - surface1: matugenColors.surface_container_high, - surface0: matugenColors.surface_container_high, - base2: matugenColors.tertiary, - base: matugenColors.tertiary, - mantle: matugenColors.surface_container_low, - crust: matugenColors.surface_container_lowest, - red2: matugenColors.tertiary_container, - peach2: matugenColors.tertiary_container, - pink2: matugenColors.tertiary_container, - mantle2: matugenColors.tertiary, - surface1_2: matugenColors.tertiary, - surface0_2: matugenColors.tertiary, - overlay1_2: matugenColors.surface_container_high, - text2: matugenColors.outline, - lavender2: matugenColors.tertiary_container, - surface2_2: matugenColors.primary_container, - crust2: matugenColors.tertiary, - maroon2: matugenColors.tertiary_container, - mauve2: matugenColors.tertiary_container, - green2: matugenColors.tertiary_container, - sky2: matugenColors.tertiary_container, - teal2: matugenColors.tertiary_container, - yellow2: matugenColors.tertiary_container, - pink3: matugenColors.tertiary_fixed, - red3: matugenColors.secondary, - mantle3: matugenColors.tertiary, - surface0_3: matugenColors.tertiary, - surface2_3: matugenColors.outline, - overlay1_3: matugenColors.tertiary, - lavender3: matugenColors.tertiary, - mauve3: matugenColors.tertiary, - green3: matugenColors.tertiary_fixed, - sky3: matugenColors.tertiary, - teal3: matugenColors.tertiary, - yellow3: matugenColors.tertiary_fixed, - maroon3: matugenColors.tertiary_fixed, - crust3: matugenColors.tertiary, - }, - monochrome_1: { - rosewater: matugenColors.primary, - flamingo: matugenColors.primary, - pink: matugenColors.primary, - mauve: matugenColors.primary, - red: matugenColors.primary, - maroon: matugenColors.primary, - peach: matugenColors.primary, - yellow: matugenColors.primary, - green: matugenColors.primary, - teal: matugenColors.primary, - sky: matugenColors.primary, - sapphire: matugenColors.primary, - blue: matugenColors.primary, - lavender: matugenColors.primary, - text: matugenColors.on_background, - subtext1: matugenColors.outline, - subtext2: matugenColors.outline, - overlay2: matugenColors.outline, - overlay1: matugenColors.outline, - overlay0: matugenColors.outline, - surface2: matugenColors.outline, - surface1: matugenColors.surface_bright, - surface0: matugenColors.surface_bright, - base2: matugenColors.inverse_on_surface, - base: matugenColors.inverse_on_surface, - mantle: matugenColors.surface_dim, - crust: matugenColors.surface_dim, - notifications_closer: matugenColors.primary, - notifications_background: matugenColors.surface_dim, - dashboard_btn_text: matugenColors.surface_dim, - red2: matugenColors.primary, - peach2: matugenColors.primary, - pink2: matugenColors.primary, - mantle2: matugenColors.surface_dim, - surface1_2: matugenColors.inverse_on_surface, - surface0_2: matugenColors.surface_bright, - surface2_2: matugenColors.surface, - overlay1_2: matugenColors.outline, - text2: matugenColors.on_background, - lavender2: matugenColors.primary, - crust2: matugenColors.surface_dim, - maroon2: matugenColors.primary, - mauve2: matugenColors.primary, - green2: matugenColors.primary, - sky2: matugenColors.primary, - teal2: matugenColors.primary, - yellow2: matugenColors.primary, - pink3: matugenColors.primary, - red3: matugenColors.secondary, - mantle3: matugenColors.inverse_on_surface, - surface0_3: matugenColors.outline, - surface2_3: matugenColors.outline, - overlay1_3: matugenColors.outline, - lavender3: matugenColors.primary, - mauve3: matugenColors.primary, - green3: matugenColors.primary, - sky3: matugenColors.primary, - teal3: matugenColors.primary, - yellow3: matugenColors.primary, - maroon3: matugenColors.primary, - crust3: matugenColors.surface_dim, - }, - monochrome_2: { - rosewater: matugenColors.secondary, - flamingo: matugenColors.secondary, - pink: matugenColors.secondary, - mauve: matugenColors.secondary, - red: matugenColors.secondary, - maroon: matugenColors.secondary, - peach: matugenColors.secondary, - yellow: matugenColors.secondary, - green: matugenColors.secondary, - teal: matugenColors.secondary, - sky: matugenColors.secondary, - sapphire: matugenColors.secondary, - blue: matugenColors.secondary, - lavender: matugenColors.secondary, - text: matugenColors.on_background, - subtext1: matugenColors.outline, - subtext2: matugenColors.outline, - overlay2: matugenColors.outline, - overlay1: matugenColors.outline, - overlay0: matugenColors.outline, - surface2: matugenColors.outline, - surface1: matugenColors.surface_bright, - surface0: matugenColors.surface_bright, - base2: matugenColors.inverse_on_surface, - base: matugenColors.inverse_on_surface, - mantle: matugenColors.surface_dim, - crust: matugenColors.surface_dim, - notifications_closer: matugenColors.secondary, - notifications_background: matugenColors.surface_dim, - dashboard_btn_text: matugenColors.surface_dim, - red2: matugenColors.secondary, - peach2: matugenColors.secondary, - pink2: matugenColors.secondary, - mantle2: matugenColors.surface_dim, - surface1_2: matugenColors.inverse_on_surface, - surface0_2: matugenColors.surface_bright, - overlay1_2: matugenColors.outline, - surface2_2: matugenColors.surface, - text2: matugenColors.on_background, - lavender2: matugenColors.secondary, - crust2: matugenColors.surface_dim, - maroon2: matugenColors.secondary, - mauve2: matugenColors.secondary, - green2: matugenColors.secondary, - sky2: matugenColors.secondary, - teal2: matugenColors.secondary, - yellow2: matugenColors.secondary, - pink3: matugenColors.secondary, - red3: matugenColors.secondary, - mantle3: matugenColors.inverse_on_surface, - surface0_3: matugenColors.outline, - surface2_3: matugenColors.outline, - overlay1_3: matugenColors.outline, - lavender3: matugenColors.secondary, - mauve3: matugenColors.secondary, - green3: matugenColors.secondary, - sky3: matugenColors.secondary, - teal3: matugenColors.secondary, - yellow3: matugenColors.secondary, - maroon3: matugenColors.secondary, - crust3: matugenColors.surface_dim, - }, - monochrome_3: { - rosewater: matugenColors.tertiary, - flamingo: matugenColors.tertiary, - pink: matugenColors.tertiary, - mauve: matugenColors.tertiary, - red: matugenColors.tertiary, - maroon: matugenColors.tertiary, - peach: matugenColors.tertiary, - yellow: matugenColors.tertiary, - green: matugenColors.tertiary, - teal: matugenColors.tertiary, - sky: matugenColors.tertiary, - sapphire: matugenColors.tertiary, - blue: matugenColors.tertiary, - lavender: matugenColors.tertiary, - text: matugenColors.on_background, - subtext1: matugenColors.outline, - subtext2: matugenColors.outline, - overlay2: matugenColors.outline, - overlay1: matugenColors.outline, - overlay0: matugenColors.outline, - surface2: matugenColors.outline, - surface1: matugenColors.surface_bright, - surface0: matugenColors.surface_bright, - base2: matugenColors.inverse_on_surface, - base: matugenColors.inverse_on_surface, - mantle: matugenColors.surface_dim, - crust: matugenColors.surface_dim, - notifications_closer: matugenColors.tertiary, - notifications_background: matugenColors.surface_dim, - dashboard_btn_text: matugenColors.surface_dim, - red2: matugenColors.tertiary, - peach2: matugenColors.tertiary, - pink2: matugenColors.tertiary, - mantle2: matugenColors.surface_dim, - surface1_2: matugenColors.inverse_on_surface, - surface0_2: matugenColors.surface_bright, - overlay1_2: matugenColors.outline, - text2: matugenColors.on_background, - lavender2: matugenColors.tertiary, - crust2: matugenColors.surface_dim, - maroon2: matugenColors.tertiary, - surface2_2: matugenColors.surface, - mauve2: matugenColors.tertiary, - green2: matugenColors.tertiary, - sky2: matugenColors.tertiary, - teal2: matugenColors.tertiary, - yellow2: matugenColors.tertiary, - pink3: matugenColors.tertiary, - red3: matugenColors.secondary, - mantle3: matugenColors.inverse_on_surface, - surface0_3: matugenColors.outline, - surface2_3: matugenColors.outline, - overlay1_3: matugenColors.outline, - lavender3: matugenColors.tertiary, - mauve3: matugenColors.tertiary, - green3: matugenColors.tertiary, - sky3: matugenColors.tertiary, - teal3: matugenColors.tertiary, - yellow3: matugenColors.tertiary, - maroon3: matugenColors.tertiary, - crust3: matugenColors.surface_dim, - }, - }; - return matVtns[variation]; -}; diff --git a/ags/HyprPanel/services/screen_record.sh b/ags/HyprPanel/services/screen_record.sh deleted file mode 100755 index d3aff6d..0000000 --- a/ags/HyprPanel/services/screen_record.sh +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/env bash - -outputDir="$HOME/Videos/Screencasts" - -checkRecording() { - if pgrep -f "gpu-screen-recorder" >/dev/null; then - return 0 - else - return 1 - fi -} - -startRecording() { - if checkRecording; then - echo "A recording is already in progress." - exit 1 - fi - - target="$2" - - outputFile="recording_$(date +%Y-%m-%d_%H-%M-%S).mp4" - outputPath="$outputDir/$outputFile" - mkdir -p "$outputDir" - - if [ -z "$target" ]; then - echo "Usage: $0 start screen [screen_name]" - exit 1 - fi - - GPU_TYPE=$(lspci | grep -E 'VGA|3D' | grep -Ev '00:02.0|Integrated' > /dev/null && echo "" || echo "-encoder cpu") - - gpu-screen-recorder -w "$target" -f 60 -a "$(pactl get-default-sink).monitor" -o "$outputPath" $GPU_TYPE & - - echo "Recording started. Output will be saved to $outputPath" -} - -stopRecording() { - if ! checkRecording; then - echo "No recording is in progress." - exit 1 - fi - - pkill -f gpu-screen-recorder - recentFile=$(ls -t "$outputDir"/recording_*.mp4 | head -n 1) - notify-send "Recording stopped" "Your recording has been saved." \ - -i video-x-generic \ - -a "Screen Recorder" \ - -t 10000 \ - -u normal \ - --action="scriptAction:-xdg-open $outputDir=Directory" \ - --action="scriptAction:-xdg-open $recentFile=Play" -} - -case "$1" in -start) - startRecording "$@" - ;; -stop) - stopRecording - ;; -status) - if checkRecording; then - echo "recording" - else - echo "not recording" - fi - ;; -*) - echo "Usage: $0 {start [screen_name|window_id]|stop|status}" - exit 1 - ;; -esac diff --git a/ags/HyprPanel/services/snapshot.sh b/ags/HyprPanel/services/snapshot.sh deleted file mode 100755 index 0aa0697..0000000 --- a/ags/HyprPanel/services/snapshot.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash - -outputDir="$HOME/Pictures/Screenshots/" -outputFile="snapshot_$(date +%Y-%m-%d_%H-%M-%S).png" -outputPath="$outputDir/$outputFile" -mkdir -p "$outputDir" - -mode=${1:-area} - -case "$mode" in -active) - command="grimblast copysave active $outputPath" - ;; -output) - command="grimblast copysave output $outputPath" - ;; -area) - command="grimblast copysave area $outputPath" - ;; -*) - echo "Invalid option: $mode" - echo "Usage: $0 {active|output|area}" - exit 1 - ;; -esac - -if eval "$command"; then - recentFile=$(find "$outputDir" -name 'snapshot_*.png' -printf '%T+ %p\n' | sort -r | head -n 1 | cut -d' ' -f2-) - notify-send "Grimblast" "Your snapshot has been saved." \ - -i video-x-generic \ - -a "Grimblast" \ - -t 7000 \ - -u normal \ - --action="scriptAction:-xdg-open $outputDir=Directory" \ - --action="scriptAction:-xdg-open $recentFile=View" -fi diff --git a/ags/HyprPanel/themes/catppuccin_frappe.json b/ags/HyprPanel/themes/catppuccin_frappe.json deleted file mode 100644 index a59a4a0..0000000 --- a/ags/HyprPanel/themes/catppuccin_frappe.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.background": "#232634", - "theme.bar.background": "#232634", - "theme.bar.buttons.media.icon": "#babbf1", - "theme.bar.buttons.media.text": "#babbf1", - "theme.bar.buttons.icon": "#babbf1", - "theme.bar.buttons.text": "#babbf1", - "theme.bar.buttons.hover": "#51576d", - "theme.bar.buttons.background": "#303446", - "theme.bar.menus.text": "#c6d0f5", - "theme.bar.menus.border.color": "#414559", - "theme.bar.buttons.media.background": "#303446", - "theme.bar.menus.menu.volume.text": "#c6d0f5", - "theme.bar.menus.menu.volume.card.color": "#292c3c", - "theme.bar.menus.menu.volume.label.color": "#ea999c", - "theme.bar.menus.popover.text": "#babbf1", - "theme.bar.menus.popover.background": "#232634", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#e78284", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#e78284", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#a6d189", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#232634", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#c6d0f5", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#babbf1", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#414559", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#232634", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#292c3c", - "theme.bar.menus.menu.notifications.switch.puck": "#51576d", - "theme.bar.menus.menu.notifications.switch.disabled": "#414559", - "theme.bar.menus.menu.notifications.switch.enabled": "#babbf1", - "theme.bar.menus.menu.notifications.clear": "#e78284", - "theme.bar.menus.menu.notifications.switch_divider": "#51576d", - "theme.bar.menus.menu.notifications.border": "#414559", - "theme.bar.menus.menu.notifications.card": "#292c3c", - "theme.bar.menus.menu.notifications.background": "#232634", - "theme.bar.menus.menu.notifications.no_notifications_label": "#414559", - "theme.bar.menus.menu.notifications.label": "#babbf1", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#f4b8e4", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#f4b8e4", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#f4b8e4", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#a6d189", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#a6d189", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#a6d189", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#e5c890", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#e5c890", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#e5c890", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#ea999c", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#ea999c", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#ea999c", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#51576d", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#babbf1", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#ca9ee6", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#81c8be", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#ea999c", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#e5c890", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#f4b8e4", - "theme.bar.menus.menu.dashboard.controls.input.text": "#232634", - "theme.bar.menus.menu.dashboard.controls.input.background": "#f4b8e4", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#232634", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#ea999c", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#232634", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#e5c890", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#232634", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#99d1db", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#232634", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#ca9ee6", - "theme.bar.menus.menu.dashboard.controls.disabled": "#626880", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#a6d189", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#232634", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#babbf1", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#99d1db", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#a6d189", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#ef9f76", - "theme.bar.menus.menu.dashboard.profile.name": "#f4b8e4", - "theme.bar.menus.menu.dashboard.border.color": "#414559", - "theme.bar.menus.menu.dashboard.background.color": "#232634", - "theme.bar.menus.menu.dashboard.card.color": "#292c3c", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#f4b8e4", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#f4b8e4", - "theme.bar.menus.menu.clock.weather.hourly.time": "#f4b8e4", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#99d1db", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#8caaee", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#babbf1", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#ef9f76", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#e78284", - "theme.bar.menus.menu.clock.weather.stats": "#f4b8e4", - "theme.bar.menus.menu.clock.weather.status": "#81c8be", - "theme.bar.menus.menu.clock.weather.temperature": "#c6d0f5", - "theme.bar.menus.menu.clock.weather.icon": "#f4b8e4", - "theme.bar.menus.menu.clock.calendar.contextdays": "#626880", - "theme.bar.menus.menu.clock.calendar.days": "#c6d0f5", - "theme.bar.menus.menu.clock.calendar.currentday": "#f4b8e4", - "theme.bar.menus.menu.clock.calendar.paginator": "#f4b8e4", - "theme.bar.menus.menu.clock.calendar.weekdays": "#f4b8e4", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#81c8be", - "theme.bar.menus.menu.clock.time.timeperiod": "#81c8be", - "theme.bar.menus.menu.clock.time.time": "#f4b8e4", - "theme.bar.menus.menu.clock.text": "#c6d0f5", - "theme.bar.menus.menu.clock.border.color": "#414559", - "theme.bar.menus.menu.clock.background.color": "#232634", - "theme.bar.menus.menu.clock.card.color": "#292c3c", - "theme.bar.menus.menu.battery.slider.puck": "#737994", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#51576d", - "theme.bar.menus.menu.battery.slider.background": "#626880", - "theme.bar.menus.menu.battery.slider.primary": "#e5c890", - "theme.bar.menus.menu.battery.icons.active": "#e5c890", - "theme.bar.menus.menu.battery.icons.passive": "#949cbb", - "theme.bar.menus.menu.battery.listitems.active": "#e5c890", - "theme.bar.menus.menu.battery.listitems.passive": "#c6d0f5", - "theme.bar.menus.menu.battery.text": "#c6d0f5", - "theme.bar.menus.menu.battery.label.color": "#e5c890", - "theme.bar.menus.menu.battery.border.color": "#414559", - "theme.bar.menus.menu.battery.background.color": "#232634", - "theme.bar.menus.menu.battery.card.color": "#292c3c", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#292c3c", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#c6d0f5", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#232634", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#99d1db", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#c6d0f5", - "theme.bar.menus.menu.bluetooth.icons.active": "#99d1db", - "theme.bar.menus.menu.bluetooth.icons.passive": "#949cbb", - "theme.bar.menus.menu.bluetooth.listitems.active": "#99d1db", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#c6d0f5", - "theme.bar.menus.menu.bluetooth.switch.puck": "#51576d", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#414559", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#99d1db", - "theme.bar.menus.menu.bluetooth.switch_divider": "#51576d", - "theme.bar.menus.menu.bluetooth.status": "#737994", - "theme.bar.menus.menu.bluetooth.text": "#c6d0f5", - "theme.bar.menus.menu.bluetooth.label.color": "#99d1db", - "theme.bar.menus.menu.bluetooth.border.color": "#414559", - "theme.bar.menus.menu.bluetooth.background.color": "#232634", - "theme.bar.menus.menu.bluetooth.card.color": "#292c3c", - "theme.bar.menus.menu.network.iconbuttons.active": "#ca9ee6", - "theme.bar.menus.menu.network.iconbuttons.passive": "#c6d0f5", - "theme.bar.menus.menu.network.icons.active": "#ca9ee6", - "theme.bar.menus.menu.network.icons.passive": "#949cbb", - "theme.bar.menus.menu.network.listitems.active": "#ca9ee6", - "theme.bar.menus.menu.network.listitems.passive": "#c6d0f5", - "theme.bar.menus.menu.network.status.color": "#737994", - "theme.bar.menus.menu.network.text": "#c6d0f5", - "theme.bar.menus.menu.network.label.color": "#ca9ee6", - "theme.bar.menus.menu.network.border.color": "#414559", - "theme.bar.menus.menu.network.background.color": "#232634", - "theme.bar.menus.menu.network.card.color": "#292c3c", - "theme.bar.menus.menu.volume.input_slider.puck": "#626880", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#51576d", - "theme.bar.menus.menu.volume.input_slider.background": "#626880", - "theme.bar.menus.menu.volume.input_slider.primary": "#ea999c", - "theme.bar.menus.menu.volume.audio_slider.puck": "#626880", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#51576d", - "theme.bar.menus.menu.volume.audio_slider.background": "#626880", - "theme.bar.menus.menu.volume.audio_slider.primary": "#ea999c", - "theme.bar.menus.menu.volume.icons.active": "#ea999c", - "theme.bar.menus.menu.volume.icons.passive": "#949cbb", - "theme.bar.menus.menu.volume.iconbutton.active": "#ea999c", - "theme.bar.menus.menu.volume.iconbutton.passive": "#c6d0f5", - "theme.bar.menus.menu.volume.listitems.active": "#ea999c", - "theme.bar.menus.menu.volume.listitems.passive": "#c6d0f5", - "theme.bar.menus.menu.volume.border.color": "#414559", - "theme.bar.menus.menu.volume.background.color": "#232634", - "theme.bar.menus.menu.media.slider.puck": "#737994", - "theme.bar.menus.menu.media.slider.backgroundhover": "#51576d", - "theme.bar.menus.menu.media.slider.background": "#626880", - "theme.bar.menus.menu.media.slider.primary": "#f4b8e4", - "theme.bar.menus.menu.media.buttons.text": "#232634", - "theme.bar.menus.menu.media.buttons.background": "#babbf1", - "theme.bar.menus.menu.media.buttons.enabled": "#81c8be", - "theme.bar.menus.menu.media.buttons.inactive": "#626880", - "theme.bar.menus.menu.media.border.color": "#414559", - "theme.bar.menus.menu.media.background.color": "#232634", - "theme.bar.menus.menu.media.album": "#f4b8e4", - "theme.bar.menus.menu.media.artist": "#81c8be", - "theme.bar.menus.menu.media.song": "#babbf1", - "theme.bar.menus.tooltip.text": "#c6d0f5", - "theme.bar.menus.tooltip.background": "#232634", - "theme.bar.menus.dropdownmenu.divider": "#292c3c", - "theme.bar.menus.dropdownmenu.text": "#c6d0f5", - "theme.bar.menus.dropdownmenu.background": "#232634", - "theme.bar.menus.slider.puck": "#737994", - "theme.bar.menus.slider.backgroundhover": "#51576d", - "theme.bar.menus.slider.background": "#626880", - "theme.bar.menus.slider.primary": "#babbf1", - "theme.bar.menus.progressbar.background": "#51576d", - "theme.bar.menus.progressbar.foreground": "#babbf1", - "theme.bar.menus.iconbuttons.active": "#babbf1", - "theme.bar.menus.iconbuttons.passive": "#c6d0f5", - "theme.bar.menus.buttons.text": "#232634", - "theme.bar.menus.buttons.disabled": "#626880", - "theme.bar.menus.buttons.active": "#f4b8e4", - "theme.bar.menus.buttons.default": "#babbf1", - "theme.bar.menus.switch.puck": "#51576d", - "theme.bar.menus.switch.disabled": "#414559", - "theme.bar.menus.switch.enabled": "#babbf1", - "theme.bar.menus.icons.active": "#babbf1", - "theme.bar.menus.icons.passive": "#626880", - "theme.bar.menus.listitems.active": "#babbf1", - "theme.bar.menus.listitems.passive": "#c6d0f5", - "theme.bar.menus.label": "#babbf1", - "theme.bar.menus.feinttext": "#414559", - "theme.bar.menus.dimtext": "#626880", - "theme.bar.menus.cards": "#292c3c", - "theme.bar.buttons.notifications.total": "#babbf1", - "theme.bar.buttons.notifications.icon": "#babbf1", - "theme.bar.buttons.notifications.background": "#303446", - "theme.bar.buttons.clock.icon": "#f4b8e4", - "theme.bar.buttons.clock.text": "#f4b8e4", - "theme.bar.buttons.clock.background": "#303446", - "theme.bar.buttons.battery.icon": "#e5c890", - "theme.bar.buttons.battery.text": "#e5c890", - "theme.bar.buttons.battery.background": "#303446", - "theme.bar.buttons.systray.background": "#303446", - "theme.bar.buttons.bluetooth.icon": "#99d1db", - "theme.bar.buttons.bluetooth.text": "#99d1db", - "theme.bar.buttons.bluetooth.background": "#303446", - "theme.bar.buttons.network.icon": "#ca9ee6", - "theme.bar.buttons.network.text": "#ca9ee6", - "theme.bar.buttons.network.background": "#303446", - "theme.bar.buttons.volume.icon": "#ea999c", - "theme.bar.buttons.volume.text": "#ea999c", - "theme.bar.buttons.volume.background": "#303446", - "theme.bar.buttons.windowtitle.icon": "#f4b8e4", - "theme.bar.buttons.windowtitle.text": "#f4b8e4", - "theme.bar.buttons.windowtitle.background": "#303446", - "theme.bar.buttons.workspaces.active": "#f4b8e4", - "theme.bar.buttons.workspaces.occupied": "#eebebe", - "theme.bar.buttons.workspaces.available": "#99d1db", - "theme.bar.buttons.workspaces.hover": "#51576d", - "theme.bar.buttons.workspaces.background": "#303446", - "theme.bar.buttons.dashboard.icon": "#e5c890", - "theme.bar.buttons.dashboard.background": "#303446", - "theme.osd.label": "#babbf1", - "theme.osd.icon": "#232634", - "theme.osd.bar_overflow_color": "#e78284", - "theme.osd.bar_empty_color": "#414559", - "theme.osd.bar_color": "#babbf1", - "theme.osd.icon_container": "#babbf1", - "theme.osd.bar_container": "#232634", - "theme.notification.close_button.label": "#232634", - "theme.notification.close_button.background": "#e78284", - "theme.notification.labelicon": "#babbf1", - "theme.notification.text": "#c6d0f5", - "theme.notification.time": "#838ba7", - "theme.notification.border": "#414559", - "theme.notification.label": "#babbf1", - "theme.notification.actions.text": "#232634", - "theme.notification.actions.background": "#babbf1", - "theme.notification.background": "#232634", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#181825", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#c678dd", - "theme.bar.menus.menu.media.card.color": "#292c3c", - "theme.bar.menus.check_radio_button.background": "#232534", - "theme.bar.menus.check_radio_button.active": "#b9baf1", - "theme.bar.buttons.style": "default", - "theme.bar.menus.menu.notifications.pager.button": "#babbf1", - "theme.bar.menus.menu.notifications.scrollbar.color": "#babbf1", - "theme.bar.menus.menu.notifications.pager.label": "#949cbb", - "theme.bar.menus.menu.notifications.pager.background": "#232634", - "theme.bar.buttons.clock.icon_background": "#f4b8e4", - "theme.bar.buttons.modules.ram.icon": "#e5c890", - "theme.bar.buttons.modules.storage.icon_background": "#e78284", - "theme.bar.menus.popover.border": "#232634", - "theme.bar.buttons.volume.icon_background": "#ea999c", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#99d1db", - "theme.bar.menus.menu.power.buttons.restart.text": "#ef9f76", - "theme.bar.buttons.modules.updates.background": "#303446", - "theme.bar.buttons.modules.storage.icon": "#e78284", - "theme.bar.buttons.modules.netstat.background": "#303446", - "theme.bar.buttons.modules.weather.icon": "#babbf1", - "theme.bar.buttons.modules.netstat.text": "#a6d189", - "theme.bar.buttons.modules.storage.background": "#303446", - "theme.bar.buttons.modules.power.icon": "#e78284", - "theme.bar.buttons.modules.storage.text": "#e78284", - "theme.bar.buttons.modules.cpu.background": "#303446", - "theme.bar.menus.menu.power.border.color": "#414559", - "theme.bar.buttons.network.icon_background": "#caa6f7", - "theme.bar.buttons.modules.power.icon_background": "#e78284", - "theme.bar.menus.menu.power.buttons.logout.icon": "#232634", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#ef9f76", - "theme.bar.menus.menu.power.buttons.restart.icon": "#232634", - "theme.bar.buttons.modules.cpu.icon": "#e78284", - "theme.bar.buttons.battery.icon_background": "#e5c890", - "theme.bar.buttons.modules.kbLayout.icon_background": "#99d1db", - "theme.bar.buttons.modules.weather.text": "#babbf1", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#232634", - "theme.bar.menus.menu.power.buttons.sleep.text": "#99d1db", - "theme.bar.buttons.modules.weather.icon_background": "#babbf1", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#292c3c", - "theme.bar.buttons.media.icon_background": "#babbf1", - "theme.bar.menus.menu.power.buttons.logout.background": "#292c3c", - "theme.bar.buttons.modules.kbLayout.icon": "#99d1db", - "theme.bar.buttons.modules.ram.icon_background": "#e5c890", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#e78284", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#e78284", - "theme.bar.menus.menu.power.buttons.sleep.background": "#292c3c", - "theme.bar.buttons.modules.ram.text": "#e5c890", - "theme.bar.menus.menu.power.buttons.logout.text": "#a6d189", - "theme.bar.buttons.modules.updates.icon_background": "#ca9ee6", - "theme.bar.buttons.modules.kbLayout.background": "#303446", - "theme.bar.buttons.modules.power.background": "#303446", - "theme.bar.buttons.modules.weather.background": "#303446", - "theme.bar.buttons.icon_background": "#303446", - "theme.bar.menus.menu.power.background.color": "#232634", - "theme.bar.buttons.modules.ram.background": "#303446", - "theme.bar.buttons.modules.netstat.icon": "#a6d189", - "theme.bar.buttons.windowtitle.icon_background": "#f4b8e4", - "theme.bar.buttons.modules.cpu.icon_background": "#e78284", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#a6d189", - "theme.bar.buttons.modules.updates.text": "#ca9ee6", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#232634", - "theme.bar.buttons.bluetooth.icon_background": "#89dbeb", - "theme.bar.menus.menu.power.buttons.restart.background": "#292c3c", - "theme.bar.buttons.modules.updates.icon": "#ca9ee6", - "theme.bar.buttons.modules.cpu.text": "#e78284", - "theme.bar.buttons.modules.netstat.icon_background": "#a6d189", - "theme.bar.buttons.modules.kbLayout.text": "#99d1db", - "theme.bar.buttons.notifications.icon_background": "#babbf1", - "theme.bar.buttons.modules.power.border": "#e78284", - "theme.bar.buttons.modules.weather.border": "#babbf1", - "theme.bar.buttons.modules.updates.border": "#ca9ee6", - "theme.bar.buttons.modules.kbLayout.border": "#99d1db", - "theme.bar.buttons.modules.netstat.border": "#a6d189", - "theme.bar.buttons.modules.storage.border": "#e78284", - "theme.bar.buttons.modules.cpu.border": "#e78284", - "theme.bar.buttons.modules.ram.border": "#e5c890", - "theme.bar.buttons.notifications.border": "#babbf1", - "theme.bar.buttons.clock.border": "#f4b8e4", - "theme.bar.buttons.battery.border": "#e5c890", - "theme.bar.buttons.systray.border": "#51576d", - "theme.bar.buttons.bluetooth.border": "#99d1db", - "theme.bar.buttons.network.border": "#ca9ee6", - "theme.bar.buttons.volume.border": "#ea999c", - "theme.bar.buttons.media.border": "#babbf1", - "theme.bar.buttons.windowtitle.border": "#f4b8e4", - "theme.bar.buttons.workspaces.border": "#232634", - "theme.bar.buttons.dashboard.border": "#e5c890", - "theme.bar.buttons.modules.submap.background": "#303446", - "theme.bar.buttons.modules.submap.text": "#81c8be", - "theme.bar.buttons.modules.submap.border": "#81c8be", - "theme.bar.buttons.modules.submap.icon": "#81c8be", - "theme.bar.buttons.modules.submap.icon_background": "#303446" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/catppuccin_frappe_split.json b/ags/HyprPanel/themes/catppuccin_frappe_split.json deleted file mode 100644 index 2eefc00..0000000 --- a/ags/HyprPanel/themes/catppuccin_frappe_split.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.background": "#232634", - "theme.bar.background": "#232634", - "theme.bar.buttons.media.icon": "#303446", - "theme.bar.buttons.media.text": "#babbf1", - "theme.bar.buttons.icon": "#babbf1", - "theme.bar.buttons.text": "#babbf1", - "theme.bar.buttons.hover": "#51576d", - "theme.bar.buttons.background": "#303446", - "theme.bar.menus.text": "#c6d0f5", - "theme.bar.menus.border.color": "#414559", - "theme.bar.buttons.media.background": "#303446", - "theme.bar.menus.menu.volume.text": "#c6d0f5", - "theme.bar.menus.menu.volume.card.color": "#292c3c", - "theme.bar.menus.menu.volume.label.color": "#ea999c", - "theme.bar.menus.popover.text": "#babbf1", - "theme.bar.menus.popover.background": "#232634", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#e78284", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#e78284", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#a6d189", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#232634", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#c6d0f5", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#babbf1", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#414559", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#232634", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#292c3c", - "theme.bar.menus.menu.notifications.switch.puck": "#51576d", - "theme.bar.menus.menu.notifications.switch.disabled": "#414559", - "theme.bar.menus.menu.notifications.switch.enabled": "#babbf1", - "theme.bar.menus.menu.notifications.clear": "#e78284", - "theme.bar.menus.menu.notifications.switch_divider": "#51576d", - "theme.bar.menus.menu.notifications.border": "#414559", - "theme.bar.menus.menu.notifications.card": "#292c3c", - "theme.bar.menus.menu.notifications.background": "#232634", - "theme.bar.menus.menu.notifications.no_notifications_label": "#414559", - "theme.bar.menus.menu.notifications.label": "#babbf1", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#f4b8e4", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#f4b8e4", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#f4b8e4", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#a6d189", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#a6d189", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#a6d189", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#e5c890", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#e5c890", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#e5c890", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#ea999c", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#ea999c", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#ea999c", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#51576d", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#babbf1", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#ca9ee6", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#81c8be", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#ea999c", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#e5c890", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#f4b8e4", - "theme.bar.menus.menu.dashboard.controls.input.text": "#232634", - "theme.bar.menus.menu.dashboard.controls.input.background": "#f4b8e4", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#232634", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#ea999c", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#232634", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#e5c890", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#232634", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#99d1db", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#232634", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#ca9ee6", - "theme.bar.menus.menu.dashboard.controls.disabled": "#626880", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#a6d189", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#232634", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#babbf1", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#99d1db", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#a6d189", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#ef9f76", - "theme.bar.menus.menu.dashboard.profile.name": "#f4b8e4", - "theme.bar.menus.menu.dashboard.border.color": "#414559", - "theme.bar.menus.menu.dashboard.background.color": "#232634", - "theme.bar.menus.menu.dashboard.card.color": "#292c3c", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#f4b8e4", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#f4b8e4", - "theme.bar.menus.menu.clock.weather.hourly.time": "#f4b8e4", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#99d1db", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#8caaee", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#babbf1", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#ef9f76", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#e78284", - "theme.bar.menus.menu.clock.weather.stats": "#f4b8e4", - "theme.bar.menus.menu.clock.weather.status": "#81c8be", - "theme.bar.menus.menu.clock.weather.temperature": "#c6d0f5", - "theme.bar.menus.menu.clock.weather.icon": "#f4b8e4", - "theme.bar.menus.menu.clock.calendar.contextdays": "#626880", - "theme.bar.menus.menu.clock.calendar.days": "#c6d0f5", - "theme.bar.menus.menu.clock.calendar.currentday": "#f4b8e4", - "theme.bar.menus.menu.clock.calendar.paginator": "#f4b8e4", - "theme.bar.menus.menu.clock.calendar.weekdays": "#f4b8e4", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#81c8be", - "theme.bar.menus.menu.clock.time.timeperiod": "#81c8be", - "theme.bar.menus.menu.clock.time.time": "#f4b8e4", - "theme.bar.menus.menu.clock.text": "#c6d0f5", - "theme.bar.menus.menu.clock.border.color": "#414559", - "theme.bar.menus.menu.clock.background.color": "#232634", - "theme.bar.menus.menu.clock.card.color": "#292c3c", - "theme.bar.menus.menu.battery.slider.puck": "#737994", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#51576d", - "theme.bar.menus.menu.battery.slider.background": "#626880", - "theme.bar.menus.menu.battery.slider.primary": "#e5c890", - "theme.bar.menus.menu.battery.icons.active": "#e5c890", - "theme.bar.menus.menu.battery.icons.passive": "#949cbb", - "theme.bar.menus.menu.battery.listitems.active": "#e5c890", - "theme.bar.menus.menu.battery.listitems.passive": "#c6d0f5", - "theme.bar.menus.menu.battery.text": "#c6d0f5", - "theme.bar.menus.menu.battery.label.color": "#e5c890", - "theme.bar.menus.menu.battery.border.color": "#414559", - "theme.bar.menus.menu.battery.background.color": "#232634", - "theme.bar.menus.menu.battery.card.color": "#292c3c", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#292c3c", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#c6d0f5", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#232634", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#99d1db", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#c6d0f5", - "theme.bar.menus.menu.bluetooth.icons.active": "#99d1db", - "theme.bar.menus.menu.bluetooth.icons.passive": "#949cbb", - "theme.bar.menus.menu.bluetooth.listitems.active": "#99d1db", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#c6d0f5", - "theme.bar.menus.menu.bluetooth.switch.puck": "#51576d", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#414559", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#99d1db", - "theme.bar.menus.menu.bluetooth.switch_divider": "#51576d", - "theme.bar.menus.menu.bluetooth.status": "#737994", - "theme.bar.menus.menu.bluetooth.text": "#c6d0f5", - "theme.bar.menus.menu.bluetooth.label.color": "#99d1db", - "theme.bar.menus.menu.bluetooth.border.color": "#414559", - "theme.bar.menus.menu.bluetooth.background.color": "#232634", - "theme.bar.menus.menu.bluetooth.card.color": "#292c3c", - "theme.bar.menus.menu.network.iconbuttons.active": "#ca9ee6", - "theme.bar.menus.menu.network.iconbuttons.passive": "#c6d0f5", - "theme.bar.menus.menu.network.icons.active": "#ca9ee6", - "theme.bar.menus.menu.network.icons.passive": "#949cbb", - "theme.bar.menus.menu.network.listitems.active": "#ca9ee6", - "theme.bar.menus.menu.network.listitems.passive": "#c6d0f5", - "theme.bar.menus.menu.network.status.color": "#737994", - "theme.bar.menus.menu.network.text": "#c6d0f5", - "theme.bar.menus.menu.network.label.color": "#ca9ee6", - "theme.bar.menus.menu.network.border.color": "#414559", - "theme.bar.menus.menu.network.background.color": "#232634", - "theme.bar.menus.menu.network.card.color": "#292c3c", - "theme.bar.menus.menu.volume.input_slider.puck": "#626880", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#51576d", - "theme.bar.menus.menu.volume.input_slider.background": "#626880", - "theme.bar.menus.menu.volume.input_slider.primary": "#ea999c", - "theme.bar.menus.menu.volume.audio_slider.puck": "#626880", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#51576d", - "theme.bar.menus.menu.volume.audio_slider.background": "#626880", - "theme.bar.menus.menu.volume.audio_slider.primary": "#ea999c", - "theme.bar.menus.menu.volume.icons.active": "#ea999c", - "theme.bar.menus.menu.volume.icons.passive": "#949cbb", - "theme.bar.menus.menu.volume.iconbutton.active": "#ea999c", - "theme.bar.menus.menu.volume.iconbutton.passive": "#c6d0f5", - "theme.bar.menus.menu.volume.listitems.active": "#ea999c", - "theme.bar.menus.menu.volume.listitems.passive": "#c6d0f5", - "theme.bar.menus.menu.volume.border.color": "#414559", - "theme.bar.menus.menu.volume.background.color": "#232634", - "theme.bar.menus.menu.media.slider.puck": "#737994", - "theme.bar.menus.menu.media.slider.backgroundhover": "#51576d", - "theme.bar.menus.menu.media.slider.background": "#626880", - "theme.bar.menus.menu.media.slider.primary": "#f4b8e4", - "theme.bar.menus.menu.media.buttons.text": "#232634", - "theme.bar.menus.menu.media.buttons.background": "#babbf1", - "theme.bar.menus.menu.media.buttons.enabled": "#81c8be", - "theme.bar.menus.menu.media.buttons.inactive": "#626880", - "theme.bar.menus.menu.media.border.color": "#414559", - "theme.bar.menus.menu.media.background.color": "#232634", - "theme.bar.menus.menu.media.album": "#f4b8e4", - "theme.bar.menus.menu.media.artist": "#81c8be", - "theme.bar.menus.menu.media.song": "#babbf1", - "theme.bar.menus.tooltip.text": "#c6d0f5", - "theme.bar.menus.tooltip.background": "#232634", - "theme.bar.menus.dropdownmenu.divider": "#292c3c", - "theme.bar.menus.dropdownmenu.text": "#c6d0f5", - "theme.bar.menus.dropdownmenu.background": "#232634", - "theme.bar.menus.slider.puck": "#737994", - "theme.bar.menus.slider.backgroundhover": "#51576d", - "theme.bar.menus.slider.background": "#626880", - "theme.bar.menus.slider.primary": "#babbf1", - "theme.bar.menus.progressbar.background": "#51576d", - "theme.bar.menus.progressbar.foreground": "#babbf1", - "theme.bar.menus.iconbuttons.active": "#babbf1", - "theme.bar.menus.iconbuttons.passive": "#c6d0f5", - "theme.bar.menus.buttons.text": "#232634", - "theme.bar.menus.buttons.disabled": "#626880", - "theme.bar.menus.buttons.active": "#f4b8e4", - "theme.bar.menus.buttons.default": "#babbf1", - "theme.bar.menus.switch.puck": "#51576d", - "theme.bar.menus.switch.disabled": "#414559", - "theme.bar.menus.switch.enabled": "#babbf1", - "theme.bar.menus.icons.active": "#babbf1", - "theme.bar.menus.icons.passive": "#626880", - "theme.bar.menus.listitems.active": "#babbf1", - "theme.bar.menus.listitems.passive": "#c6d0f5", - "theme.bar.menus.label": "#babbf1", - "theme.bar.menus.feinttext": "#414559", - "theme.bar.menus.dimtext": "#626880", - "theme.bar.menus.cards": "#292c3c", - "theme.bar.buttons.notifications.total": "#babbf1", - "theme.bar.buttons.notifications.icon": "#303446", - "theme.bar.buttons.notifications.background": "#303446", - "theme.bar.buttons.clock.icon": "#303446", - "theme.bar.buttons.clock.text": "#f4b8e4", - "theme.bar.buttons.clock.background": "#303446", - "theme.bar.buttons.battery.icon": "#303446", - "theme.bar.buttons.battery.text": "#e5c890", - "theme.bar.buttons.battery.background": "#303446", - "theme.bar.buttons.systray.background": "#303446", - "theme.bar.buttons.bluetooth.icon": "#303446", - "theme.bar.buttons.bluetooth.text": "#99d1db", - "theme.bar.buttons.bluetooth.background": "#303446", - "theme.bar.buttons.network.icon": "#303446", - "theme.bar.buttons.network.text": "#ca9ee6", - "theme.bar.buttons.network.background": "#303446", - "theme.bar.buttons.volume.icon": "#303446", - "theme.bar.buttons.volume.text": "#ea999c", - "theme.bar.buttons.volume.background": "#303446", - "theme.bar.buttons.windowtitle.icon": "#303446", - "theme.bar.buttons.windowtitle.text": "#f4b8e4", - "theme.bar.buttons.windowtitle.background": "#303446", - "theme.bar.buttons.workspaces.active": "#f4b8e4", - "theme.bar.buttons.workspaces.occupied": "#eebebe", - "theme.bar.buttons.workspaces.available": "#99d1db", - "theme.bar.buttons.workspaces.hover": "#51576d", - "theme.bar.buttons.workspaces.background": "#303446", - "theme.bar.buttons.dashboard.icon": "#303446", - "theme.bar.buttons.dashboard.background": "#e5c890", - "theme.osd.label": "#babbf1", - "theme.osd.icon": "#232634", - "theme.osd.bar_overflow_color": "#e78284", - "theme.osd.bar_empty_color": "#414559", - "theme.osd.bar_color": "#babbf1", - "theme.osd.icon_container": "#babbf1", - "theme.osd.bar_container": "#232634", - "theme.notification.close_button.label": "#232634", - "theme.notification.close_button.background": "#e78284", - "theme.notification.labelicon": "#babbf1", - "theme.notification.text": "#c6d0f5", - "theme.notification.time": "#838ba7", - "theme.notification.border": "#414559", - "theme.notification.label": "#babbf1", - "theme.notification.actions.text": "#232634", - "theme.notification.actions.background": "#babbf1", - "theme.notification.background": "#232634", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#181825", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#f5c2e7", - "theme.bar.menus.menu.media.card.color": "#292c3c", - "theme.bar.menus.check_radio_button.background": "#232534", - "theme.bar.menus.check_radio_button.active": "#b9baf1", - "theme.bar.buttons.style": "split", - "theme.bar.buttons.icon_background": "#242438", - "theme.bar.buttons.volume.icon_background": "#ea999c", - "theme.bar.buttons.network.icon_background": "#ca9ee6", - "theme.bar.buttons.bluetooth.icon_background": "#99d1db", - "theme.bar.buttons.windowtitle.icon_background": "#f4b8e4", - "theme.bar.buttons.media.icon_background": "#babbf1", - "theme.bar.buttons.notifications.icon_background": "#b4befe", - "theme.bar.buttons.battery.icon_background": "#e5c890", - "theme.bar.buttons.clock.icon_background": "#f4b8e4", - "theme.bar.menus.menu.notifications.pager.button": "#babbf1", - "theme.bar.menus.menu.notifications.scrollbar.color": "#babbf1", - "theme.bar.menus.menu.notifications.pager.label": "#949cbb", - "theme.bar.menus.menu.notifications.pager.background": "#232634", - "theme.bar.buttons.modules.ram.icon": "#181825", - "theme.bar.buttons.modules.storage.icon_background": "#e78284", - "theme.bar.menus.popover.border": "#232634", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#99d1db", - "theme.bar.menus.menu.power.buttons.restart.text": "#ef9f76", - "theme.bar.buttons.modules.updates.background": "#303446", - "theme.bar.buttons.modules.storage.icon": "#181825", - "theme.bar.buttons.modules.netstat.background": "#303446", - "theme.bar.buttons.modules.weather.icon": "#303446", - "theme.bar.buttons.modules.netstat.text": "#a6d189", - "theme.bar.buttons.modules.storage.background": "#303446", - "theme.bar.buttons.modules.power.icon": "#181825", - "theme.bar.buttons.modules.storage.text": "#e78284", - "theme.bar.buttons.modules.cpu.background": "#303446", - "theme.bar.menus.menu.power.border.color": "#414559", - "theme.bar.buttons.modules.power.icon_background": "#e78284", - "theme.bar.menus.menu.power.buttons.logout.icon": "#232634", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#ef9f76", - "theme.bar.menus.menu.power.buttons.restart.icon": "#232634", - "theme.bar.buttons.modules.cpu.icon": "#181825", - "theme.bar.buttons.modules.kbLayout.icon_background": "#99d1db", - "theme.bar.buttons.modules.weather.text": "#babbf1", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#232634", - "theme.bar.menus.menu.power.buttons.sleep.text": "#99d1db", - "theme.bar.buttons.modules.weather.icon_background": "#babbf1", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#292c3c", - "theme.bar.menus.menu.power.buttons.logout.background": "#292c3c", - "theme.bar.buttons.modules.kbLayout.icon": "#181825", - "theme.bar.buttons.modules.ram.icon_background": "#e5c890", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#e78284", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#e78284", - "theme.bar.menus.menu.power.buttons.sleep.background": "#292c3c", - "theme.bar.buttons.modules.ram.text": "#e5c890", - "theme.bar.menus.menu.power.buttons.logout.text": "#a6d189", - "theme.bar.buttons.modules.updates.icon_background": "#ca9ee6", - "theme.bar.buttons.modules.kbLayout.background": "#303446", - "theme.bar.buttons.modules.power.background": "#303446", - "theme.bar.buttons.modules.weather.background": "#303446", - "theme.bar.menus.menu.power.background.color": "#232634", - "theme.bar.buttons.modules.ram.background": "#303446", - "theme.bar.buttons.modules.netstat.icon": "#181825", - "theme.bar.buttons.modules.cpu.icon_background": "#e78284", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#a6d189", - "theme.bar.buttons.modules.updates.text": "#ca9ee6", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#232634", - "theme.bar.menus.menu.power.buttons.restart.background": "#292c3c", - "theme.bar.buttons.modules.updates.icon": "#181825", - "theme.bar.buttons.modules.cpu.text": "#e78284", - "theme.bar.buttons.modules.netstat.icon_background": "#a6d189", - "theme.bar.buttons.modules.kbLayout.text": "#99d1db", - "theme.bar.buttons.modules.power.border": "#e78284", - "theme.bar.buttons.modules.weather.border": "#babbf1", - "theme.bar.buttons.modules.updates.border": "#ca9ee6", - "theme.bar.buttons.modules.kbLayout.border": "#99d1db", - "theme.bar.buttons.modules.netstat.border": "#a6d189", - "theme.bar.buttons.modules.storage.border": "#e78284", - "theme.bar.buttons.modules.cpu.border": "#e78284", - "theme.bar.buttons.modules.ram.border": "#e5c890", - "theme.bar.buttons.notifications.border": "#babbf1", - "theme.bar.buttons.clock.border": "#f4b8e4", - "theme.bar.buttons.battery.border": "#e5c890", - "theme.bar.buttons.systray.border": "#51576d", - "theme.bar.buttons.bluetooth.border": "#99d1db", - "theme.bar.buttons.network.border": "#ca9ee6", - "theme.bar.buttons.volume.border": "#ea999c", - "theme.bar.buttons.media.border": "#babbf1", - "theme.bar.buttons.windowtitle.border": "#f4b8e4", - "theme.bar.buttons.workspaces.border": "#232634", - "theme.bar.buttons.dashboard.border": "#e5c890", - "theme.bar.buttons.modules.submap.background": "#303446", - "theme.bar.buttons.modules.submap.text": "#81c8be", - "theme.bar.buttons.modules.submap.border": "#81c8be", - "theme.bar.buttons.modules.submap.icon": "#181825", - "theme.bar.buttons.modules.submap.icon_background": "#81c8be" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/catppuccin_latte.json b/ags/HyprPanel/themes/catppuccin_latte.json deleted file mode 100644 index 64559e2..0000000 --- a/ags/HyprPanel/themes/catppuccin_latte.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.background": "#eff1f5", - "theme.bar.background": "#eff1f5", - "theme.bar.buttons.media.icon": "#7287fd", - "theme.bar.buttons.media.text": "#7287fd", - "theme.bar.buttons.icon": "#7287fd", - "theme.bar.buttons.text": "#7287fd", - "theme.bar.buttons.hover": "#bcc0cc", - "theme.bar.buttons.background": "#e6e9ef", - "theme.bar.menus.text": "#4c4f69", - "theme.bar.menus.border.color": "#ccd0da", - "theme.bar.buttons.media.background": "#dcdfe8", - "theme.bar.menus.menu.volume.text": "#4c4f69", - "theme.bar.menus.menu.volume.card.color": "#dcdfe8", - "theme.bar.menus.menu.volume.label.color": "#e64553", - "theme.bar.menus.popover.text": "#7287fd", - "theme.bar.menus.popover.background": "#dce0e8", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#d20f39", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#d20f39", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#40a02b", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#dce0e8", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#4c4f69", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#7287fd", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#ccd0da", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#dce0e8", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#eff1f5", - "theme.bar.menus.menu.notifications.switch.puck": "#bcc0cc", - "theme.bar.menus.menu.notifications.switch.disabled": "#ccd0da", - "theme.bar.menus.menu.notifications.switch.enabled": "#7287fd", - "theme.bar.menus.menu.notifications.clear": "#d20f39", - "theme.bar.menus.menu.notifications.switch_divider": "#bcc0cc", - "theme.bar.menus.menu.notifications.border": "#ccd0da", - "theme.bar.menus.menu.notifications.card": "#dcdfe8", - "theme.bar.menus.menu.notifications.background": "#eff1f5", - "theme.bar.menus.menu.notifications.no_notifications_label": "#ccd0da", - "theme.bar.menus.menu.notifications.label": "#7287fd", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#ea76cb", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#ea76cb", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#ea76cb", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#40a02b", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#40a02b", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#40a02b", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#df8e1d", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#df8e1d", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#df8e1d", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#e64553", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#e64553", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#e64553", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#bcc0cc", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#7287fd", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#8839ef", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#179299", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#e64553", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#df8e1d", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#ea76cb", - "theme.bar.menus.menu.dashboard.controls.input.text": "#dce0e8", - "theme.bar.menus.menu.dashboard.controls.input.background": "#ea76cb", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#dce0e8", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#e64553", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#dce0e8", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#df8e1d", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#dce0e8", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#04a5e5", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#dce0e8", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#8839ef", - "theme.bar.menus.menu.dashboard.controls.disabled": "#acb0be", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#40a02b", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#dce0e8", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#7287fd", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#04a5e5", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#40a02b", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#fe640b", - "theme.bar.menus.menu.dashboard.profile.name": "#ea76cb", - "theme.bar.menus.menu.dashboard.border.color": "#ccd0da", - "theme.bar.menus.menu.dashboard.background.color": "#eff1f5", - "theme.bar.menus.menu.dashboard.card.color": "#dcdfe8", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#ea76cb", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#ea76cb", - "theme.bar.menus.menu.clock.weather.hourly.time": "#ea76cb", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#04a5e5", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#1e66f5", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#7287fd", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#fe640b", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#d20f39", - "theme.bar.menus.menu.clock.weather.stats": "#ea76cb", - "theme.bar.menus.menu.clock.weather.status": "#179299", - "theme.bar.menus.menu.clock.weather.temperature": "#4c4f69", - "theme.bar.menus.menu.clock.weather.icon": "#ea76cb", - "theme.bar.menus.menu.clock.calendar.contextdays": "#acb0be", - "theme.bar.menus.menu.clock.calendar.days": "#4c4f69", - "theme.bar.menus.menu.clock.calendar.currentday": "#ea76cb", - "theme.bar.menus.menu.clock.calendar.paginator": "#ea76cb", - "theme.bar.menus.menu.clock.calendar.weekdays": "#ea76cb", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#179299", - "theme.bar.menus.menu.clock.time.timeperiod": "#179299", - "theme.bar.menus.menu.clock.time.time": "#ea76cb", - "theme.bar.menus.menu.clock.text": "#4c4f69", - "theme.bar.menus.menu.clock.border.color": "#ccd0da", - "theme.bar.menus.menu.clock.background.color": "#eff1f5", - "theme.bar.menus.menu.clock.card.color": "#dcdfe8", - "theme.bar.menus.menu.battery.slider.puck": "#9ca0b0", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#bcc0cc", - "theme.bar.menus.menu.battery.slider.background": "#acb0be", - "theme.bar.menus.menu.battery.slider.primary": "#df8e1d", - "theme.bar.menus.menu.battery.icons.active": "#df8e1d", - "theme.bar.menus.menu.battery.icons.passive": "#7c7f93", - "theme.bar.menus.menu.battery.listitems.active": "#df8e1d", - "theme.bar.menus.menu.battery.listitems.passive": "#4c4f69", - "theme.bar.menus.menu.battery.text": "#4c4f69", - "theme.bar.menus.menu.battery.label.color": "#df8e1d", - "theme.bar.menus.menu.battery.border.color": "#ccd0da", - "theme.bar.menus.menu.battery.background.color": "#eff1f5", - "theme.bar.menus.menu.battery.card.color": "#dcdfe8", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#eff1f5", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#4c4f69", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#dce0e8", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#04a5e5", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#4c4f69", - "theme.bar.menus.menu.bluetooth.icons.active": "#04a5e5", - "theme.bar.menus.menu.bluetooth.icons.passive": "#7c7f93", - "theme.bar.menus.menu.bluetooth.listitems.active": "#04a5e5", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#4c4f69", - "theme.bar.menus.menu.bluetooth.switch.puck": "#bcc0cc", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#ccd0da", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#04a5e5", - "theme.bar.menus.menu.bluetooth.switch_divider": "#bcc0cc", - "theme.bar.menus.menu.bluetooth.status": "#9ca0b0", - "theme.bar.menus.menu.bluetooth.text": "#4c4f69", - "theme.bar.menus.menu.bluetooth.label.color": "#04a5e5", - "theme.bar.menus.menu.bluetooth.border.color": "#ccd0da", - "theme.bar.menus.menu.bluetooth.background.color": "#eff1f5", - "theme.bar.menus.menu.bluetooth.card.color": "#dcdfe8", - "theme.bar.menus.menu.network.iconbuttons.active": "#8839ef", - "theme.bar.menus.menu.network.iconbuttons.passive": "#4c4f69", - "theme.bar.menus.menu.network.icons.active": "#8839ef", - "theme.bar.menus.menu.network.icons.passive": "#7c7f93", - "theme.bar.menus.menu.network.listitems.active": "#8839ef", - "theme.bar.menus.menu.network.listitems.passive": "#4c4f69", - "theme.bar.menus.menu.network.status.color": "#9ca0b0", - "theme.bar.menus.menu.network.text": "#4c4f69", - "theme.bar.menus.menu.network.label.color": "#8839ef", - "theme.bar.menus.menu.network.border.color": "#ccd0da", - "theme.bar.menus.menu.network.background.color": "#eff1f5", - "theme.bar.menus.menu.network.card.color": "#dcdfe8", - "theme.bar.menus.menu.volume.input_slider.puck": "#acb0be", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#bcc0cc", - "theme.bar.menus.menu.volume.input_slider.background": "#acb0be", - "theme.bar.menus.menu.volume.input_slider.primary": "#e64553", - "theme.bar.menus.menu.volume.audio_slider.puck": "#acb0be", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#bcc0cc", - "theme.bar.menus.menu.volume.audio_slider.background": "#acb0be", - "theme.bar.menus.menu.volume.audio_slider.primary": "#e64553", - "theme.bar.menus.menu.volume.icons.active": "#e64553", - "theme.bar.menus.menu.volume.icons.passive": "#7c7f93", - "theme.bar.menus.menu.volume.iconbutton.active": "#e64553", - "theme.bar.menus.menu.volume.iconbutton.passive": "#4c4f69", - "theme.bar.menus.menu.volume.listitems.active": "#e64553", - "theme.bar.menus.menu.volume.listitems.passive": "#4c4f69", - "theme.bar.menus.menu.volume.border.color": "#ccd0da", - "theme.bar.menus.menu.volume.background.color": "#e6e9ef", - "theme.bar.menus.menu.media.slider.puck": "#9ca0b0", - "theme.bar.menus.menu.media.slider.backgroundhover": "#bcc0cc", - "theme.bar.menus.menu.media.slider.background": "#acb0be", - "theme.bar.menus.menu.media.slider.primary": "#ea76cb", - "theme.bar.menus.menu.media.buttons.text": "#dce0e8", - "theme.bar.menus.menu.media.buttons.background": "#7287fd", - "theme.bar.menus.menu.media.buttons.enabled": "#179299", - "theme.bar.menus.menu.media.buttons.inactive": "#acb0be", - "theme.bar.menus.menu.media.border.color": "#ccd0da", - "theme.bar.menus.menu.media.background.color": "#eff1f5", - "theme.bar.menus.menu.media.album": "#ea76cb", - "theme.bar.menus.menu.media.artist": "#179299", - "theme.bar.menus.menu.media.song": "#7287fd", - "theme.bar.menus.tooltip.text": "#4c4f69", - "theme.bar.menus.tooltip.background": "#dce0e8", - "theme.bar.menus.dropdownmenu.divider": "#eff1f5", - "theme.bar.menus.dropdownmenu.text": "#4c4f69", - "theme.bar.menus.dropdownmenu.background": "#dce0e8", - "theme.bar.menus.slider.puck": "#9ca0b0", - "theme.bar.menus.slider.backgroundhover": "#bcc0cc", - "theme.bar.menus.slider.background": "#acb0be", - "theme.bar.menus.slider.primary": "#7287fd", - "theme.bar.menus.progressbar.background": "#bcc0cc", - "theme.bar.menus.progressbar.foreground": "#7287fd", - "theme.bar.menus.iconbuttons.active": "#7287fd", - "theme.bar.menus.iconbuttons.passive": "#4c4f69", - "theme.bar.menus.buttons.text": "#dce0e8", - "theme.bar.menus.buttons.disabled": "#acb0be", - "theme.bar.menus.buttons.active": "#ea76cb", - "theme.bar.menus.buttons.default": "#7287fd", - "theme.bar.menus.switch.puck": "#bcc0cc", - "theme.bar.menus.switch.disabled": "#ccd0da", - "theme.bar.menus.switch.enabled": "#7287fd", - "theme.bar.menus.icons.active": "#7287fd", - "theme.bar.menus.icons.passive": "#acb0be", - "theme.bar.menus.listitems.active": "#7287fd", - "theme.bar.menus.listitems.passive": "#4c4f69", - "theme.bar.menus.label": "#7287fd", - "theme.bar.menus.feinttext": "#ccd0da", - "theme.bar.menus.dimtext": "#acb0be", - "theme.bar.menus.cards": "#dce0e8", - "theme.bar.buttons.notifications.total": "#7287fd", - "theme.bar.buttons.notifications.icon": "#7287fd", - "theme.bar.buttons.notifications.background": "#dcdfe8", - "theme.bar.buttons.clock.icon": "#ea76cb", - "theme.bar.buttons.clock.text": "#ea76cb", - "theme.bar.buttons.clock.background": "#dcdfe8", - "theme.bar.buttons.battery.icon": "#df8e1d", - "theme.bar.buttons.battery.text": "#df8e1d", - "theme.bar.buttons.battery.background": "#dcdfe8", - "theme.bar.buttons.systray.background": "#dcdfe8", - "theme.bar.buttons.bluetooth.icon": "#04a5e5", - "theme.bar.buttons.bluetooth.text": "#04a5e5", - "theme.bar.buttons.bluetooth.background": "#dcdfe8", - "theme.bar.buttons.network.icon": "#8839ef", - "theme.bar.buttons.network.text": "#8839ef", - "theme.bar.buttons.network.background": "#dcdfe8", - "theme.bar.buttons.volume.icon": "#e64553", - "theme.bar.buttons.volume.text": "#e64553", - "theme.bar.buttons.volume.background": "#dcdfe8", - "theme.bar.buttons.windowtitle.icon": "#ea76cb", - "theme.bar.buttons.windowtitle.text": "#ea76cb", - "theme.bar.buttons.windowtitle.background": "#dcdfe8", - "theme.bar.buttons.workspaces.active": "#ea76cb", - "theme.bar.buttons.workspaces.occupied": "#dd7878", - "theme.bar.buttons.workspaces.available": "#04a5e5", - "theme.bar.buttons.workspaces.hover": "#bcc0cc", - "theme.bar.buttons.workspaces.background": "#dcdfe8", - "theme.bar.buttons.dashboard.icon": "#df8e1d", - "theme.bar.buttons.dashboard.background": "#dcdfe8", - "theme.osd.label": "#7287fd", - "theme.osd.icon": "#ccd0da", - "theme.osd.bar_overflow_color": "#d20f39", - "theme.osd.bar_empty_color": "#acb0be", - "theme.osd.bar_color": "#7287fd", - "theme.osd.icon_container": "#7287fd", - "theme.osd.bar_container": "#ccd0da", - "theme.notification.close_button.label": "#dce0e8", - "theme.notification.close_button.background": "#d20f39", - "theme.notification.labelicon": "#7287fd", - "theme.notification.text": "#4c4f69", - "theme.notification.time": "#8c8fa1", - "theme.notification.border": "#ccd0da", - "theme.notification.label": "#7287fd", - "theme.notification.actions.text": "#dce0e8", - "theme.notification.actions.background": "#7287fd", - "theme.notification.background": "#ccd0da", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#181825", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#f5c2e7", - "theme.bar.menus.menu.media.card.color": "#dcdfe8", - "theme.bar.menus.check_radio_button.background": "#dcdfe8", - "theme.bar.menus.check_radio_button.active": "#7186fd", - "theme.bar.buttons.style": "default", - "theme.bar.menus.menu.notifications.pager.button": "#7287fd", - "theme.bar.menus.menu.notifications.scrollbar.color": "#7287fd", - "theme.bar.menus.menu.notifications.pager.label": "#7c7f93", - "theme.bar.menus.menu.notifications.pager.background": "#eff1f5", - "theme.bar.buttons.clock.icon_background": "#ea76cb", - "theme.bar.buttons.modules.ram.icon": "#df8e1d", - "theme.bar.buttons.modules.storage.icon_background": "#d20f39", - "theme.bar.menus.popover.border": "#dce0e8", - "theme.bar.buttons.volume.icon_background": "#e64553", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#04a5e5", - "theme.bar.menus.menu.power.buttons.restart.text": "#fe640b", - "theme.bar.buttons.modules.updates.background": "#dcdfe8", - "theme.bar.buttons.modules.storage.icon": "#d20f39", - "theme.bar.buttons.modules.netstat.background": "#dcdfe8", - "theme.bar.buttons.modules.weather.icon": "#7287fd", - "theme.bar.buttons.modules.netstat.text": "#40a02b", - "theme.bar.buttons.modules.storage.background": "#dcdfe8", - "theme.bar.buttons.modules.power.icon": "#d20f39", - "theme.bar.buttons.modules.storage.text": "#d20f39", - "theme.bar.buttons.modules.cpu.background": "#dcdfe8", - "theme.bar.menus.menu.power.border.color": "#ccd0da", - "theme.bar.buttons.network.icon_background": "#caa6f7", - "theme.bar.buttons.modules.power.icon_background": "#d20f39", - "theme.bar.menus.menu.power.buttons.logout.icon": "#dce0e8", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#fe640b", - "theme.bar.menus.menu.power.buttons.restart.icon": "#dce0e8", - "theme.bar.buttons.modules.cpu.icon": "#d20f39", - "theme.bar.buttons.battery.icon_background": "#df8e1d", - "theme.bar.buttons.modules.kbLayout.icon_background": "#04a5e5", - "theme.bar.buttons.modules.weather.text": "#7287fd", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#dce0e8", - "theme.bar.menus.menu.power.buttons.sleep.text": "#04a5e5", - "theme.bar.buttons.modules.weather.icon_background": "#7287fd", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#dcdfe8", - "theme.bar.buttons.media.icon_background": "#7287fd", - "theme.bar.menus.menu.power.buttons.logout.background": "#dcdfe8", - "theme.bar.buttons.modules.kbLayout.icon": "#04a5e5", - "theme.bar.buttons.modules.ram.icon_background": "#df8e1d", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#d20f39", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#d20f39", - "theme.bar.menus.menu.power.buttons.sleep.background": "#dcdfe8", - "theme.bar.buttons.modules.ram.text": "#df8e1d", - "theme.bar.menus.menu.power.buttons.logout.text": "#40a02b", - "theme.bar.buttons.modules.updates.icon_background": "#8839ef", - "theme.bar.buttons.modules.kbLayout.background": "#dcdfe8", - "theme.bar.buttons.modules.power.background": "#dcdfe8", - "theme.bar.buttons.modules.weather.background": "#dcdfe8", - "theme.bar.buttons.icon_background": "#dcdfe8", - "theme.bar.menus.menu.power.background.color": "#eff1f5", - "theme.bar.buttons.modules.ram.background": "#dcdfe8", - "theme.bar.buttons.modules.netstat.icon": "#40a02b", - "theme.bar.buttons.windowtitle.icon_background": "#ea76cb", - "theme.bar.buttons.modules.cpu.icon_background": "#d20f39", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#40a02b", - "theme.bar.buttons.modules.updates.text": "#8839ef", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#dce0e8", - "theme.bar.buttons.bluetooth.icon_background": "#89dbeb", - "theme.bar.menus.menu.power.buttons.restart.background": "#dcdfe8", - "theme.bar.buttons.modules.updates.icon": "#8839ef", - "theme.bar.buttons.modules.cpu.text": "#d20f39", - "theme.bar.buttons.modules.netstat.icon_background": "#40a02b", - "theme.bar.buttons.modules.kbLayout.text": "#04a5e5", - "theme.bar.buttons.notifications.icon_background": "#7287fd", - "theme.bar.buttons.modules.power.border": "#d20f39", - "theme.bar.buttons.modules.weather.border": "#7287fd", - "theme.bar.buttons.modules.updates.border": "#8839ef", - "theme.bar.buttons.modules.kbLayout.border": "#04a5e5", - "theme.bar.buttons.modules.netstat.border": "#40a02b", - "theme.bar.buttons.modules.storage.border": "#d20f39", - "theme.bar.buttons.modules.cpu.border": "#d20f39", - "theme.bar.buttons.modules.ram.border": "#df8e1d", - "theme.bar.buttons.notifications.border": "#7287fd", - "theme.bar.buttons.clock.border": "#ea76cb", - "theme.bar.buttons.battery.border": "#df8e1d", - "theme.bar.buttons.systray.border": "#bcc0cc", - "theme.bar.buttons.bluetooth.border": "#04a5e5", - "theme.bar.buttons.network.border": "#8839ef", - "theme.bar.buttons.volume.border": "#e64553", - "theme.bar.buttons.media.border": "#7287fd", - "theme.bar.buttons.windowtitle.border": "#ea76cb", - "theme.bar.buttons.workspaces.border": "#dce0e8", - "theme.bar.buttons.dashboard.border": "#df8e1d", - "theme.bar.buttons.modules.submap.background": "#dcdfe8", - "theme.bar.buttons.modules.submap.text": "#179299", - "theme.bar.buttons.modules.submap.border": "#179299", - "theme.bar.buttons.modules.submap.icon": "#179299", - "theme.bar.buttons.modules.submap.icon_background": "#dcdfe8" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/catppuccin_latte_split.json b/ags/HyprPanel/themes/catppuccin_latte_split.json deleted file mode 100644 index 13aa39c..0000000 --- a/ags/HyprPanel/themes/catppuccin_latte_split.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.menu.notifications.scrollbar.color": "#7287fd", - "theme.bar.menus.menu.notifications.pager.label": "#7c7f93", - "theme.bar.menus.menu.notifications.pager.button": "#7287fd", - "theme.bar.menus.menu.notifications.pager.background": "#eff1f5", - "theme.bar.menus.menu.notifications.switch.puck": "#bcc0cc", - "theme.bar.menus.menu.notifications.switch.disabled": "#ccd0da", - "theme.bar.menus.menu.notifications.switch.enabled": "#7287fd", - "theme.bar.menus.menu.notifications.clear": "#d20f39", - "theme.bar.menus.menu.notifications.switch_divider": "#bcc0cc", - "theme.bar.menus.menu.notifications.border": "#ccd0da", - "theme.bar.menus.menu.notifications.card": "#dcdfe8", - "theme.bar.menus.menu.notifications.background": "#eff1f5", - "theme.bar.menus.menu.notifications.no_notifications_label": "#ccd0da", - "theme.bar.menus.menu.notifications.label": "#7287fd", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#dce0e8", - "theme.bar.menus.menu.power.buttons.sleep.text": "#04a5e5", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#04a5e5", - "theme.bar.menus.menu.power.buttons.sleep.background": "#dcdfe8", - "theme.bar.menus.menu.power.buttons.logout.icon": "#dce0e8", - "theme.bar.menus.menu.power.buttons.logout.text": "#40a02b", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#40a02b", - "theme.bar.menus.menu.power.buttons.logout.background": "#dcdfe8", - "theme.bar.menus.menu.power.buttons.restart.icon": "#dce0e8", - "theme.bar.menus.menu.power.buttons.restart.text": "#fe640b", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#fe640b", - "theme.bar.menus.menu.power.buttons.restart.background": "#dcdfe8", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#dce0e8", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#d20f39", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#d20f39", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#dcdfe8", - "theme.bar.menus.menu.power.border.color": "#ccd0da", - "theme.bar.menus.menu.power.background.color": "#eff1f5", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#ea76cb", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#ea76cb", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#ea76cb", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#40a02b", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#40a02b", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#40a02b", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#df8e1d", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#df8e1d", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#df8e1d", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#e64553", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#e64553", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#e64553", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#bcc0cc", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#7287fd", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#8839ef", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#179299", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#e64553", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#df8e1d", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#ea76cb", - "theme.bar.menus.menu.dashboard.controls.input.text": "#dce0e8", - "theme.bar.menus.menu.dashboard.controls.input.background": "#ea76cb", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#dce0e8", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#e64553", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#dce0e8", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#df8e1d", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#dce0e8", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#04a5e5", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#dce0e8", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#8839ef", - "theme.bar.menus.menu.dashboard.controls.disabled": "#acb0be", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#40a02b", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#dce0e8", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#7287fd", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#dce0e8", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#d20f39", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#40a02b", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#4c4f69", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#7287fd", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#ccd0da", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#dce0e8", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#eff1f5", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#04a5e5", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#40a02b", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#fe640b", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#d20f39", - "theme.bar.menus.menu.dashboard.profile.name": "#ea76cb", - "theme.bar.menus.menu.dashboard.border.color": "#ccd0da", - "theme.bar.menus.menu.dashboard.background.color": "#eff1f5", - "theme.bar.menus.menu.dashboard.card.color": "#dcdfe8", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#ea76cb", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#ea76cb", - "theme.bar.menus.menu.clock.weather.hourly.time": "#ea76cb", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#04a5e5", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#1e66f5", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#7287fd", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#fe640b", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#d20f39", - "theme.bar.menus.menu.clock.weather.stats": "#ea76cb", - "theme.bar.menus.menu.clock.weather.status": "#179299", - "theme.bar.menus.menu.clock.weather.temperature": "#4c4f69", - "theme.bar.menus.menu.clock.weather.icon": "#ea76cb", - "theme.bar.menus.menu.clock.calendar.contextdays": "#acb0be", - "theme.bar.menus.menu.clock.calendar.days": "#4c4f69", - "theme.bar.menus.menu.clock.calendar.currentday": "#ea76cb", - "theme.bar.menus.menu.clock.calendar.paginator": "#ea76cb", - "theme.bar.menus.menu.clock.calendar.weekdays": "#ea76cb", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#179299", - "theme.bar.menus.menu.clock.time.timeperiod": "#179299", - "theme.bar.menus.menu.clock.time.time": "#ea76cb", - "theme.bar.menus.menu.clock.text": "#4c4f69", - "theme.bar.menus.menu.clock.border.color": "#ccd0da", - "theme.bar.menus.menu.clock.background.color": "#eff1f5", - "theme.bar.menus.menu.clock.card.color": "#dcdfe8", - "theme.bar.menus.menu.battery.slider.puck": "#9ca0b0", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#bcc0cc", - "theme.bar.menus.menu.battery.slider.background": "#acb0be", - "theme.bar.menus.menu.battery.slider.primary": "#df8e1d", - "theme.bar.menus.menu.battery.icons.active": "#df8e1d", - "theme.bar.menus.menu.battery.icons.passive": "#7c7f93", - "theme.bar.menus.menu.battery.listitems.active": "#df8e1d", - "theme.bar.menus.menu.battery.listitems.passive": "#4c4f69", - "theme.bar.menus.menu.battery.text": "#4c4f69", - "theme.bar.menus.menu.battery.label.color": "#df8e1d", - "theme.bar.menus.menu.battery.border.color": "#ccd0da", - "theme.bar.menus.menu.battery.background.color": "#eff1f5", - "theme.bar.menus.menu.battery.card.color": "#dcdfe8", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#eff1f5", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#4c4f69", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#dce0e8", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#04a5e5", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#4c4f69", - "theme.bar.menus.menu.bluetooth.icons.active": "#04a5e5", - "theme.bar.menus.menu.bluetooth.icons.passive": "#7c7f93", - "theme.bar.menus.menu.bluetooth.listitems.active": "#04a5e5", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#4c4f69", - "theme.bar.menus.menu.bluetooth.switch.puck": "#bcc0cc", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#ccd0da", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#04a5e5", - "theme.bar.menus.menu.bluetooth.switch_divider": "#bcc0cc", - "theme.bar.menus.menu.bluetooth.status": "#9ca0b0", - "theme.bar.menus.menu.bluetooth.text": "#4c4f69", - "theme.bar.menus.menu.bluetooth.label.color": "#04a5e5", - "theme.bar.menus.menu.bluetooth.border.color": "#ccd0da", - "theme.bar.menus.menu.bluetooth.background.color": "#eff1f5", - "theme.bar.menus.menu.bluetooth.card.color": "#dcdfe8", - "theme.bar.menus.menu.network.iconbuttons.active": "#8839ef", - "theme.bar.menus.menu.network.iconbuttons.passive": "#4c4f69", - "theme.bar.menus.menu.network.icons.active": "#8839ef", - "theme.bar.menus.menu.network.icons.passive": "#7c7f93", - "theme.bar.menus.menu.network.listitems.active": "#8839ef", - "theme.bar.menus.menu.network.listitems.passive": "#4c4f69", - "theme.bar.menus.menu.network.status.color": "#9ca0b0", - "theme.bar.menus.menu.network.text": "#4c4f69", - "theme.bar.menus.menu.network.label.color": "#8839ef", - "theme.bar.menus.menu.network.border.color": "#ccd0da", - "theme.bar.menus.menu.network.background.color": "#eff1f5", - "theme.bar.menus.menu.network.card.color": "#dcdfe8", - "theme.bar.menus.menu.volume.input_slider.puck": "#acb0be", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#bcc0cc", - "theme.bar.menus.menu.volume.input_slider.background": "#acb0be", - "theme.bar.menus.menu.volume.input_slider.primary": "#e64553", - "theme.bar.menus.menu.volume.audio_slider.puck": "#acb0be", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#bcc0cc", - "theme.bar.menus.menu.volume.audio_slider.background": "#acb0be", - "theme.bar.menus.menu.volume.audio_slider.primary": "#e64553", - "theme.bar.menus.menu.volume.icons.active": "#e64553", - "theme.bar.menus.menu.volume.icons.passive": "#7c7f93", - "theme.bar.menus.menu.volume.iconbutton.active": "#e64553", - "theme.bar.menus.menu.volume.iconbutton.passive": "#4c4f69", - "theme.bar.menus.menu.volume.listitems.active": "#e64553", - "theme.bar.menus.menu.volume.listitems.passive": "#4c4f69", - "theme.bar.menus.menu.volume.text": "#4c4f69", - "theme.bar.menus.menu.volume.label.color": "#e64553", - "theme.bar.menus.menu.volume.border.color": "#ccd0da", - "theme.bar.menus.menu.volume.background.color": "#e6e9ef", - "theme.bar.menus.menu.volume.card.color": "#dcdfe8", - "theme.bar.menus.menu.media.slider.puck": "#9ca0b0", - "theme.bar.menus.menu.media.slider.backgroundhover": "#bcc0cc", - "theme.bar.menus.menu.media.slider.background": "#acb0be", - "theme.bar.menus.menu.media.slider.primary": "#ea76cb", - "theme.bar.menus.menu.media.buttons.text": "#dce0e8", - "theme.bar.menus.menu.media.buttons.background": "#7287fd", - "theme.bar.menus.menu.media.buttons.enabled": "#179299", - "theme.bar.menus.menu.media.buttons.inactive": "#acb0be", - "theme.bar.menus.menu.media.border.color": "#ccd0da", - "theme.bar.menus.menu.media.card.color": "#dcdfe8", - "theme.bar.menus.menu.media.background.color": "#eff1f5", - "theme.bar.menus.menu.media.album": "#ea76cb", - "theme.bar.menus.menu.media.artist": "#179299", - "theme.bar.menus.menu.media.song": "#7287fd", - "theme.bar.menus.tooltip.text": "#4c4f69", - "theme.bar.menus.tooltip.background": "#dce0e8", - "theme.bar.menus.dropdownmenu.divider": "#eff1f5", - "theme.bar.menus.dropdownmenu.text": "#4c4f69", - "theme.bar.menus.dropdownmenu.background": "#dce0e8", - "theme.bar.menus.slider.puck": "#9ca0b0", - "theme.bar.menus.slider.backgroundhover": "#bcc0cc", - "theme.bar.menus.slider.background": "#acb0be", - "theme.bar.menus.slider.primary": "#7287fd", - "theme.bar.menus.progressbar.background": "#bcc0cc", - "theme.bar.menus.progressbar.foreground": "#7287fd", - "theme.bar.menus.iconbuttons.active": "#7287fd", - "theme.bar.menus.iconbuttons.passive": "#4c4f69", - "theme.bar.menus.buttons.text": "#dce0e8", - "theme.bar.menus.buttons.disabled": "#acb0be", - "theme.bar.menus.buttons.active": "#ea76cb", - "theme.bar.menus.buttons.default": "#7287fd", - "theme.bar.menus.check_radio_button.active": "#7186fd", - "theme.bar.menus.check_radio_button.background": "#dcdfe8", - "theme.bar.menus.switch.puck": "#bcc0cc", - "theme.bar.menus.switch.disabled": "#ccd0da", - "theme.bar.menus.switch.enabled": "#7287fd", - "theme.bar.menus.icons.active": "#7287fd", - "theme.bar.menus.icons.passive": "#acb0be", - "theme.bar.menus.listitems.active": "#7287fd", - "theme.bar.menus.listitems.passive": "#4c4f69", - "theme.bar.menus.popover.border": "#dce0e8", - "theme.bar.menus.popover.background": "#dce0e8", - "theme.bar.menus.popover.text": "#7287fd", - "theme.bar.menus.label": "#7287fd", - "theme.bar.menus.feinttext": "#ccd0da", - "theme.bar.menus.dimtext": "#acb0be", - "theme.bar.menus.text": "#4c4f69", - "theme.bar.menus.border.color": "#ccd0da", - "theme.bar.menus.cards": "#dce0e8", - "theme.bar.menus.background": "#eff1f5", - "theme.bar.buttons.modules.power.icon_background": "#d20f39", - "theme.bar.buttons.modules.power.icon": "#181825", - "theme.bar.buttons.modules.power.background": "#dcdfe8", - "theme.bar.buttons.modules.power.border": "#d20f39", - "theme.bar.buttons.modules.weather.icon_background": "#7287fd", - "theme.bar.buttons.modules.weather.icon": "#dcdfe8", - "theme.bar.buttons.modules.weather.text": "#7287fd", - "theme.bar.buttons.modules.weather.background": "#dcdfe8", - "theme.bar.buttons.modules.weather.border": "#7287fd", - "theme.bar.buttons.modules.updates.icon_background": "#8839ef", - "theme.bar.buttons.modules.updates.icon": "#181825", - "theme.bar.buttons.modules.updates.text": "#8839ef", - "theme.bar.buttons.modules.updates.background": "#dcdfe8", - "theme.bar.buttons.modules.updates.border": "#8839ef", - "theme.bar.buttons.modules.kbLayout.icon_background": "#04a5e5", - "theme.bar.buttons.modules.kbLayout.icon": "#181825", - "theme.bar.buttons.modules.kbLayout.text": "#04a5e5", - "theme.bar.buttons.modules.kbLayout.background": "#dcdfe8", - "theme.bar.buttons.modules.kbLayout.border": "#04a5e5", - "theme.bar.buttons.modules.netstat.icon_background": "#40a02b", - "theme.bar.buttons.modules.netstat.icon": "#181825", - "theme.bar.buttons.modules.netstat.text": "#40a02b", - "theme.bar.buttons.modules.netstat.background": "#dcdfe8", - "theme.bar.buttons.modules.netstat.border": "#40a02b", - "theme.bar.buttons.modules.storage.icon_background": "#d20f39", - "theme.bar.buttons.modules.storage.icon": "#181825", - "theme.bar.buttons.modules.storage.text": "#d20f39", - "theme.bar.buttons.modules.storage.background": "#dcdfe8", - "theme.bar.buttons.modules.storage.border": "#d20f39", - "theme.bar.buttons.modules.cpu.icon_background": "#d20f39", - "theme.bar.buttons.modules.cpu.icon": "#181825", - "theme.bar.buttons.modules.cpu.text": "#d20f39", - "theme.bar.buttons.modules.cpu.background": "#dcdfe8", - "theme.bar.buttons.modules.cpu.border": "#d20f39", - "theme.bar.buttons.modules.ram.icon_background": "#df8e1d", - "theme.bar.buttons.modules.ram.icon": "#181825", - "theme.bar.buttons.modules.ram.text": "#df8e1d", - "theme.bar.buttons.modules.ram.background": "#dcdfe8", - "theme.bar.buttons.modules.ram.border": "#df8e1d", - "theme.bar.buttons.notifications.total": "#7287fd", - "theme.bar.buttons.notifications.icon_background": "#7287fd", - "theme.bar.buttons.notifications.icon": "#dcdee8", - "theme.bar.buttons.notifications.background": "#dcdfe8", - "theme.bar.buttons.notifications.border": "#7287fd", - "theme.bar.buttons.clock.icon_background": "#ea76cb", - "theme.bar.buttons.clock.icon": "#dcdee8", - "theme.bar.buttons.clock.text": "#ea76cb", - "theme.bar.buttons.clock.background": "#dcdfe8", - "theme.bar.buttons.clock.border": "#ea76cb", - "theme.bar.buttons.battery.icon_background": "#df8e1d", - "theme.bar.buttons.battery.icon": "#dcdee8", - "theme.bar.buttons.battery.text": "#df8e1d", - "theme.bar.buttons.battery.background": "#dcdfe8", - "theme.bar.buttons.battery.border": "#df8e1d", - "theme.bar.buttons.systray.background": "#dcdfe8", - "theme.bar.buttons.systray.border": "#bcc0cc", - "theme.bar.buttons.bluetooth.icon_background": "#04a5e5", - "theme.bar.buttons.bluetooth.icon": "#dcdee8", - "theme.bar.buttons.bluetooth.text": "#04a5e5", - "theme.bar.buttons.bluetooth.background": "#dcdfe8", - "theme.bar.buttons.bluetooth.border": "#04a5e5", - "theme.bar.buttons.network.icon_background": "#8839ef", - "theme.bar.buttons.network.icon": "#dcdee8", - "theme.bar.buttons.network.text": "#8839ef", - "theme.bar.buttons.network.background": "#dcdfe8", - "theme.bar.buttons.network.border": "#8839ef", - "theme.bar.buttons.volume.icon_background": "#e64553", - "theme.bar.buttons.volume.icon": "#dcdee8", - "theme.bar.buttons.volume.text": "#e64553", - "theme.bar.buttons.volume.background": "#dcdfe8", - "theme.bar.buttons.volume.border": "#e64553", - "theme.bar.buttons.media.icon_background": "#7287fd", - "theme.bar.buttons.media.icon": "#dcdee8", - "theme.bar.buttons.media.text": "#7287fd", - "theme.bar.buttons.media.background": "#dcdfe8", - "theme.bar.buttons.media.border": "#7287fd", - "theme.bar.buttons.windowtitle.icon_background": "#ea76cb", - "theme.bar.buttons.windowtitle.icon": "#dcdee8", - "theme.bar.buttons.windowtitle.text": "#ea76cb", - "theme.bar.buttons.windowtitle.border": "#ea76cb", - "theme.bar.buttons.windowtitle.background": "#dcdfe8", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#f5c2e7", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#181825", - "theme.bar.buttons.workspaces.hover": "#bcc0cc", - "theme.bar.buttons.workspaces.active": "#ea76cb", - "theme.bar.buttons.workspaces.occupied": "#dd7878", - "theme.bar.buttons.workspaces.available": "#04a5e5", - "theme.bar.buttons.workspaces.border": "#dce0e8", - "theme.bar.buttons.workspaces.background": "#dcdfe8", - "theme.bar.buttons.dashboard.icon": "#dcdee8", - "theme.bar.buttons.dashboard.border": "#df8e1d", - "theme.bar.buttons.dashboard.background": "#df8e1d", - "theme.bar.buttons.icon": "#7287fd", - "theme.bar.buttons.text": "#7287fd", - "theme.bar.buttons.hover": "#bcc0cc", - "theme.bar.buttons.icon_background": "#242438", - "theme.bar.buttons.background": "#e6e9ef", - "theme.bar.buttons.style": "split", - "theme.bar.background": "#eff1f5", - "theme.osd.label": "#7287fd", - "theme.osd.icon": "#ccd0da", - "theme.osd.bar_overflow_color": "#d20f39", - "theme.osd.bar_empty_color": "#acb0be", - "theme.osd.bar_color": "#7287fd", - "theme.osd.icon_container": "#7287fd", - "theme.osd.bar_container": "#ccd0da", - "theme.notification.close_button.label": "#dce0e8", - "theme.notification.close_button.background": "#d20f39", - "theme.notification.labelicon": "#7287fd", - "theme.notification.text": "#4c4f69", - "theme.notification.time": "#8c8fa1", - "theme.notification.border": "#ccd0da", - "theme.notification.label": "#7287fd", - "theme.notification.actions.text": "#dce0e8", - "theme.notification.actions.background": "#7287fd", - "theme.notification.background": "#ccd0da", - "theme.bar.buttons.modules.submap.background": "#dcdfe8", - "theme.bar.buttons.modules.submap.text": "#179299", - "theme.bar.buttons.modules.submap.border": "#179299", - "theme.bar.buttons.modules.submap.icon": "#181825", - "theme.bar.buttons.modules.submap.icon_background": "#179299" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/catppuccin_macchiato.json b/ags/HyprPanel/themes/catppuccin_macchiato.json deleted file mode 100644 index cf5ecc8..0000000 --- a/ags/HyprPanel/themes/catppuccin_macchiato.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.background": "#181926", - "theme.bar.background": "#181926", - "theme.bar.buttons.media.icon": "#b7bdf8", - "theme.bar.buttons.media.text": "#b7bdf8", - "theme.bar.buttons.icon": "#b7bdf8", - "theme.bar.buttons.text": "#b7bdf8", - "theme.bar.buttons.hover": "#494d64", - "theme.bar.buttons.background": "#24273a", - "theme.bar.menus.text": "#cad3f5", - "theme.bar.menus.border.color": "#363a4f", - "theme.bar.buttons.media.background": "#24273a", - "theme.bar.menus.menu.volume.text": "#cad3f5", - "theme.bar.menus.menu.volume.card.color": "#1e2030", - "theme.bar.menus.menu.volume.label.color": "#ee99a0", - "theme.bar.menus.popover.text": "#b7bdf8", - "theme.bar.menus.popover.background": "#181926", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#ed8796", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#ed8796", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#a6da95", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#181926", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#cad3f5", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#b7bdf8", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#363a4f", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#181926", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#1e2030", - "theme.bar.menus.menu.notifications.switch.puck": "#494d64", - "theme.bar.menus.menu.notifications.switch.disabled": "#363a4f", - "theme.bar.menus.menu.notifications.switch.enabled": "#b7bdf8", - "theme.bar.menus.menu.notifications.clear": "#ed8796", - "theme.bar.menus.menu.notifications.switch_divider": "#494d64", - "theme.bar.menus.menu.notifications.border": "#363a4f", - "theme.bar.menus.menu.notifications.card": "#1e2030", - "theme.bar.menus.menu.notifications.background": "#181926", - "theme.bar.menus.menu.notifications.no_notifications_label": "#363a4f", - "theme.bar.menus.menu.notifications.label": "#b7bdf8", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#f5bde6", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#f5bde6", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#f5bde6", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#a6da95", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#a6da95", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#a6da95", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#eed49f", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#eed49f", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#eed49f", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#ee99a0", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#ee99a0", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#ee99a0", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#494d64", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#b7bdf8", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#c6a0f6", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#8bd5ca", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#ee99a0", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#eed49f", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#f5bde6", - "theme.bar.menus.menu.dashboard.controls.input.text": "#181926", - "theme.bar.menus.menu.dashboard.controls.input.background": "#f5bde6", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#181926", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#ee99a0", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#181926", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#eed49f", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#181926", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#91d7e3", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#181926", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#c6a0f6", - "theme.bar.menus.menu.dashboard.controls.disabled": "#5b6078", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#a6da95", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#181926", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#b7bdf8", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#91d7e3", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#a6da95", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#f5a97f", - "theme.bar.menus.menu.dashboard.profile.name": "#f5bde6", - "theme.bar.menus.menu.dashboard.border.color": "#363a4f", - "theme.bar.menus.menu.dashboard.background.color": "#181926", - "theme.bar.menus.menu.dashboard.card.color": "#1e2030", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#f5bde6", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#f5bde6", - "theme.bar.menus.menu.clock.weather.hourly.time": "#f5bde6", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#91d7e3", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#8aadf4", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#b7bdf8", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#f5a97f", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#ed8796", - "theme.bar.menus.menu.clock.weather.stats": "#f5bde6", - "theme.bar.menus.menu.clock.weather.status": "#8bd5ca", - "theme.bar.menus.menu.clock.weather.temperature": "#cad3f5", - "theme.bar.menus.menu.clock.weather.icon": "#f5bde6", - "theme.bar.menus.menu.clock.calendar.contextdays": "#5b6078", - "theme.bar.menus.menu.clock.calendar.days": "#cad3f5", - "theme.bar.menus.menu.clock.calendar.currentday": "#f5bde6", - "theme.bar.menus.menu.clock.calendar.paginator": "#f5bde6", - "theme.bar.menus.menu.clock.calendar.weekdays": "#f5bde6", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#8bd5ca", - "theme.bar.menus.menu.clock.time.timeperiod": "#8bd5ca", - "theme.bar.menus.menu.clock.time.time": "#f5bde6", - "theme.bar.menus.menu.clock.text": "#cad3f5", - "theme.bar.menus.menu.clock.border.color": "#363a4f", - "theme.bar.menus.menu.clock.background.color": "#181926", - "theme.bar.menus.menu.clock.card.color": "#1e2030", - "theme.bar.menus.menu.battery.slider.puck": "#6e738d", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#494d64", - "theme.bar.menus.menu.battery.slider.background": "#5b6078", - "theme.bar.menus.menu.battery.slider.primary": "#eed49f", - "theme.bar.menus.menu.battery.icons.active": "#eed49f", - "theme.bar.menus.menu.battery.icons.passive": "#939ab7", - "theme.bar.menus.menu.battery.listitems.active": "#eed49f", - "theme.bar.menus.menu.battery.listitems.passive": "#cad3f5", - "theme.bar.menus.menu.battery.text": "#cad3f5", - "theme.bar.menus.menu.battery.label.color": "#eed49f", - "theme.bar.menus.menu.battery.border.color": "#363a4f", - "theme.bar.menus.menu.battery.background.color": "#181926", - "theme.bar.menus.menu.battery.card.color": "#1e2030", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#1e2030", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#cad3f5", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#181926", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#91d7e3", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#cad3f5", - "theme.bar.menus.menu.bluetooth.icons.active": "#91d7e3", - "theme.bar.menus.menu.bluetooth.icons.passive": "#939ab7", - "theme.bar.menus.menu.bluetooth.listitems.active": "#91d7e3", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#cad3f5", - "theme.bar.menus.menu.bluetooth.switch.puck": "#494d64", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#363a4f", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#91d7e3", - "theme.bar.menus.menu.bluetooth.switch_divider": "#494d64", - "theme.bar.menus.menu.bluetooth.status": "#6e738d", - "theme.bar.menus.menu.bluetooth.text": "#cad3f5", - "theme.bar.menus.menu.bluetooth.label.color": "#91d7e3", - "theme.bar.menus.menu.bluetooth.border.color": "#363a4f", - "theme.bar.menus.menu.bluetooth.background.color": "#181926", - "theme.bar.menus.menu.bluetooth.card.color": "#1e2030", - "theme.bar.menus.menu.network.iconbuttons.active": "#c6a0f6", - "theme.bar.menus.menu.network.iconbuttons.passive": "#cad3f5", - "theme.bar.menus.menu.network.icons.active": "#c6a0f6", - "theme.bar.menus.menu.network.icons.passive": "#939ab7", - "theme.bar.menus.menu.network.listitems.active": "#c6a0f6", - "theme.bar.menus.menu.network.listitems.passive": "#cad3f5", - "theme.bar.menus.menu.network.status.color": "#6e738d", - "theme.bar.menus.menu.network.text": "#cad3f5", - "theme.bar.menus.menu.network.label.color": "#c6a0f6", - "theme.bar.menus.menu.network.border.color": "#363a4f", - "theme.bar.menus.menu.network.background.color": "#181926", - "theme.bar.menus.menu.network.card.color": "#1e2030", - "theme.bar.menus.menu.volume.input_slider.puck": "#5b6078", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#494d64", - "theme.bar.menus.menu.volume.input_slider.background": "#5b6078", - "theme.bar.menus.menu.volume.input_slider.primary": "#ee99a0", - "theme.bar.menus.menu.volume.audio_slider.puck": "#5b6078", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#494d64", - "theme.bar.menus.menu.volume.audio_slider.background": "#5b6078", - "theme.bar.menus.menu.volume.audio_slider.primary": "#ee99a0", - "theme.bar.menus.menu.volume.icons.active": "#ee99a0", - "theme.bar.menus.menu.volume.icons.passive": "#939ab7", - "theme.bar.menus.menu.volume.iconbutton.active": "#ee99a0", - "theme.bar.menus.menu.volume.iconbutton.passive": "#cad3f5", - "theme.bar.menus.menu.volume.listitems.active": "#ee99a0", - "theme.bar.menus.menu.volume.listitems.passive": "#cad3f5", - "theme.bar.menus.menu.volume.border.color": "#363a4f", - "theme.bar.menus.menu.volume.background.color": "#181926", - "theme.bar.menus.menu.media.slider.puck": "#6e738d", - "theme.bar.menus.menu.media.slider.backgroundhover": "#494d64", - "theme.bar.menus.menu.media.slider.background": "#5b6078", - "theme.bar.menus.menu.media.slider.primary": "#f5bde6", - "theme.bar.menus.menu.media.buttons.text": "#181926", - "theme.bar.menus.menu.media.buttons.background": "#b7bdf8", - "theme.bar.menus.menu.media.buttons.enabled": "#8bd5ca", - "theme.bar.menus.menu.media.buttons.inactive": "#5b6078", - "theme.bar.menus.menu.media.border.color": "#363a4f", - "theme.bar.menus.menu.media.background.color": "#181926", - "theme.bar.menus.menu.media.album": "#f5bde6", - "theme.bar.menus.menu.media.artist": "#8bd5ca", - "theme.bar.menus.menu.media.song": "#b7bdf8", - "theme.bar.menus.tooltip.text": "#cad3f5", - "theme.bar.menus.tooltip.background": "#181926", - "theme.bar.menus.dropdownmenu.divider": "#1e2030", - "theme.bar.menus.dropdownmenu.text": "#cad3f5", - "theme.bar.menus.dropdownmenu.background": "#181926", - "theme.bar.menus.slider.puck": "#6e738d", - "theme.bar.menus.slider.backgroundhover": "#494d64", - "theme.bar.menus.slider.background": "#5b6078", - "theme.bar.menus.slider.primary": "#b7bdf8", - "theme.bar.menus.progressbar.background": "#494d64", - "theme.bar.menus.progressbar.foreground": "#b7bdf8", - "theme.bar.menus.iconbuttons.active": "#b7bdf8", - "theme.bar.menus.iconbuttons.passive": "#cad3f5", - "theme.bar.menus.buttons.text": "#181926", - "theme.bar.menus.buttons.disabled": "#5b6078", - "theme.bar.menus.buttons.active": "#f5bde6", - "theme.bar.menus.buttons.default": "#b7bdf8", - "theme.bar.menus.switch.puck": "#494d64", - "theme.bar.menus.switch.disabled": "#363a4f", - "theme.bar.menus.switch.enabled": "#b7bdf8", - "theme.bar.menus.icons.active": "#b7bdf8", - "theme.bar.menus.icons.passive": "#5b6078", - "theme.bar.menus.listitems.active": "#b7bdf8", - "theme.bar.menus.listitems.passive": "#cad3f5", - "theme.bar.menus.label": "#b7bdf8", - "theme.bar.menus.feinttext": "#363a4f", - "theme.bar.menus.dimtext": "#5b6078", - "theme.bar.menus.cards": "#1e2030", - "theme.bar.buttons.notifications.total": "#b7bdf8", - "theme.bar.buttons.notifications.icon": "#b7bdf8", - "theme.bar.buttons.notifications.background": "#24273a", - "theme.bar.buttons.clock.icon": "#f5bde6", - "theme.bar.buttons.clock.text": "#f5bde6", - "theme.bar.buttons.clock.background": "#24273a", - "theme.bar.buttons.battery.icon": "#eed49f", - "theme.bar.buttons.battery.text": "#eed49f", - "theme.bar.buttons.battery.background": "#24273a", - "theme.bar.buttons.systray.background": "#24273a", - "theme.bar.buttons.bluetooth.icon": "#91d7e3", - "theme.bar.buttons.bluetooth.text": "#91d7e3", - "theme.bar.buttons.bluetooth.background": "#24273a", - "theme.bar.buttons.network.icon": "#c6a0f6", - "theme.bar.buttons.network.text": "#c6a0f6", - "theme.bar.buttons.network.background": "#24273a", - "theme.bar.buttons.volume.icon": "#ee99a0", - "theme.bar.buttons.volume.text": "#ee99a0", - "theme.bar.buttons.volume.background": "#24273a", - "theme.bar.buttons.windowtitle.icon": "#f5bde6", - "theme.bar.buttons.windowtitle.text": "#f5bde6", - "theme.bar.buttons.windowtitle.background": "#24273a", - "theme.bar.buttons.workspaces.active": "#f5bde6", - "theme.bar.buttons.workspaces.occupied": "#f0c6c6", - "theme.bar.buttons.workspaces.available": "#91d7e3", - "theme.bar.buttons.workspaces.hover": "#494d64", - "theme.bar.buttons.workspaces.background": "#24273a", - "theme.bar.buttons.dashboard.icon": "#eed49f", - "theme.bar.buttons.dashboard.background": "#24273a", - "theme.osd.label": "#b7bdf8", - "theme.osd.icon": "#181926", - "theme.osd.bar_overflow_color": "#ed8796", - "theme.osd.bar_empty_color": "#363a4f", - "theme.osd.bar_color": "#b7bdf8", - "theme.osd.icon_container": "#b7bdf8", - "theme.osd.bar_container": "#181926", - "theme.notification.close_button.label": "#181926", - "theme.notification.close_button.background": "#ed8796", - "theme.notification.labelicon": "#b7bdf8", - "theme.notification.text": "#cad3f5", - "theme.notification.time": "#8087a2", - "theme.notification.border": "#363a4f", - "theme.notification.label": "#b7bdf8", - "theme.notification.actions.text": "#181926", - "theme.notification.actions.background": "#b7bdf8", - "theme.notification.background": "#181926", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#181825", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#f5c2e7", - "theme.bar.menus.menu.media.card.color": "#1e2030", - "theme.bar.menus.check_radio_button.background": "#181826", - "theme.bar.menus.check_radio_button.active": "#b7bcf8", - "theme.bar.buttons.style": "default", - "theme.bar.menus.menu.notifications.pager.button": "#b7bdf8", - "theme.bar.menus.menu.notifications.scrollbar.color": "#b7bdf8", - "theme.bar.menus.menu.notifications.pager.label": "#939ab7", - "theme.bar.menus.menu.notifications.pager.background": "#181926", - "theme.bar.buttons.clock.icon_background": "#f5bde6", - "theme.bar.buttons.modules.ram.icon": "#eed49f", - "theme.bar.buttons.modules.storage.icon_background": "#ed8796", - "theme.bar.menus.popover.border": "#181926", - "theme.bar.buttons.volume.icon_background": "#ee99a0", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#91d7e3", - "theme.bar.menus.menu.power.buttons.restart.text": "#f5a97f", - "theme.bar.buttons.modules.updates.background": "#24273a", - "theme.bar.buttons.modules.storage.icon": "#ed8796", - "theme.bar.buttons.modules.netstat.background": "#24273a", - "theme.bar.buttons.modules.weather.icon": "#b7bdf8", - "theme.bar.buttons.modules.netstat.text": "#a6da95", - "theme.bar.buttons.modules.storage.background": "#24273a", - "theme.bar.buttons.modules.power.icon": "#ed8796", - "theme.bar.buttons.modules.storage.text": "#ed8796", - "theme.bar.buttons.modules.cpu.background": "#24273a", - "theme.bar.menus.menu.power.border.color": "#363a4f", - "theme.bar.buttons.network.icon_background": "#caa6f7", - "theme.bar.buttons.modules.power.icon_background": "#ed8796", - "theme.bar.menus.menu.power.buttons.logout.icon": "#181926", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#f5a97f", - "theme.bar.menus.menu.power.buttons.restart.icon": "#181926", - "theme.bar.buttons.modules.cpu.icon": "#ed8796", - "theme.bar.buttons.battery.icon_background": "#eed49f", - "theme.bar.buttons.modules.kbLayout.icon_background": "#91d7e3", - "theme.bar.buttons.modules.weather.text": "#b7bdf8", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#181926", - "theme.bar.menus.menu.power.buttons.sleep.text": "#91d7e3", - "theme.bar.buttons.modules.weather.icon_background": "#b7bdf8", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#1e2030", - "theme.bar.buttons.media.icon_background": "#b7bdf8", - "theme.bar.menus.menu.power.buttons.logout.background": "#1e2030", - "theme.bar.buttons.modules.kbLayout.icon": "#91d7e3", - "theme.bar.buttons.modules.ram.icon_background": "#eed49f", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#ed8796", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#ed8796", - "theme.bar.menus.menu.power.buttons.sleep.background": "#1e2030", - "theme.bar.buttons.modules.ram.text": "#eed49f", - "theme.bar.menus.menu.power.buttons.logout.text": "#a6da95", - "theme.bar.buttons.modules.updates.icon_background": "#c6a0f6", - "theme.bar.buttons.modules.kbLayout.background": "#24273a", - "theme.bar.buttons.modules.power.background": "#24273a", - "theme.bar.buttons.modules.weather.background": "#24273a", - "theme.bar.buttons.icon_background": "#24273a", - "theme.bar.menus.menu.power.background.color": "#181926", - "theme.bar.buttons.modules.ram.background": "#24273a", - "theme.bar.buttons.modules.netstat.icon": "#a6da95", - "theme.bar.buttons.windowtitle.icon_background": "#f5bde6", - "theme.bar.buttons.modules.cpu.icon_background": "#ed8796", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#a6da95", - "theme.bar.buttons.modules.updates.text": "#c6a0f6", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#181926", - "theme.bar.buttons.bluetooth.icon_background": "#89dbeb", - "theme.bar.menus.menu.power.buttons.restart.background": "#1e2030", - "theme.bar.buttons.modules.updates.icon": "#c6a0f6", - "theme.bar.buttons.modules.cpu.text": "#ed8796", - "theme.bar.buttons.modules.netstat.icon_background": "#a6da95", - "theme.bar.buttons.modules.kbLayout.text": "#91d7e3", - "theme.bar.buttons.notifications.icon_background": "#b7bdf8", - "theme.bar.buttons.modules.power.border": "#ed8796", - "theme.bar.buttons.modules.weather.border": "#b7bdf8", - "theme.bar.buttons.modules.updates.border": "#c6a0f6", - "theme.bar.buttons.modules.kbLayout.border": "#91d7e3", - "theme.bar.buttons.modules.netstat.border": "#a6da95", - "theme.bar.buttons.modules.storage.border": "#ed8796", - "theme.bar.buttons.modules.cpu.border": "#ed8796", - "theme.bar.buttons.modules.ram.border": "#eed49f", - "theme.bar.buttons.notifications.border": "#b7bdf8", - "theme.bar.buttons.clock.border": "#f5bde6", - "theme.bar.buttons.battery.border": "#eed49f", - "theme.bar.buttons.systray.border": "#494d64", - "theme.bar.buttons.bluetooth.border": "#91d7e3", - "theme.bar.buttons.network.border": "#c6a0f6", - "theme.bar.buttons.volume.border": "#ee99a0", - "theme.bar.buttons.media.border": "#b7bdf8", - "theme.bar.buttons.windowtitle.border": "#f5bde6", - "theme.bar.buttons.workspaces.border": "#181926", - "theme.bar.buttons.dashboard.border": "#eed49f", - "theme.bar.buttons.modules.submap.background": "#24273a", - "theme.bar.buttons.modules.submap.text": "#8bd5ca", - "theme.bar.buttons.modules.submap.border": "#8bd5ca", - "theme.bar.buttons.modules.submap.icon": "#8bd5ca", - "theme.bar.buttons.modules.submap.icon_background": "#24273a" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/catppuccin_macchiato_split.json b/ags/HyprPanel/themes/catppuccin_macchiato_split.json deleted file mode 100644 index d5602a8..0000000 --- a/ags/HyprPanel/themes/catppuccin_macchiato_split.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.background": "#181926", - "theme.bar.background": "#181926", - "theme.bar.buttons.media.icon": "#24273a", - "theme.bar.buttons.media.text": "#b7bdf8", - "theme.bar.buttons.icon": "#b7bdf8", - "theme.bar.buttons.text": "#b7bdf8", - "theme.bar.buttons.hover": "#494d64", - "theme.bar.buttons.background": "#24273a", - "theme.bar.menus.text": "#cad3f5", - "theme.bar.menus.border.color": "#363a4f", - "theme.bar.buttons.media.background": "#24273a", - "theme.bar.menus.menu.volume.text": "#cad3f5", - "theme.bar.menus.menu.volume.card.color": "#1e2030", - "theme.bar.menus.menu.volume.label.color": "#ee99a0", - "theme.bar.menus.popover.text": "#b7bdf8", - "theme.bar.menus.popover.background": "#181926", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#ed8796", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#ed8796", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#a6da95", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#181926", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#cad3f5", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#b7bdf8", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#363a4f", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#181926", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#1e2030", - "theme.bar.menus.menu.notifications.switch.puck": "#494d64", - "theme.bar.menus.menu.notifications.switch.disabled": "#363a4f", - "theme.bar.menus.menu.notifications.switch.enabled": "#b7bdf8", - "theme.bar.menus.menu.notifications.clear": "#ed8796", - "theme.bar.menus.menu.notifications.switch_divider": "#494d64", - "theme.bar.menus.menu.notifications.border": "#363a4f", - "theme.bar.menus.menu.notifications.card": "#1e2030", - "theme.bar.menus.menu.notifications.background": "#181926", - "theme.bar.menus.menu.notifications.no_notifications_label": "#363a4f", - "theme.bar.menus.menu.notifications.label": "#b7bdf8", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#f5bde6", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#f5bde6", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#f5bde6", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#a6da95", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#a6da95", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#a6da95", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#eed49f", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#eed49f", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#eed49f", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#ee99a0", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#ee99a0", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#ee99a0", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#494d64", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#b7bdf8", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#c6a0f6", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#8bd5ca", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#ee99a0", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#eed49f", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#f5bde6", - "theme.bar.menus.menu.dashboard.controls.input.text": "#181926", - "theme.bar.menus.menu.dashboard.controls.input.background": "#f5bde6", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#181926", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#ee99a0", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#181926", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#eed49f", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#181926", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#91d7e3", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#181926", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#c6a0f6", - "theme.bar.menus.menu.dashboard.controls.disabled": "#5b6078", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#a6da95", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#181926", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#b7bdf8", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#91d7e3", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#a6da95", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#f5a97f", - "theme.bar.menus.menu.dashboard.profile.name": "#f5bde6", - "theme.bar.menus.menu.dashboard.border.color": "#363a4f", - "theme.bar.menus.menu.dashboard.background.color": "#181926", - "theme.bar.menus.menu.dashboard.card.color": "#1e2030", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#f5bde6", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#f5bde6", - "theme.bar.menus.menu.clock.weather.hourly.time": "#f5bde6", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#91d7e3", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#8aadf4", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#b7bdf8", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#f5a97f", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#ed8796", - "theme.bar.menus.menu.clock.weather.stats": "#f5bde6", - "theme.bar.menus.menu.clock.weather.status": "#8bd5ca", - "theme.bar.menus.menu.clock.weather.temperature": "#cad3f5", - "theme.bar.menus.menu.clock.weather.icon": "#f5bde6", - "theme.bar.menus.menu.clock.calendar.contextdays": "#5b6078", - "theme.bar.menus.menu.clock.calendar.days": "#cad3f5", - "theme.bar.menus.menu.clock.calendar.currentday": "#f5bde6", - "theme.bar.menus.menu.clock.calendar.paginator": "#f5bde6", - "theme.bar.menus.menu.clock.calendar.weekdays": "#f5bde6", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#8bd5ca", - "theme.bar.menus.menu.clock.time.timeperiod": "#8bd5ca", - "theme.bar.menus.menu.clock.time.time": "#f5bde6", - "theme.bar.menus.menu.clock.text": "#cad3f5", - "theme.bar.menus.menu.clock.border.color": "#363a4f", - "theme.bar.menus.menu.clock.background.color": "#181926", - "theme.bar.menus.menu.clock.card.color": "#1e2030", - "theme.bar.menus.menu.battery.slider.puck": "#6e738d", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#494d64", - "theme.bar.menus.menu.battery.slider.background": "#5b6078", - "theme.bar.menus.menu.battery.slider.primary": "#eed49f", - "theme.bar.menus.menu.battery.icons.active": "#eed49f", - "theme.bar.menus.menu.battery.icons.passive": "#939ab7", - "theme.bar.menus.menu.battery.listitems.active": "#eed49f", - "theme.bar.menus.menu.battery.listitems.passive": "#cad3f5", - "theme.bar.menus.menu.battery.text": "#cad3f5", - "theme.bar.menus.menu.battery.label.color": "#eed49f", - "theme.bar.menus.menu.battery.border.color": "#363a4f", - "theme.bar.menus.menu.battery.background.color": "#181926", - "theme.bar.menus.menu.battery.card.color": "#1e2030", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#1e2030", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#cad3f5", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#181926", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#91d7e3", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#cad3f5", - "theme.bar.menus.menu.bluetooth.icons.active": "#91d7e3", - "theme.bar.menus.menu.bluetooth.icons.passive": "#939ab7", - "theme.bar.menus.menu.bluetooth.listitems.active": "#91d7e3", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#cad3f5", - "theme.bar.menus.menu.bluetooth.switch.puck": "#494d64", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#363a4f", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#91d7e3", - "theme.bar.menus.menu.bluetooth.switch_divider": "#494d64", - "theme.bar.menus.menu.bluetooth.status": "#6e738d", - "theme.bar.menus.menu.bluetooth.text": "#cad3f5", - "theme.bar.menus.menu.bluetooth.label.color": "#91d7e3", - "theme.bar.menus.menu.bluetooth.border.color": "#363a4f", - "theme.bar.menus.menu.bluetooth.background.color": "#181926", - "theme.bar.menus.menu.bluetooth.card.color": "#1e2030", - "theme.bar.menus.menu.network.iconbuttons.active": "#c6a0f6", - "theme.bar.menus.menu.network.iconbuttons.passive": "#cad3f5", - "theme.bar.menus.menu.network.icons.active": "#c6a0f6", - "theme.bar.menus.menu.network.icons.passive": "#939ab7", - "theme.bar.menus.menu.network.listitems.active": "#c6a0f6", - "theme.bar.menus.menu.network.listitems.passive": "#cad3f5", - "theme.bar.menus.menu.network.status.color": "#6e738d", - "theme.bar.menus.menu.network.text": "#cad3f5", - "theme.bar.menus.menu.network.label.color": "#c6a0f6", - "theme.bar.menus.menu.network.border.color": "#363a4f", - "theme.bar.menus.menu.network.background.color": "#181926", - "theme.bar.menus.menu.network.card.color": "#1e2030", - "theme.bar.menus.menu.volume.input_slider.puck": "#5b6078", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#494d64", - "theme.bar.menus.menu.volume.input_slider.background": "#5b6078", - "theme.bar.menus.menu.volume.input_slider.primary": "#ee99a0", - "theme.bar.menus.menu.volume.audio_slider.puck": "#5b6078", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#494d64", - "theme.bar.menus.menu.volume.audio_slider.background": "#5b6078", - "theme.bar.menus.menu.volume.audio_slider.primary": "#ee99a0", - "theme.bar.menus.menu.volume.icons.active": "#ee99a0", - "theme.bar.menus.menu.volume.icons.passive": "#939ab7", - "theme.bar.menus.menu.volume.iconbutton.active": "#ee99a0", - "theme.bar.menus.menu.volume.iconbutton.passive": "#cad3f5", - "theme.bar.menus.menu.volume.listitems.active": "#ee99a0", - "theme.bar.menus.menu.volume.listitems.passive": "#cad3f5", - "theme.bar.menus.menu.volume.border.color": "#363a4f", - "theme.bar.menus.menu.volume.background.color": "#181926", - "theme.bar.menus.menu.media.slider.puck": "#6e738d", - "theme.bar.menus.menu.media.slider.backgroundhover": "#494d64", - "theme.bar.menus.menu.media.slider.background": "#5b6078", - "theme.bar.menus.menu.media.slider.primary": "#f5bde6", - "theme.bar.menus.menu.media.buttons.text": "#181926", - "theme.bar.menus.menu.media.buttons.background": "#b7bdf8", - "theme.bar.menus.menu.media.buttons.enabled": "#8bd5ca", - "theme.bar.menus.menu.media.buttons.inactive": "#5b6078", - "theme.bar.menus.menu.media.border.color": "#363a4f", - "theme.bar.menus.menu.media.background.color": "#181926", - "theme.bar.menus.menu.media.album": "#f5bde6", - "theme.bar.menus.menu.media.artist": "#8bd5ca", - "theme.bar.menus.menu.media.song": "#b7bdf8", - "theme.bar.menus.tooltip.text": "#cad3f5", - "theme.bar.menus.tooltip.background": "#181926", - "theme.bar.menus.dropdownmenu.divider": "#1e2030", - "theme.bar.menus.dropdownmenu.text": "#cad3f5", - "theme.bar.menus.dropdownmenu.background": "#181926", - "theme.bar.menus.slider.puck": "#6e738d", - "theme.bar.menus.slider.backgroundhover": "#494d64", - "theme.bar.menus.slider.background": "#5b6078", - "theme.bar.menus.slider.primary": "#b7bdf8", - "theme.bar.menus.progressbar.background": "#494d64", - "theme.bar.menus.progressbar.foreground": "#b7bdf8", - "theme.bar.menus.iconbuttons.active": "#b7bdf8", - "theme.bar.menus.iconbuttons.passive": "#cad3f5", - "theme.bar.menus.buttons.text": "#181926", - "theme.bar.menus.buttons.disabled": "#5b6078", - "theme.bar.menus.buttons.active": "#f5bde6", - "theme.bar.menus.buttons.default": "#b7bdf8", - "theme.bar.menus.switch.puck": "#494d64", - "theme.bar.menus.switch.disabled": "#363a4f", - "theme.bar.menus.switch.enabled": "#b7bdf8", - "theme.bar.menus.icons.active": "#b7bdf8", - "theme.bar.menus.icons.passive": "#5b6078", - "theme.bar.menus.listitems.active": "#b7bdf8", - "theme.bar.menus.listitems.passive": "#cad3f5", - "theme.bar.menus.label": "#b7bdf8", - "theme.bar.menus.feinttext": "#363a4f", - "theme.bar.menus.dimtext": "#5b6078", - "theme.bar.menus.cards": "#1e2030", - "theme.bar.buttons.notifications.total": "#b7bdf8", - "theme.bar.buttons.notifications.icon": "#24273a", - "theme.bar.buttons.notifications.background": "#24273a", - "theme.bar.buttons.clock.icon": "#24273a", - "theme.bar.buttons.clock.text": "#f5bde6", - "theme.bar.buttons.clock.background": "#24273a", - "theme.bar.buttons.battery.icon": "#24273a", - "theme.bar.buttons.battery.text": "#eed49f", - "theme.bar.buttons.battery.background": "#24273a", - "theme.bar.buttons.systray.background": "#24273a", - "theme.bar.buttons.bluetooth.icon": "#24273a", - "theme.bar.buttons.bluetooth.text": "#91d7e3", - "theme.bar.buttons.bluetooth.background": "#24273a", - "theme.bar.buttons.network.icon": "#24273a", - "theme.bar.buttons.network.text": "#c6a0f6", - "theme.bar.buttons.network.background": "#24273a", - "theme.bar.buttons.volume.icon": "#24273a", - "theme.bar.buttons.volume.text": "#ee99a0", - "theme.bar.buttons.volume.background": "#24273a", - "theme.bar.buttons.windowtitle.icon": "#24273a", - "theme.bar.buttons.windowtitle.text": "#f5bde6", - "theme.bar.buttons.windowtitle.background": "#24273a", - "theme.bar.buttons.workspaces.active": "#f5bde6", - "theme.bar.buttons.workspaces.occupied": "#f0c6c6", - "theme.bar.buttons.workspaces.available": "#91d7e3", - "theme.bar.buttons.workspaces.hover": "#494d64", - "theme.bar.buttons.workspaces.background": "#24273a", - "theme.bar.buttons.dashboard.icon": "#24273a", - "theme.bar.buttons.dashboard.background": "#eed49f", - "theme.osd.label": "#b7bdf8", - "theme.osd.icon": "#181926", - "theme.osd.bar_overflow_color": "#ed8796", - "theme.osd.bar_empty_color": "#363a4f", - "theme.osd.bar_color": "#b7bdf8", - "theme.osd.icon_container": "#b7bdf8", - "theme.osd.bar_container": "#181926", - "theme.notification.close_button.label": "#181926", - "theme.notification.close_button.background": "#ed8796", - "theme.notification.labelicon": "#b7bdf8", - "theme.notification.text": "#cad3f5", - "theme.notification.time": "#8087a2", - "theme.notification.border": "#363a4f", - "theme.notification.label": "#b7bdf8", - "theme.notification.actions.text": "#181926", - "theme.notification.actions.background": "#b7bdf8", - "theme.notification.background": "#181926", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#181825", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#f5c2e7", - "theme.bar.menus.menu.media.card.color": "#1e2030", - "theme.bar.menus.check_radio_button.background": "#181826", - "theme.bar.menus.check_radio_button.active": "#b7bcf8", - "theme.bar.buttons.style": "split", - "theme.bar.buttons.icon_background": "#242438", - "theme.bar.buttons.volume.icon_background": "#ee999f", - "theme.bar.buttons.network.icon_background": "#c5a0f6", - "theme.bar.buttons.bluetooth.icon_background": "#91d7e3", - "theme.bar.buttons.windowtitle.icon_background": "#f5bde6", - "theme.bar.buttons.media.icon_background": "#b7bcf8", - "theme.bar.buttons.notifications.icon_background": "#b7bcf8", - "theme.bar.buttons.battery.icon_background": "#eed49f", - "theme.bar.buttons.clock.icon_background": "#f5bde6", - "theme.bar.menus.menu.notifications.pager.button": "#b7bdf8", - "theme.bar.menus.menu.notifications.scrollbar.color": "#b7bdf8", - "theme.bar.menus.menu.notifications.pager.label": "#939ab7", - "theme.bar.menus.menu.notifications.pager.background": "#181926", - "theme.bar.buttons.modules.ram.icon": "#181825", - "theme.bar.buttons.modules.storage.icon_background": "#ed8796", - "theme.bar.menus.popover.border": "#181926", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#91d7e3", - "theme.bar.menus.menu.power.buttons.restart.text": "#f5a97f", - "theme.bar.buttons.modules.updates.background": "#24273a", - "theme.bar.buttons.modules.storage.icon": "#181825", - "theme.bar.buttons.modules.netstat.background": "#24273a", - "theme.bar.buttons.modules.weather.icon": "#24273a", - "theme.bar.buttons.modules.netstat.text": "#a6da95", - "theme.bar.buttons.modules.storage.background": "#24273a", - "theme.bar.buttons.modules.power.icon": "#181825", - "theme.bar.buttons.modules.storage.text": "#ed8796", - "theme.bar.buttons.modules.cpu.background": "#24273a", - "theme.bar.menus.menu.power.border.color": "#363a4f", - "theme.bar.buttons.modules.power.icon_background": "#ed8796", - "theme.bar.menus.menu.power.buttons.logout.icon": "#181926", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#f5a97f", - "theme.bar.menus.menu.power.buttons.restart.icon": "#181926", - "theme.bar.buttons.modules.cpu.icon": "#181825", - "theme.bar.buttons.modules.kbLayout.icon_background": "#91d7e3", - "theme.bar.buttons.modules.weather.text": "#b7bdf8", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#181926", - "theme.bar.menus.menu.power.buttons.sleep.text": "#91d7e3", - "theme.bar.buttons.modules.weather.icon_background": "#b7bdf8", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#1e2030", - "theme.bar.menus.menu.power.buttons.logout.background": "#1e2030", - "theme.bar.buttons.modules.kbLayout.icon": "#181825", - "theme.bar.buttons.modules.ram.icon_background": "#eed49f", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#ed8796", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#ed8796", - "theme.bar.menus.menu.power.buttons.sleep.background": "#1e2030", - "theme.bar.buttons.modules.ram.text": "#eed49f", - "theme.bar.menus.menu.power.buttons.logout.text": "#a6da95", - "theme.bar.buttons.modules.updates.icon_background": "#c6a0f6", - "theme.bar.buttons.modules.kbLayout.background": "#24273a", - "theme.bar.buttons.modules.power.background": "#24273a", - "theme.bar.buttons.modules.weather.background": "#24273a", - "theme.bar.menus.menu.power.background.color": "#181926", - "theme.bar.buttons.modules.ram.background": "#24273a", - "theme.bar.buttons.modules.netstat.icon": "#181825", - "theme.bar.buttons.modules.cpu.icon_background": "#ed8796", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#a6da95", - "theme.bar.buttons.modules.updates.text": "#c6a0f6", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#181926", - "theme.bar.menus.menu.power.buttons.restart.background": "#1e2030", - "theme.bar.buttons.modules.updates.icon": "#181825", - "theme.bar.buttons.modules.cpu.text": "#ed8796", - "theme.bar.buttons.modules.netstat.icon_background": "#a6da95", - "theme.bar.buttons.modules.kbLayout.text": "#91d7e3", - "theme.bar.buttons.modules.power.border": "#ed8796", - "theme.bar.buttons.modules.weather.border": "#b7bdf8", - "theme.bar.buttons.modules.updates.border": "#c6a0f6", - "theme.bar.buttons.modules.kbLayout.border": "#91d7e3", - "theme.bar.buttons.modules.netstat.border": "#a6da95", - "theme.bar.buttons.modules.storage.border": "#ed8796", - "theme.bar.buttons.modules.cpu.border": "#ed8796", - "theme.bar.buttons.modules.ram.border": "#eed49f", - "theme.bar.buttons.notifications.border": "#b7bdf8", - "theme.bar.buttons.clock.border": "#f5bde6", - "theme.bar.buttons.battery.border": "#eed49f", - "theme.bar.buttons.systray.border": "#494d64", - "theme.bar.buttons.bluetooth.border": "#91d7e3", - "theme.bar.buttons.network.border": "#c6a0f6", - "theme.bar.buttons.volume.border": "#ee99a0", - "theme.bar.buttons.media.border": "#b7bdf8", - "theme.bar.buttons.windowtitle.border": "#f5bde6", - "theme.bar.buttons.workspaces.border": "#181926", - "theme.bar.buttons.dashboard.border": "#eed49f", - "theme.bar.buttons.modules.submap.background": "#24273a", - "theme.bar.buttons.modules.submap.text": "#8bd5ca", - "theme.bar.buttons.modules.submap.border": "#8bd5ca", - "theme.bar.buttons.modules.submap.icon": "#181825", - "theme.bar.buttons.modules.submap.icon_background": "#8bd5ca" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/catppuccin_mocha.json b/ags/HyprPanel/themes/catppuccin_mocha.json deleted file mode 100644 index 3290501..0000000 --- a/ags/HyprPanel/themes/catppuccin_mocha.json +++ /dev/null @@ -1,342 +0,0 @@ -{ - "theme.bar.menus.menu.notifications.scrollbar.color": "#b4befe", - "theme.bar.menus.menu.notifications.pager.label": "#9399b2", - "theme.bar.menus.menu.notifications.pager.button": "#b4befe", - "theme.bar.menus.menu.notifications.pager.background": "#11111b", - "theme.bar.menus.menu.notifications.switch.puck": "#454759", - "theme.bar.menus.menu.notifications.switch.disabled": "#313245", - "theme.bar.menus.menu.notifications.switch.enabled": "#b4befe", - "theme.bar.menus.menu.notifications.clear": "#f38ba8", - "theme.bar.menus.menu.notifications.switch_divider": "#45475a", - "theme.bar.menus.menu.notifications.border": "#313244", - "theme.bar.menus.menu.notifications.card": "#1e1e2e", - "theme.bar.menus.menu.notifications.background": "#11111b", - "theme.bar.menus.menu.notifications.no_notifications_label": "#313244", - "theme.bar.menus.menu.notifications.label": "#b4befe", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#181824", - "theme.bar.menus.menu.power.buttons.sleep.text": "#89dceb", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#89dceb", - "theme.bar.menus.menu.power.buttons.sleep.background": "#1e1e2e", - "theme.bar.menus.menu.power.buttons.logout.icon": "#181824", - "theme.bar.menus.menu.power.buttons.logout.text": "#a6e3a1", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#a6e3a1", - "theme.bar.menus.menu.power.buttons.logout.background": "#1e1e2e", - "theme.bar.menus.menu.power.buttons.restart.icon": "#181824", - "theme.bar.menus.menu.power.buttons.restart.text": "#fab387", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#fab387", - "theme.bar.menus.menu.power.buttons.restart.background": "#1e1e2e", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#181824", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#f38ba8", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#f38ba7", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#1e1e2e", - "theme.bar.menus.menu.power.border.color": "#313244", - "theme.bar.menus.menu.power.background.color": "#11111b", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#f5c2e7", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#f5c2e8", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#f5c2e7", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#a6e3a1", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#a6e3a2", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#a6e3a1", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#f9e2af", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#f9e2ae", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#f9e2af", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#eba0ac", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#eba0ad", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#eba0ac", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#45475a", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#b4befe", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#cba6f7", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#94e2d5", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#eba0ac", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#f9e2af", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#f5c2e7", - "theme.bar.menus.menu.dashboard.controls.input.text": "#181824", - "theme.bar.menus.menu.dashboard.controls.input.background": "#f5c2e7", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#181824", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#eba0ac", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#181824", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#f9e2af", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#181824", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#89dceb", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#181824", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#cba6f7", - "theme.bar.menus.menu.dashboard.controls.disabled": "#585b70", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#a6e3a1", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#181824", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#b4befe", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#11111a", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#f38ba8", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#a6e3a1", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#cdd6f4", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#b4befe", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#313244", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#11111b", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#1e1e2e", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#89dceb", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#a6e3a1", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#fab387", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#f38ba8", - "theme.bar.menus.menu.dashboard.profile.name": "#f5c2e7", - "theme.bar.menus.menu.dashboard.border.color": "#313244", - "theme.bar.menus.menu.dashboard.background.color": "#11111b", - "theme.bar.menus.menu.dashboard.card.color": "#1e1e2e", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#f5c2e7", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#f5c2e7", - "theme.bar.menus.menu.clock.weather.hourly.time": "#f5c2e7", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#89dceb", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#89b4fa", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#b4befe", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#fab387", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#f38ba8", - "theme.bar.menus.menu.clock.weather.stats": "#f5c2e7", - "theme.bar.menus.menu.clock.weather.status": "#94e2d5", - "theme.bar.menus.menu.clock.weather.temperature": "#cdd6f4", - "theme.bar.menus.menu.clock.weather.icon": "#f5c2e7", - "theme.bar.menus.menu.clock.calendar.contextdays": "#585b70", - "theme.bar.menus.menu.clock.calendar.days": "#cdd6f4", - "theme.bar.menus.menu.clock.calendar.currentday": "#f5c2e7", - "theme.bar.menus.menu.clock.calendar.paginator": "#f5c2e6", - "theme.bar.menus.menu.clock.calendar.weekdays": "#f5c2e7", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#94e2d5", - "theme.bar.menus.menu.clock.time.timeperiod": "#94e2d5", - "theme.bar.menus.menu.clock.time.time": "#f5c2e7", - "theme.bar.menus.menu.clock.text": "#cdd6f4", - "theme.bar.menus.menu.clock.border.color": "#313244", - "theme.bar.menus.menu.clock.background.color": "#11111b", - "theme.bar.menus.menu.clock.card.color": "#1e1e2e", - "theme.bar.menus.menu.battery.slider.puck": "#6c7086", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#45475a", - "theme.bar.menus.menu.battery.slider.background": "#585b71", - "theme.bar.menus.menu.battery.slider.primary": "#f9e2af", - "theme.bar.menus.menu.battery.icons.active": "#f9e2af", - "theme.bar.menus.menu.battery.icons.passive": "#9399b2", - "theme.bar.menus.menu.battery.listitems.active": "#f9e2af", - "theme.bar.menus.menu.battery.listitems.passive": "#cdd6f3", - "theme.bar.menus.menu.battery.text": "#cdd6f4", - "theme.bar.menus.menu.battery.label.color": "#f9e2af", - "theme.bar.menus.menu.battery.border.color": "#313244", - "theme.bar.menus.menu.battery.background.color": "#11111b", - "theme.bar.menus.menu.battery.card.color": "#1e1e2e", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#1e1e2e", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#cdd6f4", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#11111b", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#89dceb", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#cdd6f4", - "theme.bar.menus.menu.bluetooth.icons.active": "#89dceb", - "theme.bar.menus.menu.bluetooth.icons.passive": "#9399b2", - "theme.bar.menus.menu.bluetooth.listitems.active": "#89dcea", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#cdd6f4", - "theme.bar.menus.menu.bluetooth.switch.puck": "#454759", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#313245", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#89dceb", - "theme.bar.menus.menu.bluetooth.switch_divider": "#45475a", - "theme.bar.menus.menu.bluetooth.status": "#6c7086", - "theme.bar.menus.menu.bluetooth.text": "#cdd6f4", - "theme.bar.menus.menu.bluetooth.label.color": "#89dceb", - "theme.bar.menus.menu.bluetooth.border.color": "#313244", - "theme.bar.menus.menu.bluetooth.background.color": "#11111b", - "theme.bar.menus.menu.bluetooth.card.color": "#1e1e2e", - "theme.bar.menus.menu.network.iconbuttons.active": "#cba6f7", - "theme.bar.menus.menu.network.iconbuttons.passive": "#cdd6f4", - "theme.bar.menus.menu.network.icons.active": "#cba6f7", - "theme.bar.menus.menu.network.icons.passive": "#9399b2", - "theme.bar.menus.menu.network.listitems.active": "#cba6f6", - "theme.bar.menus.menu.network.listitems.passive": "#cdd6f4", - "theme.bar.menus.menu.network.status.color": "#6c7086", - "theme.bar.menus.menu.network.text": "#cdd6f4", - "theme.bar.menus.menu.network.label.color": "#cba6f7", - "theme.bar.menus.menu.network.border.color": "#313244", - "theme.bar.menus.menu.network.background.color": "#11111b", - "theme.bar.menus.menu.network.card.color": "#1e1e2e", - "theme.bar.menus.menu.volume.input_slider.puck": "#585b70", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#45475a", - "theme.bar.menus.menu.volume.input_slider.background": "#585b71", - "theme.bar.menus.menu.volume.input_slider.primary": "#eba0ac", - "theme.bar.menus.menu.volume.audio_slider.puck": "#585b70", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#45475a", - "theme.bar.menus.menu.volume.audio_slider.background": "#585b71", - "theme.bar.menus.menu.volume.audio_slider.primary": "#eba0ac", - "theme.bar.menus.menu.volume.icons.active": "#eba0ac", - "theme.bar.menus.menu.volume.icons.passive": "#9399b2", - "theme.bar.menus.menu.volume.iconbutton.active": "#eba0ac", - "theme.bar.menus.menu.volume.iconbutton.passive": "#cdd6f4", - "theme.bar.menus.menu.volume.listitems.active": "#eba0ab", - "theme.bar.menus.menu.volume.listitems.passive": "#cdd6f4", - "theme.bar.menus.menu.volume.text": "#cdd6f4", - "theme.bar.menus.menu.volume.label.color": "#eba0ac", - "theme.bar.menus.menu.volume.border.color": "#313244", - "theme.bar.menus.menu.volume.background.color": "#11111b", - "theme.bar.menus.menu.volume.card.color": "#1e1e2e", - "theme.bar.menus.menu.media.slider.puck": "#6c7086", - "theme.bar.menus.menu.media.slider.backgroundhover": "#45475a", - "theme.bar.menus.menu.media.slider.background": "#585b71", - "theme.bar.menus.menu.media.slider.primary": "#f5c2e7", - "theme.bar.menus.menu.media.buttons.text": "#11111b", - "theme.bar.menus.menu.media.buttons.background": "#b4beff", - "theme.bar.menus.menu.media.buttons.enabled": "#94e2d4", - "theme.bar.menus.menu.media.buttons.inactive": "#585b70", - "theme.bar.menus.menu.media.border.color": "#313244", - "theme.bar.menus.menu.media.card.color": "#1e1e2e", - "theme.bar.menus.menu.media.background.color": "#11111b", - "theme.bar.menus.menu.media.album": "#f5c2e8", - "theme.bar.menus.menu.media.artist": "#94e2d6", - "theme.bar.menus.menu.media.song": "#b4beff", - "theme.bar.menus.tooltip.text": "#cdd6f4", - "theme.bar.menus.tooltip.background": "#11111b", - "theme.bar.menus.dropdownmenu.divider": "#1e1e2e", - "theme.bar.menus.dropdownmenu.text": "#cdd6f4", - "theme.bar.menus.dropdownmenu.background": "#11111b", - "theme.bar.menus.slider.puck": "#6c7086", - "theme.bar.menus.slider.backgroundhover": "#45475a", - "theme.bar.menus.slider.background": "#585b71", - "theme.bar.menus.slider.primary": "#b4befe", - "theme.bar.menus.progressbar.background": "#45475a", - "theme.bar.menus.progressbar.foreground": "#b4befe", - "theme.bar.menus.iconbuttons.active": "#b4beff", - "theme.bar.menus.iconbuttons.passive": "#cdd6f3", - "theme.bar.menus.buttons.text": "#181824", - "theme.bar.menus.buttons.disabled": "#585b71", - "theme.bar.menus.buttons.active": "#f5c2e6", - "theme.bar.menus.buttons.default": "#b4befe", - "theme.bar.menus.check_radio_button.active": "#b4beff", - "theme.bar.menus.check_radio_button.background": "#45475a", - "theme.bar.menus.switch.puck": "#454759", - "theme.bar.menus.switch.disabled": "#313245", - "theme.bar.menus.switch.enabled": "#b4befe", - "theme.bar.menus.icons.active": "#b4befe", - "theme.bar.menus.icons.passive": "#585b70", - "theme.bar.menus.listitems.active": "#b4befd", - "theme.bar.menus.listitems.passive": "#cdd6f4", - "theme.bar.menus.popover.border": "#181824", - "theme.bar.menus.popover.background": "#181824", - "theme.bar.menus.popover.text": "#b4befe", - "theme.bar.menus.label": "#b4befe", - "theme.bar.menus.feinttext": "#313244", - "theme.bar.menus.dimtext": "#585b70", - "theme.bar.menus.text": "#cdd6f4", - "theme.bar.menus.border.color": "#313244", - "theme.bar.menus.cards": "#1e1e2e", - "theme.bar.menus.background": "#11111b", - "theme.bar.buttons.modules.power.icon_background": "#f38ba8", - "theme.bar.buttons.modules.power.icon": "#f38ba8", - "theme.bar.buttons.modules.power.background": "#242438", - "theme.bar.buttons.modules.power.border": "#f38ba8", - "theme.bar.buttons.modules.weather.icon_background": "#b4befe", - "theme.bar.buttons.modules.weather.icon": "#b4befe", - "theme.bar.buttons.modules.weather.text": "#b4befe", - "theme.bar.buttons.modules.weather.background": "#242438", - "theme.bar.buttons.modules.weather.border": "#b4befe", - "theme.bar.buttons.modules.updates.icon_background": "#cba6f7", - "theme.bar.buttons.modules.updates.icon": "#cba6f7", - "theme.bar.buttons.modules.updates.text": "#cba6f7", - "theme.bar.buttons.modules.updates.background": "#242438", - "theme.bar.buttons.modules.updates.border": "#cba6f7", - "theme.bar.buttons.modules.kbLayout.icon_background": "#89dceb", - "theme.bar.buttons.modules.kbLayout.icon": "#89dceb", - "theme.bar.buttons.modules.kbLayout.text": "#89dceb", - "theme.bar.buttons.modules.kbLayout.background": "#242438", - "theme.bar.buttons.modules.kbLayout.border": "#89dceb", - "theme.bar.buttons.modules.netstat.icon_background": "#a6e3a1", - "theme.bar.buttons.modules.netstat.icon": "#a6e3a1", - "theme.bar.buttons.modules.netstat.text": "#a6e3a1", - "theme.bar.buttons.modules.netstat.background": "#242438", - "theme.bar.buttons.modules.netstat.border": "#a6e3a1", - "theme.bar.buttons.modules.storage.icon_background": "#f5c2e7", - "theme.bar.buttons.modules.storage.icon": "#f5c2e7", - "theme.bar.buttons.modules.storage.text": "#f5c2e7", - "theme.bar.buttons.modules.storage.background": "#242438", - "theme.bar.buttons.modules.storage.border": "#f5c2e7", - "theme.bar.buttons.modules.cpu.icon_background": "#f38ba8", - "theme.bar.buttons.modules.cpu.icon": "#f38ba8", - "theme.bar.buttons.modules.cpu.text": "#f38ba8", - "theme.bar.buttons.modules.cpu.background": "#242438", - "theme.bar.buttons.modules.cpu.border": "#f38ba8", - "theme.bar.buttons.modules.ram.icon_background": "#f9e2af", - "theme.bar.buttons.modules.ram.icon": "#f9e2af", - "theme.bar.buttons.modules.ram.text": "#f9e2af", - "theme.bar.buttons.modules.ram.background": "#242438", - "theme.bar.buttons.modules.ram.border": "#f9e2af", - "theme.bar.buttons.notifications.total": "#b4befe", - "theme.bar.buttons.notifications.icon_background": "#b4befe", - "theme.bar.buttons.notifications.icon": "#b4befe", - "theme.bar.buttons.notifications.background": "#242438", - "theme.bar.buttons.notifications.border": "#b4befe", - "theme.bar.buttons.clock.icon_background": "#f5c2e7", - "theme.bar.buttons.clock.icon": "#f5c2e7", - "theme.bar.buttons.clock.text": "#f5c2e7", - "theme.bar.buttons.clock.background": "#242438", - "theme.bar.buttons.clock.border": "#f5c2e7", - "theme.bar.buttons.battery.icon_background": "#f9e2af", - "theme.bar.buttons.battery.icon": "#f9e2af", - "theme.bar.buttons.battery.text": "#f9e2af", - "theme.bar.buttons.battery.background": "#242438", - "theme.bar.buttons.battery.border": "#f9e2af", - "theme.bar.buttons.systray.background": "#242438", - "theme.bar.buttons.systray.border": "#b4befe", - "theme.bar.buttons.bluetooth.icon_background": "#89dbeb", - "theme.bar.buttons.bluetooth.icon": "#89dceb", - "theme.bar.buttons.bluetooth.text": "#89dceb", - "theme.bar.buttons.bluetooth.background": "#242438", - "theme.bar.buttons.bluetooth.border": "#89dceb", - "theme.bar.buttons.network.icon_background": "#caa6f7", - "theme.bar.buttons.network.icon": "#cba6f7", - "theme.bar.buttons.network.text": "#cba6f7", - "theme.bar.buttons.network.background": "#242438", - "theme.bar.buttons.network.border": "#cba6f7", - "theme.bar.buttons.volume.icon_background": "#eba0ac", - "theme.bar.buttons.volume.icon": "#eba0ac", - "theme.bar.buttons.volume.text": "#eba0ac", - "theme.bar.buttons.volume.background": "#242438", - "theme.bar.buttons.volume.border": "#eba0ac", - "theme.bar.buttons.media.icon_background": "#b4befe", - "theme.bar.buttons.media.icon": "#b4befe", - "theme.bar.buttons.media.text": "#b4befe", - "theme.bar.buttons.media.background": "#242438", - "theme.bar.buttons.media.border": "#b4befe", - "theme.bar.buttons.windowtitle.icon_background": "#f5c2e7", - "theme.bar.buttons.windowtitle.icon": "#f5c2e7", - "theme.bar.buttons.windowtitle.text": "#f5c2e7", - "theme.bar.buttons.windowtitle.border": "#f5c2e7", - "theme.bar.buttons.windowtitle.background": "#242438", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#f5c2e7", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#181825", - "theme.bar.buttons.workspaces.hover": "#f5c2e7", - "theme.bar.buttons.workspaces.active": "#f5c2e7", - "theme.bar.buttons.workspaces.occupied": "#f2cdcd", - "theme.bar.buttons.workspaces.available": "#89dceb", - "theme.bar.buttons.workspaces.border": "#f5c2e7", - "theme.bar.buttons.workspaces.background": "#242438", - "theme.bar.buttons.dashboard.icon": "#f9e2af", - "theme.bar.buttons.dashboard.border": "#f9e2af", - "theme.bar.buttons.dashboard.background": "#242438", - "theme.bar.buttons.icon": "#b4befe", - "theme.bar.buttons.text": "#b4befe", - "theme.bar.buttons.hover": "#45475a", - "theme.bar.buttons.icon_background": "#242438", - "theme.bar.buttons.background": "#242438", - "theme.bar.buttons.style": "default", - "theme.bar.background": "#11111b", - "theme.osd.label": "#b4beff", - "theme.osd.icon": "#11111b", - "theme.osd.bar_overflow_color": "#f38ba7", - "theme.osd.bar_empty_color": "#313244", - "theme.osd.bar_color": "#b4beff", - "theme.osd.icon_container": "#b4beff", - "theme.osd.bar_container": "#11111b", - "theme.notification.close_button.label": "#11111b", - "theme.notification.close_button.background": "#f38ba7", - "theme.notification.labelicon": "#b4befe", - "theme.notification.text": "#cdd6f4", - "theme.notification.time": "#7f849b", - "theme.notification.border": "#313243", - "theme.notification.label": "#b4befe", - "theme.notification.actions.text": "#181825", - "theme.notification.actions.background": "#b4befd", - "theme.notification.background": "#181826", - "theme.bar.buttons.modules.submap.icon": "#94e2d5", - "theme.bar.buttons.modules.submap.background": "#242438", - "theme.bar.buttons.modules.submap.icon_background": "#242438", - "theme.bar.buttons.modules.submap.text": "#94e2d5", - "theme.bar.buttons.modules.submap.border": "#94e2d5" -} - diff --git a/ags/HyprPanel/themes/catppuccin_mocha_split.json b/ags/HyprPanel/themes/catppuccin_mocha_split.json deleted file mode 100644 index 3211324..0000000 --- a/ags/HyprPanel/themes/catppuccin_mocha_split.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.background": "#11111b", - "theme.bar.background": "#11111b", - "theme.bar.buttons.media.icon": "#1e1e2e", - "theme.bar.buttons.media.text": "#b4befe", - "theme.bar.buttons.icon": "#b4befe", - "theme.bar.buttons.text": "#b4befe", - "theme.bar.buttons.hover": "#45475a", - "theme.bar.buttons.background": "#242438", - "theme.bar.menus.text": "#cdd6f4", - "theme.bar.menus.border.color": "#313244", - "theme.bar.buttons.media.background": "#242438", - "theme.bar.menus.menu.volume.text": "#cdd6f4", - "theme.bar.menus.menu.volume.card.color": "#1e1e2e", - "theme.bar.menus.menu.volume.label.color": "#eba0ac", - "theme.bar.menus.popover.text": "#b4befe", - "theme.bar.menus.popover.background": "#181824", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#f38ba8", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#f38ba8", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#a6e3a1", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#11111a", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#cdd6f4", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#b4befe", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#313244", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#11111b", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#1e1e2e", - "theme.bar.menus.menu.notifications.switch.puck": "#454759", - "theme.bar.menus.menu.notifications.switch.disabled": "#313245", - "theme.bar.menus.menu.notifications.switch.enabled": "#b4befe", - "theme.bar.menus.menu.notifications.clear": "#f38ba8", - "theme.bar.menus.menu.notifications.switch_divider": "#45475a", - "theme.bar.menus.menu.notifications.border": "#313244", - "theme.bar.menus.menu.notifications.card": "#1e1e2e", - "theme.bar.menus.menu.notifications.background": "#11111b", - "theme.bar.menus.menu.notifications.no_notifications_label": "#313244", - "theme.bar.menus.menu.notifications.label": "#b4befe", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#f5c2e7", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#f5c2e8", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#f5c2e7", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#a6e3a1", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#a6e3a2", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#a6e3a1", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#f9e2af", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#f9e2ae", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#f9e2af", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#eba0ac", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#eba0ad", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#eba0ac", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#45475a", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#b4befe", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#cba6f7", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#94e2d5", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#eba0ac", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#f9e2af", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#f5c2e7", - "theme.bar.menus.menu.dashboard.controls.input.text": "#181824", - "theme.bar.menus.menu.dashboard.controls.input.background": "#f5c2e7", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#181824", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#eba0ac", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#181824", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#f9e2af", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#181824", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#89dceb", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#181824", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#cba6f7", - "theme.bar.menus.menu.dashboard.controls.disabled": "#585b70", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#a6e3a1", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#181824", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#b4befe", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#89dceb", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#a6e3a1", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#fab387", - "theme.bar.menus.menu.dashboard.profile.name": "#f5c2e7", - "theme.bar.menus.menu.dashboard.border.color": "#313244", - "theme.bar.menus.menu.dashboard.background.color": "#11111b", - "theme.bar.menus.menu.dashboard.card.color": "#1e1e2e", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#f5c2e7", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#f5c2e7", - "theme.bar.menus.menu.clock.weather.hourly.time": "#f5c2e7", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#89dceb", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#89b4fa", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#b4befe", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#fab387", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#f38ba8", - "theme.bar.menus.menu.clock.weather.stats": "#f5c2e7", - "theme.bar.menus.menu.clock.weather.status": "#94e2d5", - "theme.bar.menus.menu.clock.weather.temperature": "#cdd6f4", - "theme.bar.menus.menu.clock.weather.icon": "#f5c2e7", - "theme.bar.menus.menu.clock.calendar.contextdays": "#585b70", - "theme.bar.menus.menu.clock.calendar.days": "#cdd6f4", - "theme.bar.menus.menu.clock.calendar.currentday": "#f5c2e7", - "theme.bar.menus.menu.clock.calendar.paginator": "#f5c2e6", - "theme.bar.menus.menu.clock.calendar.weekdays": "#f5c2e7", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#94e2d5", - "theme.bar.menus.menu.clock.time.timeperiod": "#94e2d5", - "theme.bar.menus.menu.clock.time.time": "#f5c2e7", - "theme.bar.menus.menu.clock.text": "#cdd6f4", - "theme.bar.menus.menu.clock.border.color": "#313244", - "theme.bar.menus.menu.clock.background.color": "#11111b", - "theme.bar.menus.menu.clock.card.color": "#1e1e2e", - "theme.bar.menus.menu.battery.slider.puck": "#6c7086", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#45475a", - "theme.bar.menus.menu.battery.slider.background": "#585b71", - "theme.bar.menus.menu.battery.slider.primary": "#f9e2af", - "theme.bar.menus.menu.battery.icons.active": "#f9e2af", - "theme.bar.menus.menu.battery.icons.passive": "#9399b2", - "theme.bar.menus.menu.battery.listitems.active": "#f9e2af", - "theme.bar.menus.menu.battery.listitems.passive": "#cdd6f3", - "theme.bar.menus.menu.battery.text": "#cdd6f4", - "theme.bar.menus.menu.battery.label.color": "#f9e2af", - "theme.bar.menus.menu.battery.border.color": "#313244", - "theme.bar.menus.menu.battery.background.color": "#11111b", - "theme.bar.menus.menu.battery.card.color": "#1e1e2e", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#1e1e2e", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#cdd6f4", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#11111b", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#89dceb", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#cdd6f4", - "theme.bar.menus.menu.bluetooth.icons.active": "#89dceb", - "theme.bar.menus.menu.bluetooth.icons.passive": "#9399b2", - "theme.bar.menus.menu.bluetooth.listitems.active": "#89dcea", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#cdd6f4", - "theme.bar.menus.menu.bluetooth.switch.puck": "#454759", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#313245", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#89dceb", - "theme.bar.menus.menu.bluetooth.switch_divider": "#45475a", - "theme.bar.menus.menu.bluetooth.status": "#6c7086", - "theme.bar.menus.menu.bluetooth.text": "#cdd6f4", - "theme.bar.menus.menu.bluetooth.label.color": "#89dceb", - "theme.bar.menus.menu.bluetooth.border.color": "#313244", - "theme.bar.menus.menu.bluetooth.background.color": "#11111b", - "theme.bar.menus.menu.bluetooth.card.color": "#1e1e2e", - "theme.bar.menus.menu.network.iconbuttons.active": "#cba6f7", - "theme.bar.menus.menu.network.iconbuttons.passive": "#cdd6f4", - "theme.bar.menus.menu.network.icons.active": "#cba6f7", - "theme.bar.menus.menu.network.icons.passive": "#9399b2", - "theme.bar.menus.menu.network.listitems.active": "#cba6f6", - "theme.bar.menus.menu.network.listitems.passive": "#cdd6f4", - "theme.bar.menus.menu.network.status.color": "#6c7086", - "theme.bar.menus.menu.network.text": "#cdd6f4", - "theme.bar.menus.menu.network.label.color": "#cba6f7", - "theme.bar.menus.menu.network.border.color": "#313244", - "theme.bar.menus.menu.network.background.color": "#11111b", - "theme.bar.menus.menu.network.card.color": "#1e1e2e", - "theme.bar.menus.menu.volume.input_slider.puck": "#585b70", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#45475a", - "theme.bar.menus.menu.volume.input_slider.background": "#585b71", - "theme.bar.menus.menu.volume.input_slider.primary": "#eba0ac", - "theme.bar.menus.menu.volume.audio_slider.puck": "#585b70", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#45475a", - "theme.bar.menus.menu.volume.audio_slider.background": "#585b71", - "theme.bar.menus.menu.volume.audio_slider.primary": "#eba0ac", - "theme.bar.menus.menu.volume.icons.active": "#eba0ac", - "theme.bar.menus.menu.volume.icons.passive": "#9399b2", - "theme.bar.menus.menu.volume.iconbutton.active": "#eba0ac", - "theme.bar.menus.menu.volume.iconbutton.passive": "#cdd6f4", - "theme.bar.menus.menu.volume.listitems.active": "#eba0ab", - "theme.bar.menus.menu.volume.listitems.passive": "#cdd6f4", - "theme.bar.menus.menu.volume.border.color": "#313244", - "theme.bar.menus.menu.volume.background.color": "#11111b", - "theme.bar.menus.menu.media.slider.puck": "#6c7086", - "theme.bar.menus.menu.media.slider.backgroundhover": "#45475a", - "theme.bar.menus.menu.media.slider.background": "#585b71", - "theme.bar.menus.menu.media.slider.primary": "#f5c2e7", - "theme.bar.menus.menu.media.buttons.text": "#11111b", - "theme.bar.menus.menu.media.buttons.background": "#b4beff", - "theme.bar.menus.menu.media.buttons.enabled": "#94e2d4", - "theme.bar.menus.menu.media.buttons.inactive": "#585b70", - "theme.bar.menus.menu.media.border.color": "#313244", - "theme.bar.menus.menu.media.background.color": "#11111b", - "theme.bar.menus.menu.media.album": "#f5c2e8", - "theme.bar.menus.menu.media.artist": "#94e2d6", - "theme.bar.menus.menu.media.song": "#b4beff", - "theme.bar.menus.tooltip.text": "#cdd6f4", - "theme.bar.menus.tooltip.background": "#11111b", - "theme.bar.menus.dropdownmenu.divider": "#1e1e2e", - "theme.bar.menus.dropdownmenu.text": "#cdd6f4", - "theme.bar.menus.dropdownmenu.background": "#11111b", - "theme.bar.menus.slider.puck": "#6c7086", - "theme.bar.menus.slider.backgroundhover": "#45475a", - "theme.bar.menus.slider.background": "#585b71", - "theme.bar.menus.slider.primary": "#b4befe", - "theme.bar.menus.progressbar.background": "#45475a", - "theme.bar.menus.progressbar.foreground": "#b4befe", - "theme.bar.menus.iconbuttons.active": "#b4beff", - "theme.bar.menus.iconbuttons.passive": "#cdd6f3", - "theme.bar.menus.buttons.text": "#181824", - "theme.bar.menus.buttons.disabled": "#585b71", - "theme.bar.menus.buttons.active": "#f5c2e6", - "theme.bar.menus.buttons.default": "#b4befe", - "theme.bar.menus.switch.puck": "#454759", - "theme.bar.menus.switch.disabled": "#313245", - "theme.bar.menus.switch.enabled": "#b4befe", - "theme.bar.menus.icons.active": "#b4befe", - "theme.bar.menus.icons.passive": "#585b70", - "theme.bar.menus.listitems.active": "#b4befd", - "theme.bar.menus.listitems.passive": "#cdd6f4", - "theme.bar.menus.label": "#b4befe", - "theme.bar.menus.feinttext": "#313244", - "theme.bar.menus.dimtext": "#585b70", - "theme.bar.menus.cards": "#1e1e2e", - "theme.bar.buttons.notifications.total": "#b4befe", - "theme.bar.buttons.notifications.icon": "#1e1e2e", - "theme.bar.buttons.notifications.background": "#242438", - "theme.bar.buttons.clock.icon": "#232338", - "theme.bar.buttons.clock.text": "#f5c2e7", - "theme.bar.buttons.clock.background": "#242438", - "theme.bar.buttons.battery.icon": "#242438", - "theme.bar.buttons.battery.text": "#f9e2af", - "theme.bar.buttons.battery.background": "#242438", - "theme.bar.buttons.systray.background": "#242438", - "theme.bar.buttons.bluetooth.icon": "#1e1e2e", - "theme.bar.buttons.bluetooth.text": "#89dceb", - "theme.bar.buttons.bluetooth.background": "#242438", - "theme.bar.buttons.network.icon": "#242438", - "theme.bar.buttons.network.text": "#cba6f7", - "theme.bar.buttons.network.background": "#242438", - "theme.bar.buttons.volume.icon": "#242438", - "theme.bar.buttons.volume.text": "#eba0ac", - "theme.bar.buttons.volume.background": "#242438", - "theme.bar.buttons.windowtitle.icon": "#1e1e2e", - "theme.bar.buttons.windowtitle.text": "#f5c2e7", - "theme.bar.buttons.windowtitle.background": "#242438", - "theme.bar.buttons.workspaces.active": "#f5c2e7", - "theme.bar.buttons.workspaces.occupied": "#f2cdcd", - "theme.bar.buttons.workspaces.available": "#89dceb", - "theme.bar.buttons.workspaces.hover": "#f5c2e7", - "theme.bar.buttons.workspaces.background": "#242438", - "theme.bar.buttons.dashboard.icon": "#1e1e2e", - "theme.bar.buttons.dashboard.background": "#f9e2af", - "theme.osd.label": "#b4beff", - "theme.osd.icon": "#11111b", - "theme.osd.bar_overflow_color": "#f38ba7", - "theme.osd.bar_empty_color": "#313244", - "theme.osd.bar_color": "#b4beff", - "theme.osd.icon_container": "#b4beff", - "theme.osd.bar_container": "#11111b", - "theme.notification.close_button.label": "#11111b", - "theme.notification.close_button.background": "#f38ba7", - "theme.notification.labelicon": "#b4befe", - "theme.notification.text": "#cdd6f4", - "theme.notification.time": "#7f849b", - "theme.notification.border": "#313243", - "theme.notification.label": "#b4befe", - "theme.notification.actions.text": "#181825", - "theme.notification.actions.background": "#b4befd", - "theme.notification.background": "#181826", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#181825", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#f5c2e7", - "theme.bar.menus.menu.media.card.color": "#1e1e2e", - "theme.bar.menus.check_radio_button.background": "#45475a", - "theme.bar.menus.check_radio_button.active": "#b4beff", - "theme.bar.buttons.style": "split", - "theme.bar.buttons.icon_background": "#242438", - "theme.bar.buttons.volume.icon_background": "#eba0ac", - "theme.bar.buttons.network.icon_background": "#caa6f7", - "theme.bar.buttons.bluetooth.icon_background": "#89dbeb", - "theme.bar.buttons.windowtitle.icon_background": "#f5c2e7", - "theme.bar.buttons.media.icon_background": "#b4befe", - "theme.bar.buttons.notifications.icon_background": "#b4befe", - "theme.bar.buttons.battery.icon_background": "#f9e2af", - "theme.bar.buttons.clock.icon_background": "#f5c2e7", - "theme.bar.menus.menu.notifications.scrollbar.color": "#b4befe", - "theme.bar.menus.menu.notifications.pager.button": "#b4befe", - "theme.bar.menus.menu.notifications.pager.label": "#9399b2", - "theme.bar.menus.menu.notifications.pager.background": "#11111b", - "theme.bar.buttons.modules.ram.icon_background": "#f9e2af", - "theme.bar.buttons.modules.ram.icon": "#181825", - "theme.bar.buttons.modules.cpu.icon": "#181825", - "theme.bar.buttons.modules.cpu.icon_background": "#f38ba8", - "theme.bar.buttons.modules.storage.icon": "#181825", - "theme.bar.buttons.modules.storage.icon_background": "#f5c2e7", - "theme.bar.buttons.modules.netstat.icon": "#181825", - "theme.bar.buttons.modules.netstat.icon_background": "#a6e3a1", - "theme.bar.buttons.modules.kbLayout.icon_background": "#89dceb", - "theme.bar.buttons.modules.kbLayout.icon": "#181825", - "theme.bar.buttons.modules.updates.icon_background": "#cba6f7", - "theme.bar.buttons.modules.updates.icon": "#181825", - "theme.bar.buttons.modules.weather.icon_background": "#b4befe", - "theme.bar.buttons.modules.weather.text": "#b4befe", - "theme.bar.buttons.modules.weather.icon": "#242438", - "theme.bar.buttons.modules.power.icon_background": "#f38ba8", - "theme.bar.buttons.modules.power.icon": "#181825", - "theme.bar.menus.menu.power.background.color": "#11111b", - "theme.bar.menus.menu.power.border.color": "#313244", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#1e1e2e", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#f38ba7", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#f38ba8", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#181824", - "theme.bar.buttons.modules.netstat.background": "#242438", - "theme.bar.buttons.modules.cpu.background": "#242438", - "theme.bar.buttons.modules.cpu.text": "#f38ba8", - "theme.bar.buttons.modules.storage.text": "#f5c2e7", - "theme.bar.menus.popover.border": "#181824", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#89dceb", - "theme.bar.menus.menu.power.buttons.restart.text": "#fab387", - "theme.bar.buttons.modules.updates.background": "#242438", - "theme.bar.buttons.modules.netstat.text": "#a6e3a1", - "theme.bar.buttons.modules.storage.background": "#242438", - "theme.bar.menus.menu.power.buttons.logout.icon": "#181824", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#fab387", - "theme.bar.menus.menu.power.buttons.restart.icon": "#181824", - "theme.bar.menus.menu.power.buttons.sleep.text": "#89dceb", - "theme.bar.menus.menu.power.buttons.logout.background": "#1e1e2e", - "theme.bar.menus.menu.power.buttons.sleep.background": "#1e1e2e", - "theme.bar.buttons.modules.ram.text": "#f9e2af", - "theme.bar.menus.menu.power.buttons.logout.text": "#a6e3a1", - "theme.bar.buttons.modules.kbLayout.background": "#242438", - "theme.bar.buttons.modules.power.background": "#242438", - "theme.bar.buttons.modules.weather.background": "#242438", - "theme.bar.buttons.modules.ram.background": "#242438", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#a6e3a1", - "theme.bar.buttons.modules.updates.text": "#cba6f7", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#181824", - "theme.bar.menus.menu.power.buttons.restart.background": "#1e1e2e", - "theme.bar.buttons.modules.kbLayout.text": "#89dceb", - "theme.bar.buttons.windowtitle.border": "#f5c2e7", - "theme.bar.buttons.modules.power.border": "#f38ba8", - "theme.bar.buttons.modules.weather.border": "#b4befe", - "theme.bar.buttons.modules.updates.border": "#cba6f7", - "theme.bar.buttons.modules.kbLayout.border": "#89dceb", - "theme.bar.buttons.modules.netstat.border": "#a6e3a1", - "theme.bar.buttons.modules.storage.border": "#f5c2e7", - "theme.bar.buttons.modules.cpu.border": "#f38ba8", - "theme.bar.buttons.modules.ram.border": "#f9e2af", - "theme.bar.buttons.notifications.border": "#b4befe", - "theme.bar.buttons.clock.border": "#f5c2e7", - "theme.bar.buttons.battery.border": "#f9e2af", - "theme.bar.buttons.systray.border": "#b4befe", - "theme.bar.buttons.bluetooth.border": "#89dceb", - "theme.bar.buttons.network.border": "#cba6f7", - "theme.bar.buttons.volume.border": "#eba0ac", - "theme.bar.buttons.media.border": "#b4befe", - "theme.bar.buttons.workspaces.border": "#f5c2e7", - "theme.bar.buttons.dashboard.border": "#f9e2af", - "theme.bar.buttons.modules.submap.icon": "#181825", - "theme.bar.buttons.modules.submap.background": "#242438", - "theme.bar.buttons.modules.submap.icon_background": "#94e2d5", - "theme.bar.buttons.modules.submap.text": "#94e2d5", - "theme.bar.buttons.modules.submap.border": "#94e2d5" -} diff --git a/ags/HyprPanel/themes/cyberpunk.json b/ags/HyprPanel/themes/cyberpunk.json deleted file mode 100644 index 50a6a09..0000000 --- a/ags/HyprPanel/themes/cyberpunk.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.menu.notifications.scrollbar.color": "#FFD700", - "theme.bar.menus.menu.notifications.pager.label": "#9399B2", - "theme.bar.menus.menu.notifications.pager.button": "#FFD700", - "theme.bar.menus.menu.notifications.pager.background": "#0A0A0A", - "theme.bar.menus.menu.notifications.switch.puck": "#333333", - "theme.bar.menus.menu.notifications.switch.disabled": "#2A2A2A", - "theme.bar.menus.menu.notifications.switch.enabled": "#FFD700", - "theme.bar.menus.menu.notifications.clear": "#FF4500", - "theme.bar.menus.menu.notifications.switch_divider": "#333333", - "theme.bar.menus.menu.notifications.border": "#2A2A2A", - "theme.bar.menus.menu.notifications.card": "#1A1A1A", - "theme.bar.menus.menu.notifications.background": "#0A0A0A", - "theme.bar.menus.menu.notifications.no_notifications_label": "#2A2A2A", - "theme.bar.menus.menu.notifications.label": "#FFD700", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#0A0A0A", - "theme.bar.menus.menu.power.buttons.sleep.text": "#00FFFF", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#00FFFF", - "theme.bar.menus.menu.power.buttons.sleep.background": "#1A1A1A", - "theme.bar.menus.menu.power.buttons.logout.icon": "#0A0A0A", - "theme.bar.menus.menu.power.buttons.logout.text": "#32CD32", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#32CD32", - "theme.bar.menus.menu.power.buttons.logout.background": "#1A1A1A", - "theme.bar.menus.menu.power.buttons.restart.icon": "#0A0A0A", - "theme.bar.menus.menu.power.buttons.restart.text": "#FFD700", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#FFD700", - "theme.bar.menus.menu.power.buttons.restart.background": "#1A1A1A", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#0A0A0A", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#FF4500", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#ff4400", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#1A1A1A", - "theme.bar.menus.menu.power.border.color": "#2A2A2A", - "theme.bar.menus.menu.power.background.color": "#0A0A0A", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#FF69B4", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#FF69B4", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#FF69B4", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#32CD32", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#32CD32", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#32CD32", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#FFD700", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#FFD700", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#FFD700", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#FF4500", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#FF4500", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#FF4500", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#333333", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#00FFFF", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#FFD700", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#32CD32", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#FF4500", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#FFD700", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#FF69B4", - "theme.bar.menus.menu.dashboard.controls.input.text": "#0A0A0A", - "theme.bar.menus.menu.dashboard.controls.input.background": "#FF69B4", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#0A0A0A", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#FF4500", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#0A0A0A", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#FFD700", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#0A0A0A", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#00FFFF", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#0A0A0A", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#FF69B4", - "theme.bar.menus.menu.dashboard.controls.disabled": "#585858", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#32CD32", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#0A0A0A", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#00FFFF", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#0A0A0A", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#FF4500", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#32CD32", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#FFFFFF", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#00FFFF", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#2A2A2A", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#0A0A0A", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#1A1A1A", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#00FFFF", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#32CD32", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#FFD700", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#FF4500", - "theme.bar.menus.menu.dashboard.profile.name": "#FF69B4", - "theme.bar.menus.menu.dashboard.border.color": "#2A2A2A", - "theme.bar.menus.menu.dashboard.background.color": "#0A0A0A", - "theme.bar.menus.menu.dashboard.card.color": "#1A1A1A", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#FF69B4", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#FF69B4", - "theme.bar.menus.menu.clock.weather.hourly.time": "#FF69B4", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#00FFFF", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#00BFFF", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#00FFFF", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#FFD700", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#FFD700", - "theme.bar.menus.menu.clock.weather.stats": "#00FFFF", - "theme.bar.menus.menu.clock.weather.status": "#FF69B4", - "theme.bar.menus.menu.clock.weather.temperature": "#32CD32", - "theme.bar.menus.menu.clock.weather.icon": "#FFD700", - "theme.bar.menus.menu.clock.calendar.contextdays": "#585858", - "theme.bar.menus.menu.clock.calendar.days": "#FFD700", - "theme.bar.menus.menu.clock.calendar.currentday": "#00FFFF", - "theme.bar.menus.menu.clock.calendar.paginator": "#00FFFF", - "theme.bar.menus.menu.clock.calendar.weekdays": "#00FFFF", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#FF69B4", - "theme.bar.menus.menu.clock.time.timeperiod": "#32CD32", - "theme.bar.menus.menu.clock.time.time": "#FFD700", - "theme.bar.menus.menu.clock.text": "#00FFFF", - "theme.bar.menus.menu.clock.border.color": "#2A2A2A", - "theme.bar.menus.menu.clock.background.color": "#0A0A0A", - "theme.bar.menus.menu.clock.card.color": "#1A1A1A", - "theme.bar.menus.menu.battery.slider.puck": "#333333", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#45475A", - "theme.bar.menus.menu.battery.slider.background": "#2A2A2A", - "theme.bar.menus.menu.battery.slider.primary": "#FFD700", - "theme.bar.menus.menu.battery.icons.active": "#FFD700", - "theme.bar.menus.menu.battery.icons.passive": "#9399B2", - "theme.bar.menus.menu.battery.listitems.active": "#FFD700", - "theme.bar.menus.menu.battery.listitems.passive": "#00FFFF", - "theme.bar.menus.menu.battery.text": "#FFD700", - "theme.bar.menus.menu.battery.label.color": "#FFD700", - "theme.bar.menus.menu.battery.border.color": "#2A2A2A", - "theme.bar.menus.menu.battery.background.color": "#0A0A0A", - "theme.bar.menus.menu.battery.card.color": "#1A1A1A", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#1A1A1A", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#FFD700", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#0A0A0A", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#00FFFF", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#FFD700", - "theme.bar.menus.menu.bluetooth.icons.active": "#00FFFF", - "theme.bar.menus.menu.bluetooth.icons.passive": "#9399B2", - "theme.bar.menus.menu.bluetooth.listitems.active": "#00FFFF", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#FFD700", - "theme.bar.menus.menu.bluetooth.switch.puck": "#333333", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#2A2A2A", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#00FFFF", - "theme.bar.menus.menu.bluetooth.switch_divider": "#333333", - "theme.bar.menus.menu.bluetooth.status": "#FF69B4", - "theme.bar.menus.menu.bluetooth.text": "#FFD700", - "theme.bar.menus.menu.bluetooth.label.color": "#00FFFF", - "theme.bar.menus.menu.bluetooth.border.color": "#2A2A2A", - "theme.bar.menus.menu.bluetooth.background.color": "#0A0A0A", - "theme.bar.menus.menu.bluetooth.card.color": "#1A1A1A", - "theme.bar.menus.menu.network.iconbuttons.active": "#FF69B4", - "theme.bar.menus.menu.network.iconbuttons.passive": "#FFD700", - "theme.bar.menus.menu.network.icons.active": "#FF69B4", - "theme.bar.menus.menu.network.icons.passive": "#9399B2", - "theme.bar.menus.menu.network.listitems.active": "#FF69B4", - "theme.bar.menus.menu.network.listitems.passive": "#FFD700", - "theme.bar.menus.menu.network.status.color": "#FF69B4", - "theme.bar.menus.menu.network.text": "#FFD700", - "theme.bar.menus.menu.network.label.color": "#FF69B4", - "theme.bar.menus.menu.network.border.color": "#2A2A2A", - "theme.bar.menus.menu.network.background.color": "#0A0A0A", - "theme.bar.menus.menu.network.card.color": "#1A1A1A", - "theme.bar.menus.menu.volume.input_slider.puck": "#333333", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#45475A", - "theme.bar.menus.menu.volume.input_slider.background": "#2A2A2A", - "theme.bar.menus.menu.volume.input_slider.primary": "#FF69B4", - "theme.bar.menus.menu.volume.audio_slider.puck": "#333333", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#45475A", - "theme.bar.menus.menu.volume.audio_slider.background": "#2A2A2A", - "theme.bar.menus.menu.volume.audio_slider.primary": "#FF69B4", - "theme.bar.menus.menu.volume.icons.active": "#FF69B4", - "theme.bar.menus.menu.volume.icons.passive": "#9399B2", - "theme.bar.menus.menu.volume.iconbutton.active": "#FF69B4", - "theme.bar.menus.menu.volume.iconbutton.passive": "#FFD700", - "theme.bar.menus.menu.volume.listitems.active": "#FF69B4", - "theme.bar.menus.menu.volume.listitems.passive": "#FFD700", - "theme.bar.menus.menu.volume.text": "#FFFFFF", - "theme.bar.menus.menu.volume.label.color": "#FF69B4", - "theme.bar.menus.menu.volume.border.color": "#2A2A2A", - "theme.bar.menus.menu.volume.background.color": "#0A0A0A", - "theme.bar.menus.menu.volume.card.color": "#1A1A1A", - "theme.bar.menus.menu.media.slider.puck": "#333333", - "theme.bar.menus.menu.media.slider.backgroundhover": "#45475A", - "theme.bar.menus.menu.media.slider.background": "#2A2A2A", - "theme.bar.menus.menu.media.slider.primary": "#FFD700", - "theme.bar.menus.menu.media.buttons.text": "#0A0A0A", - "theme.bar.menus.menu.media.buttons.background": "#FF69B4", - "theme.bar.menus.menu.media.buttons.enabled": "#00FFFF", - "theme.bar.menus.menu.media.buttons.inactive": "#333333", - "theme.bar.menus.menu.media.border.color": "#2A2A2A", - "theme.bar.menus.menu.media.card.color": "#1A1A1A", - "theme.bar.menus.menu.media.background.color": "#0A0A0A", - "theme.bar.menus.menu.media.album": "#FF69B4", - "theme.bar.menus.menu.media.artist": "#00FFFF", - "theme.bar.menus.menu.media.song": "#FFD700", - "theme.bar.menus.tooltip.text": "#FFD700", - "theme.bar.menus.tooltip.background": "#0A0A0A", - "theme.bar.menus.dropdownmenu.divider": "#1A1A1A", - "theme.bar.menus.dropdownmenu.text": "#FFD700", - "theme.bar.menus.dropdownmenu.background": "#0A0A0A", - "theme.bar.menus.slider.puck": "#333333", - "theme.bar.menus.slider.backgroundhover": "#45475A", - "theme.bar.menus.slider.background": "#2A2A2A", - "theme.bar.menus.slider.primary": "#00FFFF", - "theme.bar.menus.progressbar.background": "#45475A", - "theme.bar.menus.progressbar.foreground": "#00FFFF", - "theme.bar.menus.iconbuttons.active": "#00FFFF", - "theme.bar.menus.iconbuttons.passive": "#FFD700", - "theme.bar.menus.buttons.text": "#0A0A0A", - "theme.bar.menus.buttons.disabled": "#333333", - "theme.bar.menus.buttons.active": "#00FFFF", - "theme.bar.menus.buttons.default": "#FFD700", - "theme.bar.menus.check_radio_button.active": "#ffffff", - "theme.bar.menus.check_radio_button.background": "#000000", - "theme.bar.menus.switch.puck": "#333333", - "theme.bar.menus.switch.disabled": "#2A2A2A", - "theme.bar.menus.switch.enabled": "#00FFFF", - "theme.bar.menus.icons.active": "#00FFFF", - "theme.bar.menus.icons.passive": "#333333", - "theme.bar.menus.listitems.active": "#00FFFF", - "theme.bar.menus.listitems.passive": "#FFD700", - "theme.bar.menus.popover.border": "#0A0A0A", - "theme.bar.menus.popover.background": "#0D0D0D", - "theme.bar.menus.popover.text": "#00FFFF", - "theme.bar.menus.label": "#00FFFF", - "theme.bar.menus.feinttext": "#1a1a1a", - "theme.bar.menus.dimtext": "#2b2b2b", - "theme.bar.menus.text": "#FFFFFF", - "theme.bar.menus.border.color": "#2A2A2A", - "theme.bar.menus.cards": "#0a0a0a", - "theme.bar.menus.background": "#0A0A0A", - "theme.bar.buttons.modules.power.icon_background": "#FF4500", - "theme.bar.buttons.modules.power.icon": "#FF4500", - "theme.bar.buttons.modules.power.background": "#121212", - "theme.bar.buttons.modules.weather.icon_background": "#FFD700", - "theme.bar.buttons.modules.weather.icon": "#FFD700", - "theme.bar.buttons.modules.weather.text": "#FFD700", - "theme.bar.buttons.modules.weather.background": "#121212", - "theme.bar.buttons.modules.updates.icon_background": "#FFD700", - "theme.bar.buttons.modules.updates.icon": "#FFD700", - "theme.bar.buttons.modules.updates.text": "#FFD700", - "theme.bar.buttons.modules.updates.background": "#121212", - "theme.bar.buttons.modules.kbLayout.icon_background": "#00FFFF", - "theme.bar.buttons.modules.kbLayout.icon": "#00FFFF", - "theme.bar.buttons.modules.kbLayout.text": "#00FFFF", - "theme.bar.buttons.modules.kbLayout.background": "#121212", - "theme.bar.buttons.modules.netstat.icon_background": "#32CD32", - "theme.bar.buttons.modules.netstat.icon": "#32CD32", - "theme.bar.buttons.modules.netstat.text": "#32CD32", - "theme.bar.buttons.modules.netstat.background": "#121212", - "theme.bar.buttons.modules.storage.icon_background": "#FF4500", - "theme.bar.buttons.modules.storage.icon": "#FF4500", - "theme.bar.buttons.modules.storage.text": "#FF4500", - "theme.bar.buttons.modules.storage.background": "#121212", - "theme.bar.buttons.modules.cpu.icon_background": "#FF4500", - "theme.bar.buttons.modules.cpu.icon": "#FF4500", - "theme.bar.buttons.modules.cpu.text": "#FF4500", - "theme.bar.buttons.modules.cpu.background": "#121212", - "theme.bar.buttons.modules.ram.icon_background": "#FFD700", - "theme.bar.buttons.modules.ram.icon": "#FFD700", - "theme.bar.buttons.modules.ram.text": "#FFD700", - "theme.bar.buttons.modules.ram.background": "#121212", - "theme.bar.buttons.notifications.total": "#f7d04b", - "theme.bar.buttons.notifications.icon_background": "#FFD700", - "theme.bar.buttons.notifications.icon": "#f7d04b", - "theme.bar.buttons.notifications.background": "#121212", - "theme.bar.buttons.clock.icon_background": "#FF69B4", - "theme.bar.buttons.clock.icon": "#5bafff", - "theme.bar.buttons.clock.text": "#5bafff", - "theme.bar.buttons.clock.background": "#121212", - "theme.bar.buttons.battery.icon_background": "#FFD700", - "theme.bar.buttons.battery.icon": "#f7d04b", - "theme.bar.buttons.battery.text": "#f7d04b", - "theme.bar.buttons.battery.background": "#121212", - "theme.bar.buttons.systray.background": "#121212", - "theme.bar.buttons.bluetooth.icon_background": "#89dbeb", - "theme.bar.buttons.bluetooth.icon": "#5bafff", - "theme.bar.buttons.bluetooth.text": "#5bafff", - "theme.bar.buttons.bluetooth.background": "#121212", - "theme.bar.buttons.network.icon_background": "#caa6f7", - "theme.bar.buttons.network.icon": "#e23fe2", - "theme.bar.buttons.network.text": "#e23fe2", - "theme.bar.buttons.network.background": "#121212", - "theme.bar.buttons.volume.icon_background": "#FF4500", - "theme.bar.buttons.volume.icon": "#ff3f3f", - "theme.bar.buttons.volume.text": "#ff3f3f", - "theme.bar.buttons.volume.background": "#121212", - "theme.bar.buttons.media.icon_background": "#FFD700", - "theme.bar.buttons.media.icon": "#FFD700", - "theme.bar.buttons.media.text": "#00FFFF", - "theme.bar.buttons.media.background": "#111111", - "theme.bar.buttons.windowtitle.icon_background": "#FF69B4", - "theme.bar.buttons.windowtitle.icon": "#5bafff", - "theme.bar.buttons.windowtitle.text": "#5bafff", - "theme.bar.buttons.windowtitle.background": "#121212", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#e23ee2", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#21252b", - "theme.bar.buttons.workspaces.active": "#e23fe2", - "theme.bar.buttons.workspaces.occupied": "#ff3f3f", - "theme.bar.buttons.workspaces.available": "#5bafff", - "theme.bar.buttons.workspaces.hover": "#303030", - "theme.bar.buttons.workspaces.background": "#121212", - "theme.bar.buttons.dashboard.icon": "#f7d04b", - "theme.bar.buttons.dashboard.background": "#121212", - "theme.bar.buttons.icon": "#FFD700", - "theme.bar.buttons.text": "#00FFFF", - "theme.bar.buttons.hover": "#333333", - "theme.bar.buttons.icon_background": "#121212", - "theme.bar.buttons.background": "#111111", - "theme.bar.buttons.style": "default", - "theme.bar.background": "#0A0A0A", - "theme.osd.label": "#5bafff", - "theme.osd.icon": "#0a0a0a", - "theme.osd.bar_overflow_color": "#ff3f3f", - "theme.osd.bar_empty_color": "#1a1a1a", - "theme.osd.bar_color": "#5bafff", - "theme.osd.icon_container": "#5bafff", - "theme.osd.bar_container": "#0a0a0a", - "theme.notification.close_button.label": "#0a0a0a", - "theme.notification.close_button.background": "#ff3f3f", - "theme.notification.labelicon": "#5bafff", - "theme.notification.text": "#d1d1d1", - "theme.notification.time": "#797979", - "theme.notification.border": "#1a1a1a", - "theme.notification.label": "#5bafff", - "theme.notification.actions.text": "#0a0a0a", - "theme.notification.actions.background": "#5bafff", - "theme.notification.background": "#0a0a0a", - "theme.bar.buttons.modules.power.border": "#FF4500", - "theme.bar.buttons.modules.weather.border": "#FFD700", - "theme.bar.buttons.modules.updates.border": "#FFD700", - "theme.bar.buttons.modules.kbLayout.border": "#00FFFF", - "theme.bar.buttons.modules.netstat.border": "#32CD32", - "theme.bar.buttons.modules.storage.border": "#FF4500", - "theme.bar.buttons.modules.cpu.border": "#FF4500", - "theme.bar.buttons.modules.ram.border": "#FFD700", - "theme.bar.buttons.notifications.border": "#f7d04b", - "theme.bar.buttons.clock.border": "#5bafff", - "theme.bar.buttons.battery.border": "#f7d04b", - "theme.bar.buttons.systray.border": "#303030", - "theme.bar.buttons.bluetooth.border": "#5bafff", - "theme.bar.buttons.network.border": "#e23fe2", - "theme.bar.buttons.volume.border": "#ff3f3f", - "theme.bar.buttons.media.border": "#FFD700", - "theme.bar.buttons.windowtitle.border": "#5bafff", - "theme.bar.buttons.workspaces.border": "#e23ee2", - "theme.bar.buttons.dashboard.border": "#f7d04b", - "theme.bar.buttons.modules.submap.background": "#121212", - "theme.bar.buttons.modules.submap.text": "#FF69B4", - "theme.bar.buttons.modules.submap.border": "#FF69B4", - "theme.bar.buttons.modules.submap.icon": "#FF69B4", - "theme.bar.buttons.modules.submap.icon_background": "#121212" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/cyberpunk_split.json b/ags/HyprPanel/themes/cyberpunk_split.json deleted file mode 100644 index b7b183a..0000000 --- a/ags/HyprPanel/themes/cyberpunk_split.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.menu.notifications.scrollbar.color": "#00ffff", - "theme.bar.menus.menu.notifications.pager.label": "#9399B2", - "theme.bar.menus.menu.notifications.pager.button": "#00ffff", - "theme.bar.menus.menu.notifications.pager.background": "#0A0A0A", - "theme.bar.menus.menu.notifications.switch.puck": "#333333", - "theme.bar.menus.menu.notifications.switch.disabled": "#2A2A2A", - "theme.bar.menus.menu.notifications.switch.enabled": "#FFD700", - "theme.bar.menus.menu.notifications.clear": "#FF4500", - "theme.bar.menus.menu.notifications.switch_divider": "#333333", - "theme.bar.menus.menu.notifications.border": "#2A2A2A", - "theme.bar.menus.menu.notifications.card": "#1A1A1A", - "theme.bar.menus.menu.notifications.background": "#0A0A0A", - "theme.bar.menus.menu.notifications.no_notifications_label": "#2A2A2A", - "theme.bar.menus.menu.notifications.label": "#FFD700", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#0A0A0A", - "theme.bar.menus.menu.power.buttons.sleep.text": "#00FFFF", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#00FFFF", - "theme.bar.menus.menu.power.buttons.sleep.background": "#1A1A1A", - "theme.bar.menus.menu.power.buttons.logout.icon": "#0A0A0A", - "theme.bar.menus.menu.power.buttons.logout.text": "#32CD32", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#32CD32", - "theme.bar.menus.menu.power.buttons.logout.background": "#1A1A1A", - "theme.bar.menus.menu.power.buttons.restart.icon": "#0A0A0A", - "theme.bar.menus.menu.power.buttons.restart.text": "#FFD700", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#FFD700", - "theme.bar.menus.menu.power.buttons.restart.background": "#1A1A1A", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#0A0A0A", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#FF4500", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#ff4400", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#1A1A1A", - "theme.bar.menus.menu.power.border.color": "#2A2A2A", - "theme.bar.menus.menu.power.background.color": "#0A0A0A", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#FF69B4", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#FF69B4", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#FF69B4", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#32CD32", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#32CD32", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#32CD32", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#FFD700", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#FFD700", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#FFD700", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#FF4500", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#FF4500", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#FF4500", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#333333", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#00FFFF", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#FFD700", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#32CD32", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#FF4500", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#FFD700", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#FF69B4", - "theme.bar.menus.menu.dashboard.controls.input.text": "#0A0A0A", - "theme.bar.menus.menu.dashboard.controls.input.background": "#FF69B4", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#0A0A0A", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#FF4500", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#0A0A0A", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#FFD700", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#0A0A0A", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#00FFFF", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#0A0A0A", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#FF69B4", - "theme.bar.menus.menu.dashboard.controls.disabled": "#585858", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#32CD32", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#0A0A0A", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#00FFFF", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#0A0A0A", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#FF4500", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#32CD32", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#FFFFFF", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#00FFFF", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#2A2A2A", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#0A0A0A", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#1A1A1A", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#00FFFF", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#32CD32", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#FFD700", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#FF4500", - "theme.bar.menus.menu.dashboard.profile.name": "#FF69B4", - "theme.bar.menus.menu.dashboard.border.color": "#2A2A2A", - "theme.bar.menus.menu.dashboard.background.color": "#0A0A0A", - "theme.bar.menus.menu.dashboard.card.color": "#1A1A1A", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#FF69B4", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#FF69B4", - "theme.bar.menus.menu.clock.weather.hourly.time": "#FF69B4", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#00FFFF", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#00BFFF", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#00FFFF", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#FFD700", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#FFD700", - "theme.bar.menus.menu.clock.weather.stats": "#00FFFF", - "theme.bar.menus.menu.clock.weather.status": "#FF69B4", - "theme.bar.menus.menu.clock.weather.temperature": "#32CD32", - "theme.bar.menus.menu.clock.weather.icon": "#FFD700", - "theme.bar.menus.menu.clock.calendar.contextdays": "#585858", - "theme.bar.menus.menu.clock.calendar.days": "#FFD700", - "theme.bar.menus.menu.clock.calendar.currentday": "#00FFFF", - "theme.bar.menus.menu.clock.calendar.paginator": "#00FFFF", - "theme.bar.menus.menu.clock.calendar.weekdays": "#00FFFF", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#FF69B4", - "theme.bar.menus.menu.clock.time.timeperiod": "#32CD32", - "theme.bar.menus.menu.clock.time.time": "#FFD700", - "theme.bar.menus.menu.clock.text": "#00FFFF", - "theme.bar.menus.menu.clock.border.color": "#2A2A2A", - "theme.bar.menus.menu.clock.background.color": "#0A0A0A", - "theme.bar.menus.menu.clock.card.color": "#1A1A1A", - "theme.bar.menus.menu.battery.slider.puck": "#333333", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#45475A", - "theme.bar.menus.menu.battery.slider.background": "#2A2A2A", - "theme.bar.menus.menu.battery.slider.primary": "#FFD700", - "theme.bar.menus.menu.battery.icons.active": "#FFD700", - "theme.bar.menus.menu.battery.icons.passive": "#9399B2", - "theme.bar.menus.menu.battery.listitems.active": "#FFD700", - "theme.bar.menus.menu.battery.listitems.passive": "#00FFFF", - "theme.bar.menus.menu.battery.text": "#FFD700", - "theme.bar.menus.menu.battery.label.color": "#FFD700", - "theme.bar.menus.menu.battery.border.color": "#2A2A2A", - "theme.bar.menus.menu.battery.background.color": "#0A0A0A", - "theme.bar.menus.menu.battery.card.color": "#1A1A1A", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#1A1A1A", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#FFD700", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#0A0A0A", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#00FFFF", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#FFD700", - "theme.bar.menus.menu.bluetooth.icons.active": "#00FFFF", - "theme.bar.menus.menu.bluetooth.icons.passive": "#9399B2", - "theme.bar.menus.menu.bluetooth.listitems.active": "#00FFFF", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#FFD700", - "theme.bar.menus.menu.bluetooth.switch.puck": "#333333", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#2A2A2A", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#00FFFF", - "theme.bar.menus.menu.bluetooth.switch_divider": "#333333", - "theme.bar.menus.menu.bluetooth.status": "#FF69B4", - "theme.bar.menus.menu.bluetooth.text": "#FFD700", - "theme.bar.menus.menu.bluetooth.label.color": "#00FFFF", - "theme.bar.menus.menu.bluetooth.border.color": "#2A2A2A", - "theme.bar.menus.menu.bluetooth.background.color": "#0A0A0A", - "theme.bar.menus.menu.bluetooth.card.color": "#1A1A1A", - "theme.bar.menus.menu.network.iconbuttons.active": "#FF69B4", - "theme.bar.menus.menu.network.iconbuttons.passive": "#FFD700", - "theme.bar.menus.menu.network.icons.active": "#FF69B4", - "theme.bar.menus.menu.network.icons.passive": "#9399B2", - "theme.bar.menus.menu.network.listitems.active": "#FF69B4", - "theme.bar.menus.menu.network.listitems.passive": "#FFD700", - "theme.bar.menus.menu.network.status.color": "#FF69B4", - "theme.bar.menus.menu.network.text": "#FFD700", - "theme.bar.menus.menu.network.label.color": "#FF69B4", - "theme.bar.menus.menu.network.border.color": "#2A2A2A", - "theme.bar.menus.menu.network.background.color": "#0A0A0A", - "theme.bar.menus.menu.network.card.color": "#1A1A1A", - "theme.bar.menus.menu.volume.input_slider.puck": "#333333", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#45475A", - "theme.bar.menus.menu.volume.input_slider.background": "#2A2A2A", - "theme.bar.menus.menu.volume.input_slider.primary": "#FF69B4", - "theme.bar.menus.menu.volume.audio_slider.puck": "#333333", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#45475A", - "theme.bar.menus.menu.volume.audio_slider.background": "#2A2A2A", - "theme.bar.menus.menu.volume.audio_slider.primary": "#FF69B4", - "theme.bar.menus.menu.volume.icons.active": "#FF69B4", - "theme.bar.menus.menu.volume.icons.passive": "#9399B2", - "theme.bar.menus.menu.volume.iconbutton.active": "#FF69B4", - "theme.bar.menus.menu.volume.iconbutton.passive": "#FFD700", - "theme.bar.menus.menu.volume.listitems.active": "#FF69B4", - "theme.bar.menus.menu.volume.listitems.passive": "#FFD700", - "theme.bar.menus.menu.volume.text": "#FFFFFF", - "theme.bar.menus.menu.volume.label.color": "#FF69B4", - "theme.bar.menus.menu.volume.border.color": "#2A2A2A", - "theme.bar.menus.menu.volume.background.color": "#0A0A0A", - "theme.bar.menus.menu.volume.card.color": "#1A1A1A", - "theme.bar.menus.menu.media.slider.puck": "#333333", - "theme.bar.menus.menu.media.slider.backgroundhover": "#45475A", - "theme.bar.menus.menu.media.slider.background": "#2A2A2A", - "theme.bar.menus.menu.media.slider.primary": "#FFD700", - "theme.bar.menus.menu.media.buttons.text": "#0A0A0A", - "theme.bar.menus.menu.media.buttons.background": "#FF69B4", - "theme.bar.menus.menu.media.buttons.enabled": "#00FFFF", - "theme.bar.menus.menu.media.buttons.inactive": "#333333", - "theme.bar.menus.menu.media.border.color": "#2A2A2A", - "theme.bar.menus.menu.media.card.color": "#1A1A1A", - "theme.bar.menus.menu.media.background.color": "#0A0A0A", - "theme.bar.menus.menu.media.album": "#FF69B4", - "theme.bar.menus.menu.media.artist": "#00FFFF", - "theme.bar.menus.menu.media.song": "#FFD700", - "theme.bar.menus.tooltip.text": "#FFD700", - "theme.bar.menus.tooltip.background": "#0A0A0A", - "theme.bar.menus.dropdownmenu.divider": "#1A1A1A", - "theme.bar.menus.dropdownmenu.text": "#FFD700", - "theme.bar.menus.dropdownmenu.background": "#0A0A0A", - "theme.bar.menus.slider.puck": "#333333", - "theme.bar.menus.slider.backgroundhover": "#45475A", - "theme.bar.menus.slider.background": "#2A2A2A", - "theme.bar.menus.slider.primary": "#00FFFF", - "theme.bar.menus.progressbar.background": "#45475A", - "theme.bar.menus.progressbar.foreground": "#00FFFF", - "theme.bar.menus.iconbuttons.active": "#00FFFF", - "theme.bar.menus.iconbuttons.passive": "#FFD700", - "theme.bar.menus.buttons.text": "#0A0A0A", - "theme.bar.menus.buttons.disabled": "#333333", - "theme.bar.menus.buttons.active": "#00FFFF", - "theme.bar.menus.buttons.default": "#FFD700", - "theme.bar.menus.check_radio_button.active": "#ffffff", - "theme.bar.menus.check_radio_button.background": "#000000", - "theme.bar.menus.switch.puck": "#333333", - "theme.bar.menus.switch.disabled": "#2A2A2A", - "theme.bar.menus.switch.enabled": "#00FFFF", - "theme.bar.menus.icons.active": "#00FFFF", - "theme.bar.menus.icons.passive": "#333333", - "theme.bar.menus.listitems.active": "#00FFFF", - "theme.bar.menus.listitems.passive": "#FFD700", - "theme.bar.menus.popover.border": "#0A0A0A", - "theme.bar.menus.popover.background": "#0D0D0D", - "theme.bar.menus.popover.text": "#00FFFF", - "theme.bar.menus.label": "#00FFFF", - "theme.bar.menus.feinttext": "#1a1a1a", - "theme.bar.menus.dimtext": "#2b2b2b", - "theme.bar.menus.text": "#FFFFFF", - "theme.bar.menus.border.color": "#2A2A2A", - "theme.bar.menus.cards": "#0a0a0a", - "theme.bar.menus.background": "#0A0A0A", - "theme.bar.buttons.modules.power.icon_background": "#FF4500", - "theme.bar.buttons.modules.power.icon": "#121212", - "theme.bar.buttons.modules.power.background": "#121212", - "theme.bar.buttons.modules.weather.icon_background": "#00ffff", - "theme.bar.buttons.modules.weather.icon": "#121212", - "theme.bar.buttons.modules.weather.text": "#00ffff", - "theme.bar.buttons.modules.weather.background": "#121212", - "theme.bar.buttons.modules.updates.icon_background": "#FFD700", - "theme.bar.buttons.modules.updates.icon": "#121212", - "theme.bar.buttons.modules.updates.text": "#FFD700", - "theme.bar.buttons.modules.updates.background": "#121212", - "theme.bar.buttons.modules.kbLayout.icon_background": "#00FFFF", - "theme.bar.buttons.modules.kbLayout.icon": "#121212", - "theme.bar.buttons.modules.kbLayout.text": "#00FFFF", - "theme.bar.buttons.modules.kbLayout.background": "#121212", - "theme.bar.buttons.modules.netstat.icon_background": "#32CD32", - "theme.bar.buttons.modules.netstat.icon": "#121212", - "theme.bar.buttons.modules.netstat.text": "#32CD32", - "theme.bar.buttons.modules.netstat.background": "#121212", - "theme.bar.buttons.modules.storage.icon_background": "#FF4500", - "theme.bar.buttons.modules.storage.icon": "#121212", - "theme.bar.buttons.modules.storage.text": "#FF4500", - "theme.bar.buttons.modules.storage.background": "#121212", - "theme.bar.buttons.modules.cpu.icon_background": "#FF4500", - "theme.bar.buttons.modules.cpu.icon": "#121212", - "theme.bar.buttons.modules.cpu.text": "#FF4500", - "theme.bar.buttons.modules.cpu.background": "#121212", - "theme.bar.buttons.modules.ram.icon_background": "#FFD700", - "theme.bar.buttons.modules.ram.icon": "#121212", - "theme.bar.buttons.modules.ram.text": "#FFD700", - "theme.bar.buttons.modules.ram.background": "#121212", - "theme.bar.buttons.notifications.total": "#f7d04b", - "theme.bar.buttons.notifications.icon_background": "#f7d04b", - "theme.bar.buttons.notifications.icon": "#121212", - "theme.bar.buttons.notifications.background": "#121212", - "theme.bar.buttons.clock.icon_background": "#5bafff", - "theme.bar.buttons.clock.icon": "#121212", - "theme.bar.buttons.clock.text": "#5bafff", - "theme.bar.buttons.clock.background": "#121212", - "theme.bar.buttons.battery.icon_background": "#f7d04b", - "theme.bar.buttons.battery.icon": "#121212", - "theme.bar.buttons.battery.text": "#f7d04b", - "theme.bar.buttons.battery.background": "#121212", - "theme.bar.buttons.systray.background": "#121212", - "theme.bar.buttons.bluetooth.icon_background": "#5bafff", - "theme.bar.buttons.bluetooth.icon": "#121212", - "theme.bar.buttons.bluetooth.text": "#5bafff", - "theme.bar.buttons.bluetooth.background": "#121212", - "theme.bar.buttons.network.icon_background": "#e23fe2", - "theme.bar.buttons.network.icon": "#121212", - "theme.bar.buttons.network.text": "#e23fe2", - "theme.bar.buttons.network.background": "#121212", - "theme.bar.buttons.volume.icon_background": "#ff3f3f", - "theme.bar.buttons.volume.icon": "#121212", - "theme.bar.buttons.volume.text": "#ff3f3f", - "theme.bar.buttons.volume.background": "#121212", - "theme.bar.buttons.media.icon_background": "#00ffff", - "theme.bar.buttons.media.icon": "#121212", - "theme.bar.buttons.media.text": "#00ffff", - "theme.bar.buttons.media.background": "#111111", - "theme.bar.buttons.windowtitle.icon_background": "#5bafff", - "theme.bar.buttons.windowtitle.icon": "#121212", - "theme.bar.buttons.windowtitle.text": "#5bafff", - "theme.bar.buttons.windowtitle.background": "#121212", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#e23ee2", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#e23fe2", - "theme.bar.buttons.workspaces.active": "#e23fe2", - "theme.bar.buttons.workspaces.occupied": "#ff3f3f", - "theme.bar.buttons.workspaces.available": "#5bafff", - "theme.bar.buttons.workspaces.hover": "#e23fe2", - "theme.bar.buttons.workspaces.background": "#121212", - "theme.bar.buttons.dashboard.icon": "#121212", - "theme.bar.buttons.dashboard.background": "#f7d04b", - "theme.bar.buttons.icon": "#FFD700", - "theme.bar.buttons.text": "#00FFFF", - "theme.bar.buttons.hover": "#333333", - "theme.bar.buttons.icon_background": "#242438", - "theme.bar.buttons.background": "#111111", - "theme.bar.buttons.style": "split", - "theme.bar.background": "#0A0A0A", - "theme.osd.label": "#5bafff", - "theme.osd.icon": "#0a0a0a", - "theme.osd.bar_overflow_color": "#ff3f3f", - "theme.osd.bar_empty_color": "#1a1a1a", - "theme.osd.bar_color": "#5bafff", - "theme.osd.icon_container": "#5bafff", - "theme.osd.bar_container": "#0a0a0a", - "theme.notification.close_button.label": "#0a0a0a", - "theme.notification.close_button.background": "#ff3f3f", - "theme.notification.labelicon": "#5bafff", - "theme.notification.text": "#d1d1d1", - "theme.notification.time": "#797979", - "theme.notification.border": "#1a1a1a", - "theme.notification.label": "#5bafff", - "theme.notification.actions.text": "#0a0a0a", - "theme.notification.actions.background": "#5bafff", - "theme.notification.background": "#0a0a0a", - "theme.bar.buttons.modules.power.border": "#FF4500", - "theme.bar.buttons.modules.weather.border": "#FFD700", - "theme.bar.buttons.modules.updates.border": "#FFD700", - "theme.bar.buttons.modules.kbLayout.border": "#00FFFF", - "theme.bar.buttons.modules.netstat.border": "#32CD32", - "theme.bar.buttons.modules.storage.border": "#FF4500", - "theme.bar.buttons.modules.cpu.border": "#FF4500", - "theme.bar.buttons.modules.ram.border": "#FFD700", - "theme.bar.buttons.notifications.border": "#f7d04b", - "theme.bar.buttons.clock.border": "#5bafff", - "theme.bar.buttons.battery.border": "#f7d04b", - "theme.bar.buttons.systray.border": "#303030", - "theme.bar.buttons.bluetooth.border": "#5bafff", - "theme.bar.buttons.network.border": "#e23fe2", - "theme.bar.buttons.volume.border": "#ff3f3f", - "theme.bar.buttons.media.border": "#FFD700", - "theme.bar.buttons.windowtitle.border": "#5bafff", - "theme.bar.buttons.workspaces.border": "#e23ee2", - "theme.bar.buttons.dashboard.border": "#f7d04b", - "theme.bar.buttons.modules.submap.background": "#121212", - "theme.bar.buttons.modules.submap.text": "#FF69B4", - "theme.bar.buttons.modules.submap.border": "#FF69B4", - "theme.bar.buttons.modules.submap.icon": "#121212", - "theme.bar.buttons.modules.submap.icon_background": "#FF69B4" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/dracula.json b/ags/HyprPanel/themes/dracula.json deleted file mode 100644 index 1bada5f..0000000 --- a/ags/HyprPanel/themes/dracula.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.menu.notifications.scrollbar.color": "#bd93f9", - "theme.bar.menus.menu.notifications.pager.label": "#6272a4", - "theme.bar.menus.menu.notifications.pager.button": "#bd93f9", - "theme.bar.menus.menu.notifications.pager.background": "#282936", - "theme.bar.menus.menu.notifications.switch.puck": "#44475a", - "theme.bar.menus.menu.notifications.switch.disabled": "#44475a", - "theme.bar.menus.menu.notifications.switch.enabled": "#bd93f9", - "theme.bar.menus.menu.notifications.clear": "#bd93f9", - "theme.bar.menus.menu.notifications.switch_divider": "#44475a", - "theme.bar.menus.menu.notifications.border": "#44475a", - "theme.bar.menus.menu.notifications.card": "#44475a", - "theme.bar.menus.menu.notifications.background": "#282a36", - "theme.bar.menus.menu.notifications.no_notifications_label": "#44475a", - "theme.bar.menus.menu.notifications.label": "#bd93f9", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#282a36", - "theme.bar.menus.menu.power.buttons.sleep.text": "#8be9fd", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#8be9fd", - "theme.bar.menus.menu.power.buttons.sleep.background": "#44475a", - "theme.bar.menus.menu.power.buttons.logout.icon": "#282a36", - "theme.bar.menus.menu.power.buttons.logout.text": "#50fa7b", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#50fa7b", - "theme.bar.menus.menu.power.buttons.logout.background": "#44475a", - "theme.bar.menus.menu.power.buttons.restart.icon": "#282a36", - "theme.bar.menus.menu.power.buttons.restart.text": "#ffb86c", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#ffb86c", - "theme.bar.menus.menu.power.buttons.restart.background": "#44475a", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#282a36", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#bd93f9", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#ff5555", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#44475a", - "theme.bar.menus.menu.power.border.color": "#44475a", - "theme.bar.menus.menu.power.background.color": "#282936", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#ff79c6", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#ff79c6", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#ff79c6", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#50fa7b", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#50fa7b", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#50fa7b", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#f1fa8c", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#f1fa8c", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#f1fa8c", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#ffb86c", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#ffb86c", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#ffb86c", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#6272a4", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#ffb86c", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#bd93f9", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#8be9fd", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#ff5555", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#f1fa8c", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#ff79c6", - "theme.bar.menus.menu.dashboard.controls.input.text": "#282a36", - "theme.bar.menus.menu.dashboard.controls.input.background": "#ff79c6", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#282a36", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#ffb86c", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#282a36", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#f1fa8c", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#282a36", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#8be9fd", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#282a36", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#bd93f9", - "theme.bar.menus.menu.dashboard.controls.disabled": "#44475a", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#50fa7b", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#282a36", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#bd93f9", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#282a36", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#ff5555", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#50fa7b", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#f8f8f2", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#bd93f9", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#44475a", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#282a36", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#44475a", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#8be9fd", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#50fa7b", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#ffb86c", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#ff5555", - "theme.bar.menus.menu.dashboard.profile.name": "#ff79c6", - "theme.bar.menus.menu.dashboard.border.color": "#44475a", - "theme.bar.menus.menu.dashboard.background.color": "#282a36", - "theme.bar.menus.menu.dashboard.card.color": "#44475a", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#ff79c6", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#ff79c6", - "theme.bar.menus.menu.clock.weather.hourly.time": "#ff79c6", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#8be9fd", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#8be9fd", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#bd93f9", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#ffb86c", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#ff5555", - "theme.bar.menus.menu.clock.weather.stats": "#ff79c6", - "theme.bar.menus.menu.clock.weather.status": "#8be9fd", - "theme.bar.menus.menu.clock.weather.temperature": "#f8f8f2", - "theme.bar.menus.menu.clock.weather.icon": "#ff79c6", - "theme.bar.menus.menu.clock.calendar.contextdays": "#44475a", - "theme.bar.menus.menu.clock.calendar.days": "#f8f8f2", - "theme.bar.menus.menu.clock.calendar.currentday": "#ff79c6", - "theme.bar.menus.menu.clock.calendar.paginator": "#ff79c6", - "theme.bar.menus.menu.clock.calendar.weekdays": "#ff79c6", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#8be9fd", - "theme.bar.menus.menu.clock.time.timeperiod": "#8be9fd", - "theme.bar.menus.menu.clock.time.time": "#ff79c6", - "theme.bar.menus.menu.clock.text": "#f8f8f2", - "theme.bar.menus.menu.clock.border.color": "#44475a", - "theme.bar.menus.menu.clock.background.color": "#282a36", - "theme.bar.menus.menu.clock.card.color": "#44475a", - "theme.bar.menus.menu.battery.slider.puck": "#282936", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#6272a4", - "theme.bar.menus.menu.battery.slider.background": "#6272a4", - "theme.bar.menus.menu.battery.slider.primary": "#f1fa8c", - "theme.bar.menus.menu.battery.icons.active": "#f1fa8c", - "theme.bar.menus.menu.battery.icons.passive": "#6272a4", - "theme.bar.menus.menu.battery.listitems.active": "#f1fa8c", - "theme.bar.menus.menu.battery.listitems.passive": "#f8f8f2", - "theme.bar.menus.menu.battery.text": "#f8f8f2", - "theme.bar.menus.menu.battery.label.color": "#f1fa8c", - "theme.bar.menus.menu.battery.border.color": "#44475a", - "theme.bar.menus.menu.battery.background.color": "#282a36", - "theme.bar.menus.menu.battery.card.color": "#44475a", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#44475a", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#f8f8f2", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#282a36", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#8be9fd", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#f8f8f2", - "theme.bar.menus.menu.bluetooth.icons.active": "#8be9fd", - "theme.bar.menus.menu.bluetooth.icons.passive": "#6272a4", - "theme.bar.menus.menu.bluetooth.listitems.active": "#8be9fd", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#f8f8f2", - "theme.bar.menus.menu.bluetooth.switch.puck": "#44475a", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#44475a", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#8be9fd", - "theme.bar.menus.menu.bluetooth.switch_divider": "#44475a", - "theme.bar.menus.menu.bluetooth.status": "#44475a", - "theme.bar.menus.menu.bluetooth.text": "#f8f8f2", - "theme.bar.menus.menu.bluetooth.label.color": "#8be9fd", - "theme.bar.menus.menu.bluetooth.border.color": "#44475a", - "theme.bar.menus.menu.bluetooth.background.color": "#282a36", - "theme.bar.menus.menu.bluetooth.card.color": "#44475a", - "theme.bar.menus.menu.network.iconbuttons.active": "#bd93f9", - "theme.bar.menus.menu.network.iconbuttons.passive": "#f8f8f2", - "theme.bar.menus.menu.network.icons.active": "#bd93f9", - "theme.bar.menus.menu.network.icons.passive": "#6272a4", - "theme.bar.menus.menu.network.listitems.active": "#bd93f9", - "theme.bar.menus.menu.network.listitems.passive": "#f8f8f2", - "theme.bar.menus.menu.network.status.color": "#44475a", - "theme.bar.menus.menu.network.text": "#f8f8f2", - "theme.bar.menus.menu.network.label.color": "#bd93f9", - "theme.bar.menus.menu.network.border.color": "#44475a", - "theme.bar.menus.menu.network.background.color": "#282a36", - "theme.bar.menus.menu.network.card.color": "#44475a", - "theme.bar.menus.menu.volume.input_slider.puck": "#282936", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#6272a4", - "theme.bar.menus.menu.volume.input_slider.background": "#6272a4", - "theme.bar.menus.menu.volume.input_slider.primary": "#ffb86c", - "theme.bar.menus.menu.volume.audio_slider.puck": "#282936", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#6272a4", - "theme.bar.menus.menu.volume.audio_slider.background": "#6272a4", - "theme.bar.menus.menu.volume.audio_slider.primary": "#ffb86c", - "theme.bar.menus.menu.volume.icons.active": "#ffb86c", - "theme.bar.menus.menu.volume.icons.passive": "#6272a4", - "theme.bar.menus.menu.volume.iconbutton.active": "#ffb86c", - "theme.bar.menus.menu.volume.iconbutton.passive": "#f8f8f2", - "theme.bar.menus.menu.volume.listitems.active": "#ffb86c", - "theme.bar.menus.menu.volume.listitems.passive": "#f8f8f2", - "theme.bar.menus.menu.volume.text": "#f8f8f2", - "theme.bar.menus.menu.volume.label.color": "#ffb86c", - "theme.bar.menus.menu.volume.border.color": "#44475a", - "theme.bar.menus.menu.volume.background.color": "#282a36", - "theme.bar.menus.menu.volume.card.color": "#44475a", - "theme.bar.menus.menu.media.slider.puck": "#282936", - "theme.bar.menus.menu.media.slider.backgroundhover": "#6272a4", - "theme.bar.menus.menu.media.slider.background": "#6272a4", - "theme.bar.menus.menu.media.slider.primary": "#ff79c6", - "theme.bar.menus.menu.media.buttons.text": "#282a36", - "theme.bar.menus.menu.media.buttons.background": "#bd93f9", - "theme.bar.menus.menu.media.buttons.enabled": "#8be9fd", - "theme.bar.menus.menu.media.buttons.inactive": "#44475a", - "theme.bar.menus.menu.media.border.color": "#44475a", - "theme.bar.menus.menu.media.card.color": "#44475a", - "theme.bar.menus.menu.media.background.color": "#282a36", - "theme.bar.menus.menu.media.album": "#ff79c6", - "theme.bar.menus.menu.media.artist": "#8be9fd", - "theme.bar.menus.menu.media.song": "#bd93f9", - "theme.bar.menus.tooltip.text": "#f8f8f2", - "theme.bar.menus.tooltip.background": "#282a36", - "theme.bar.menus.dropdownmenu.divider": "#44475a", - "theme.bar.menus.dropdownmenu.text": "#f8f8f2", - "theme.bar.menus.dropdownmenu.background": "#282a36", - "theme.bar.menus.slider.puck": "#44475a", - "theme.bar.menus.slider.backgroundhover": "#44475a", - "theme.bar.menus.slider.background": "#44475a", - "theme.bar.menus.slider.primary": "#bd93f9", - "theme.bar.menus.progressbar.background": "#44475a", - "theme.bar.menus.progressbar.foreground": "#bd93f9", - "theme.bar.menus.iconbuttons.active": "#bd93f9", - "theme.bar.menus.iconbuttons.passive": "#f8f8f2", - "theme.bar.menus.buttons.text": "#282a36", - "theme.bar.menus.buttons.disabled": "#44475a", - "theme.bar.menus.buttons.active": "#ff79c6", - "theme.bar.menus.buttons.default": "#bd93f9", - "theme.bar.menus.check_radio_button.active": "#bd93f9", - "theme.bar.menus.check_radio_button.background": "#282936", - "theme.bar.menus.switch.puck": "#44475a", - "theme.bar.menus.switch.disabled": "#44475a", - "theme.bar.menus.switch.enabled": "#bd93f9", - "theme.bar.menus.icons.active": "#bd93f9", - "theme.bar.menus.icons.passive": "#44475a", - "theme.bar.menus.listitems.active": "#bd93f9", - "theme.bar.menus.listitems.passive": "#f8f8f2", - "theme.bar.menus.popover.border": "#282a36", - "theme.bar.menus.popover.background": "#282a36", - "theme.bar.menus.popover.text": "#bd93f9", - "theme.bar.menus.label": "#bd93f9", - "theme.bar.menus.feinttext": "#44475a", - "theme.bar.menus.dimtext": "#6272a4", - "theme.bar.menus.text": "#f8f8f2", - "theme.bar.menus.border.color": "#44475a", - "theme.bar.menus.cards": "#44475a", - "theme.bar.menus.background": "#6272a4", - "theme.bar.buttons.modules.power.icon_background": "#bd93f9", - "theme.bar.buttons.modules.power.icon": "#ff5454", - "theme.bar.buttons.modules.power.background": "#44475a", - "theme.bar.buttons.modules.power.border": "#bd93f9", - "theme.bar.buttons.modules.weather.icon_background": "#ffb86c", - "theme.bar.buttons.modules.weather.icon": "#ffb86c", - "theme.bar.buttons.modules.weather.text": "#ffb86c", - "theme.bar.buttons.modules.weather.background": "#44475a", - "theme.bar.buttons.modules.weather.border": "#ffb86c", - "theme.bar.buttons.modules.updates.icon_background": "#bd93f9", - "theme.bar.buttons.modules.updates.icon": "#bd93f9", - "theme.bar.buttons.modules.updates.text": "#bd93f9", - "theme.bar.buttons.modules.updates.background": "#44475a", - "theme.bar.buttons.modules.updates.border": "#bd93f9", - "theme.bar.buttons.modules.kbLayout.icon_background": "#8be9fd", - "theme.bar.buttons.modules.kbLayout.icon": "#8be9fd", - "theme.bar.buttons.modules.kbLayout.text": "#8be9fd", - "theme.bar.buttons.modules.kbLayout.background": "#44475a", - "theme.bar.buttons.modules.kbLayout.border": "#8be9fd", - "theme.bar.buttons.modules.netstat.icon_background": "#50fa7b", - "theme.bar.buttons.modules.netstat.icon": "#50fa7b", - "theme.bar.buttons.modules.netstat.text": "#50fa7b", - "theme.bar.buttons.modules.netstat.background": "#44475a", - "theme.bar.buttons.modules.netstat.border": "#50fa7b", - "theme.bar.buttons.modules.storage.icon_background": "#bd93f9", - "theme.bar.buttons.modules.storage.icon": "#bd93f9", - "theme.bar.buttons.modules.storage.text": "#bd93f9", - "theme.bar.buttons.modules.storage.background": "#44475a", - "theme.bar.buttons.modules.storage.border": "#bd93f9", - "theme.bar.buttons.modules.cpu.icon_background": "#ff79c6", - "theme.bar.buttons.modules.cpu.icon": "#ff79c6", - "theme.bar.buttons.modules.cpu.text": "#ff79c6", - "theme.bar.buttons.modules.cpu.background": "#44475a", - "theme.bar.buttons.modules.cpu.border": "#ff79c6", - "theme.bar.buttons.modules.ram.icon_background": "#f1fa8c", - "theme.bar.buttons.modules.ram.icon": "#f1fa8c", - "theme.bar.buttons.modules.ram.text": "#f1fa8c", - "theme.bar.buttons.modules.ram.background": "#44475a", - "theme.bar.buttons.modules.ram.border": "#f1fa8c", - "theme.bar.buttons.notifications.total": "#bd93f9", - "theme.bar.buttons.notifications.icon_background": "#bd93f9", - "theme.bar.buttons.notifications.icon": "#bd93f9", - "theme.bar.buttons.notifications.background": "#44475a", - "theme.bar.buttons.notifications.border": "#bd93f9", - "theme.bar.buttons.clock.icon_background": "#ff79c6", - "theme.bar.buttons.clock.icon": "#ff79c6", - "theme.bar.buttons.clock.text": "#ff79c6", - "theme.bar.buttons.clock.background": "#44475a", - "theme.bar.buttons.clock.border": "#ff79c6", - "theme.bar.buttons.battery.icon_background": "#f1fa8c", - "theme.bar.buttons.battery.icon": "#f1fa8c", - "theme.bar.buttons.battery.text": "#f1fa8c", - "theme.bar.buttons.battery.background": "#44475a", - "theme.bar.buttons.battery.border": "#f1fa8c", - "theme.bar.buttons.systray.background": "#44475a", - "theme.bar.buttons.systray.border": "#6272a4", - "theme.bar.buttons.bluetooth.icon_background": "#89dbeb", - "theme.bar.buttons.bluetooth.icon": "#8be9fd", - "theme.bar.buttons.bluetooth.text": "#8be9fd", - "theme.bar.buttons.bluetooth.background": "#44475a", - "theme.bar.buttons.bluetooth.border": "#8be9fd", - "theme.bar.buttons.network.icon_background": "#caa6f7", - "theme.bar.buttons.network.icon": "#bd93f9", - "theme.bar.buttons.network.text": "#bd93f9", - "theme.bar.buttons.network.background": "#44475a", - "theme.bar.buttons.network.border": "#bd93f9", - "theme.bar.buttons.volume.icon_background": "#ffb86c", - "theme.bar.buttons.volume.icon": "#ffb86c", - "theme.bar.buttons.volume.text": "#ffb86c", - "theme.bar.buttons.volume.background": "#44475a", - "theme.bar.buttons.volume.border": "#ffb86c", - "theme.bar.buttons.media.icon_background": "#bd93f9", - "theme.bar.buttons.media.icon": "#bd93f9", - "theme.bar.buttons.media.text": "#bd93f9", - "theme.bar.buttons.media.background": "#44475a", - "theme.bar.buttons.media.border": "#bd93f9", - "theme.bar.buttons.windowtitle.icon_background": "#ff79c6", - "theme.bar.buttons.windowtitle.icon": "#f1fa8c", - "theme.bar.buttons.windowtitle.text": "#f1fa8c", - "theme.bar.buttons.windowtitle.border": "#f1fa8c", - "theme.bar.buttons.windowtitle.background": "#44475a", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#e23ee2", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#21252b", - "theme.bar.buttons.workspaces.hover": "#44475a", - "theme.bar.buttons.workspaces.active": "#ff79c6", - "theme.bar.buttons.workspaces.occupied": "#ffb86c", - "theme.bar.buttons.workspaces.available": "#8be9fd", - "theme.bar.buttons.workspaces.border": "#44475a", - "theme.bar.buttons.workspaces.background": "#44475a", - "theme.bar.buttons.dashboard.icon": "#8be8fd", - "theme.bar.buttons.dashboard.border": "#8be8fd", - "theme.bar.buttons.dashboard.background": "#44475a", - "theme.bar.buttons.icon": "#bd93f9", - "theme.bar.buttons.text": "#bd93f9", - "theme.bar.buttons.hover": "#44475a", - "theme.bar.buttons.icon_background": "#44475a", - "theme.bar.buttons.background": "#282936", - "theme.bar.buttons.style": "default", - "theme.bar.background": "#282a36", - "theme.osd.label": "#bd93f9", - "theme.osd.icon": "#282a36", - "theme.osd.bar_overflow_color": "#ff5555", - "theme.osd.bar_empty_color": "#44475a", - "theme.osd.bar_color": "#bd93f9", - "theme.osd.icon_container": "#bd93f9", - "theme.osd.bar_container": "#282a36", - "theme.notification.close_button.label": "#282a36", - "theme.notification.close_button.background": "#bd93f9", - "theme.notification.labelicon": "#bd93f9", - "theme.notification.text": "#f8f8f2", - "theme.notification.time": "#6272a4", - "theme.notification.border": "#44475a", - "theme.notification.label": "#bd93f9", - "theme.notification.actions.text": "#282a36", - "theme.notification.actions.background": "#bd93f9", - "theme.notification.background": "#282a36", - "theme.bar.buttons.modules.submap.background": "#44475a", - "theme.bar.buttons.modules.submap.text": "#8be9fd", - "theme.bar.buttons.modules.submap.border": "#8be9fd", - "theme.bar.buttons.modules.submap.icon": "#8be9fd", - "theme.bar.buttons.modules.submap.icon_background": "#44475a" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/dracula_split.json b/ags/HyprPanel/themes/dracula_split.json deleted file mode 100644 index 5c5263c..0000000 --- a/ags/HyprPanel/themes/dracula_split.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.menu.notifications.scrollbar.color": "#bd93f9", - "theme.bar.menus.menu.notifications.pager.label": "#6272a4", - "theme.bar.menus.menu.notifications.pager.button": "#bd93f9", - "theme.bar.menus.menu.notifications.pager.background": "#282936", - "theme.bar.menus.menu.notifications.switch.puck": "#44475a", - "theme.bar.menus.menu.notifications.switch.disabled": "#44475a", - "theme.bar.menus.menu.notifications.switch.enabled": "#bd93f9", - "theme.bar.menus.menu.notifications.clear": "#bd93f9", - "theme.bar.menus.menu.notifications.switch_divider": "#44475a", - "theme.bar.menus.menu.notifications.border": "#44475a", - "theme.bar.menus.menu.notifications.card": "#44475a", - "theme.bar.menus.menu.notifications.background": "#282a36", - "theme.bar.menus.menu.notifications.no_notifications_label": "#44475a", - "theme.bar.menus.menu.notifications.label": "#bd93f9", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#282a36", - "theme.bar.menus.menu.power.buttons.sleep.text": "#8be9fd", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#8be9fd", - "theme.bar.menus.menu.power.buttons.sleep.background": "#44475a", - "theme.bar.menus.menu.power.buttons.logout.icon": "#282a36", - "theme.bar.menus.menu.power.buttons.logout.text": "#50fa7b", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#50fa7b", - "theme.bar.menus.menu.power.buttons.logout.background": "#44475a", - "theme.bar.menus.menu.power.buttons.restart.icon": "#282a36", - "theme.bar.menus.menu.power.buttons.restart.text": "#ffb86c", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#ffb86c", - "theme.bar.menus.menu.power.buttons.restart.background": "#44475a", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#282a36", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#ff5454", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#ff5555", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#44475a", - "theme.bar.menus.menu.power.border.color": "#44475a", - "theme.bar.menus.menu.power.background.color": "#282936", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#ff79c6", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#ff79c6", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#ff79c6", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#50fa7b", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#50fa7b", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#50fa7b", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#f1fa8c", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#f1fa8c", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#f1fa8c", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#ffb86c", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#ffb86c", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#ffb86c", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#6272a4", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#ffb86c", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#bd93f9", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#8be9fd", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#ff5555", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#f1fa8c", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#ff79c6", - "theme.bar.menus.menu.dashboard.controls.input.text": "#282a36", - "theme.bar.menus.menu.dashboard.controls.input.background": "#ff79c6", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#282a36", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#ffb86c", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#282a36", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#f1fa8c", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#282a36", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#8be9fd", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#282a36", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#bd93f9", - "theme.bar.menus.menu.dashboard.controls.disabled": "#44475a", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#50fa7b", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#282a36", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#bd93f9", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#282a36", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#ff5555", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#50fa7b", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#f8f8f2", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#bd93f9", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#44475a", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#282a36", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#44475a", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#8be9fd", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#50fa7b", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#ffb86c", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#ff5555", - "theme.bar.menus.menu.dashboard.profile.name": "#ff79c6", - "theme.bar.menus.menu.dashboard.border.color": "#44475a", - "theme.bar.menus.menu.dashboard.background.color": "#282a36", - "theme.bar.menus.menu.dashboard.card.color": "#44475a", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#ff79c6", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#ff79c6", - "theme.bar.menus.menu.clock.weather.hourly.time": "#ff79c6", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#8be9fd", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#8be9fd", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#bd93f9", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#ffb86c", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#ff5555", - "theme.bar.menus.menu.clock.weather.stats": "#ff79c6", - "theme.bar.menus.menu.clock.weather.status": "#8be9fd", - "theme.bar.menus.menu.clock.weather.temperature": "#f8f8f2", - "theme.bar.menus.menu.clock.weather.icon": "#ff79c6", - "theme.bar.menus.menu.clock.calendar.contextdays": "#44475a", - "theme.bar.menus.menu.clock.calendar.days": "#f8f8f2", - "theme.bar.menus.menu.clock.calendar.currentday": "#ff79c6", - "theme.bar.menus.menu.clock.calendar.paginator": "#ff79c6", - "theme.bar.menus.menu.clock.calendar.weekdays": "#ff79c6", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#8be9fd", - "theme.bar.menus.menu.clock.time.timeperiod": "#8be9fd", - "theme.bar.menus.menu.clock.time.time": "#ff79c6", - "theme.bar.menus.menu.clock.text": "#f8f8f2", - "theme.bar.menus.menu.clock.border.color": "#44475a", - "theme.bar.menus.menu.clock.background.color": "#282a36", - "theme.bar.menus.menu.clock.card.color": "#44475a", - "theme.bar.menus.menu.battery.slider.puck": "#282936", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#6272a4", - "theme.bar.menus.menu.battery.slider.background": "#6272a4", - "theme.bar.menus.menu.battery.slider.primary": "#f1fa8c", - "theme.bar.menus.menu.battery.icons.active": "#f1fa8c", - "theme.bar.menus.menu.battery.icons.passive": "#6272a4", - "theme.bar.menus.menu.battery.listitems.active": "#f1fa8c", - "theme.bar.menus.menu.battery.listitems.passive": "#f8f8f2", - "theme.bar.menus.menu.battery.text": "#f8f8f2", - "theme.bar.menus.menu.battery.label.color": "#f1fa8c", - "theme.bar.menus.menu.battery.border.color": "#44475a", - "theme.bar.menus.menu.battery.background.color": "#282a36", - "theme.bar.menus.menu.battery.card.color": "#44475a", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#44475a", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#f8f8f2", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#282a36", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#8be9fd", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#f8f8f2", - "theme.bar.menus.menu.bluetooth.icons.active": "#8be9fd", - "theme.bar.menus.menu.bluetooth.icons.passive": "#6272a4", - "theme.bar.menus.menu.bluetooth.listitems.active": "#8be9fd", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#f8f8f2", - "theme.bar.menus.menu.bluetooth.switch.puck": "#44475a", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#44475a", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#8be9fd", - "theme.bar.menus.menu.bluetooth.switch_divider": "#44475a", - "theme.bar.menus.menu.bluetooth.status": "#44475a", - "theme.bar.menus.menu.bluetooth.text": "#f8f8f2", - "theme.bar.menus.menu.bluetooth.label.color": "#8be9fd", - "theme.bar.menus.menu.bluetooth.border.color": "#44475a", - "theme.bar.menus.menu.bluetooth.background.color": "#282a36", - "theme.bar.menus.menu.bluetooth.card.color": "#44475a", - "theme.bar.menus.menu.network.iconbuttons.active": "#bd93f9", - "theme.bar.menus.menu.network.iconbuttons.passive": "#f8f8f2", - "theme.bar.menus.menu.network.icons.active": "#bd93f9", - "theme.bar.menus.menu.network.icons.passive": "#6272a4", - "theme.bar.menus.menu.network.listitems.active": "#bd93f9", - "theme.bar.menus.menu.network.listitems.passive": "#f8f8f2", - "theme.bar.menus.menu.network.status.color": "#44475a", - "theme.bar.menus.menu.network.text": "#f8f8f2", - "theme.bar.menus.menu.network.label.color": "#bd93f9", - "theme.bar.menus.menu.network.border.color": "#44475a", - "theme.bar.menus.menu.network.background.color": "#282a36", - "theme.bar.menus.menu.network.card.color": "#44475a", - "theme.bar.menus.menu.volume.input_slider.puck": "#282936", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#6272a4", - "theme.bar.menus.menu.volume.input_slider.background": "#6272a4", - "theme.bar.menus.menu.volume.input_slider.primary": "#ffb86c", - "theme.bar.menus.menu.volume.audio_slider.puck": "#282936", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#6272a4", - "theme.bar.menus.menu.volume.audio_slider.background": "#6272a4", - "theme.bar.menus.menu.volume.audio_slider.primary": "#ffb86c", - "theme.bar.menus.menu.volume.icons.active": "#ffb86c", - "theme.bar.menus.menu.volume.icons.passive": "#6272a4", - "theme.bar.menus.menu.volume.iconbutton.active": "#ffb86c", - "theme.bar.menus.menu.volume.iconbutton.passive": "#f8f8f2", - "theme.bar.menus.menu.volume.listitems.active": "#ffb86c", - "theme.bar.menus.menu.volume.listitems.passive": "#f8f8f2", - "theme.bar.menus.menu.volume.text": "#f8f8f2", - "theme.bar.menus.menu.volume.label.color": "#ffb86c", - "theme.bar.menus.menu.volume.border.color": "#44475a", - "theme.bar.menus.menu.volume.background.color": "#282a36", - "theme.bar.menus.menu.volume.card.color": "#44475a", - "theme.bar.menus.menu.media.slider.puck": "#282936", - "theme.bar.menus.menu.media.slider.backgroundhover": "#6272a4", - "theme.bar.menus.menu.media.slider.background": "#6272a4", - "theme.bar.menus.menu.media.slider.primary": "#ff79c6", - "theme.bar.menus.menu.media.buttons.text": "#282a36", - "theme.bar.menus.menu.media.buttons.background": "#bd93f9", - "theme.bar.menus.menu.media.buttons.enabled": "#8be9fd", - "theme.bar.menus.menu.media.buttons.inactive": "#44475a", - "theme.bar.menus.menu.media.border.color": "#44475a", - "theme.bar.menus.menu.media.card.color": "#44475a", - "theme.bar.menus.menu.media.background.color": "#282a36", - "theme.bar.menus.menu.media.album": "#ff79c6", - "theme.bar.menus.menu.media.artist": "#8be9fd", - "theme.bar.menus.menu.media.song": "#bd93f9", - "theme.bar.menus.tooltip.text": "#f8f8f2", - "theme.bar.menus.tooltip.background": "#282a36", - "theme.bar.menus.dropdownmenu.divider": "#44475a", - "theme.bar.menus.dropdownmenu.text": "#f8f8f2", - "theme.bar.menus.dropdownmenu.background": "#282a36", - "theme.bar.menus.slider.puck": "#44475a", - "theme.bar.menus.slider.backgroundhover": "#44475a", - "theme.bar.menus.slider.background": "#44475a", - "theme.bar.menus.slider.primary": "#bd93f9", - "theme.bar.menus.progressbar.background": "#44475a", - "theme.bar.menus.progressbar.foreground": "#bd93f9", - "theme.bar.menus.iconbuttons.active": "#bd93f9", - "theme.bar.menus.iconbuttons.passive": "#f8f8f2", - "theme.bar.menus.buttons.text": "#282a36", - "theme.bar.menus.buttons.disabled": "#44475a", - "theme.bar.menus.buttons.active": "#ff79c6", - "theme.bar.menus.buttons.default": "#bd93f9", - "theme.bar.menus.check_radio_button.active": "#bd93f9", - "theme.bar.menus.check_radio_button.background": "#282936", - "theme.bar.menus.switch.puck": "#44475a", - "theme.bar.menus.switch.disabled": "#44475a", - "theme.bar.menus.switch.enabled": "#bd93f9", - "theme.bar.menus.icons.active": "#bd93f9", - "theme.bar.menus.icons.passive": "#44475a", - "theme.bar.menus.listitems.active": "#bd93f9", - "theme.bar.menus.listitems.passive": "#f8f8f2", - "theme.bar.menus.popover.border": "#282a36", - "theme.bar.menus.popover.background": "#282a36", - "theme.bar.menus.popover.text": "#bd93f9", - "theme.bar.menus.label": "#bd93f9", - "theme.bar.menus.feinttext": "#44475a", - "theme.bar.menus.dimtext": "#6272a4", - "theme.bar.menus.text": "#f8f8f2", - "theme.bar.menus.border.color": "#44475a", - "theme.bar.menus.cards": "#44475a", - "theme.bar.menus.background": "#6272a4", - "theme.bar.buttons.modules.power.icon_background": "#ff5454", - "theme.bar.buttons.modules.power.icon": "#282936", - "theme.bar.buttons.modules.power.background": "#44475a", - "theme.bar.buttons.modules.power.border": "#bd93f9", - "theme.bar.buttons.modules.weather.icon_background": "#ffb86c", - "theme.bar.buttons.modules.weather.icon": "#282936", - "theme.bar.buttons.modules.weather.text": "#ffb86c", - "theme.bar.buttons.modules.weather.background": "#44475a", - "theme.bar.buttons.modules.weather.border": "#ffb86c", - "theme.bar.buttons.modules.updates.icon_background": "#bd93f9", - "theme.bar.buttons.modules.updates.icon": "#282936", - "theme.bar.buttons.modules.updates.text": "#bd93f9", - "theme.bar.buttons.modules.updates.background": "#44475a", - "theme.bar.buttons.modules.updates.border": "#bd93f9", - "theme.bar.buttons.modules.kbLayout.icon_background": "#8be9fd", - "theme.bar.buttons.modules.kbLayout.icon": "#282936", - "theme.bar.buttons.modules.kbLayout.text": "#8be9fd", - "theme.bar.buttons.modules.kbLayout.background": "#44475a", - "theme.bar.buttons.modules.kbLayout.border": "#8be9fd", - "theme.bar.buttons.modules.netstat.icon_background": "#50fa7b", - "theme.bar.buttons.modules.netstat.icon": "#282936", - "theme.bar.buttons.modules.netstat.text": "#50fa7b", - "theme.bar.buttons.modules.netstat.background": "#44475a", - "theme.bar.buttons.modules.netstat.border": "#50fa7b", - "theme.bar.buttons.modules.storage.icon_background": "#bd93f9", - "theme.bar.buttons.modules.storage.icon": "#282936", - "theme.bar.buttons.modules.storage.text": "#bd93f9", - "theme.bar.buttons.modules.storage.background": "#44475a", - "theme.bar.buttons.modules.storage.border": "#bd93f9", - "theme.bar.buttons.modules.cpu.icon_background": "#ff79c6", - "theme.bar.buttons.modules.cpu.icon": "#282936", - "theme.bar.buttons.modules.cpu.text": "#ff79c6", - "theme.bar.buttons.modules.cpu.background": "#44475a", - "theme.bar.buttons.modules.cpu.border": "#ff79c6", - "theme.bar.buttons.modules.ram.icon_background": "#f1fa8c", - "theme.bar.buttons.modules.ram.icon": "#282936", - "theme.bar.buttons.modules.ram.text": "#f1fa8c", - "theme.bar.buttons.modules.ram.background": "#44475a", - "theme.bar.buttons.modules.ram.border": "#f1fa8c", - "theme.bar.buttons.notifications.total": "#bd93f9", - "theme.bar.buttons.notifications.icon_background": "#bd93f9", - "theme.bar.buttons.notifications.icon": "#44475a", - "theme.bar.buttons.notifications.background": "#44475a", - "theme.bar.buttons.notifications.border": "#bd93f9", - "theme.bar.buttons.clock.icon_background": "#ff79c6", - "theme.bar.buttons.clock.icon": "#44475a", - "theme.bar.buttons.clock.text": "#ff79c6", - "theme.bar.buttons.clock.background": "#44475a", - "theme.bar.buttons.clock.border": "#ff79c6", - "theme.bar.buttons.battery.icon_background": "#f1fa8c", - "theme.bar.buttons.battery.icon": "#44475a", - "theme.bar.buttons.battery.text": "#f1fa8c", - "theme.bar.buttons.battery.background": "#44475a", - "theme.bar.buttons.battery.border": "#f1fa8c", - "theme.bar.buttons.systray.background": "#44475a", - "theme.bar.buttons.systray.border": "#6272a4", - "theme.bar.buttons.bluetooth.icon_background": "#8be9fd", - "theme.bar.buttons.bluetooth.icon": "#44475a", - "theme.bar.buttons.bluetooth.text": "#8be9fd", - "theme.bar.buttons.bluetooth.background": "#44475a", - "theme.bar.buttons.bluetooth.border": "#8be9fd", - "theme.bar.buttons.network.icon_background": "#bd93f9", - "theme.bar.buttons.network.icon": "#44475a", - "theme.bar.buttons.network.text": "#bd93f9", - "theme.bar.buttons.network.background": "#44475a", - "theme.bar.buttons.network.border": "#bd93f9", - "theme.bar.buttons.volume.icon_background": "#ffb86c", - "theme.bar.buttons.volume.icon": "#44475a", - "theme.bar.buttons.volume.text": "#ffb86c", - "theme.bar.buttons.volume.background": "#44475a", - "theme.bar.buttons.volume.border": "#ffb86c", - "theme.bar.buttons.media.icon_background": "#bd93f9", - "theme.bar.buttons.media.icon": "#44475a", - "theme.bar.buttons.media.text": "#bd93f9", - "theme.bar.buttons.media.background": "#44475a", - "theme.bar.buttons.media.border": "#bd93f9", - "theme.bar.buttons.windowtitle.icon_background": "#f1fa8c", - "theme.bar.buttons.windowtitle.icon": "#44475a", - "theme.bar.buttons.windowtitle.text": "#f1fa8c", - "theme.bar.buttons.windowtitle.border": "#f1fa8c", - "theme.bar.buttons.windowtitle.background": "#44475a", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#ff79c6", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#ff79c6", - "theme.bar.buttons.workspaces.hover": "#ff79c6", - "theme.bar.buttons.workspaces.active": "#ff79c6", - "theme.bar.buttons.workspaces.occupied": "#ffb86c", - "theme.bar.buttons.workspaces.available": "#8be9fd", - "theme.bar.buttons.workspaces.border": "#44475a", - "theme.bar.buttons.workspaces.background": "#44475a", - "theme.bar.buttons.dashboard.icon": "#44475a", - "theme.bar.buttons.dashboard.border": "#8be8fd", - "theme.bar.buttons.dashboard.background": "#8be8fd", - "theme.bar.buttons.icon": "#bd93f9", - "theme.bar.buttons.text": "#bd93f9", - "theme.bar.buttons.hover": "#44475a", - "theme.bar.buttons.icon_background": "#242438", - "theme.bar.buttons.background": "#282936", - "theme.bar.buttons.style": "split", - "theme.bar.background": "#282a36", - "theme.osd.label": "#bd93f9", - "theme.osd.icon": "#282a36", - "theme.osd.bar_overflow_color": "#ff5555", - "theme.osd.bar_empty_color": "#44475a", - "theme.osd.bar_color": "#bd93f9", - "theme.osd.icon_container": "#bd93f9", - "theme.osd.bar_container": "#282a36", - "theme.notification.close_button.label": "#282a36", - "theme.notification.close_button.background": "#bd93f9", - "theme.notification.labelicon": "#bd93f9", - "theme.notification.text": "#f8f8f2", - "theme.notification.time": "#6272a4", - "theme.notification.border": "#44475a", - "theme.notification.label": "#bd93f9", - "theme.notification.actions.text": "#282a36", - "theme.notification.actions.background": "#bd93f9", - "theme.notification.background": "#44475a", - "theme.bar.buttons.modules.submap.background": "#44475a", - "theme.bar.buttons.modules.submap.text": "#8be9fd", - "theme.bar.buttons.modules.submap.border": "#8be9fd", - "theme.bar.buttons.modules.submap.icon": "#282936", - "theme.bar.buttons.modules.submap.icon_background": "#8be9fd" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/everforest.json b/ags/HyprPanel/themes/everforest.json deleted file mode 100644 index 4789eb4..0000000 --- a/ags/HyprPanel/themes/everforest.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.background": "#2b3339", - "theme.bar.background": "#2b3339", - "theme.bar.buttons.media.icon": "#a7c080", - "theme.bar.buttons.media.text": "#a7c080", - "theme.bar.buttons.icon": "#a7c080", - "theme.bar.buttons.text": "#a7c080", - "theme.bar.buttons.hover": "#445055", - "theme.bar.buttons.background": "#323d43", - "theme.bar.menus.text": "#d3c6aa", - "theme.bar.menus.border.color": "#454b53", - "theme.bar.buttons.media.background": "#323d43", - "theme.bar.menus.menu.volume.text": "#d3c6aa", - "theme.bar.menus.menu.volume.card.color": "#2f383e", - "theme.bar.menus.menu.volume.label.color": "#e67e80", - "theme.bar.menus.popover.text": "#a7c080", - "theme.bar.menus.popover.background": "#3a4248", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#e67e80", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#e67e80", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#a7c080", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#2b3339", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#d3c6aa", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#a7c080", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#454b53", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#2b3339", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#2f383e", - "theme.bar.menus.menu.notifications.switch.puck": "#445055", - "theme.bar.menus.menu.notifications.switch.disabled": "#454b54", - "theme.bar.menus.menu.notifications.switch.enabled": "#a7c080", - "theme.bar.menus.menu.notifications.clear": "#e67e80", - "theme.bar.menus.menu.notifications.switch_divider": "#445055", - "theme.bar.menus.menu.notifications.border": "#454b53", - "theme.bar.menus.menu.notifications.card": "#2f383e", - "theme.bar.menus.menu.notifications.background": "#2b3339", - "theme.bar.menus.menu.notifications.no_notifications_label": "#454b53", - "theme.bar.menus.menu.notifications.label": "#a7c080", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#d699b6", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#d699b6", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#d699b6", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#a7c080", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#a7c080", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#a7c080", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#dbbc7f", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#dbbc7f", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#dbbc7f", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#e67e80", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#e67e80", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#e67e80", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#445055", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#a7c080", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#83c092", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#a7c080", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#e67e80", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#dbbc7f", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#d699b6", - "theme.bar.menus.menu.dashboard.controls.input.text": "#3a4248", - "theme.bar.menus.menu.dashboard.controls.input.background": "#d699b6", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#3a4248", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#e67e80", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#3a4248", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#dbbc7f", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#3a4248", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#83c092", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#3a4248", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#83c092", - "theme.bar.menus.menu.dashboard.controls.disabled": "#5c6a72", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#a7c080", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#3a4248", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#a7c080", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#83c092", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#a7c080", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#dbbc7f", - "theme.bar.menus.menu.dashboard.profile.name": "#d699b6", - "theme.bar.menus.menu.dashboard.border.color": "#454b53", - "theme.bar.menus.menu.dashboard.background.color": "#2b3339", - "theme.bar.menus.menu.dashboard.card.color": "#2f383e", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#d699b6", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#d699b6", - "theme.bar.menus.menu.clock.weather.hourly.time": "#d699b6", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#83c092", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#83c092", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#a7c080", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#dbbc7f", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#e67e80", - "theme.bar.menus.menu.clock.weather.stats": "#d699b6", - "theme.bar.menus.menu.clock.weather.status": "#83c092", - "theme.bar.menus.menu.clock.weather.temperature": "#d3c6aa", - "theme.bar.menus.menu.clock.weather.icon": "#d699b6", - "theme.bar.menus.menu.clock.calendar.contextdays": "#5c6a72", - "theme.bar.menus.menu.clock.calendar.days": "#d3c6aa", - "theme.bar.menus.menu.clock.calendar.currentday": "#d699b6", - "theme.bar.menus.menu.clock.calendar.paginator": "#d699b6", - "theme.bar.menus.menu.clock.calendar.weekdays": "#d699b6", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#83c092", - "theme.bar.menus.menu.clock.time.timeperiod": "#83c092", - "theme.bar.menus.menu.clock.time.time": "#d699b6", - "theme.bar.menus.menu.clock.text": "#d3c6aa", - "theme.bar.menus.menu.clock.border.color": "#454b53", - "theme.bar.menus.menu.clock.background.color": "#2b3339", - "theme.bar.menus.menu.clock.card.color": "#2f383e", - "theme.bar.menus.menu.battery.slider.puck": "#445055", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#445055", - "theme.bar.menus.menu.battery.slider.background": "#5c6a72", - "theme.bar.menus.menu.battery.slider.primary": "#dbbc7f", - "theme.bar.menus.menu.battery.icons.active": "#dbbc7f", - "theme.bar.menus.menu.battery.icons.passive": "#7a8478", - "theme.bar.menus.menu.battery.listitems.active": "#dbbc7f", - "theme.bar.menus.menu.battery.listitems.passive": "#d3c6aa", - "theme.bar.menus.menu.battery.text": "#d3c6aa", - "theme.bar.menus.menu.battery.label.color": "#dbbc7f", - "theme.bar.menus.menu.battery.border.color": "#454b53", - "theme.bar.menus.menu.battery.background.color": "#2b3339", - "theme.bar.menus.menu.battery.card.color": "#2f383e", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#2f383e", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#d3c6aa", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#2b3339", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#a7c080", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#d3c6aa", - "theme.bar.menus.menu.bluetooth.icons.active": "#a7c080", - "theme.bar.menus.menu.bluetooth.icons.passive": "#868d80", - "theme.bar.menus.menu.bluetooth.listitems.active": "#a7c07f", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#d3c6aa", - "theme.bar.menus.menu.bluetooth.switch.puck": "#454b53", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#2f383e", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#a7c080", - "theme.bar.menus.menu.bluetooth.switch_divider": "#454b53", - "theme.bar.menus.menu.bluetooth.status": "#868d80", - "theme.bar.menus.menu.bluetooth.text": "#d3c6aa", - "theme.bar.menus.menu.bluetooth.label.color": "#a7c080", - "theme.bar.menus.menu.bluetooth.border.color": "#2f383e", - "theme.bar.menus.menu.bluetooth.background.color": "#2b3339", - "theme.bar.menus.menu.bluetooth.card.color": "#2f383e", - "theme.bar.menus.menu.network.iconbuttons.active": "#e69875", - "theme.bar.menus.menu.network.iconbuttons.passive": "#d3c6aa", - "theme.bar.menus.menu.network.icons.active": "#e69875", - "theme.bar.menus.menu.network.icons.passive": "#868d80", - "theme.bar.menus.menu.network.listitems.active": "#e69874", - "theme.bar.menus.menu.network.listitems.passive": "#d3c6aa", - "theme.bar.menus.menu.network.status.color": "#868d80", - "theme.bar.menus.menu.network.text": "#d3c6aa", - "theme.bar.menus.menu.network.label.color": "#e69875", - "theme.bar.menus.menu.network.border.color": "#2f383e", - "theme.bar.menus.menu.network.background.color": "#2b3339", - "theme.bar.menus.menu.network.card.color": "#2f383e", - "theme.bar.menus.menu.volume.input_slider.puck": "#83c092", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#454b53", - "theme.bar.menus.menu.volume.input_slider.background": "#83c093", - "theme.bar.menus.menu.volume.input_slider.primary": "#dbbc7f", - "theme.bar.menus.menu.volume.audio_slider.puck": "#83c092", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#454b53", - "theme.bar.menus.menu.volume.audio_slider.background": "#83c093", - "theme.bar.menus.menu.volume.audio_slider.primary": "#dbbc7f", - "theme.bar.menus.menu.volume.icons.active": "#dbbc7f", - "theme.bar.menus.menu.volume.icons.passive": "#868d80", - "theme.bar.menus.menu.volume.iconbutton.active": "#dbbc7f", - "theme.bar.menus.menu.volume.iconbutton.passive": "#d3c6aa", - "theme.bar.menus.menu.volume.listitems.active": "#dbbc7e", - "theme.bar.menus.menu.volume.listitems.passive": "#d3c6aa", - "theme.bar.menus.menu.volume.border.color": "#2f383e", - "theme.bar.menus.menu.volume.background.color": "#2b3339", - "theme.bar.menus.menu.media.slider.puck": "#868d80", - "theme.bar.menus.menu.media.slider.backgroundhover": "#454b53", - "theme.bar.menus.menu.media.slider.background": "#83c093", - "theme.bar.menus.menu.media.slider.primary": "#a7c080", - "theme.bar.menus.menu.media.buttons.text": "#2b3339", - "theme.bar.menus.menu.media.buttons.background": "#83c092", - "theme.bar.menus.menu.media.buttons.enabled": "#a7c080", - "theme.bar.menus.menu.media.buttons.inactive": "#83c092", - "theme.bar.menus.menu.media.border.color": "#2f383e", - "theme.bar.menus.menu.media.background.color": "#2b3339", - "theme.bar.menus.menu.media.album": "#a7c080", - "theme.bar.menus.menu.media.artist": "#a7c080", - "theme.bar.menus.menu.media.song": "#83c092", - "theme.bar.menus.tooltip.text": "#d3c6aa", - "theme.bar.menus.tooltip.background": "#2b3339", - "theme.bar.menus.dropdownmenu.divider": "#2f383e", - "theme.bar.menus.dropdownmenu.text": "#d3c6aa", - "theme.bar.menus.dropdownmenu.background": "#2b3339", - "theme.bar.menus.slider.puck": "#868d80", - "theme.bar.menus.slider.backgroundhover": "#454b53", - "theme.bar.menus.slider.background": "#83c093", - "theme.bar.menus.slider.primary": "#83c092", - "theme.bar.menus.progressbar.background": "#454b53", - "theme.bar.menus.progressbar.foreground": "#83c092", - "theme.bar.menus.iconbuttons.active": "#83c092", - "theme.bar.menus.iconbuttons.passive": "#d3c6aa", - "theme.bar.menus.buttons.text": "#2b3339", - "theme.bar.menus.buttons.disabled": "#83c093", - "theme.bar.menus.buttons.active": "#a7c080", - "theme.bar.menus.buttons.default": "#83c092", - "theme.bar.menus.switch.puck": "#454b53", - "theme.bar.menus.switch.disabled": "#2f383e", - "theme.bar.menus.switch.enabled": "#83c092", - "theme.bar.menus.icons.active": "#83c092", - "theme.bar.menus.icons.passive": "#83c092", - "theme.bar.menus.listitems.active": "#83c091", - "theme.bar.menus.listitems.passive": "#d3c6aa", - "theme.bar.menus.label": "#83c092", - "theme.bar.menus.feinttext": "#2f383e", - "theme.bar.menus.dimtext": "#83c092", - "theme.bar.menus.cards": "#2f383e", - "theme.bar.buttons.notifications.total": "#83c092", - "theme.bar.buttons.notifications.icon": "#83c092", - "theme.bar.buttons.notifications.background": "#323d43", - "theme.bar.buttons.clock.icon": "#dbbc7f", - "theme.bar.buttons.clock.text": "#dbbc7f", - "theme.bar.buttons.clock.background": "#323d43", - "theme.bar.buttons.battery.icon": "#e69875", - "theme.bar.buttons.battery.text": "#e69875", - "theme.bar.buttons.battery.background": "#323d43", - "theme.bar.buttons.systray.background": "#323d43", - "theme.bar.buttons.bluetooth.icon": "#a7c080", - "theme.bar.buttons.bluetooth.text": "#a7c080", - "theme.bar.buttons.bluetooth.background": "#323d43", - "theme.bar.buttons.network.icon": "#e69875", - "theme.bar.buttons.network.text": "#e69875", - "theme.bar.buttons.network.background": "#323d43", - "theme.bar.buttons.volume.icon": "#dbbc7f", - "theme.bar.buttons.volume.text": "#dbbc7f", - "theme.bar.buttons.volume.background": "#323d43", - "theme.bar.buttons.windowtitle.icon": "#dbbc7f", - "theme.bar.buttons.windowtitle.text": "#dbbc7f", - "theme.bar.buttons.windowtitle.background": "#323d43", - "theme.bar.buttons.workspaces.active": "#dbbc7f", - "theme.bar.buttons.workspaces.occupied": "#e69875", - "theme.bar.buttons.workspaces.available": "#a7c080", - "theme.bar.buttons.workspaces.hover": "#454b53", - "theme.bar.buttons.workspaces.background": "#323d43", - "theme.bar.buttons.dashboard.icon": "#e69875", - "theme.bar.buttons.dashboard.background": "#323d43", - "theme.osd.label": "#d3c6aa", - "theme.osd.icon": "#2b3339", - "theme.osd.bar_overflow_color": "#e67e80", - "theme.osd.bar_empty_color": "#504945", - "theme.osd.bar_color": "#d3c6aa", - "theme.osd.icon_container": "#d3c6aa", - "theme.osd.bar_container": "#2b3339", - "theme.notification.close_button.label": "#2b3339", - "theme.notification.close_button.background": "#e67e80", - "theme.notification.labelicon": "#d3c6aa", - "theme.notification.text": "#d8caac", - "theme.notification.time": "#a89984", - "theme.notification.border": "#323d43", - "theme.notification.label": "#d3c6aa", - "theme.notification.actions.text": "#2b3339", - "theme.notification.actions.background": "#a7c080", - "theme.notification.background": "#2b3239", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#21252b", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#ffffff", - "theme.bar.menus.menu.media.card.color": "#2f383e", - "theme.bar.menus.check_radio_button.background": "#000000", - "theme.bar.menus.check_radio_button.active": "#ffffff", - "theme.bar.buttons.style": "default", - "theme.bar.menus.menu.notifications.pager.button": "#a7c080", - "theme.bar.menus.menu.notifications.scrollbar.color": "#a7c080", - "theme.bar.menus.menu.notifications.pager.label": "#7a8478", - "theme.bar.menus.menu.notifications.pager.background": "#2b3339", - "theme.bar.buttons.clock.icon_background": "#d699b6", - "theme.bar.buttons.modules.ram.icon": "#dbbc7f", - "theme.bar.buttons.modules.storage.icon_background": "#e67e80", - "theme.bar.menus.popover.border": "#3a4248", - "theme.bar.buttons.volume.icon_background": "#e67e80", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#83c092", - "theme.bar.menus.menu.power.buttons.restart.text": "#dbbc7f", - "theme.bar.buttons.modules.updates.background": "#323d43", - "theme.bar.buttons.modules.storage.icon": "#e67e80", - "theme.bar.buttons.modules.netstat.background": "#323d43", - "theme.bar.buttons.modules.weather.icon": "#a7c080", - "theme.bar.buttons.modules.netstat.text": "#a7c080", - "theme.bar.buttons.modules.storage.background": "#323d43", - "theme.bar.buttons.modules.power.icon": "#e67e80", - "theme.bar.buttons.modules.storage.text": "#e67e80", - "theme.bar.buttons.modules.cpu.background": "#323d43", - "theme.bar.menus.menu.power.border.color": "#454b53", - "theme.bar.buttons.network.icon_background": "#caa6f7", - "theme.bar.buttons.modules.power.icon_background": "#e67e80", - "theme.bar.menus.menu.power.buttons.logout.icon": "#3a4248", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#dbbc7f", - "theme.bar.menus.menu.power.buttons.restart.icon": "#3a4248", - "theme.bar.buttons.modules.cpu.icon": "#e67e80", - "theme.bar.buttons.battery.icon_background": "#dbbc7f", - "theme.bar.buttons.modules.kbLayout.icon_background": "#83c092", - "theme.bar.buttons.modules.weather.text": "#a7c080", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#3a4248", - "theme.bar.menus.menu.power.buttons.sleep.text": "#83c092", - "theme.bar.buttons.modules.weather.icon_background": "#a7c080", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#2f383e", - "theme.bar.buttons.media.icon_background": "#a7c080", - "theme.bar.menus.menu.power.buttons.logout.background": "#2f383e", - "theme.bar.buttons.modules.kbLayout.icon": "#83c092", - "theme.bar.buttons.modules.ram.icon_background": "#dbbc7f", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#e67e80", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#e67e80", - "theme.bar.menus.menu.power.buttons.sleep.background": "#2f383e", - "theme.bar.buttons.modules.ram.text": "#dbbc7f", - "theme.bar.menus.menu.power.buttons.logout.text": "#a7c080", - "theme.bar.buttons.modules.updates.icon_background": "#83c092", - "theme.bar.buttons.modules.kbLayout.background": "#323d43", - "theme.bar.buttons.modules.power.background": "#323d43", - "theme.bar.buttons.modules.weather.background": "#323d43", - "theme.bar.buttons.icon_background": "#323d43", - "theme.bar.menus.menu.power.background.color": "#2b3339", - "theme.bar.buttons.modules.ram.background": "#323d43", - "theme.bar.buttons.modules.netstat.icon": "#a7c080", - "theme.bar.buttons.windowtitle.icon_background": "#d699b6", - "theme.bar.buttons.modules.cpu.icon_background": "#e67e80", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#a7c080", - "theme.bar.buttons.modules.updates.text": "#83c092", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#3a4248", - "theme.bar.buttons.bluetooth.icon_background": "#89dbeb", - "theme.bar.menus.menu.power.buttons.restart.background": "#2f383e", - "theme.bar.buttons.modules.updates.icon": "#83c092", - "theme.bar.buttons.modules.cpu.text": "#e67e80", - "theme.bar.buttons.modules.netstat.icon_background": "#a7c080", - "theme.bar.buttons.modules.kbLayout.text": "#83c092", - "theme.bar.buttons.notifications.icon_background": "#a7c080", - "theme.bar.buttons.modules.power.border": "#e67e80", - "theme.bar.buttons.modules.weather.border": "#a7c080", - "theme.bar.buttons.modules.updates.border": "#83c092", - "theme.bar.buttons.modules.kbLayout.border": "#83c092", - "theme.bar.buttons.modules.netstat.border": "#a7c080", - "theme.bar.buttons.modules.storage.border": "#e67e80", - "theme.bar.buttons.modules.cpu.border": "#e67e80", - "theme.bar.buttons.modules.ram.border": "#dbbc7f", - "theme.bar.buttons.notifications.border": "#83c092", - "theme.bar.buttons.clock.border": "#dbbc7f", - "theme.bar.buttons.battery.border": "#e69875", - "theme.bar.buttons.systray.border": "#454b53", - "theme.bar.buttons.bluetooth.border": "#a7c080", - "theme.bar.buttons.network.border": "#e69875", - "theme.bar.buttons.volume.border": "#dbbc7f", - "theme.bar.buttons.media.border": "#a7c080", - "theme.bar.buttons.windowtitle.border": "#dbbc7f", - "theme.bar.buttons.workspaces.border": "#2b3339", - "theme.bar.buttons.dashboard.border": "#e69875", - "theme.bar.buttons.modules.submap.background": "#323d43", - "theme.bar.buttons.modules.submap.text": "#83c092", - "theme.bar.buttons.modules.submap.border": "#83c092", - "theme.bar.buttons.modules.submap.icon": "#83c092", - "theme.bar.buttons.modules.submap.icon_background": "#323d43" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/everforest_split.json b/ags/HyprPanel/themes/everforest_split.json deleted file mode 100644 index 9f362f4..0000000 --- a/ags/HyprPanel/themes/everforest_split.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.background": "#2b3339", - "theme.bar.background": "#2b3339", - "theme.bar.buttons.media.icon": "#323d43", - "theme.bar.buttons.media.text": "#a7c080", - "theme.bar.buttons.icon": "#a7c080", - "theme.bar.buttons.text": "#a7c080", - "theme.bar.buttons.hover": "#445055", - "theme.bar.buttons.background": "#323d43", - "theme.bar.menus.text": "#d3c6aa", - "theme.bar.menus.border.color": "#454b53", - "theme.bar.buttons.media.background": "#323d43", - "theme.bar.menus.menu.volume.text": "#d3c6aa", - "theme.bar.menus.menu.volume.card.color": "#2f383e", - "theme.bar.menus.menu.volume.label.color": "#e67e80", - "theme.bar.menus.popover.text": "#a7c080", - "theme.bar.menus.popover.background": "#3a4248", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#e67e80", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#e67e80", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#a7c080", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#2b3339", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#d3c6aa", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#a7c080", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#454b53", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#2b3339", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#2f383e", - "theme.bar.menus.menu.notifications.switch.puck": "#445055", - "theme.bar.menus.menu.notifications.switch.disabled": "#454b54", - "theme.bar.menus.menu.notifications.switch.enabled": "#a7c080", - "theme.bar.menus.menu.notifications.clear": "#e67e80", - "theme.bar.menus.menu.notifications.switch_divider": "#445055", - "theme.bar.menus.menu.notifications.border": "#454b53", - "theme.bar.menus.menu.notifications.card": "#2f383e", - "theme.bar.menus.menu.notifications.background": "#2b3339", - "theme.bar.menus.menu.notifications.no_notifications_label": "#454b53", - "theme.bar.menus.menu.notifications.label": "#a7c080", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#d699b6", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#d699b6", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#d699b6", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#a7c080", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#a7c080", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#a7c080", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#dbbc7f", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#dbbc7f", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#dbbc7f", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#e67e80", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#e67e80", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#e67e80", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#445055", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#a7c080", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#83c092", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#a7c080", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#e67e80", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#dbbc7f", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#d699b6", - "theme.bar.menus.menu.dashboard.controls.input.text": "#3a4248", - "theme.bar.menus.menu.dashboard.controls.input.background": "#d699b6", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#3a4248", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#e67e80", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#3a4248", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#dbbc7f", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#3a4248", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#83c092", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#3a4248", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#83c092", - "theme.bar.menus.menu.dashboard.controls.disabled": "#5c6a72", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#a7c080", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#3a4248", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#a7c080", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#83c092", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#a7c080", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#dbbc7f", - "theme.bar.menus.menu.dashboard.profile.name": "#d699b6", - "theme.bar.menus.menu.dashboard.border.color": "#454b53", - "theme.bar.menus.menu.dashboard.background.color": "#2b3339", - "theme.bar.menus.menu.dashboard.card.color": "#2f383e", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#d699b6", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#d699b6", - "theme.bar.menus.menu.clock.weather.hourly.time": "#d699b6", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#83c092", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#83c092", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#a7c080", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#dbbc7f", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#e67e80", - "theme.bar.menus.menu.clock.weather.stats": "#d699b6", - "theme.bar.menus.menu.clock.weather.status": "#83c092", - "theme.bar.menus.menu.clock.weather.temperature": "#d3c6aa", - "theme.bar.menus.menu.clock.weather.icon": "#d699b6", - "theme.bar.menus.menu.clock.calendar.contextdays": "#5c6a72", - "theme.bar.menus.menu.clock.calendar.days": "#d3c6aa", - "theme.bar.menus.menu.clock.calendar.currentday": "#d699b6", - "theme.bar.menus.menu.clock.calendar.paginator": "#d699b6", - "theme.bar.menus.menu.clock.calendar.weekdays": "#d699b6", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#83c092", - "theme.bar.menus.menu.clock.time.timeperiod": "#83c092", - "theme.bar.menus.menu.clock.time.time": "#d699b6", - "theme.bar.menus.menu.clock.text": "#d3c6aa", - "theme.bar.menus.menu.clock.border.color": "#454b53", - "theme.bar.menus.menu.clock.background.color": "#2b3339", - "theme.bar.menus.menu.clock.card.color": "#2f383e", - "theme.bar.menus.menu.battery.slider.puck": "#445055", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#445055", - "theme.bar.menus.menu.battery.slider.background": "#5c6a72", - "theme.bar.menus.menu.battery.slider.primary": "#dbbc7f", - "theme.bar.menus.menu.battery.icons.active": "#dbbc7f", - "theme.bar.menus.menu.battery.icons.passive": "#7a8478", - "theme.bar.menus.menu.battery.listitems.active": "#dbbc7f", - "theme.bar.menus.menu.battery.listitems.passive": "#d3c6aa", - "theme.bar.menus.menu.battery.text": "#d3c6aa", - "theme.bar.menus.menu.battery.label.color": "#dbbc7f", - "theme.bar.menus.menu.battery.border.color": "#454b53", - "theme.bar.menus.menu.battery.background.color": "#2b3339", - "theme.bar.menus.menu.battery.card.color": "#2f383e", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#2f383e", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#d3c6aa", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#2b3339", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#a7c080", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#d3c6aa", - "theme.bar.menus.menu.bluetooth.icons.active": "#a7c080", - "theme.bar.menus.menu.bluetooth.icons.passive": "#868d80", - "theme.bar.menus.menu.bluetooth.listitems.active": "#a7c07f", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#d3c6aa", - "theme.bar.menus.menu.bluetooth.switch.puck": "#454b53", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#2f383e", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#a7c080", - "theme.bar.menus.menu.bluetooth.switch_divider": "#454b53", - "theme.bar.menus.menu.bluetooth.status": "#868d80", - "theme.bar.menus.menu.bluetooth.text": "#d3c6aa", - "theme.bar.menus.menu.bluetooth.label.color": "#a7c080", - "theme.bar.menus.menu.bluetooth.border.color": "#2f383e", - "theme.bar.menus.menu.bluetooth.background.color": "#2b3339", - "theme.bar.menus.menu.bluetooth.card.color": "#2f383e", - "theme.bar.menus.menu.network.iconbuttons.active": "#e69875", - "theme.bar.menus.menu.network.iconbuttons.passive": "#d3c6aa", - "theme.bar.menus.menu.network.icons.active": "#e69875", - "theme.bar.menus.menu.network.icons.passive": "#868d80", - "theme.bar.menus.menu.network.listitems.active": "#e69874", - "theme.bar.menus.menu.network.listitems.passive": "#d3c6aa", - "theme.bar.menus.menu.network.status.color": "#868d80", - "theme.bar.menus.menu.network.text": "#d3c6aa", - "theme.bar.menus.menu.network.label.color": "#e69875", - "theme.bar.menus.menu.network.border.color": "#2f383e", - "theme.bar.menus.menu.network.background.color": "#2b3339", - "theme.bar.menus.menu.network.card.color": "#2f383e", - "theme.bar.menus.menu.volume.input_slider.puck": "#83c092", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#454b53", - "theme.bar.menus.menu.volume.input_slider.background": "#83c093", - "theme.bar.menus.menu.volume.input_slider.primary": "#dbbc7f", - "theme.bar.menus.menu.volume.audio_slider.puck": "#83c092", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#454b53", - "theme.bar.menus.menu.volume.audio_slider.background": "#83c093", - "theme.bar.menus.menu.volume.audio_slider.primary": "#dbbc7f", - "theme.bar.menus.menu.volume.icons.active": "#dbbc7f", - "theme.bar.menus.menu.volume.icons.passive": "#868d80", - "theme.bar.menus.menu.volume.iconbutton.active": "#dbbc7f", - "theme.bar.menus.menu.volume.iconbutton.passive": "#d3c6aa", - "theme.bar.menus.menu.volume.listitems.active": "#dbbc7e", - "theme.bar.menus.menu.volume.listitems.passive": "#d3c6aa", - "theme.bar.menus.menu.volume.border.color": "#2f383e", - "theme.bar.menus.menu.volume.background.color": "#2b3339", - "theme.bar.menus.menu.media.slider.puck": "#868d80", - "theme.bar.menus.menu.media.slider.backgroundhover": "#454b53", - "theme.bar.menus.menu.media.slider.background": "#83c093", - "theme.bar.menus.menu.media.slider.primary": "#a7c080", - "theme.bar.menus.menu.media.buttons.text": "#2b3339", - "theme.bar.menus.menu.media.buttons.background": "#83c092", - "theme.bar.menus.menu.media.buttons.enabled": "#a7c080", - "theme.bar.menus.menu.media.buttons.inactive": "#83c092", - "theme.bar.menus.menu.media.border.color": "#2f383e", - "theme.bar.menus.menu.media.background.color": "#2b3339", - "theme.bar.menus.menu.media.album": "#a7c080", - "theme.bar.menus.menu.media.artist": "#a7c080", - "theme.bar.menus.menu.media.song": "#83c092", - "theme.bar.menus.tooltip.text": "#d3c6aa", - "theme.bar.menus.tooltip.background": "#2b3339", - "theme.bar.menus.dropdownmenu.divider": "#2f383e", - "theme.bar.menus.dropdownmenu.text": "#d3c6aa", - "theme.bar.menus.dropdownmenu.background": "#2b3339", - "theme.bar.menus.slider.puck": "#868d80", - "theme.bar.menus.slider.backgroundhover": "#454b53", - "theme.bar.menus.slider.background": "#83c093", - "theme.bar.menus.slider.primary": "#83c092", - "theme.bar.menus.progressbar.background": "#454b53", - "theme.bar.menus.progressbar.foreground": "#83c092", - "theme.bar.menus.iconbuttons.active": "#83c092", - "theme.bar.menus.iconbuttons.passive": "#d3c6aa", - "theme.bar.menus.buttons.text": "#2b3339", - "theme.bar.menus.buttons.disabled": "#83c093", - "theme.bar.menus.buttons.active": "#a7c080", - "theme.bar.menus.buttons.default": "#83c092", - "theme.bar.menus.switch.puck": "#454b53", - "theme.bar.menus.switch.disabled": "#2f383e", - "theme.bar.menus.switch.enabled": "#83c092", - "theme.bar.menus.icons.active": "#83c092", - "theme.bar.menus.icons.passive": "#83c092", - "theme.bar.menus.listitems.active": "#83c091", - "theme.bar.menus.listitems.passive": "#d3c6aa", - "theme.bar.menus.label": "#83c092", - "theme.bar.menus.feinttext": "#2f383e", - "theme.bar.menus.dimtext": "#83c092", - "theme.bar.menus.cards": "#2f383e", - "theme.bar.buttons.notifications.total": "#83c092", - "theme.bar.buttons.notifications.icon": "#323d43", - "theme.bar.buttons.notifications.background": "#323d43", - "theme.bar.buttons.clock.icon": "#323d43", - "theme.bar.buttons.clock.text": "#dbbc7f", - "theme.bar.buttons.clock.background": "#323d43", - "theme.bar.buttons.battery.icon": "#323d43", - "theme.bar.buttons.battery.text": "#e69875", - "theme.bar.buttons.battery.background": "#323d43", - "theme.bar.buttons.systray.background": "#323d43", - "theme.bar.buttons.bluetooth.icon": "#323d43", - "theme.bar.buttons.bluetooth.text": "#a7c080", - "theme.bar.buttons.bluetooth.background": "#323d43", - "theme.bar.buttons.network.icon": "#323d43", - "theme.bar.buttons.network.text": "#e69875", - "theme.bar.buttons.network.background": "#323d43", - "theme.bar.buttons.volume.icon": "#323d43", - "theme.bar.buttons.volume.text": "#dbbc7f", - "theme.bar.buttons.volume.background": "#323d43", - "theme.bar.buttons.windowtitle.icon": "#323d43", - "theme.bar.buttons.windowtitle.text": "#dbbc7f", - "theme.bar.buttons.windowtitle.background": "#323d43", - "theme.bar.buttons.workspaces.active": "#dbbc7f", - "theme.bar.buttons.workspaces.occupied": "#e69875", - "theme.bar.buttons.workspaces.available": "#a7c080", - "theme.bar.buttons.workspaces.hover": "#dbbc7f", - "theme.bar.buttons.workspaces.background": "#323d43", - "theme.bar.buttons.dashboard.icon": "#323d43", - "theme.bar.buttons.dashboard.background": "#e69875", - "theme.osd.label": "#d3c6aa", - "theme.osd.icon": "#2b3339", - "theme.osd.bar_overflow_color": "#e67e80", - "theme.osd.bar_empty_color": "#504945", - "theme.osd.bar_color": "#d3c6aa", - "theme.osd.icon_container": "#d3c6aa", - "theme.osd.bar_container": "#2b3339", - "theme.notification.close_button.label": "#2b3339", - "theme.notification.close_button.background": "#e67e80", - "theme.notification.labelicon": "#d3c6aa", - "theme.notification.text": "#d8caac", - "theme.notification.time": "#a89984", - "theme.notification.border": "#323d43", - "theme.notification.label": "#d3c6aa", - "theme.notification.actions.text": "#2b3339", - "theme.notification.actions.background": "#a7c080", - "theme.notification.background": "#2b3239", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#21252b", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#ffffff", - "theme.bar.menus.menu.media.card.color": "#2f383e", - "theme.bar.menus.check_radio_button.background": "#000000", - "theme.bar.menus.check_radio_button.active": "#ffffff", - "theme.bar.buttons.style": "split", - "theme.bar.buttons.icon_background": "#242438", - "theme.bar.buttons.volume.icon_background": "#dbbc7f", - "theme.bar.buttons.network.icon_background": "#e69875", - "theme.bar.buttons.bluetooth.icon_background": "#a7c080", - "theme.bar.buttons.windowtitle.icon_background": "#dbbc7f", - "theme.bar.buttons.media.icon_background": "#a7c080", - "theme.bar.buttons.notifications.icon_background": "#83c092", - "theme.bar.buttons.battery.icon_background": "#e69875", - "theme.bar.buttons.clock.icon_background": "#dbbc7f", - "theme.bar.menus.menu.notifications.pager.button": "#a7c080", - "theme.bar.menus.menu.notifications.scrollbar.color": "#a7c080", - "theme.bar.menus.menu.notifications.pager.label": "#7a8478", - "theme.bar.menus.menu.notifications.pager.background": "#2b3339", - "theme.bar.buttons.modules.ram.icon": "#21252b", - "theme.bar.buttons.modules.storage.icon_background": "#e67e80", - "theme.bar.menus.popover.border": "#3a4248", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#83c092", - "theme.bar.menus.menu.power.buttons.restart.text": "#dbbc7f", - "theme.bar.buttons.modules.updates.background": "#323d43", - "theme.bar.buttons.modules.storage.icon": "#21252b", - "theme.bar.buttons.modules.netstat.background": "#323d43", - "theme.bar.buttons.modules.weather.icon": "#323d43", - "theme.bar.buttons.modules.netstat.text": "#a7c080", - "theme.bar.buttons.modules.storage.background": "#323d43", - "theme.bar.buttons.modules.power.icon": "#21252b", - "theme.bar.buttons.modules.storage.text": "#e67e80", - "theme.bar.buttons.modules.cpu.background": "#323d43", - "theme.bar.menus.menu.power.border.color": "#454b53", - "theme.bar.buttons.modules.power.icon_background": "#e67e80", - "theme.bar.menus.menu.power.buttons.logout.icon": "#3a4248", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#dbbc7f", - "theme.bar.menus.menu.power.buttons.restart.icon": "#3a4248", - "theme.bar.buttons.modules.cpu.icon": "#21252b", - "theme.bar.buttons.modules.kbLayout.icon_background": "#83c092", - "theme.bar.buttons.modules.weather.text": "#a7c080", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#3a4248", - "theme.bar.menus.menu.power.buttons.sleep.text": "#83c092", - "theme.bar.buttons.modules.weather.icon_background": "#a7c080", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#2f383e", - "theme.bar.menus.menu.power.buttons.logout.background": "#2f383e", - "theme.bar.buttons.modules.kbLayout.icon": "#21252b", - "theme.bar.buttons.modules.ram.icon_background": "#dbbc7f", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#e67e80", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#e67e80", - "theme.bar.menus.menu.power.buttons.sleep.background": "#2f383e", - "theme.bar.buttons.modules.ram.text": "#dbbc7f", - "theme.bar.menus.menu.power.buttons.logout.text": "#a7c080", - "theme.bar.buttons.modules.updates.icon_background": "#83c092", - "theme.bar.buttons.modules.kbLayout.background": "#323d43", - "theme.bar.buttons.modules.power.background": "#323d43", - "theme.bar.buttons.modules.weather.background": "#323d43", - "theme.bar.menus.menu.power.background.color": "#2b3339", - "theme.bar.buttons.modules.ram.background": "#323d43", - "theme.bar.buttons.modules.netstat.icon": "#21252b", - "theme.bar.buttons.modules.cpu.icon_background": "#e67e80", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#a7c080", - "theme.bar.buttons.modules.updates.text": "#83c092", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#3a4248", - "theme.bar.menus.menu.power.buttons.restart.background": "#2f383e", - "theme.bar.buttons.modules.updates.icon": "#21252b", - "theme.bar.buttons.modules.cpu.text": "#e67e80", - "theme.bar.buttons.modules.netstat.icon_background": "#a7c080", - "theme.bar.buttons.modules.kbLayout.text": "#83c092", - "theme.bar.buttons.modules.power.border": "#e67e80", - "theme.bar.buttons.modules.weather.border": "#a7c080", - "theme.bar.buttons.modules.updates.border": "#83c092", - "theme.bar.buttons.modules.kbLayout.border": "#83c092", - "theme.bar.buttons.modules.netstat.border": "#a7c080", - "theme.bar.buttons.modules.storage.border": "#e67e80", - "theme.bar.buttons.modules.cpu.border": "#e67e80", - "theme.bar.buttons.modules.ram.border": "#dbbc7f", - "theme.bar.buttons.notifications.border": "#83c092", - "theme.bar.buttons.clock.border": "#dbbc7f", - "theme.bar.buttons.battery.border": "#e69875", - "theme.bar.buttons.systray.border": "#454b53", - "theme.bar.buttons.bluetooth.border": "#a7c080", - "theme.bar.buttons.network.border": "#e69875", - "theme.bar.buttons.volume.border": "#dbbc7f", - "theme.bar.buttons.media.border": "#a7c080", - "theme.bar.buttons.windowtitle.border": "#dbbc7f", - "theme.bar.buttons.workspaces.border": "#2b3339", - "theme.bar.buttons.dashboard.border": "#e69875", - "theme.bar.buttons.modules.submap.background": "#323d43", - "theme.bar.buttons.modules.submap.text": "#83c092", - "theme.bar.buttons.modules.submap.border": "#83c092", - "theme.bar.buttons.modules.submap.icon": "#21252b", - "theme.bar.buttons.modules.submap.icon_background": "#83c092" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/gruvbox.json b/ags/HyprPanel/themes/gruvbox.json deleted file mode 100644 index b6b4a9d..0000000 --- a/ags/HyprPanel/themes/gruvbox.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.menu.notifications.scrollbar.color": "#83a598", - "theme.bar.menus.menu.notifications.pager.label": "#a89984", - "theme.bar.menus.menu.notifications.pager.button": "#83a598", - "theme.bar.menus.menu.notifications.pager.background": "#1d2021", - "theme.bar.menus.menu.notifications.switch.puck": "#504945", - "theme.bar.menus.menu.notifications.switch.disabled": "#3c3836", - "theme.bar.menus.menu.notifications.switch.enabled": "#83a598", - "theme.bar.menus.menu.notifications.clear": "#83a598", - "theme.bar.menus.menu.notifications.switch_divider": "#504945", - "theme.bar.menus.menu.notifications.border": "#3c3836", - "theme.bar.menus.menu.notifications.card": "#282828", - "theme.bar.menus.menu.notifications.background": "#1d2021", - "theme.bar.menus.menu.notifications.no_notifications_label": "#3c3836", - "theme.bar.menus.menu.notifications.label": "#83a598", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#32302f", - "theme.bar.menus.menu.power.buttons.sleep.text": "#83a598", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#83a598", - "theme.bar.menus.menu.power.buttons.sleep.background": "#282828", - "theme.bar.menus.menu.power.buttons.logout.icon": "#32302f", - "theme.bar.menus.menu.power.buttons.logout.text": "#b8bb26", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#b8bb26", - "theme.bar.menus.menu.power.buttons.logout.background": "#282828", - "theme.bar.menus.menu.power.buttons.restart.icon": "#32302f", - "theme.bar.menus.menu.power.buttons.restart.text": "#fe8019", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#fe8019", - "theme.bar.menus.menu.power.buttons.restart.background": "#282828", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#32302f", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#cc241d", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#cc241d", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#282828", - "theme.bar.menus.menu.power.border.color": "#3c3836", - "theme.bar.menus.menu.power.background.color": "#1d2021", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#d3869b", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#d3869b", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#d3869b", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#b8bb26", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#b8bb26", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#b8bb26", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#fabd2f", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#fabd2f", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#fabd2f", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#fb4934", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#fb4934", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#fb4934", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#504945", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#83a598", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#b16286", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#8ec07c", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#fb4934", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#fabd2f", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#d3869b", - "theme.bar.menus.menu.dashboard.controls.input.text": "#32302f", - "theme.bar.menus.menu.dashboard.controls.input.background": "#d3869b", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#32302f", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#fb4934", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#32302f", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#fabd2f", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#32302f", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#83a598", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#32302f", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#b16286", - "theme.bar.menus.menu.dashboard.controls.disabled": "#665c54", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#b8bb26", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#32302f", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#83a598", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#1d2021", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#d3869b", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#8ec07b", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#ebdbb2", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#83a598", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#3c3836", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#1d2021", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#1d2021", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#83a598", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#b8bb26", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#fe8019", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#cc241d", - "theme.bar.menus.menu.dashboard.profile.name": "#d3869b", - "theme.bar.menus.menu.dashboard.border.color": "#3c3836", - "theme.bar.menus.menu.dashboard.background.color": "#1d2021", - "theme.bar.menus.menu.dashboard.card.color": "#282828", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#d3869b", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#d3869b", - "theme.bar.menus.menu.clock.weather.hourly.time": "#d3869b", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#83a598", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#458588", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#83a598", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#fe8019", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#cc241d", - "theme.bar.menus.menu.clock.weather.stats": "#d3869b", - "theme.bar.menus.menu.clock.weather.status": "#8ec07c", - "theme.bar.menus.menu.clock.weather.temperature": "#ebdbb2", - "theme.bar.menus.menu.clock.weather.icon": "#d3869b", - "theme.bar.menus.menu.clock.calendar.contextdays": "#665c54", - "theme.bar.menus.menu.clock.calendar.days": "#ebdbb2", - "theme.bar.menus.menu.clock.calendar.currentday": "#d3869b", - "theme.bar.menus.menu.clock.calendar.paginator": "#d3869b", - "theme.bar.menus.menu.clock.calendar.weekdays": "#d3869b", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#8ec07c", - "theme.bar.menus.menu.clock.time.timeperiod": "#8ec07c", - "theme.bar.menus.menu.clock.time.time": "#d3869b", - "theme.bar.menus.menu.clock.text": "#ebdbb2", - "theme.bar.menus.menu.clock.border.color": "#3c3836", - "theme.bar.menus.menu.clock.background.color": "#1d2021", - "theme.bar.menus.menu.clock.card.color": "#282828", - "theme.bar.menus.menu.battery.slider.puck": "#7c6f64", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#504945", - "theme.bar.menus.menu.battery.slider.background": "#665c54", - "theme.bar.menus.menu.battery.slider.primary": "#fabd2f", - "theme.bar.menus.menu.battery.icons.active": "#fabd2f", - "theme.bar.menus.menu.battery.icons.passive": "#a89984", - "theme.bar.menus.menu.battery.listitems.active": "#fabd2f", - "theme.bar.menus.menu.battery.listitems.passive": "#ebdbb2", - "theme.bar.menus.menu.battery.text": "#ebdbb2", - "theme.bar.menus.menu.battery.label.color": "#fabd2f", - "theme.bar.menus.menu.battery.border.color": "#3c3836", - "theme.bar.menus.menu.battery.background.color": "#1d2021", - "theme.bar.menus.menu.battery.card.color": "#282828", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#1d2021", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#ebdbb2", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#1d2021", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#83a598", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#ebdbb2", - "theme.bar.menus.menu.bluetooth.icons.active": "#83a598", - "theme.bar.menus.menu.bluetooth.icons.passive": "#a89984", - "theme.bar.menus.menu.bluetooth.listitems.active": "#83a598", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#ebdbb2", - "theme.bar.menus.menu.bluetooth.switch.puck": "#504945", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#3c3836", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#83a598", - "theme.bar.menus.menu.bluetooth.switch_divider": "#504945", - "theme.bar.menus.menu.bluetooth.status": "#7c6f64", - "theme.bar.menus.menu.bluetooth.text": "#ebdbb2", - "theme.bar.menus.menu.bluetooth.label.color": "#83a598", - "theme.bar.menus.menu.bluetooth.border.color": "#3c3836", - "theme.bar.menus.menu.bluetooth.background.color": "#1d2021", - "theme.bar.menus.menu.bluetooth.card.color": "#282828", - "theme.bar.menus.menu.network.iconbuttons.active": "#b16286", - "theme.bar.menus.menu.network.iconbuttons.passive": "#ebdbb2", - "theme.bar.menus.menu.network.icons.active": "#b16286", - "theme.bar.menus.menu.network.icons.passive": "#a89984", - "theme.bar.menus.menu.network.listitems.active": "#b16286", - "theme.bar.menus.menu.network.listitems.passive": "#ebdbb2", - "theme.bar.menus.menu.network.status.color": "#7c6f64", - "theme.bar.menus.menu.network.text": "#ebdbb2", - "theme.bar.menus.menu.network.label.color": "#b16286", - "theme.bar.menus.menu.network.border.color": "#3c3836", - "theme.bar.menus.menu.network.background.color": "#1d2021", - "theme.bar.menus.menu.network.card.color": "#282828", - "theme.bar.menus.menu.volume.input_slider.puck": "#665c54", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#504945", - "theme.bar.menus.menu.volume.input_slider.background": "#665c54", - "theme.bar.menus.menu.volume.input_slider.primary": "#fe8018", - "theme.bar.menus.menu.volume.audio_slider.puck": "#665c54", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#504945", - "theme.bar.menus.menu.volume.audio_slider.background": "#665c54", - "theme.bar.menus.menu.volume.audio_slider.primary": "#fe8018", - "theme.bar.menus.menu.volume.icons.active": "#fe8018", - "theme.bar.menus.menu.volume.icons.passive": "#a89984", - "theme.bar.menus.menu.volume.iconbutton.active": "#fe8018", - "theme.bar.menus.menu.volume.iconbutton.passive": "#ebdbb2", - "theme.bar.menus.menu.volume.listitems.active": "#fe8018", - "theme.bar.menus.menu.volume.listitems.passive": "#ebdbb2", - "theme.bar.menus.menu.volume.text": "#ebdbb2", - "theme.bar.menus.menu.volume.label.color": "#fe8018", - "theme.bar.menus.menu.volume.border.color": "#3c3836", - "theme.bar.menus.menu.volume.background.color": "#1d2021", - "theme.bar.menus.menu.volume.card.color": "#282828", - "theme.bar.menus.menu.media.slider.puck": "#7c6f64", - "theme.bar.menus.menu.media.slider.backgroundhover": "#504945", - "theme.bar.menus.menu.media.slider.background": "#665c54", - "theme.bar.menus.menu.media.slider.primary": "#d3869b", - "theme.bar.menus.menu.media.buttons.text": "#1d2021", - "theme.bar.menus.menu.media.buttons.background": "#83a598", - "theme.bar.menus.menu.media.buttons.enabled": "#8ec07c", - "theme.bar.menus.menu.media.buttons.inactive": "#665c54", - "theme.bar.menus.menu.media.border.color": "#3c3836", - "theme.bar.menus.menu.media.card.color": "#282828", - "theme.bar.menus.menu.media.background.color": "#1d2021", - "theme.bar.menus.menu.media.album": "#d3869b", - "theme.bar.menus.menu.media.artist": "#8ec07c", - "theme.bar.menus.menu.media.song": "#83a598", - "theme.bar.menus.tooltip.text": "#ebdbb2", - "theme.bar.menus.tooltip.background": "#1d2021", - "theme.bar.menus.dropdownmenu.divider": "#1d2021", - "theme.bar.menus.dropdownmenu.text": "#ebdbb2", - "theme.bar.menus.dropdownmenu.background": "#1d2021", - "theme.bar.menus.slider.puck": "#7c6f64", - "theme.bar.menus.slider.backgroundhover": "#504945", - "theme.bar.menus.slider.background": "#665c54", - "theme.bar.menus.slider.primary": "#83a598", - "theme.bar.menus.progressbar.background": "#504945", - "theme.bar.menus.progressbar.foreground": "#83a598", - "theme.bar.menus.iconbuttons.active": "#83a598", - "theme.bar.menus.iconbuttons.passive": "#ebdbb2", - "theme.bar.menus.buttons.text": "#32302f", - "theme.bar.menus.buttons.disabled": "#665c54", - "theme.bar.menus.buttons.active": "#d3869b", - "theme.bar.menus.buttons.default": "#83a598", - "theme.bar.menus.check_radio_button.active": "#83a598", - "theme.bar.menus.check_radio_button.background": "#3c3836", - "theme.bar.menus.switch.puck": "#504945", - "theme.bar.menus.switch.disabled": "#3c3836", - "theme.bar.menus.switch.enabled": "#83a598", - "theme.bar.menus.icons.active": "#83a598", - "theme.bar.menus.icons.passive": "#665c54", - "theme.bar.menus.listitems.active": "#83a598", - "theme.bar.menus.listitems.passive": "#ebdbb2", - "theme.bar.menus.popover.border": "#32302f", - "theme.bar.menus.popover.background": "#32302f", - "theme.bar.menus.popover.text": "#83a598", - "theme.bar.menus.label": "#83a598", - "theme.bar.menus.feinttext": "#3c3836", - "theme.bar.menus.dimtext": "#665c54", - "theme.bar.menus.text": "#ebdbb2", - "theme.bar.menus.border.color": "#3c3836", - "theme.bar.menus.cards": "#1d2021", - "theme.bar.menus.background": "#1d2021", - "theme.bar.buttons.modules.power.icon_background": "#282828", - "theme.bar.buttons.modules.power.icon": "#cc241d", - "theme.bar.buttons.modules.power.background": "#282828", - "theme.bar.buttons.modules.weather.icon_background": "#282828", - "theme.bar.buttons.modules.weather.icon": "#fe8017", - "theme.bar.buttons.modules.weather.text": "#fe8017", - "theme.bar.buttons.modules.weather.background": "#282828", - "theme.bar.buttons.modules.updates.icon_background": "#282828", - "theme.bar.buttons.modules.updates.icon": "#b16286", - "theme.bar.buttons.modules.updates.text": "#b16286", - "theme.bar.buttons.modules.updates.background": "#282828", - "theme.bar.buttons.modules.kbLayout.icon_background": "#282828", - "theme.bar.buttons.modules.kbLayout.icon": "#83a598", - "theme.bar.buttons.modules.kbLayout.text": "#83a598", - "theme.bar.buttons.modules.kbLayout.background": "#282828", - "theme.bar.buttons.modules.netstat.icon_background": "#282828", - "theme.bar.buttons.modules.netstat.icon": "#b8bb26", - "theme.bar.buttons.modules.netstat.text": "#b8bb26", - "theme.bar.buttons.modules.netstat.background": "#282828", - "theme.bar.buttons.modules.storage.icon_background": "#282828", - "theme.bar.buttons.modules.storage.icon": "#83a598", - "theme.bar.buttons.modules.storage.text": "#83a598", - "theme.bar.buttons.modules.storage.background": "#282828", - "theme.bar.buttons.modules.cpu.icon_background": "#282828", - "theme.bar.buttons.modules.cpu.icon": "#d3869b", - "theme.bar.buttons.modules.cpu.text": "#d3869b", - "theme.bar.buttons.modules.cpu.background": "#282828", - "theme.bar.buttons.modules.ram.icon_background": "#282828", - "theme.bar.buttons.modules.ram.icon": "#fabd2f", - "theme.bar.buttons.modules.ram.text": "#fabd2f", - "theme.bar.buttons.modules.ram.background": "#282828", - "theme.bar.buttons.notifications.total": "#83a598", - "theme.bar.buttons.notifications.icon_background": "#83a598", - "theme.bar.buttons.notifications.icon": "#83a598", - "theme.bar.buttons.notifications.background": "#282828", - "theme.bar.buttons.clock.icon_background": "#d3869b", - "theme.bar.buttons.clock.icon": "#d3869b", - "theme.bar.buttons.clock.text": "#d3869b", - "theme.bar.buttons.clock.background": "#282828", - "theme.bar.buttons.battery.icon_background": "#fabd2f", - "theme.bar.buttons.battery.icon": "#fabd2f", - "theme.bar.buttons.battery.text": "#fabd2f", - "theme.bar.buttons.battery.background": "#282828", - "theme.bar.buttons.systray.background": "#282828", - "theme.bar.buttons.bluetooth.icon_background": "#83a598", - "theme.bar.buttons.bluetooth.icon": "#83a598", - "theme.bar.buttons.bluetooth.text": "#83a598", - "theme.bar.buttons.bluetooth.background": "#282828", - "theme.bar.buttons.network.icon_background": "#b16286", - "theme.bar.buttons.network.icon": "#b16286", - "theme.bar.buttons.network.text": "#b16286", - "theme.bar.buttons.network.background": "#282828", - "theme.bar.buttons.volume.icon_background": "#fe8018", - "theme.bar.buttons.volume.icon": "#fe8018", - "theme.bar.buttons.volume.text": "#fe8018", - "theme.bar.buttons.volume.background": "#282828", - "theme.bar.buttons.media.icon_background": "#83a598", - "theme.bar.buttons.media.icon": "#83a598", - "theme.bar.buttons.media.text": "#83a598", - "theme.bar.buttons.media.background": "#282828", - "theme.bar.buttons.windowtitle.icon_background": "#d3869b", - "theme.bar.buttons.windowtitle.icon": "#d3869b", - "theme.bar.buttons.windowtitle.text": "#d3869b", - "theme.bar.buttons.windowtitle.background": "#282828", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#ffffff", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#21252b", - "theme.bar.buttons.workspaces.active": "#d3869b", - "theme.bar.buttons.workspaces.occupied": "#fb4934", - "theme.bar.buttons.workspaces.available": "#83a598", - "theme.bar.buttons.workspaces.hover": "#504945", - "theme.bar.buttons.workspaces.background": "#282828", - "theme.bar.buttons.dashboard.icon": "#fabd2f", - "theme.bar.buttons.dashboard.background": "#282828", - "theme.bar.buttons.icon": "#83a598", - "theme.bar.buttons.text": "#83a598", - "theme.bar.buttons.hover": "#504945", - "theme.bar.buttons.icon_background": "#242438", - "theme.bar.buttons.background": "#282828", - "theme.bar.buttons.style": "default", - "theme.bar.background": "#1d2021", - "theme.osd.label": "#83a598", - "theme.osd.icon": "#1d2021", - "theme.osd.bar_overflow_color": "#cc241d", - "theme.osd.bar_empty_color": "#3c3836", - "theme.osd.bar_color": "#83a598", - "theme.osd.icon_container": "#83a598", - "theme.osd.bar_container": "#1d2021", - "theme.notification.close_button.label": "#1d2021", - "theme.notification.close_button.background": "#83a598", - "theme.notification.labelicon": "#83a598", - "theme.notification.text": "#ebdbb2", - "theme.notification.time": "#928374", - "theme.notification.border": "#3c3836", - "theme.notification.label": "#83a598", - "theme.notification.actions.text": "#32302f", - "theme.notification.actions.background": "#83a598", - "theme.notification.background": "#32302f", - "theme.bar.buttons.modules.power.border": "#282828", - "theme.bar.buttons.modules.weather.border": "#fe8017", - "theme.bar.buttons.modules.updates.border": "#b16286", - "theme.bar.buttons.modules.kbLayout.border": "#83a598", - "theme.bar.buttons.modules.netstat.border": "#b8bb26", - "theme.bar.buttons.modules.storage.border": "#83a598", - "theme.bar.buttons.modules.cpu.border": "#d3869b", - "theme.bar.buttons.modules.ram.border": "#fabd2f", - "theme.bar.buttons.notifications.border": "#83a598", - "theme.bar.buttons.clock.border": "#d3869b", - "theme.bar.buttons.battery.border": "#fabd2f", - "theme.bar.buttons.systray.border": "#504945", - "theme.bar.buttons.bluetooth.border": "#83a598", - "theme.bar.buttons.network.border": "#b16286", - "theme.bar.buttons.volume.border": "#fe8018", - "theme.bar.buttons.media.border": "#83a598", - "theme.bar.buttons.windowtitle.border": "#d3869b", - "theme.bar.buttons.workspaces.border": "#ffffff", - "theme.bar.buttons.dashboard.border": "#fabd2f", - "theme.bar.buttons.modules.submap.background": "#282828", - "theme.bar.buttons.modules.submap.text": "#8ec07c", - "theme.bar.buttons.modules.submap.border": "#8ec07c", - "theme.bar.buttons.modules.submap.icon": "#8ec07c", - "theme.bar.buttons.modules.submap.icon_background": "#282828" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/gruvbox_split.json b/ags/HyprPanel/themes/gruvbox_split.json deleted file mode 100644 index e41ab29..0000000 --- a/ags/HyprPanel/themes/gruvbox_split.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.menu.notifications.scrollbar.color": "#83a598", - "theme.bar.menus.menu.notifications.pager.label": "#a89984", - "theme.bar.menus.menu.notifications.pager.button": "#83a598", - "theme.bar.menus.menu.notifications.pager.background": "#1d2021", - "theme.bar.menus.menu.notifications.switch.puck": "#504945", - "theme.bar.menus.menu.notifications.switch.disabled": "#3c3836", - "theme.bar.menus.menu.notifications.switch.enabled": "#83a598", - "theme.bar.menus.menu.notifications.clear": "#83a598", - "theme.bar.menus.menu.notifications.switch_divider": "#504945", - "theme.bar.menus.menu.notifications.border": "#3c3836", - "theme.bar.menus.menu.notifications.card": "#282828", - "theme.bar.menus.menu.notifications.background": "#1d2021", - "theme.bar.menus.menu.notifications.no_notifications_label": "#3c3836", - "theme.bar.menus.menu.notifications.label": "#83a598", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#32302f", - "theme.bar.menus.menu.power.buttons.sleep.text": "#83a598", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#83a598", - "theme.bar.menus.menu.power.buttons.sleep.background": "#282828", - "theme.bar.menus.menu.power.buttons.logout.icon": "#32302f", - "theme.bar.menus.menu.power.buttons.logout.text": "#b8bb26", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#b8bb26", - "theme.bar.menus.menu.power.buttons.logout.background": "#282828", - "theme.bar.menus.menu.power.buttons.restart.icon": "#32302f", - "theme.bar.menus.menu.power.buttons.restart.text": "#fe8019", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#fe8019", - "theme.bar.menus.menu.power.buttons.restart.background": "#282828", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#32302f", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#cc241d", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#cc241d", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#282828", - "theme.bar.menus.menu.power.border.color": "#3c3836", - "theme.bar.menus.menu.power.background.color": "#1d2021", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#d3869b", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#d3869b", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#d3869b", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#b8bb26", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#b8bb26", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#b8bb26", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#fabd2f", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#fabd2f", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#fabd2f", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#fb4934", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#fb4934", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#fb4934", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#504945", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#83a598", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#b16286", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#8ec07c", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#fb4934", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#fabd2f", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#d3869b", - "theme.bar.menus.menu.dashboard.controls.input.text": "#32302f", - "theme.bar.menus.menu.dashboard.controls.input.background": "#d3869b", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#32302f", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#fb4934", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#32302f", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#fabd2f", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#32302f", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#83a598", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#32302f", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#b16286", - "theme.bar.menus.menu.dashboard.controls.disabled": "#665c54", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#b8bb26", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#32302f", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#83a598", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#1d2021", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#d3869b", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#8ec07b", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#ebdbb2", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#83a598", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#3c3836", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#1d2021", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#1d2021", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#83a598", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#b8bb26", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#fe8019", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#cc241d", - "theme.bar.menus.menu.dashboard.profile.name": "#d3869b", - "theme.bar.menus.menu.dashboard.border.color": "#3c3836", - "theme.bar.menus.menu.dashboard.background.color": "#1d2021", - "theme.bar.menus.menu.dashboard.card.color": "#282828", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#d3869b", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#d3869b", - "theme.bar.menus.menu.clock.weather.hourly.time": "#d3869b", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#83a598", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#458588", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#83a598", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#fe8019", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#cc241d", - "theme.bar.menus.menu.clock.weather.stats": "#d3869b", - "theme.bar.menus.menu.clock.weather.status": "#8ec07c", - "theme.bar.menus.menu.clock.weather.temperature": "#ebdbb2", - "theme.bar.menus.menu.clock.weather.icon": "#d3869b", - "theme.bar.menus.menu.clock.calendar.contextdays": "#665c54", - "theme.bar.menus.menu.clock.calendar.days": "#ebdbb2", - "theme.bar.menus.menu.clock.calendar.currentday": "#d3869b", - "theme.bar.menus.menu.clock.calendar.paginator": "#d3869b", - "theme.bar.menus.menu.clock.calendar.weekdays": "#d3869b", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#8ec07c", - "theme.bar.menus.menu.clock.time.timeperiod": "#8ec07c", - "theme.bar.menus.menu.clock.time.time": "#d3869b", - "theme.bar.menus.menu.clock.text": "#ebdbb2", - "theme.bar.menus.menu.clock.border.color": "#3c3836", - "theme.bar.menus.menu.clock.background.color": "#1d2021", - "theme.bar.menus.menu.clock.card.color": "#282828", - "theme.bar.menus.menu.battery.slider.puck": "#7c6f64", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#504945", - "theme.bar.menus.menu.battery.slider.background": "#665c54", - "theme.bar.menus.menu.battery.slider.primary": "#fabd2f", - "theme.bar.menus.menu.battery.icons.active": "#fabd2f", - "theme.bar.menus.menu.battery.icons.passive": "#a89984", - "theme.bar.menus.menu.battery.listitems.active": "#fabd2f", - "theme.bar.menus.menu.battery.listitems.passive": "#ebdbb2", - "theme.bar.menus.menu.battery.text": "#ebdbb2", - "theme.bar.menus.menu.battery.label.color": "#fabd2f", - "theme.bar.menus.menu.battery.border.color": "#3c3836", - "theme.bar.menus.menu.battery.background.color": "#1d2021", - "theme.bar.menus.menu.battery.card.color": "#282828", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#1d2021", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#ebdbb2", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#1d2021", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#83a598", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#ebdbb2", - "theme.bar.menus.menu.bluetooth.icons.active": "#83a598", - "theme.bar.menus.menu.bluetooth.icons.passive": "#a89984", - "theme.bar.menus.menu.bluetooth.listitems.active": "#83a598", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#ebdbb2", - "theme.bar.menus.menu.bluetooth.switch.puck": "#504945", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#3c3836", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#83a598", - "theme.bar.menus.menu.bluetooth.switch_divider": "#504945", - "theme.bar.menus.menu.bluetooth.status": "#7c6f64", - "theme.bar.menus.menu.bluetooth.text": "#ebdbb2", - "theme.bar.menus.menu.bluetooth.label.color": "#83a598", - "theme.bar.menus.menu.bluetooth.border.color": "#3c3836", - "theme.bar.menus.menu.bluetooth.background.color": "#1d2021", - "theme.bar.menus.menu.bluetooth.card.color": "#282828", - "theme.bar.menus.menu.network.iconbuttons.active": "#b16286", - "theme.bar.menus.menu.network.iconbuttons.passive": "#ebdbb2", - "theme.bar.menus.menu.network.icons.active": "#b16286", - "theme.bar.menus.menu.network.icons.passive": "#a89984", - "theme.bar.menus.menu.network.listitems.active": "#b16286", - "theme.bar.menus.menu.network.listitems.passive": "#ebdbb2", - "theme.bar.menus.menu.network.status.color": "#7c6f64", - "theme.bar.menus.menu.network.text": "#ebdbb2", - "theme.bar.menus.menu.network.label.color": "#b16286", - "theme.bar.menus.menu.network.border.color": "#3c3836", - "theme.bar.menus.menu.network.background.color": "#1d2021", - "theme.bar.menus.menu.network.card.color": "#282828", - "theme.bar.menus.menu.volume.input_slider.puck": "#665c54", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#504945", - "theme.bar.menus.menu.volume.input_slider.background": "#665c54", - "theme.bar.menus.menu.volume.input_slider.primary": "#fe8018", - "theme.bar.menus.menu.volume.audio_slider.puck": "#665c54", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#504945", - "theme.bar.menus.menu.volume.audio_slider.background": "#665c54", - "theme.bar.menus.menu.volume.audio_slider.primary": "#fe8018", - "theme.bar.menus.menu.volume.icons.active": "#fe8018", - "theme.bar.menus.menu.volume.icons.passive": "#a89984", - "theme.bar.menus.menu.volume.iconbutton.active": "#fe8018", - "theme.bar.menus.menu.volume.iconbutton.passive": "#ebdbb2", - "theme.bar.menus.menu.volume.listitems.active": "#fe8018", - "theme.bar.menus.menu.volume.listitems.passive": "#ebdbb2", - "theme.bar.menus.menu.volume.text": "#ebdbb2", - "theme.bar.menus.menu.volume.label.color": "#fe8018", - "theme.bar.menus.menu.volume.border.color": "#3c3836", - "theme.bar.menus.menu.volume.background.color": "#1d2021", - "theme.bar.menus.menu.volume.card.color": "#282828", - "theme.bar.menus.menu.media.slider.puck": "#7c6f64", - "theme.bar.menus.menu.media.slider.backgroundhover": "#504945", - "theme.bar.menus.menu.media.slider.background": "#665c54", - "theme.bar.menus.menu.media.slider.primary": "#d3869b", - "theme.bar.menus.menu.media.buttons.text": "#1d2021", - "theme.bar.menus.menu.media.buttons.background": "#83a598", - "theme.bar.menus.menu.media.buttons.enabled": "#8ec07c", - "theme.bar.menus.menu.media.buttons.inactive": "#665c54", - "theme.bar.menus.menu.media.border.color": "#3c3836", - "theme.bar.menus.menu.media.card.color": "#282828", - "theme.bar.menus.menu.media.background.color": "#1d2021", - "theme.bar.menus.menu.media.album": "#d3869b", - "theme.bar.menus.menu.media.artist": "#8ec07c", - "theme.bar.menus.menu.media.song": "#83a598", - "theme.bar.menus.tooltip.text": "#ebdbb2", - "theme.bar.menus.tooltip.background": "#1d2021", - "theme.bar.menus.dropdownmenu.divider": "#1d2021", - "theme.bar.menus.dropdownmenu.text": "#ebdbb2", - "theme.bar.menus.dropdownmenu.background": "#1d2021", - "theme.bar.menus.slider.puck": "#7c6f64", - "theme.bar.menus.slider.backgroundhover": "#504945", - "theme.bar.menus.slider.background": "#665c54", - "theme.bar.menus.slider.primary": "#83a598", - "theme.bar.menus.progressbar.background": "#504945", - "theme.bar.menus.progressbar.foreground": "#83a598", - "theme.bar.menus.iconbuttons.active": "#83a598", - "theme.bar.menus.iconbuttons.passive": "#ebdbb2", - "theme.bar.menus.buttons.text": "#32302f", - "theme.bar.menus.buttons.disabled": "#665c54", - "theme.bar.menus.buttons.active": "#d3869b", - "theme.bar.menus.buttons.default": "#83a598", - "theme.bar.menus.check_radio_button.active": "#83a598", - "theme.bar.menus.check_radio_button.background": "#3c3836", - "theme.bar.menus.switch.puck": "#504945", - "theme.bar.menus.switch.disabled": "#3c3836", - "theme.bar.menus.switch.enabled": "#83a598", - "theme.bar.menus.icons.active": "#83a598", - "theme.bar.menus.icons.passive": "#665c54", - "theme.bar.menus.listitems.active": "#83a598", - "theme.bar.menus.listitems.passive": "#ebdbb2", - "theme.bar.menus.popover.border": "#32302f", - "theme.bar.menus.popover.background": "#32302f", - "theme.bar.menus.popover.text": "#83a598", - "theme.bar.menus.label": "#83a598", - "theme.bar.menus.feinttext": "#3c3836", - "theme.bar.menus.dimtext": "#665c54", - "theme.bar.menus.text": "#ebdbb2", - "theme.bar.menus.border.color": "#3c3836", - "theme.bar.menus.cards": "#1d2021", - "theme.bar.menus.background": "#1d2021", - "theme.bar.buttons.modules.power.icon_background": "#fb4934", - "theme.bar.buttons.modules.power.icon": "#21252b", - "theme.bar.buttons.modules.power.background": "#282828", - "theme.bar.buttons.modules.weather.icon_background": "#fe8017", - "theme.bar.buttons.modules.weather.icon": "#282828", - "theme.bar.buttons.modules.weather.text": "#fe8017", - "theme.bar.buttons.modules.weather.background": "#282828", - "theme.bar.buttons.modules.updates.icon_background": "#b16286", - "theme.bar.buttons.modules.updates.icon": "#21252b", - "theme.bar.buttons.modules.updates.text": "#b16286", - "theme.bar.buttons.modules.updates.background": "#282828", - "theme.bar.buttons.modules.kbLayout.icon_background": "#83a598", - "theme.bar.buttons.modules.kbLayout.icon": "#21252b", - "theme.bar.buttons.modules.kbLayout.text": "#83a598", - "theme.bar.buttons.modules.kbLayout.background": "#282828", - "theme.bar.buttons.modules.netstat.icon_background": "#b8bb26", - "theme.bar.buttons.modules.netstat.icon": "#21252b", - "theme.bar.buttons.modules.netstat.text": "#b8bb26", - "theme.bar.buttons.modules.netstat.background": "#282828", - "theme.bar.buttons.modules.storage.icon_background": "#83a598", - "theme.bar.buttons.modules.storage.icon": "#21252b", - "theme.bar.buttons.modules.storage.text": "#83a598", - "theme.bar.buttons.modules.storage.background": "#282828", - "theme.bar.buttons.modules.cpu.icon_background": "#d3869b", - "theme.bar.buttons.modules.cpu.icon": "#21252b", - "theme.bar.buttons.modules.cpu.text": "#d3869b", - "theme.bar.buttons.modules.cpu.background": "#282828", - "theme.bar.buttons.modules.ram.icon_background": "#fabd2f", - "theme.bar.buttons.modules.ram.icon": "#21252b", - "theme.bar.buttons.modules.ram.text": "#fabd2f", - "theme.bar.buttons.modules.ram.background": "#282828", - "theme.bar.buttons.notifications.total": "#83a598", - "theme.bar.buttons.notifications.icon_background": "#83a598", - "theme.bar.buttons.notifications.icon": "#282828", - "theme.bar.buttons.notifications.background": "#282828", - "theme.bar.buttons.clock.icon_background": "#d3869b", - "theme.bar.buttons.clock.icon": "#282828", - "theme.bar.buttons.clock.text": "#d3869b", - "theme.bar.buttons.clock.background": "#282828", - "theme.bar.buttons.battery.icon_background": "#fabd2f", - "theme.bar.buttons.battery.icon": "#282828", - "theme.bar.buttons.battery.text": "#fabd2f", - "theme.bar.buttons.battery.background": "#282828", - "theme.bar.buttons.systray.background": "#282828", - "theme.bar.buttons.bluetooth.icon_background": "#83a598", - "theme.bar.buttons.bluetooth.icon": "#282828", - "theme.bar.buttons.bluetooth.text": "#83a598", - "theme.bar.buttons.bluetooth.background": "#282828", - "theme.bar.buttons.network.icon_background": "#b16286", - "theme.bar.buttons.network.icon": "#282828", - "theme.bar.buttons.network.text": "#b16286", - "theme.bar.buttons.network.background": "#282828", - "theme.bar.buttons.volume.icon_background": "#fe8018", - "theme.bar.buttons.volume.icon": "#282828", - "theme.bar.buttons.volume.text": "#fe8018", - "theme.bar.buttons.volume.background": "#282828", - "theme.bar.buttons.media.icon_background": "#83a598", - "theme.bar.buttons.media.icon": "#282828", - "theme.bar.buttons.media.text": "#83a598", - "theme.bar.buttons.media.background": "#282828", - "theme.bar.buttons.windowtitle.icon_background": "#d3869b", - "theme.bar.buttons.windowtitle.icon": "#282828", - "theme.bar.buttons.windowtitle.text": "#d3869b", - "theme.bar.buttons.windowtitle.background": "#282828", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#ffffff", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#21252b", - "theme.bar.buttons.workspaces.active": "#d3869b", - "theme.bar.buttons.workspaces.occupied": "#fb4934", - "theme.bar.buttons.workspaces.available": "#83a598", - "theme.bar.buttons.workspaces.hover": "#d3869b", - "theme.bar.buttons.workspaces.background": "#282828", - "theme.bar.buttons.dashboard.icon": "#282828", - "theme.bar.buttons.dashboard.background": "#fabc2f", - "theme.bar.buttons.icon": "#83a598", - "theme.bar.buttons.text": "#83a598", - "theme.bar.buttons.hover": "#504945", - "theme.bar.buttons.icon_background": "#242438", - "theme.bar.buttons.background": "#282828", - "theme.bar.buttons.style": "split", - "theme.bar.background": "#1d2021", - "theme.osd.label": "#83a598", - "theme.osd.icon": "#1d2021", - "theme.osd.bar_overflow_color": "#cc241d", - "theme.osd.bar_empty_color": "#3c3836", - "theme.osd.bar_color": "#83a598", - "theme.osd.icon_container": "#83a598", - "theme.osd.bar_container": "#1d2021", - "theme.notification.close_button.label": "#1d2021", - "theme.notification.close_button.background": "#83a598", - "theme.notification.labelicon": "#83a598", - "theme.notification.text": "#ebdbb2", - "theme.notification.time": "#928374", - "theme.notification.border": "#3c3836", - "theme.notification.label": "#83a598", - "theme.notification.actions.text": "#32302f", - "theme.notification.actions.background": "#83a598", - "theme.notification.background": "#32302f", - "theme.bar.buttons.modules.power.border": "#282828", - "theme.bar.buttons.modules.weather.border": "#fe8017", - "theme.bar.buttons.modules.updates.border": "#b16286", - "theme.bar.buttons.modules.kbLayout.border": "#83a598", - "theme.bar.buttons.modules.netstat.border": "#b8bb26", - "theme.bar.buttons.modules.storage.border": "#83a598", - "theme.bar.buttons.modules.cpu.border": "#d3869b", - "theme.bar.buttons.modules.ram.border": "#fabd2f", - "theme.bar.buttons.notifications.border": "#83a598", - "theme.bar.buttons.clock.border": "#d3869b", - "theme.bar.buttons.battery.border": "#fabd2f", - "theme.bar.buttons.systray.border": "#504945", - "theme.bar.buttons.bluetooth.border": "#83a598", - "theme.bar.buttons.network.border": "#b16286", - "theme.bar.buttons.volume.border": "#fe8018", - "theme.bar.buttons.media.border": "#83a598", - "theme.bar.buttons.windowtitle.border": "#d3869b", - "theme.bar.buttons.workspaces.border": "#ffffff", - "theme.bar.buttons.dashboard.border": "#fabd2f", - "theme.bar.buttons.modules.submap.background": "#282828", - "theme.bar.buttons.modules.submap.text": "#8ec07c", - "theme.bar.buttons.modules.submap.border": "#8ec07c", - "theme.bar.buttons.modules.submap.icon": "#21252b", - "theme.bar.buttons.modules.submap.icon_background": "#8ec07c" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/monochrome.json b/ags/HyprPanel/themes/monochrome.json deleted file mode 100644 index 86cb70b..0000000 --- a/ags/HyprPanel/themes/monochrome.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.background": "#000000", - "theme.bar.background": "#000000", - "theme.bar.buttons.media.icon": "#FFFFFF", - "theme.bar.buttons.media.text": "#FFFFFF", - "theme.bar.buttons.icon": "#FFFFFF", - "theme.bar.buttons.text": "#FFFFFF", - "theme.bar.buttons.hover": "#333333", - "theme.bar.buttons.background": "#1A1A1A", - "theme.bar.menus.text": "#CCCCCC", - "theme.bar.menus.border.color": "#333333", - "theme.bar.buttons.media.background": "#090909", - "theme.bar.menus.menu.volume.text": "#CCCCCC", - "theme.bar.menus.menu.volume.card.color": "#1A1A1A", - "theme.bar.menus.menu.volume.label.color": "#FFFFFF", - "theme.bar.menus.popover.text": "#FFFFFF", - "theme.bar.menus.popover.background": "#000000", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#ffffff", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#ffffff", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#ffffff", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#000000", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#CCCCCC", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#FFFFFF", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#333333", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#000000", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#1A1A1A", - "theme.bar.menus.menu.notifications.switch.puck": "#333333", - "theme.bar.menus.menu.notifications.switch.disabled": "#333333", - "theme.bar.menus.menu.notifications.switch.enabled": "#FFFFFF", - "theme.bar.menus.menu.notifications.clear": "#ffffff", - "theme.bar.menus.menu.notifications.switch_divider": "#333333", - "theme.bar.menus.menu.notifications.border": "#333333", - "theme.bar.menus.menu.notifications.card": "#1A1A1A", - "theme.bar.menus.menu.notifications.background": "#000000", - "theme.bar.menus.menu.notifications.no_notifications_label": "#333333", - "theme.bar.menus.menu.notifications.label": "#FFFFFF", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#FFFFFF", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#FFFFFF", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#FFFFFF", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#ffffff", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#ffffff", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#ffffff", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#ffffff", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#ffffff", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#ffffff", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#ffffff", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#ffffff", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#ffffff", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#333333", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#FFFFFF", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#FFFFFF", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#FFFFFF", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#ffffff", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#ffffff", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#FFFFFF", - "theme.bar.menus.menu.dashboard.controls.input.text": "#000000", - "theme.bar.menus.menu.dashboard.controls.input.background": "#FFFFFF", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#000000", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#ffffff", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#000000", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#ffffff", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#000000", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#ffffff", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#000000", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#FFFFFF", - "theme.bar.menus.menu.dashboard.controls.disabled": "#333333", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#5CFF5C", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#000000", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#FFFFFF", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#ffffff", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#ffffff", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#ffffff", - "theme.bar.menus.menu.dashboard.profile.name": "#FFFFFF", - "theme.bar.menus.menu.dashboard.border.color": "#333333", - "theme.bar.menus.menu.dashboard.background.color": "#000000", - "theme.bar.menus.menu.dashboard.card.color": "#1A1A1A", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#FFFFFF", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#FFFFFF", - "theme.bar.menus.menu.clock.weather.hourly.time": "#FFFFFF", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#ffffff", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#ffffff", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#FFFFFF", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#ffffff", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#ffffff", - "theme.bar.menus.menu.clock.weather.stats": "#FFFFFF", - "theme.bar.menus.menu.clock.weather.status": "#FFFFFF", - "theme.bar.menus.menu.clock.weather.temperature": "#CCCCCC", - "theme.bar.menus.menu.clock.weather.icon": "#FFFFFF", - "theme.bar.menus.menu.clock.calendar.contextdays": "#333333", - "theme.bar.menus.menu.clock.calendar.days": "#CCCCCC", - "theme.bar.menus.menu.clock.calendar.currentday": "#FFFFFF", - "theme.bar.menus.menu.clock.calendar.paginator": "#FFFFFF", - "theme.bar.menus.menu.clock.calendar.weekdays": "#FFFFFF", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#ffffff", - "theme.bar.menus.menu.clock.time.timeperiod": "#ffffff", - "theme.bar.menus.menu.clock.time.time": "#FFFFFF", - "theme.bar.menus.menu.clock.text": "#CCCCCC", - "theme.bar.menus.menu.clock.border.color": "#333333", - "theme.bar.menus.menu.clock.background.color": "#000000", - "theme.bar.menus.menu.clock.card.color": "#1A1A1A", - "theme.bar.menus.menu.battery.slider.puck": "#5e5c64", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#5e5c64", - "theme.bar.menus.menu.battery.slider.background": "#5e5c64", - "theme.bar.menus.menu.battery.slider.primary": "#cccccc", - "theme.bar.menus.menu.battery.icons.active": "#ffffff", - "theme.bar.menus.menu.battery.icons.passive": "#9a9996", - "theme.bar.menus.menu.battery.listitems.active": "#ffffff", - "theme.bar.menus.menu.battery.listitems.passive": "#9a9996", - "theme.bar.menus.menu.battery.text": "#CCCCCC", - "theme.bar.menus.menu.battery.label.color": "#ffffff", - "theme.bar.menus.menu.battery.border.color": "#333333", - "theme.bar.menus.menu.battery.background.color": "#000000", - "theme.bar.menus.menu.battery.card.color": "#111111", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#1A1A1A", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#CCCCCC", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#000000", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#ffffff", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#9a9996", - "theme.bar.menus.menu.bluetooth.icons.active": "#ffffff", - "theme.bar.menus.menu.bluetooth.icons.passive": "#77767b", - "theme.bar.menus.menu.bluetooth.listitems.active": "#FFFFFF", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#77767b", - "theme.bar.menus.menu.bluetooth.switch.puck": "#9a9996", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#444444", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#FFFFFF", - "theme.bar.menus.menu.bluetooth.switch_divider": "#444444", - "theme.bar.menus.menu.bluetooth.status": "#CCCCCC", - "theme.bar.menus.menu.bluetooth.text": "#FFFFFF", - "theme.bar.menus.menu.bluetooth.label.color": "#FFFFFF", - "theme.bar.menus.menu.bluetooth.border.color": "#444444", - "theme.bar.menus.menu.bluetooth.background.color": "#000000", - "theme.bar.menus.menu.bluetooth.card.color": "#111111", - "theme.bar.menus.menu.network.iconbuttons.active": "#FFFFFF", - "theme.bar.menus.menu.network.iconbuttons.passive": "#77767b", - "theme.bar.menus.menu.network.icons.active": "#FFFFFF", - "theme.bar.menus.menu.network.icons.passive": "#77767b", - "theme.bar.menus.menu.network.listitems.active": "#FFFFFF", - "theme.bar.menus.menu.network.listitems.passive": "#77767b", - "theme.bar.menus.menu.network.status.color": "#CCCCCC", - "theme.bar.menus.menu.network.text": "#FFFFFF", - "theme.bar.menus.menu.network.label.color": "#FFFFFF", - "theme.bar.menus.menu.network.border.color": "#444444", - "theme.bar.menus.menu.network.background.color": "#000000", - "theme.bar.menus.menu.network.card.color": "#111111", - "theme.bar.menus.menu.volume.input_slider.puck": "#CCCCCC", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#444444", - "theme.bar.menus.menu.volume.input_slider.background": "#77767b", - "theme.bar.menus.menu.volume.input_slider.primary": "#FFFFFF", - "theme.bar.menus.menu.volume.audio_slider.puck": "#CCCCCC", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#444444", - "theme.bar.menus.menu.volume.audio_slider.background": "#77767b", - "theme.bar.menus.menu.volume.audio_slider.primary": "#FFFFFF", - "theme.bar.menus.menu.volume.icons.active": "#FFFFFF", - "theme.bar.menus.menu.volume.icons.passive": "#77767b", - "theme.bar.menus.menu.volume.iconbutton.active": "#FFFFFF", - "theme.bar.menus.menu.volume.iconbutton.passive": "#77767b", - "theme.bar.menus.menu.volume.listitems.active": "#FFFFFF", - "theme.bar.menus.menu.volume.listitems.passive": "#77767b", - "theme.bar.menus.menu.volume.border.color": "#444444", - "theme.bar.menus.menu.volume.background.color": "#000000", - "theme.bar.menus.menu.media.slider.puck": "#CCCCCC", - "theme.bar.menus.menu.media.slider.backgroundhover": "#444444", - "theme.bar.menus.menu.media.slider.background": "#77767b", - "theme.bar.menus.menu.media.slider.primary": "#FFFFFF", - "theme.bar.menus.menu.media.buttons.text": "#000000", - "theme.bar.menus.menu.media.buttons.background": "#FFFFFF", - "theme.bar.menus.menu.media.buttons.enabled": "#FFFFFF", - "theme.bar.menus.menu.media.buttons.inactive": "#5e5c64", - "theme.bar.menus.menu.media.border.color": "#444444", - "theme.bar.menus.menu.media.background.color": "#000000", - "theme.bar.menus.menu.media.album": "#FFFFFF", - "theme.bar.menus.menu.media.artist": "#FFFFFF", - "theme.bar.menus.menu.media.song": "#FFFFFF", - "theme.bar.menus.tooltip.text": "#FFFFFF", - "theme.bar.menus.tooltip.background": "#000000", - "theme.bar.menus.dropdownmenu.divider": "#111111", - "theme.bar.menus.dropdownmenu.text": "#FFFFFF", - "theme.bar.menus.dropdownmenu.background": "#000000", - "theme.bar.menus.slider.puck": "#CCCCCC", - "theme.bar.menus.slider.backgroundhover": "#444444", - "theme.bar.menus.slider.background": "#CCCCCC", - "theme.bar.menus.slider.primary": "#FFFFFF", - "theme.bar.menus.progressbar.background": "#444444", - "theme.bar.menus.progressbar.foreground": "#FFFFFF", - "theme.bar.menus.iconbuttons.active": "#FFFFFF", - "theme.bar.menus.iconbuttons.passive": "#FFFFFF", - "theme.bar.menus.buttons.text": "#000000", - "theme.bar.menus.buttons.disabled": "#CCCCCC", - "theme.bar.menus.buttons.active": "#FFFFFF", - "theme.bar.menus.buttons.default": "#FFFFFF", - "theme.bar.menus.switch.puck": "#CCCCCC", - "theme.bar.menus.switch.disabled": "#444444", - "theme.bar.menus.switch.enabled": "#FFFFFF", - "theme.bar.menus.icons.active": "#FFFFFF", - "theme.bar.menus.icons.passive": "#CCCCCC", - "theme.bar.menus.listitems.active": "#FFFFFF", - "theme.bar.menus.listitems.passive": "#FFFFFF", - "theme.bar.menus.label": "#FFFFFF", - "theme.bar.menus.feinttext": "#444444", - "theme.bar.menus.dimtext": "#CCCCCC", - "theme.bar.menus.cards": "#111111", - "theme.bar.buttons.notifications.total": "#FFFFFF", - "theme.bar.buttons.notifications.icon": "#FFFFFF", - "theme.bar.buttons.notifications.background": "#090909", - "theme.bar.buttons.clock.icon": "#FFFFFF", - "theme.bar.buttons.clock.text": "#FFFFFF", - "theme.bar.buttons.clock.background": "#090909", - "theme.bar.buttons.battery.icon": "#FFFFFF", - "theme.bar.buttons.battery.text": "#FFFFFF", - "theme.bar.buttons.battery.background": "#090909", - "theme.bar.buttons.systray.background": "#090909", - "theme.bar.buttons.bluetooth.icon": "#FFFFFF", - "theme.bar.buttons.bluetooth.text": "#FFFFFF", - "theme.bar.buttons.bluetooth.background": "#090909", - "theme.bar.buttons.network.icon": "#FFFFFF", - "theme.bar.buttons.network.text": "#FFFFFF", - "theme.bar.buttons.network.background": "#090909", - "theme.bar.buttons.volume.icon": "#FFFFFF", - "theme.bar.buttons.volume.text": "#FFFFFF", - "theme.bar.buttons.volume.background": "#090909", - "theme.bar.buttons.windowtitle.icon": "#FFFFFF", - "theme.bar.buttons.windowtitle.text": "#FFFFFF", - "theme.bar.buttons.windowtitle.background": "#090909", - "theme.bar.buttons.workspaces.active": "#FFFFFF", - "theme.bar.buttons.workspaces.occupied": "#FFFFFF", - "theme.bar.buttons.workspaces.available": "#FFFFFF", - "theme.bar.buttons.workspaces.hover": "#444444", - "theme.bar.buttons.workspaces.background": "#090909", - "theme.bar.buttons.dashboard.icon": "#FFFFFF", - "theme.bar.buttons.dashboard.background": "#090909", - "theme.osd.label": "#FFFFFF", - "theme.osd.icon": "#000000", - "theme.osd.bar_overflow_color": "#FFFFFF", - "theme.osd.bar_empty_color": "#444444", - "theme.osd.bar_color": "#FFFFFF", - "theme.osd.icon_container": "#FFFFFF", - "theme.osd.bar_container": "#000000", - "theme.notification.close_button.label": "#000000", - "theme.notification.close_button.background": "#FFFFFF", - "theme.notification.labelicon": "#FFFFFF", - "theme.notification.text": "#FFFFFF", - "theme.notification.time": "#CCCCCC", - "theme.notification.border": "#444444", - "theme.notification.label": "#FFFFFF", - "theme.notification.actions.text": "#000000", - "theme.notification.actions.background": "#FFFFFF", - "theme.notification.background": "#1a1a1a", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#21252b", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#ffffff", - "theme.bar.menus.menu.media.card.color": "#1A1A1A", - "theme.bar.menus.check_radio_button.background": "#000000", - "theme.bar.menus.check_radio_button.active": "#ffffff", - "theme.bar.buttons.style": "default", - "theme.bar.menus.menu.notifications.pager.button": "#FFFFFF", - "theme.bar.menus.menu.notifications.scrollbar.color": "#FFFFFF", - "theme.bar.menus.menu.notifications.pager.label": "#9a9996", - "theme.bar.menus.menu.notifications.pager.background": "#000000", - "theme.bar.buttons.clock.icon_background": "#FFFFFF", - "theme.bar.buttons.modules.ram.icon": "#ffffff", - "theme.bar.buttons.modules.storage.icon_background": "#ffffff", - "theme.bar.menus.popover.border": "#000000", - "theme.bar.buttons.volume.icon_background": "#ffffff", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#ffffff", - "theme.bar.menus.menu.power.buttons.restart.text": "#ffffff", - "theme.bar.buttons.modules.updates.background": "#090909", - "theme.bar.buttons.modules.storage.icon": "#ffffff", - "theme.bar.buttons.modules.netstat.background": "#090909", - "theme.bar.buttons.modules.weather.icon": "#FFFFFF", - "theme.bar.buttons.modules.netstat.text": "#ffffff", - "theme.bar.buttons.modules.storage.background": "#090909", - "theme.bar.buttons.modules.power.icon": "#ffffff", - "theme.bar.buttons.modules.storage.text": "#ffffff", - "theme.bar.buttons.modules.cpu.background": "#090909", - "theme.bar.menus.menu.power.border.color": "#333333", - "theme.bar.buttons.network.icon_background": "#caa6f7", - "theme.bar.buttons.modules.power.icon_background": "#ffffff", - "theme.bar.menus.menu.power.buttons.logout.icon": "#000000", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#ffffff", - "theme.bar.menus.menu.power.buttons.restart.icon": "#000000", - "theme.bar.buttons.modules.cpu.icon": "#ffffff", - "theme.bar.buttons.battery.icon_background": "#ffffff", - "theme.bar.buttons.modules.kbLayout.icon_background": "#ffffff", - "theme.bar.buttons.modules.weather.text": "#FFFFFF", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#000000", - "theme.bar.menus.menu.power.buttons.sleep.text": "#ffffff", - "theme.bar.buttons.modules.weather.icon_background": "#FFFFFF", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#1A1A1A", - "theme.bar.buttons.media.icon_background": "#FFFFFF", - "theme.bar.menus.menu.power.buttons.logout.background": "#1A1A1A", - "theme.bar.buttons.modules.kbLayout.icon": "#ffffff", - "theme.bar.buttons.modules.ram.icon_background": "#ffffff", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#FFFFFF", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#ffffff", - "theme.bar.menus.menu.power.buttons.sleep.background": "#1A1A1A", - "theme.bar.buttons.modules.ram.text": "#ffffff", - "theme.bar.menus.menu.power.buttons.logout.text": "#ffffff", - "theme.bar.buttons.modules.updates.icon_background": "#FFFFFF", - "theme.bar.buttons.modules.kbLayout.background": "#090909", - "theme.bar.buttons.modules.power.background": "#090909", - "theme.bar.buttons.modules.weather.background": "#090909", - "theme.bar.buttons.icon_background": "#090909", - "theme.bar.menus.menu.power.background.color": "#000000", - "theme.bar.buttons.modules.ram.background": "#090909", - "theme.bar.buttons.modules.netstat.icon": "#ffffff", - "theme.bar.buttons.windowtitle.icon_background": "#FFFFFF", - "theme.bar.buttons.modules.cpu.icon_background": "#ffffff", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#ffffff", - "theme.bar.buttons.modules.updates.text": "#FFFFFF", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#000000", - "theme.bar.buttons.bluetooth.icon_background": "#89dbeb", - "theme.bar.menus.menu.power.buttons.restart.background": "#1A1A1A", - "theme.bar.buttons.modules.updates.icon": "#FFFFFF", - "theme.bar.buttons.modules.cpu.text": "#ffffff", - "theme.bar.buttons.modules.netstat.icon_background": "#ffffff", - "theme.bar.buttons.modules.kbLayout.text": "#ffffff", - "theme.bar.buttons.notifications.icon_background": "#FFFFFF", - "theme.bar.buttons.modules.power.border": "#ffffff", - "theme.bar.buttons.modules.weather.border": "#FFFFFF", - "theme.bar.buttons.modules.updates.border": "#FFFFFF", - "theme.bar.buttons.modules.kbLayout.border": "#ffffff", - "theme.bar.buttons.modules.netstat.border": "#ffffff", - "theme.bar.buttons.modules.storage.border": "#ffffff", - "theme.bar.buttons.modules.cpu.border": "#ffffff", - "theme.bar.buttons.modules.ram.border": "#ffffff", - "theme.bar.buttons.notifications.border": "#FFFFFF", - "theme.bar.buttons.clock.border": "#FFFFFF", - "theme.bar.buttons.battery.border": "#FFFFFF", - "theme.bar.buttons.systray.border": "#444444", - "theme.bar.buttons.bluetooth.border": "#FFFFFF", - "theme.bar.buttons.network.border": "#FFFFFF", - "theme.bar.buttons.volume.border": "#FFFFFF", - "theme.bar.buttons.media.border": "#FFFFFF", - "theme.bar.buttons.windowtitle.border": "#FFFFFF", - "theme.bar.buttons.workspaces.border": "#FFFFFF", - "theme.bar.buttons.dashboard.border": "#FFFFFF", - "theme.bar.buttons.modules.submap.background": "#090909", - "theme.bar.buttons.modules.submap.text": "#FFFFFF", - "theme.bar.buttons.modules.submap.border": "#FFFFFF", - "theme.bar.buttons.modules.submap.icon": "#FFFFFF", - "theme.bar.buttons.modules.submap.icon_background": "#090909" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/monochrome_split.json b/ags/HyprPanel/themes/monochrome_split.json deleted file mode 100644 index 111c155..0000000 --- a/ags/HyprPanel/themes/monochrome_split.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.background": "#000000", - "theme.bar.background": "#000000", - "theme.bar.buttons.media.icon": "#090909", - "theme.bar.buttons.media.text": "#FFFFFF", - "theme.bar.buttons.icon": "#FFFFFF", - "theme.bar.buttons.text": "#FFFFFF", - "theme.bar.buttons.hover": "#333333", - "theme.bar.buttons.background": "#1A1A1A", - "theme.bar.menus.text": "#CCCCCC", - "theme.bar.menus.border.color": "#333333", - "theme.bar.buttons.media.background": "#090909", - "theme.bar.menus.menu.volume.text": "#CCCCCC", - "theme.bar.menus.menu.volume.card.color": "#1A1A1A", - "theme.bar.menus.menu.volume.label.color": "#FFFFFF", - "theme.bar.menus.popover.text": "#FFFFFF", - "theme.bar.menus.popover.background": "#000000", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#ffffff", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#ffffff", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#ffffff", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#000000", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#CCCCCC", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#FFFFFF", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#333333", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#000000", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#1A1A1A", - "theme.bar.menus.menu.notifications.switch.puck": "#333333", - "theme.bar.menus.menu.notifications.switch.disabled": "#333333", - "theme.bar.menus.menu.notifications.switch.enabled": "#FFFFFF", - "theme.bar.menus.menu.notifications.clear": "#ffffff", - "theme.bar.menus.menu.notifications.switch_divider": "#333333", - "theme.bar.menus.menu.notifications.border": "#333333", - "theme.bar.menus.menu.notifications.card": "#1A1A1A", - "theme.bar.menus.menu.notifications.background": "#000000", - "theme.bar.menus.menu.notifications.no_notifications_label": "#333333", - "theme.bar.menus.menu.notifications.label": "#FFFFFF", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#FFFFFF", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#FFFFFF", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#FFFFFF", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#ffffff", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#ffffff", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#ffffff", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#ffffff", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#ffffff", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#ffffff", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#ffffff", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#ffffff", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#ffffff", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#333333", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#FFFFFF", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#FFFFFF", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#FFFFFF", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#ffffff", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#ffffff", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#FFFFFF", - "theme.bar.menus.menu.dashboard.controls.input.text": "#000000", - "theme.bar.menus.menu.dashboard.controls.input.background": "#FFFFFF", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#000000", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#ffffff", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#000000", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#ffffff", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#000000", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#ffffff", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#000000", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#FFFFFF", - "theme.bar.menus.menu.dashboard.controls.disabled": "#333333", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#5CFF5C", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#000000", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#FFFFFF", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#ffffff", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#ffffff", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#ffffff", - "theme.bar.menus.menu.dashboard.profile.name": "#FFFFFF", - "theme.bar.menus.menu.dashboard.border.color": "#333333", - "theme.bar.menus.menu.dashboard.background.color": "#000000", - "theme.bar.menus.menu.dashboard.card.color": "#1A1A1A", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#FFFFFF", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#FFFFFF", - "theme.bar.menus.menu.clock.weather.hourly.time": "#FFFFFF", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#ffffff", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#ffffff", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#FFFFFF", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#ffffff", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#ffffff", - "theme.bar.menus.menu.clock.weather.stats": "#FFFFFF", - "theme.bar.menus.menu.clock.weather.status": "#FFFFFF", - "theme.bar.menus.menu.clock.weather.temperature": "#CCCCCC", - "theme.bar.menus.menu.clock.weather.icon": "#FFFFFF", - "theme.bar.menus.menu.clock.calendar.contextdays": "#333333", - "theme.bar.menus.menu.clock.calendar.days": "#CCCCCC", - "theme.bar.menus.menu.clock.calendar.currentday": "#FFFFFF", - "theme.bar.menus.menu.clock.calendar.paginator": "#FFFFFF", - "theme.bar.menus.menu.clock.calendar.weekdays": "#FFFFFF", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#ffffff", - "theme.bar.menus.menu.clock.time.timeperiod": "#ffffff", - "theme.bar.menus.menu.clock.time.time": "#FFFFFF", - "theme.bar.menus.menu.clock.text": "#CCCCCC", - "theme.bar.menus.menu.clock.border.color": "#333333", - "theme.bar.menus.menu.clock.background.color": "#000000", - "theme.bar.menus.menu.clock.card.color": "#1A1A1A", - "theme.bar.menus.menu.battery.slider.puck": "#5e5c64", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#5e5c64", - "theme.bar.menus.menu.battery.slider.background": "#5e5c64", - "theme.bar.menus.menu.battery.slider.primary": "#cccccc", - "theme.bar.menus.menu.battery.icons.active": "#ffffff", - "theme.bar.menus.menu.battery.icons.passive": "#9a9996", - "theme.bar.menus.menu.battery.listitems.active": "#ffffff", - "theme.bar.menus.menu.battery.listitems.passive": "#9a9996", - "theme.bar.menus.menu.battery.text": "#CCCCCC", - "theme.bar.menus.menu.battery.label.color": "#ffffff", - "theme.bar.menus.menu.battery.border.color": "#333333", - "theme.bar.menus.menu.battery.background.color": "#000000", - "theme.bar.menus.menu.battery.card.color": "#111111", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#1A1A1A", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#CCCCCC", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#000000", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#ffffff", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#9a9996", - "theme.bar.menus.menu.bluetooth.icons.active": "#ffffff", - "theme.bar.menus.menu.bluetooth.icons.passive": "#77767b", - "theme.bar.menus.menu.bluetooth.listitems.active": "#FFFFFF", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#77767b", - "theme.bar.menus.menu.bluetooth.switch.puck": "#9a9996", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#444444", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#FFFFFF", - "theme.bar.menus.menu.bluetooth.switch_divider": "#444444", - "theme.bar.menus.menu.bluetooth.status": "#CCCCCC", - "theme.bar.menus.menu.bluetooth.text": "#FFFFFF", - "theme.bar.menus.menu.bluetooth.label.color": "#FFFFFF", - "theme.bar.menus.menu.bluetooth.border.color": "#444444", - "theme.bar.menus.menu.bluetooth.background.color": "#000000", - "theme.bar.menus.menu.bluetooth.card.color": "#111111", - "theme.bar.menus.menu.network.iconbuttons.active": "#FFFFFF", - "theme.bar.menus.menu.network.iconbuttons.passive": "#77767b", - "theme.bar.menus.menu.network.icons.active": "#FFFFFF", - "theme.bar.menus.menu.network.icons.passive": "#77767b", - "theme.bar.menus.menu.network.listitems.active": "#FFFFFF", - "theme.bar.menus.menu.network.listitems.passive": "#77767b", - "theme.bar.menus.menu.network.status.color": "#CCCCCC", - "theme.bar.menus.menu.network.text": "#FFFFFF", - "theme.bar.menus.menu.network.label.color": "#FFFFFF", - "theme.bar.menus.menu.network.border.color": "#444444", - "theme.bar.menus.menu.network.background.color": "#000000", - "theme.bar.menus.menu.network.card.color": "#111111", - "theme.bar.menus.menu.volume.input_slider.puck": "#CCCCCC", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#444444", - "theme.bar.menus.menu.volume.input_slider.background": "#77767b", - "theme.bar.menus.menu.volume.input_slider.primary": "#FFFFFF", - "theme.bar.menus.menu.volume.audio_slider.puck": "#CCCCCC", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#444444", - "theme.bar.menus.menu.volume.audio_slider.background": "#77767b", - "theme.bar.menus.menu.volume.audio_slider.primary": "#FFFFFF", - "theme.bar.menus.menu.volume.icons.active": "#FFFFFF", - "theme.bar.menus.menu.volume.icons.passive": "#77767b", - "theme.bar.menus.menu.volume.iconbutton.active": "#FFFFFF", - "theme.bar.menus.menu.volume.iconbutton.passive": "#77767b", - "theme.bar.menus.menu.volume.listitems.active": "#FFFFFF", - "theme.bar.menus.menu.volume.listitems.passive": "#77767b", - "theme.bar.menus.menu.volume.border.color": "#444444", - "theme.bar.menus.menu.volume.background.color": "#000000", - "theme.bar.menus.menu.media.slider.puck": "#CCCCCC", - "theme.bar.menus.menu.media.slider.backgroundhover": "#444444", - "theme.bar.menus.menu.media.slider.background": "#77767b", - "theme.bar.menus.menu.media.slider.primary": "#FFFFFF", - "theme.bar.menus.menu.media.buttons.text": "#000000", - "theme.bar.menus.menu.media.buttons.background": "#FFFFFF", - "theme.bar.menus.menu.media.buttons.enabled": "#FFFFFF", - "theme.bar.menus.menu.media.buttons.inactive": "#5e5c64", - "theme.bar.menus.menu.media.border.color": "#444444", - "theme.bar.menus.menu.media.background.color": "#000000", - "theme.bar.menus.menu.media.album": "#FFFFFF", - "theme.bar.menus.menu.media.artist": "#FFFFFF", - "theme.bar.menus.menu.media.song": "#FFFFFF", - "theme.bar.menus.tooltip.text": "#FFFFFF", - "theme.bar.menus.tooltip.background": "#000000", - "theme.bar.menus.dropdownmenu.divider": "#111111", - "theme.bar.menus.dropdownmenu.text": "#FFFFFF", - "theme.bar.menus.dropdownmenu.background": "#000000", - "theme.bar.menus.slider.puck": "#CCCCCC", - "theme.bar.menus.slider.backgroundhover": "#444444", - "theme.bar.menus.slider.background": "#CCCCCC", - "theme.bar.menus.slider.primary": "#FFFFFF", - "theme.bar.menus.progressbar.background": "#444444", - "theme.bar.menus.progressbar.foreground": "#FFFFFF", - "theme.bar.menus.iconbuttons.active": "#FFFFFF", - "theme.bar.menus.iconbuttons.passive": "#FFFFFF", - "theme.bar.menus.buttons.text": "#000000", - "theme.bar.menus.buttons.disabled": "#CCCCCC", - "theme.bar.menus.buttons.active": "#FFFFFF", - "theme.bar.menus.buttons.default": "#FFFFFF", - "theme.bar.menus.switch.puck": "#CCCCCC", - "theme.bar.menus.switch.disabled": "#444444", - "theme.bar.menus.switch.enabled": "#FFFFFF", - "theme.bar.menus.icons.active": "#FFFFFF", - "theme.bar.menus.icons.passive": "#CCCCCC", - "theme.bar.menus.listitems.active": "#ffffff", - "theme.bar.menus.listitems.passive": "#FFFFFF", - "theme.bar.menus.label": "#FFFFFF", - "theme.bar.menus.feinttext": "#444444", - "theme.bar.menus.dimtext": "#CCCCCC", - "theme.bar.menus.cards": "#111111", - "theme.bar.buttons.notifications.total": "#FFFFFF", - "theme.bar.buttons.notifications.icon": "#090909", - "theme.bar.buttons.notifications.background": "#090909", - "theme.bar.buttons.clock.icon": "#000000", - "theme.bar.buttons.clock.text": "#FFFFFF", - "theme.bar.buttons.clock.background": "#090909", - "theme.bar.buttons.battery.icon": "#090909", - "theme.bar.buttons.battery.text": "#FFFFFF", - "theme.bar.buttons.battery.background": "#090909", - "theme.bar.buttons.systray.background": "#090909", - "theme.bar.buttons.bluetooth.icon": "#090909", - "theme.bar.buttons.bluetooth.text": "#FFFFFF", - "theme.bar.buttons.bluetooth.background": "#090909", - "theme.bar.buttons.network.icon": "#090909", - "theme.bar.buttons.network.text": "#FFFFFF", - "theme.bar.buttons.network.background": "#090909", - "theme.bar.buttons.volume.icon": "#090909", - "theme.bar.buttons.volume.text": "#FFFFFF", - "theme.bar.buttons.volume.background": "#090909", - "theme.bar.buttons.windowtitle.icon": "#090909", - "theme.bar.buttons.windowtitle.text": "#FFFFFF", - "theme.bar.buttons.windowtitle.background": "#090909", - "theme.bar.buttons.workspaces.active": "#FFFFFF", - "theme.bar.buttons.workspaces.occupied": "#FFFFFF", - "theme.bar.buttons.workspaces.available": "#FFFFFF", - "theme.bar.buttons.workspaces.hover": "#444444", - "theme.bar.buttons.workspaces.background": "#090909", - "theme.bar.buttons.dashboard.icon": "#000000", - "theme.bar.buttons.dashboard.background": "#ffffff", - "theme.osd.label": "#FFFFFF", - "theme.osd.icon": "#000000", - "theme.osd.bar_overflow_color": "#FFFFFF", - "theme.osd.bar_empty_color": "#444444", - "theme.osd.bar_color": "#FFFFFF", - "theme.osd.icon_container": "#FFFFFF", - "theme.osd.bar_container": "#000000", - "theme.notification.close_button.label": "#000000", - "theme.notification.close_button.background": "#FFFFFF", - "theme.notification.labelicon": "#FFFFFF", - "theme.notification.text": "#FFFFFF", - "theme.notification.time": "#CCCCCC", - "theme.notification.border": "#444444", - "theme.notification.label": "#FFFFFF", - "theme.notification.actions.text": "#000000", - "theme.notification.actions.background": "#FFFFFF", - "theme.notification.background": "#1a1a1a", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#21252b", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#ffffff", - "theme.bar.menus.menu.media.card.color": "#1A1A1A", - "theme.bar.menus.check_radio_button.background": "#000000", - "theme.bar.menus.check_radio_button.active": "#ffffff", - "theme.bar.buttons.style": "split", - "theme.bar.buttons.icon_background": "#242438", - "theme.bar.buttons.volume.icon_background": "#ffffff", - "theme.bar.buttons.network.icon_background": "#ffffff", - "theme.bar.buttons.bluetooth.icon_background": "#ffffff", - "theme.bar.buttons.windowtitle.icon_background": "#ffffff", - "theme.bar.buttons.media.icon_background": "#ffffff", - "theme.bar.buttons.notifications.icon_background": "#ffffff", - "theme.bar.buttons.battery.icon_background": "#ffffff", - "theme.bar.buttons.clock.icon_background": "#ffffff", - "theme.bar.menus.menu.notifications.pager.button": "#FFFFFF", - "theme.bar.menus.menu.notifications.scrollbar.color": "#FFFFFF", - "theme.bar.menus.menu.notifications.pager.label": "#9a9996", - "theme.bar.menus.menu.notifications.pager.background": "#000000", - "theme.bar.buttons.modules.ram.icon": "#21252b", - "theme.bar.buttons.modules.storage.icon_background": "#ffffff", - "theme.bar.menus.popover.border": "#000000", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#ffffff", - "theme.bar.menus.menu.power.buttons.restart.text": "#ffffff", - "theme.bar.buttons.modules.updates.background": "#090909", - "theme.bar.buttons.modules.storage.icon": "#21252b", - "theme.bar.buttons.modules.netstat.background": "#090909", - "theme.bar.buttons.modules.weather.icon": "#090909", - "theme.bar.buttons.modules.netstat.text": "#ffffff", - "theme.bar.buttons.modules.storage.background": "#090909", - "theme.bar.buttons.modules.power.icon": "#21252b", - "theme.bar.buttons.modules.storage.text": "#ffffff", - "theme.bar.buttons.modules.cpu.background": "#090909", - "theme.bar.menus.menu.power.border.color": "#333333", - "theme.bar.buttons.modules.power.icon_background": "#ffffff", - "theme.bar.menus.menu.power.buttons.logout.icon": "#000000", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#ffffff", - "theme.bar.menus.menu.power.buttons.restart.icon": "#000000", - "theme.bar.buttons.modules.cpu.icon": "#21252b", - "theme.bar.buttons.modules.kbLayout.icon_background": "#ffffff", - "theme.bar.buttons.modules.weather.text": "#FFFFFF", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#000000", - "theme.bar.menus.menu.power.buttons.sleep.text": "#ffffff", - "theme.bar.buttons.modules.weather.icon_background": "#FFFFFF", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#1A1A1A", - "theme.bar.menus.menu.power.buttons.logout.background": "#1A1A1A", - "theme.bar.buttons.modules.kbLayout.icon": "#21252b", - "theme.bar.buttons.modules.ram.icon_background": "#ffffff", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#FFFFFF", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#ffffff", - "theme.bar.menus.menu.power.buttons.sleep.background": "#1A1A1A", - "theme.bar.buttons.modules.ram.text": "#ffffff", - "theme.bar.menus.menu.power.buttons.logout.text": "#ffffff", - "theme.bar.buttons.modules.updates.icon_background": "#FFFFFF", - "theme.bar.buttons.modules.kbLayout.background": "#090909", - "theme.bar.buttons.modules.power.background": "#090909", - "theme.bar.buttons.modules.weather.background": "#090909", - "theme.bar.menus.menu.power.background.color": "#000000", - "theme.bar.buttons.modules.ram.background": "#090909", - "theme.bar.buttons.modules.netstat.icon": "#21252b", - "theme.bar.buttons.modules.cpu.icon_background": "#ffffff", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#ffffff", - "theme.bar.buttons.modules.updates.text": "#FFFFFF", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#000000", - "theme.bar.menus.menu.power.buttons.restart.background": "#1A1A1A", - "theme.bar.buttons.modules.updates.icon": "#21252b", - "theme.bar.buttons.modules.cpu.text": "#ffffff", - "theme.bar.buttons.modules.netstat.icon_background": "#ffffff", - "theme.bar.buttons.modules.kbLayout.text": "#ffffff", - "theme.bar.buttons.modules.power.border": "#ffffff", - "theme.bar.buttons.modules.weather.border": "#FFFFFF", - "theme.bar.buttons.modules.updates.border": "#FFFFFF", - "theme.bar.buttons.modules.kbLayout.border": "#ffffff", - "theme.bar.buttons.modules.netstat.border": "#ffffff", - "theme.bar.buttons.modules.storage.border": "#ffffff", - "theme.bar.buttons.modules.cpu.border": "#ffffff", - "theme.bar.buttons.modules.ram.border": "#ffffff", - "theme.bar.buttons.notifications.border": "#FFFFFF", - "theme.bar.buttons.clock.border": "#FFFFFF", - "theme.bar.buttons.battery.border": "#FFFFFF", - "theme.bar.buttons.systray.border": "#444444", - "theme.bar.buttons.bluetooth.border": "#FFFFFF", - "theme.bar.buttons.network.border": "#FFFFFF", - "theme.bar.buttons.volume.border": "#FFFFFF", - "theme.bar.buttons.media.border": "#FFFFFF", - "theme.bar.buttons.windowtitle.border": "#FFFFFF", - "theme.bar.buttons.workspaces.border": "#FFFFFF", - "theme.bar.buttons.dashboard.border": "#FFFFFF", - "theme.bar.buttons.modules.submap.background": "#090909", - "theme.bar.buttons.modules.submap.text": "#FFFFFF", - "theme.bar.buttons.modules.submap.border": "#FFFFFF", - "theme.bar.buttons.modules.submap.icon": "#21252b", - "theme.bar.buttons.modules.submap.icon_background": "#FFFFFF" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/nord.json b/ags/HyprPanel/themes/nord.json deleted file mode 100644 index 3f9159b..0000000 --- a/ags/HyprPanel/themes/nord.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.background": "#2e3440", - "theme.bar.background": "#2e3440", - "theme.bar.buttons.media.icon": "#88c0d0", - "theme.bar.buttons.media.text": "#88c0d0", - "theme.bar.buttons.icon": "#88c0d0", - "theme.bar.buttons.text": "#88c0d0", - "theme.bar.buttons.hover": "#434c53", - "theme.bar.buttons.background": "#3b4252", - "theme.bar.menus.text": "#d8dee9", - "theme.bar.menus.border.color": "#434c53", - "theme.bar.buttons.media.background": "#3b4252", - "theme.bar.menus.menu.volume.text": "#d8dee9", - "theme.bar.menus.menu.volume.card.color": "#3b4252", - "theme.bar.menus.menu.volume.label.color": "#81a1c1", - "theme.bar.menus.popover.text": "#88c0d0", - "theme.bar.menus.popover.background": "#2e3440", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#8fbcbb", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#8fbcbb", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#8fbcbb", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#2e3440", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#d8dee9", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#88c0d0", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#434c53", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#2e3440", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#3b4252", - "theme.bar.menus.menu.notifications.switch.puck": "#434c53", - "theme.bar.menus.menu.notifications.switch.disabled": "#434c53", - "theme.bar.menus.menu.notifications.switch.enabled": "#88c0d0", - "theme.bar.menus.menu.notifications.clear": "#8fbcbb", - "theme.bar.menus.menu.notifications.switch_divider": "#434c53", - "theme.bar.menus.menu.notifications.border": "#434c53", - "theme.bar.menus.menu.notifications.card": "#3b4252", - "theme.bar.menus.menu.notifications.background": "#2e3440", - "theme.bar.menus.menu.notifications.no_notifications_label": "#434c53", - "theme.bar.menus.menu.notifications.label": "#88c0d0", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#8fbcbb", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#8fbcbb", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#8fbcbb", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#8fbcbb", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#8fbcbb", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#8fbcbb", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#81a1c1", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#81a1c1", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#81a1c1", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#81a1c1", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#81a1c1", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#81a1c1", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#434c53", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#88c0d0", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#88c0d0", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#8fbcbb", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#81a1c1", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#81a1c1", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#8fbcbb", - "theme.bar.menus.menu.dashboard.controls.input.text": "#2e3440", - "theme.bar.menus.menu.dashboard.controls.input.background": "#8fbcbb", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#2e3440", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#81a1c1", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#2e3440", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#81a1c1", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#2e3440", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#88c0d0", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#2e3440", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#88c0d0", - "theme.bar.menus.menu.dashboard.controls.disabled": "#434c53", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#8fbcbb", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#2e3440", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#88c0d0", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#88c0d0", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#8fbcbb", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#81a1c1", - "theme.bar.menus.menu.dashboard.profile.name": "#8fbcbb", - "theme.bar.menus.menu.dashboard.border.color": "#434c53", - "theme.bar.menus.menu.dashboard.background.color": "#2e3440", - "theme.bar.menus.menu.dashboard.card.color": "#3b4252", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#8fbcbb", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#8fbcbb", - "theme.bar.menus.menu.clock.weather.hourly.time": "#8fbcbb", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#88c0d0", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#88c0d0", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#88c0d0", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#81a1c1", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#8fbcbb", - "theme.bar.menus.menu.clock.weather.stats": "#8fbcbb", - "theme.bar.menus.menu.clock.weather.status": "#8fbcbb", - "theme.bar.menus.menu.clock.weather.temperature": "#d8dee9", - "theme.bar.menus.menu.clock.weather.icon": "#8fbcbb", - "theme.bar.menus.menu.clock.calendar.contextdays": "#434c53", - "theme.bar.menus.menu.clock.calendar.days": "#d8dee9", - "theme.bar.menus.menu.clock.calendar.currentday": "#8fbcbb", - "theme.bar.menus.menu.clock.calendar.paginator": "#8fbcbb", - "theme.bar.menus.menu.clock.calendar.weekdays": "#8fbcbb", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#8fbcbb", - "theme.bar.menus.menu.clock.time.timeperiod": "#8fbcbb", - "theme.bar.menus.menu.clock.time.time": "#8fbcbb", - "theme.bar.menus.menu.clock.text": "#d8dee9", - "theme.bar.menus.menu.clock.border.color": "#434c53", - "theme.bar.menus.menu.clock.background.color": "#2e3440", - "theme.bar.menus.menu.clock.card.color": "#3b4252", - "theme.bar.menus.menu.battery.slider.puck": "#4c566a", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#434c53", - "theme.bar.menus.menu.battery.slider.background": "#434c53", - "theme.bar.menus.menu.battery.slider.primary": "#81a1c1", - "theme.bar.menus.menu.battery.icons.active": "#81a1c1", - "theme.bar.menus.menu.battery.icons.passive": "#5e81ac", - "theme.bar.menus.menu.battery.listitems.active": "#81a1c1", - "theme.bar.menus.menu.battery.listitems.passive": "#d8dee9", - "theme.bar.menus.menu.battery.text": "#d8dee9", - "theme.bar.menus.menu.battery.label.color": "#81a1c1", - "theme.bar.menus.menu.battery.border.color": "#434c53", - "theme.bar.menus.menu.battery.background.color": "#2e3440", - "theme.bar.menus.menu.battery.card.color": "#3b4252", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#3b4252", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#d8dee9", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#2e3440", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#88c0d0", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#d8dee9", - "theme.bar.menus.menu.bluetooth.icons.active": "#88c0d0", - "theme.bar.menus.menu.bluetooth.icons.passive": "#5e81ac", - "theme.bar.menus.menu.bluetooth.listitems.active": "#88c0d0", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#d8dee9", - "theme.bar.menus.menu.bluetooth.switch.puck": "#434c53", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#434c53", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#88c0d0", - "theme.bar.menus.menu.bluetooth.switch_divider": "#434c53", - "theme.bar.menus.menu.bluetooth.status": "#4c566a", - "theme.bar.menus.menu.bluetooth.text": "#d8dee9", - "theme.bar.menus.menu.bluetooth.label.color": "#88c0d0", - "theme.bar.menus.menu.bluetooth.border.color": "#434c53", - "theme.bar.menus.menu.bluetooth.background.color": "#2e3440", - "theme.bar.menus.menu.bluetooth.card.color": "#3b4252", - "theme.bar.menus.menu.network.iconbuttons.active": "#88c0d0", - "theme.bar.menus.menu.network.iconbuttons.passive": "#d8dee9", - "theme.bar.menus.menu.network.icons.active": "#88c0d0", - "theme.bar.menus.menu.network.icons.passive": "#5e81ac", - "theme.bar.menus.menu.network.listitems.active": "#88c0d0", - "theme.bar.menus.menu.network.listitems.passive": "#d8dee9", - "theme.bar.menus.menu.network.status.color": "#4c566a", - "theme.bar.menus.menu.network.text": "#d8dee9", - "theme.bar.menus.menu.network.label.color": "#88c0d0", - "theme.bar.menus.menu.network.border.color": "#434c53", - "theme.bar.menus.menu.network.background.color": "#2e3440", - "theme.bar.menus.menu.network.card.color": "#3b4252", - "theme.bar.menus.menu.volume.input_slider.puck": "#434c53", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#434c53", - "theme.bar.menus.menu.volume.input_slider.background": "#434c53", - "theme.bar.menus.menu.volume.input_slider.primary": "#81a1c1", - "theme.bar.menus.menu.volume.audio_slider.puck": "#434c53", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#434c53", - "theme.bar.menus.menu.volume.audio_slider.background": "#434c53", - "theme.bar.menus.menu.volume.audio_slider.primary": "#81a1c1", - "theme.bar.menus.menu.volume.icons.active": "#81a1c1", - "theme.bar.menus.menu.volume.icons.passive": "#5e81ac", - "theme.bar.menus.menu.volume.iconbutton.active": "#81a1c1", - "theme.bar.menus.menu.volume.iconbutton.passive": "#d8dee9", - "theme.bar.menus.menu.volume.listitems.active": "#81a1c1", - "theme.bar.menus.menu.volume.listitems.passive": "#d8dee9", - "theme.bar.menus.menu.volume.border.color": "#434c53", - "theme.bar.menus.menu.volume.background.color": "#2e3440", - "theme.bar.menus.menu.media.slider.puck": "#4c566a", - "theme.bar.menus.menu.media.slider.backgroundhover": "#434c53", - "theme.bar.menus.menu.media.slider.background": "#434c53", - "theme.bar.menus.menu.media.slider.primary": "#8fbcbb", - "theme.bar.menus.menu.media.buttons.text": "#2e3440", - "theme.bar.menus.menu.media.buttons.background": "#88c0d0", - "theme.bar.menus.menu.media.buttons.enabled": "#8fbcbb", - "theme.bar.menus.menu.media.buttons.inactive": "#434c53", - "theme.bar.menus.menu.media.border.color": "#434c53", - "theme.bar.menus.menu.media.background.color": "#2e3440", - "theme.bar.menus.menu.media.album": "#8fbcbb", - "theme.bar.menus.menu.media.artist": "#8fbcbb", - "theme.bar.menus.menu.media.song": "#88c0d0", - "theme.bar.menus.tooltip.text": "#d8dee9", - "theme.bar.menus.tooltip.background": "#2e3440", - "theme.bar.menus.dropdownmenu.divider": "#3b4252", - "theme.bar.menus.dropdownmenu.text": "#d8dee9", - "theme.bar.menus.dropdownmenu.background": "#2e3440", - "theme.bar.menus.slider.puck": "#4c566a", - "theme.bar.menus.slider.backgroundhover": "#434c53", - "theme.bar.menus.slider.background": "#434c53", - "theme.bar.menus.slider.primary": "#88c0d0", - "theme.bar.menus.progressbar.background": "#434c53", - "theme.bar.menus.progressbar.foreground": "#88c0d0", - "theme.bar.menus.iconbuttons.active": "#88c0d0", - "theme.bar.menus.iconbuttons.passive": "#d8dee9", - "theme.bar.menus.buttons.text": "#2e3440", - "theme.bar.menus.buttons.disabled": "#434c53", - "theme.bar.menus.buttons.active": "#8fbcbb", - "theme.bar.menus.buttons.default": "#88c0d0", - "theme.bar.menus.switch.puck": "#434c53", - "theme.bar.menus.switch.disabled": "#434c53", - "theme.bar.menus.switch.enabled": "#88c0d0", - "theme.bar.menus.icons.active": "#88c0d0", - "theme.bar.menus.icons.passive": "#434c53", - "theme.bar.menus.listitems.active": "#88c0d0", - "theme.bar.menus.listitems.passive": "#d8dee9", - "theme.bar.menus.label": "#88c0d0", - "theme.bar.menus.feinttext": "#434c53", - "theme.bar.menus.dimtext": "#6272a4", - "theme.bar.menus.cards": "#3b4252", - "theme.bar.buttons.notifications.total": "#88c0d0", - "theme.bar.buttons.notifications.icon": "#88c0d0", - "theme.bar.buttons.notifications.background": "#3b4252", - "theme.bar.buttons.clock.icon": "#8fbcbb", - "theme.bar.buttons.clock.text": "#8fbcbb", - "theme.bar.buttons.clock.background": "#3b4252", - "theme.bar.buttons.battery.icon": "#81a1c1", - "theme.bar.buttons.battery.text": "#81a1c1", - "theme.bar.buttons.battery.background": "#3b4252", - "theme.bar.buttons.systray.background": "#3b4252", - "theme.bar.buttons.bluetooth.icon": "#88c0d0", - "theme.bar.buttons.bluetooth.text": "#88c0d0", - "theme.bar.buttons.bluetooth.background": "#3b4252", - "theme.bar.buttons.network.icon": "#88c0d0", - "theme.bar.buttons.network.text": "#88c0d0", - "theme.bar.buttons.network.background": "#3b4252", - "theme.bar.buttons.volume.icon": "#81a1c1", - "theme.bar.buttons.volume.text": "#81a1c1", - "theme.bar.buttons.volume.background": "#3b4252", - "theme.bar.buttons.windowtitle.icon": "#8fbcbb", - "theme.bar.buttons.windowtitle.text": "#8fbcbb", - "theme.bar.buttons.windowtitle.background": "#3b4252", - "theme.bar.buttons.workspaces.active": "#8fbcbb", - "theme.bar.buttons.workspaces.occupied": "#81a1c1", - "theme.bar.buttons.workspaces.available": "#88c0d0", - "theme.bar.buttons.workspaces.hover": "#434c53", - "theme.bar.buttons.workspaces.background": "#3b4252", - "theme.bar.buttons.dashboard.icon": "#81a1c1", - "theme.bar.buttons.dashboard.background": "#3b4252", - "theme.osd.label": "#88c0d0", - "theme.osd.icon": "#2e3440", - "theme.osd.bar_overflow_color": "#8fbcbb", - "theme.osd.bar_empty_color": "#434c53", - "theme.osd.bar_color": "#88c0d0", - "theme.osd.icon_container": "#88c0d0", - "theme.osd.bar_container": "#2e3440", - "theme.notification.close_button.label": "#2e3440", - "theme.notification.close_button.background": "#8fbcbb", - "theme.notification.labelicon": "#88c0d0", - "theme.notification.text": "#d8dee9", - "theme.notification.time": "#4c566a", - "theme.notification.border": "#434c53", - "theme.notification.label": "#88c0d0", - "theme.notification.actions.text": "#2e3440", - "theme.notification.actions.background": "#88c0d0", - "theme.notification.background": "#2e3440", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#21252b", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#ffffff", - "theme.bar.menus.menu.media.card.color": "#3b4252", - "theme.bar.menus.check_radio_button.background": "#2e3440", - "theme.bar.menus.check_radio_button.active": "#88c0d0", - "theme.bar.buttons.style": "default", - "theme.bar.menus.menu.notifications.pager.button": "#88c0d0", - "theme.bar.menus.menu.notifications.scrollbar.color": "#88c0d0", - "theme.bar.menus.menu.notifications.pager.label": "#5e81ac", - "theme.bar.menus.menu.notifications.pager.background": "#2e3440", - "theme.bar.buttons.clock.icon_background": "#8fbcbb", - "theme.bar.buttons.modules.ram.icon": "#81a1c1", - "theme.bar.buttons.modules.storage.icon_background": "#8fbcbb", - "theme.bar.menus.popover.border": "#2e3440", - "theme.bar.buttons.volume.icon_background": "#81a1c1", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#88c0d0", - "theme.bar.menus.menu.power.buttons.restart.text": "#81a1c1", - "theme.bar.buttons.modules.updates.background": "#3b4252", - "theme.bar.buttons.modules.storage.icon": "#8fbcbb", - "theme.bar.buttons.modules.netstat.background": "#3b4252", - "theme.bar.buttons.modules.weather.icon": "#88c0d0", - "theme.bar.buttons.modules.netstat.text": "#8fbcbb", - "theme.bar.buttons.modules.storage.background": "#3b4252", - "theme.bar.buttons.modules.power.icon": "#8fbcbb", - "theme.bar.buttons.modules.storage.text": "#8fbcbb", - "theme.bar.buttons.modules.cpu.background": "#3b4252", - "theme.bar.menus.menu.power.border.color": "#434c53", - "theme.bar.buttons.network.icon_background": "#caa6f7", - "theme.bar.buttons.modules.power.icon_background": "#8fbcbb", - "theme.bar.menus.menu.power.buttons.logout.icon": "#2e3440", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#81a1c1", - "theme.bar.menus.menu.power.buttons.restart.icon": "#2e3440", - "theme.bar.buttons.modules.cpu.icon": "#8fbcbb", - "theme.bar.buttons.battery.icon_background": "#81a1c1", - "theme.bar.buttons.modules.kbLayout.icon_background": "#88c0d0", - "theme.bar.buttons.modules.weather.text": "#88c0d0", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#2e3440", - "theme.bar.menus.menu.power.buttons.sleep.text": "#88c0d0", - "theme.bar.buttons.modules.weather.icon_background": "#88c0d0", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#3b4252", - "theme.bar.buttons.media.icon_background": "#88c0d0", - "theme.bar.menus.menu.power.buttons.logout.background": "#3b4252", - "theme.bar.buttons.modules.kbLayout.icon": "#88c0d0", - "theme.bar.buttons.modules.ram.icon_background": "#81a1c1", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#8fbcbb", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#8fbcbb", - "theme.bar.menus.menu.power.buttons.sleep.background": "#3b4252", - "theme.bar.buttons.modules.ram.text": "#81a1c1", - "theme.bar.menus.menu.power.buttons.logout.text": "#8fbcbb", - "theme.bar.buttons.modules.updates.icon_background": "#88c0d0", - "theme.bar.buttons.modules.kbLayout.background": "#3b4252", - "theme.bar.buttons.modules.power.background": "#3b4252", - "theme.bar.buttons.modules.weather.background": "#3b4252", - "theme.bar.buttons.icon_background": "#3b4252", - "theme.bar.menus.menu.power.background.color": "#2e3440", - "theme.bar.buttons.modules.ram.background": "#3b4252", - "theme.bar.buttons.modules.netstat.icon": "#8fbcbb", - "theme.bar.buttons.windowtitle.icon_background": "#8fbcbb", - "theme.bar.buttons.modules.cpu.icon_background": "#8fbcbb", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#8fbcbb", - "theme.bar.buttons.modules.updates.text": "#88c0d0", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#2e3440", - "theme.bar.buttons.bluetooth.icon_background": "#89dbeb", - "theme.bar.menus.menu.power.buttons.restart.background": "#3b4252", - "theme.bar.buttons.modules.updates.icon": "#88c0d0", - "theme.bar.buttons.modules.cpu.text": "#8fbcbb", - "theme.bar.buttons.modules.netstat.icon_background": "#8fbcbb", - "theme.bar.buttons.modules.kbLayout.text": "#88c0d0", - "theme.bar.buttons.notifications.icon_background": "#88c0d0", - "theme.bar.buttons.modules.power.border": "#8fbcbb", - "theme.bar.buttons.modules.weather.border": "#88c0d0", - "theme.bar.buttons.modules.updates.border": "#88c0d0", - "theme.bar.buttons.modules.kbLayout.border": "#88c0d0", - "theme.bar.buttons.modules.netstat.border": "#8fbcbb", - "theme.bar.buttons.modules.storage.border": "#8fbcbb", - "theme.bar.buttons.modules.cpu.border": "#8fbcbb", - "theme.bar.buttons.modules.ram.border": "#81a1c1", - "theme.bar.buttons.notifications.border": "#88c0d0", - "theme.bar.buttons.clock.border": "#8fbcbb", - "theme.bar.buttons.battery.border": "#81a1c1", - "theme.bar.buttons.systray.border": "#434c53", - "theme.bar.buttons.bluetooth.border": "#88c0d0", - "theme.bar.buttons.network.border": "#88c0d0", - "theme.bar.buttons.volume.border": "#81a1c1", - "theme.bar.buttons.media.border": "#88c0d0", - "theme.bar.buttons.windowtitle.border": "#8fbcbb", - "theme.bar.buttons.workspaces.border": "#2e3440", - "theme.bar.buttons.dashboard.border": "#81a1c1", - "theme.bar.buttons.modules.submap.background": "#3b4252", - "theme.bar.buttons.modules.submap.text": "#8fbcbb", - "theme.bar.buttons.modules.submap.border": "#8fbcbb", - "theme.bar.buttons.modules.submap.icon": "#8fbcbb", - "theme.bar.buttons.modules.submap.icon_background": "#3b4252" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/nord_split.json b/ags/HyprPanel/themes/nord_split.json deleted file mode 100644 index 9541e84..0000000 --- a/ags/HyprPanel/themes/nord_split.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.background": "#2e3440", - "theme.bar.background": "#2e3440", - "theme.bar.buttons.media.icon": "#3b4252", - "theme.bar.buttons.media.text": "#88c0d0", - "theme.bar.buttons.icon": "#88c0d0", - "theme.bar.buttons.text": "#88c0d0", - "theme.bar.buttons.hover": "#434c53", - "theme.bar.buttons.background": "#3b4252", - "theme.bar.menus.text": "#d8dee9", - "theme.bar.menus.border.color": "#434c53", - "theme.bar.buttons.media.background": "#3b4252", - "theme.bar.menus.menu.volume.text": "#d8dee9", - "theme.bar.menus.menu.volume.card.color": "#3b4252", - "theme.bar.menus.menu.volume.label.color": "#81a1c1", - "theme.bar.menus.popover.text": "#88c0d0", - "theme.bar.menus.popover.background": "#2e3440", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#8fbcbb", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#8fbcbb", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#8fbcbb", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#2e3440", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#d8dee9", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#88c0d0", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#434c53", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#2e3440", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#3b4252", - "theme.bar.menus.menu.notifications.switch.puck": "#434c53", - "theme.bar.menus.menu.notifications.switch.disabled": "#434c53", - "theme.bar.menus.menu.notifications.switch.enabled": "#88c0d0", - "theme.bar.menus.menu.notifications.clear": "#8fbcbb", - "theme.bar.menus.menu.notifications.switch_divider": "#434c53", - "theme.bar.menus.menu.notifications.border": "#434c53", - "theme.bar.menus.menu.notifications.card": "#3b4252", - "theme.bar.menus.menu.notifications.background": "#2e3440", - "theme.bar.menus.menu.notifications.no_notifications_label": "#434c53", - "theme.bar.menus.menu.notifications.label": "#88c0d0", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#8fbcbb", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#8fbcbb", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#8fbcbb", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#8fbcbb", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#8fbcbb", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#8fbcbb", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#81a1c1", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#81a1c1", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#81a1c1", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#81a1c1", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#81a1c1", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#81a1c1", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#434c53", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#88c0d0", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#88c0d0", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#8fbcbb", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#81a1c1", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#81a1c1", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#8fbcbb", - "theme.bar.menus.menu.dashboard.controls.input.text": "#2e3440", - "theme.bar.menus.menu.dashboard.controls.input.background": "#8fbcbb", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#2e3440", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#81a1c1", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#2e3440", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#81a1c1", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#2e3440", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#88c0d0", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#2e3440", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#88c0d0", - "theme.bar.menus.menu.dashboard.controls.disabled": "#434c53", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#8fbcbb", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#2e3440", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#88c0d0", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#88c0d0", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#8fbcbb", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#81a1c1", - "theme.bar.menus.menu.dashboard.profile.name": "#8fbcbb", - "theme.bar.menus.menu.dashboard.border.color": "#434c53", - "theme.bar.menus.menu.dashboard.background.color": "#2e3440", - "theme.bar.menus.menu.dashboard.card.color": "#3b4252", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#8fbcbb", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#8fbcbb", - "theme.bar.menus.menu.clock.weather.hourly.time": "#8fbcbb", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#88c0d0", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#88c0d0", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#88c0d0", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#81a1c1", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#8fbcbb", - "theme.bar.menus.menu.clock.weather.stats": "#8fbcbb", - "theme.bar.menus.menu.clock.weather.status": "#8fbcbb", - "theme.bar.menus.menu.clock.weather.temperature": "#d8dee9", - "theme.bar.menus.menu.clock.weather.icon": "#8fbcbb", - "theme.bar.menus.menu.clock.calendar.contextdays": "#434c53", - "theme.bar.menus.menu.clock.calendar.days": "#d8dee9", - "theme.bar.menus.menu.clock.calendar.currentday": "#8fbcbb", - "theme.bar.menus.menu.clock.calendar.paginator": "#8fbcbb", - "theme.bar.menus.menu.clock.calendar.weekdays": "#8fbcbb", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#8fbcbb", - "theme.bar.menus.menu.clock.time.timeperiod": "#8fbcbb", - "theme.bar.menus.menu.clock.time.time": "#8fbcbb", - "theme.bar.menus.menu.clock.text": "#d8dee9", - "theme.bar.menus.menu.clock.border.color": "#434c53", - "theme.bar.menus.menu.clock.background.color": "#2e3440", - "theme.bar.menus.menu.clock.card.color": "#3b4252", - "theme.bar.menus.menu.battery.slider.puck": "#4c566a", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#434c53", - "theme.bar.menus.menu.battery.slider.background": "#434c53", - "theme.bar.menus.menu.battery.slider.primary": "#81a1c1", - "theme.bar.menus.menu.battery.icons.active": "#81a1c1", - "theme.bar.menus.menu.battery.icons.passive": "#5e81ac", - "theme.bar.menus.menu.battery.listitems.active": "#81a1c1", - "theme.bar.menus.menu.battery.listitems.passive": "#d8dee9", - "theme.bar.menus.menu.battery.text": "#d8dee9", - "theme.bar.menus.menu.battery.label.color": "#81a1c1", - "theme.bar.menus.menu.battery.border.color": "#434c53", - "theme.bar.menus.menu.battery.background.color": "#2e3440", - "theme.bar.menus.menu.battery.card.color": "#3b4252", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#3b4252", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#d8dee9", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#2e3440", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#88c0d0", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#d8dee9", - "theme.bar.menus.menu.bluetooth.icons.active": "#88c0d0", - "theme.bar.menus.menu.bluetooth.icons.passive": "#5e81ac", - "theme.bar.menus.menu.bluetooth.listitems.active": "#88c0d0", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#d8dee9", - "theme.bar.menus.menu.bluetooth.switch.puck": "#434c53", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#434c53", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#88c0d0", - "theme.bar.menus.menu.bluetooth.switch_divider": "#434c53", - "theme.bar.menus.menu.bluetooth.status": "#4c566a", - "theme.bar.menus.menu.bluetooth.text": "#d8dee9", - "theme.bar.menus.menu.bluetooth.label.color": "#88c0d0", - "theme.bar.menus.menu.bluetooth.border.color": "#434c53", - "theme.bar.menus.menu.bluetooth.background.color": "#2e3440", - "theme.bar.menus.menu.bluetooth.card.color": "#3b4252", - "theme.bar.menus.menu.network.iconbuttons.active": "#88c0d0", - "theme.bar.menus.menu.network.iconbuttons.passive": "#d8dee9", - "theme.bar.menus.menu.network.icons.active": "#88c0d0", - "theme.bar.menus.menu.network.icons.passive": "#5e81ac", - "theme.bar.menus.menu.network.listitems.active": "#88c0d0", - "theme.bar.menus.menu.network.listitems.passive": "#d8dee9", - "theme.bar.menus.menu.network.status.color": "#4c566a", - "theme.bar.menus.menu.network.text": "#d8dee9", - "theme.bar.menus.menu.network.label.color": "#88c0d0", - "theme.bar.menus.menu.network.border.color": "#434c53", - "theme.bar.menus.menu.network.background.color": "#2e3440", - "theme.bar.menus.menu.network.card.color": "#3b4252", - "theme.bar.menus.menu.volume.input_slider.puck": "#434c53", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#434c53", - "theme.bar.menus.menu.volume.input_slider.background": "#434c53", - "theme.bar.menus.menu.volume.input_slider.primary": "#81a1c1", - "theme.bar.menus.menu.volume.audio_slider.puck": "#434c53", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#434c53", - "theme.bar.menus.menu.volume.audio_slider.background": "#434c53", - "theme.bar.menus.menu.volume.audio_slider.primary": "#81a1c1", - "theme.bar.menus.menu.volume.icons.active": "#81a1c1", - "theme.bar.menus.menu.volume.icons.passive": "#5e81ac", - "theme.bar.menus.menu.volume.iconbutton.active": "#81a1c1", - "theme.bar.menus.menu.volume.iconbutton.passive": "#d8dee9", - "theme.bar.menus.menu.volume.listitems.active": "#81a1c1", - "theme.bar.menus.menu.volume.listitems.passive": "#d8dee9", - "theme.bar.menus.menu.volume.border.color": "#434c53", - "theme.bar.menus.menu.volume.background.color": "#2e3440", - "theme.bar.menus.menu.media.slider.puck": "#4c566a", - "theme.bar.menus.menu.media.slider.backgroundhover": "#434c53", - "theme.bar.menus.menu.media.slider.background": "#434c53", - "theme.bar.menus.menu.media.slider.primary": "#8fbcbb", - "theme.bar.menus.menu.media.buttons.text": "#2e3440", - "theme.bar.menus.menu.media.buttons.background": "#88c0d0", - "theme.bar.menus.menu.media.buttons.enabled": "#8fbcbb", - "theme.bar.menus.menu.media.buttons.inactive": "#434c53", - "theme.bar.menus.menu.media.border.color": "#434c53", - "theme.bar.menus.menu.media.background.color": "#2e3440", - "theme.bar.menus.menu.media.album": "#8fbcbb", - "theme.bar.menus.menu.media.artist": "#8fbcbb", - "theme.bar.menus.menu.media.song": "#88c0d0", - "theme.bar.menus.tooltip.text": "#d8dee9", - "theme.bar.menus.tooltip.background": "#2e3440", - "theme.bar.menus.dropdownmenu.divider": "#3b4252", - "theme.bar.menus.dropdownmenu.text": "#d8dee9", - "theme.bar.menus.dropdownmenu.background": "#2e3440", - "theme.bar.menus.slider.puck": "#4c566a", - "theme.bar.menus.slider.backgroundhover": "#434c53", - "theme.bar.menus.slider.background": "#434c53", - "theme.bar.menus.slider.primary": "#88c0d0", - "theme.bar.menus.progressbar.background": "#434c53", - "theme.bar.menus.progressbar.foreground": "#88c0d0", - "theme.bar.menus.iconbuttons.active": "#88c0d0", - "theme.bar.menus.iconbuttons.passive": "#d8dee9", - "theme.bar.menus.buttons.text": "#2e3440", - "theme.bar.menus.buttons.disabled": "#434c53", - "theme.bar.menus.buttons.active": "#8fbcbb", - "theme.bar.menus.buttons.default": "#88c0d0", - "theme.bar.menus.switch.puck": "#434c53", - "theme.bar.menus.switch.disabled": "#434c53", - "theme.bar.menus.switch.enabled": "#88c0d0", - "theme.bar.menus.icons.active": "#88c0d0", - "theme.bar.menus.icons.passive": "#434c53", - "theme.bar.menus.listitems.active": "#88c0d0", - "theme.bar.menus.listitems.passive": "#d8dee9", - "theme.bar.menus.label": "#88c0d0", - "theme.bar.menus.feinttext": "#434c53", - "theme.bar.menus.dimtext": "#6272a4", - "theme.bar.menus.cards": "#3b4252", - "theme.bar.buttons.notifications.total": "#88c0d0", - "theme.bar.buttons.notifications.icon": "#3b4252", - "theme.bar.buttons.notifications.background": "#3b4252", - "theme.bar.buttons.clock.icon": "#3b4252", - "theme.bar.buttons.clock.text": "#8fbcbb", - "theme.bar.buttons.clock.background": "#3b4252", - "theme.bar.buttons.battery.icon": "#3b4252", - "theme.bar.buttons.battery.text": "#81a1c1", - "theme.bar.buttons.battery.background": "#3b4252", - "theme.bar.buttons.systray.background": "#3b4252", - "theme.bar.buttons.bluetooth.icon": "#3b4252", - "theme.bar.buttons.bluetooth.text": "#88c0d0", - "theme.bar.buttons.bluetooth.background": "#3b4252", - "theme.bar.buttons.network.icon": "#3b4252", - "theme.bar.buttons.network.text": "#88c0d0", - "theme.bar.buttons.network.background": "#3b4252", - "theme.bar.buttons.volume.icon": "#3b4252", - "theme.bar.buttons.volume.text": "#81a1c1", - "theme.bar.buttons.volume.background": "#3b4252", - "theme.bar.buttons.windowtitle.icon": "#3b4252", - "theme.bar.buttons.windowtitle.text": "#8fbcbb", - "theme.bar.buttons.windowtitle.background": "#3b4252", - "theme.bar.buttons.workspaces.active": "#8fbcbb", - "theme.bar.buttons.workspaces.occupied": "#81a1c1", - "theme.bar.buttons.workspaces.available": "#88c0d0", - "theme.bar.buttons.workspaces.hover": "#8fbcbb", - "theme.bar.buttons.workspaces.background": "#3b4252", - "theme.bar.buttons.dashboard.icon": "#3b4252", - "theme.bar.buttons.dashboard.background": "#81a1c1", - "theme.osd.label": "#88c0d0", - "theme.osd.icon": "#2e3440", - "theme.osd.bar_overflow_color": "#8fbcbb", - "theme.osd.bar_empty_color": "#434c53", - "theme.osd.bar_color": "#88c0d0", - "theme.osd.icon_container": "#88c0d0", - "theme.osd.bar_container": "#2e3440", - "theme.notification.close_button.label": "#2e3440", - "theme.notification.close_button.background": "#8fbcbb", - "theme.notification.labelicon": "#88c0d0", - "theme.notification.text": "#d8dee9", - "theme.notification.time": "#4c566a", - "theme.notification.border": "#434c53", - "theme.notification.label": "#88c0d0", - "theme.notification.actions.text": "#2e3440", - "theme.notification.actions.background": "#88c0d0", - "theme.notification.background": "#2e3440", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#21252b", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#ffffff", - "theme.bar.menus.menu.media.card.color": "#3b4252", - "theme.bar.menus.check_radio_button.background": "#2e3440", - "theme.bar.menus.check_radio_button.active": "#88c0d0", - "theme.bar.buttons.style": "split", - "theme.bar.buttons.icon_background": "#242438", - "theme.bar.buttons.volume.icon_background": "#81a1c1", - "theme.bar.buttons.network.icon_background": "#88c0d0", - "theme.bar.buttons.bluetooth.icon_background": "#88c0d0", - "theme.bar.buttons.windowtitle.icon_background": "#8fbcbb", - "theme.bar.buttons.media.icon_background": "#88c0d0", - "theme.bar.buttons.notifications.icon_background": "#88c0d0", - "theme.bar.buttons.battery.icon_background": "#81a1c1", - "theme.bar.buttons.clock.icon_background": "#8fbcbb", - "theme.bar.menus.menu.notifications.pager.button": "#88c0d0", - "theme.bar.menus.menu.notifications.scrollbar.color": "#88c0d0", - "theme.bar.menus.menu.notifications.pager.label": "#5e81ac", - "theme.bar.menus.menu.notifications.pager.background": "#2e3440", - "theme.bar.buttons.modules.ram.icon": "#21252b", - "theme.bar.buttons.modules.storage.icon_background": "#8fbcbb", - "theme.bar.menus.popover.border": "#2e3440", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#88c0d0", - "theme.bar.menus.menu.power.buttons.restart.text": "#81a1c1", - "theme.bar.buttons.modules.updates.background": "#3b4252", - "theme.bar.buttons.modules.storage.icon": "#21252b", - "theme.bar.buttons.modules.netstat.background": "#3b4252", - "theme.bar.buttons.modules.weather.icon": "#3b4252", - "theme.bar.buttons.modules.netstat.text": "#8fbcbb", - "theme.bar.buttons.modules.storage.background": "#3b4252", - "theme.bar.buttons.modules.power.icon": "#21252b", - "theme.bar.buttons.modules.storage.text": "#8fbcbb", - "theme.bar.buttons.modules.cpu.background": "#3b4252", - "theme.bar.menus.menu.power.border.color": "#434c53", - "theme.bar.buttons.modules.power.icon_background": "#8fbcbb", - "theme.bar.menus.menu.power.buttons.logout.icon": "#2e3440", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#81a1c1", - "theme.bar.menus.menu.power.buttons.restart.icon": "#2e3440", - "theme.bar.buttons.modules.cpu.icon": "#21252b", - "theme.bar.buttons.modules.kbLayout.icon_background": "#88c0d0", - "theme.bar.buttons.modules.weather.text": "#88c0d0", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#2e3440", - "theme.bar.menus.menu.power.buttons.sleep.text": "#88c0d0", - "theme.bar.buttons.modules.weather.icon_background": "#88c0d0", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#3b4252", - "theme.bar.menus.menu.power.buttons.logout.background": "#3b4252", - "theme.bar.buttons.modules.kbLayout.icon": "#21252b", - "theme.bar.buttons.modules.ram.icon_background": "#81a1c1", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#8fbcbb", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#8fbcbb", - "theme.bar.menus.menu.power.buttons.sleep.background": "#3b4252", - "theme.bar.buttons.modules.ram.text": "#81a1c1", - "theme.bar.menus.menu.power.buttons.logout.text": "#8fbcbb", - "theme.bar.buttons.modules.updates.icon_background": "#88c0d0", - "theme.bar.buttons.modules.kbLayout.background": "#3b4252", - "theme.bar.buttons.modules.power.background": "#3b4252", - "theme.bar.buttons.modules.weather.background": "#3b4252", - "theme.bar.menus.menu.power.background.color": "#2e3440", - "theme.bar.buttons.modules.ram.background": "#3b4252", - "theme.bar.buttons.modules.netstat.icon": "#21252b", - "theme.bar.buttons.modules.cpu.icon_background": "#8fbcbb", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#8fbcbb", - "theme.bar.buttons.modules.updates.text": "#88c0d0", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#2e3440", - "theme.bar.menus.menu.power.buttons.restart.background": "#3b4252", - "theme.bar.buttons.modules.updates.icon": "#21252b", - "theme.bar.buttons.modules.cpu.text": "#8fbcbb", - "theme.bar.buttons.modules.netstat.icon_background": "#8fbcbb", - "theme.bar.buttons.modules.kbLayout.text": "#88c0d0", - "theme.bar.buttons.modules.power.border": "#8fbcbb", - "theme.bar.buttons.modules.weather.border": "#88c0d0", - "theme.bar.buttons.modules.updates.border": "#88c0d0", - "theme.bar.buttons.modules.kbLayout.border": "#88c0d0", - "theme.bar.buttons.modules.netstat.border": "#8fbcbb", - "theme.bar.buttons.modules.storage.border": "#8fbcbb", - "theme.bar.buttons.modules.cpu.border": "#8fbcbb", - "theme.bar.buttons.modules.ram.border": "#81a1c1", - "theme.bar.buttons.notifications.border": "#88c0d0", - "theme.bar.buttons.clock.border": "#8fbcbb", - "theme.bar.buttons.battery.border": "#81a1c1", - "theme.bar.buttons.systray.border": "#434c53", - "theme.bar.buttons.bluetooth.border": "#88c0d0", - "theme.bar.buttons.network.border": "#88c0d0", - "theme.bar.buttons.volume.border": "#81a1c1", - "theme.bar.buttons.media.border": "#88c0d0", - "theme.bar.buttons.windowtitle.border": "#8fbcbb", - "theme.bar.buttons.workspaces.border": "#2e3440", - "theme.bar.buttons.dashboard.border": "#81a1c1", - "theme.bar.buttons.modules.submap.background": "#3b4252", - "theme.bar.buttons.modules.submap.text": "#8fbcbb", - "theme.bar.buttons.modules.submap.border": "#8fbcbb", - "theme.bar.buttons.modules.submap.icon": "#21252b", - "theme.bar.buttons.modules.submap.icon_background": "#8fbcbb" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/one_dark.json b/ags/HyprPanel/themes/one_dark.json deleted file mode 100644 index 8c58b2a..0000000 --- a/ags/HyprPanel/themes/one_dark.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.background": "#282c34", - "theme.bar.background": "#282c34", - "theme.bar.buttons.media.icon": "#61afef", - "theme.bar.buttons.media.text": "#61afef", - "theme.bar.buttons.icon": "#61afef", - "theme.bar.buttons.text": "#61afef", - "theme.bar.buttons.hover": "#3e4451", - "theme.bar.buttons.background": "#3e4451", - "theme.bar.menus.text": "#abb2bf", - "theme.bar.menus.border.color": "#4b5263", - "theme.bar.buttons.media.background": "#21252b", - "theme.bar.menus.menu.volume.text": "#abb2bf", - "theme.bar.menus.menu.volume.card.color": "#21252b", - "theme.bar.menus.menu.volume.label.color": "#e06c75", - "theme.bar.menus.popover.text": "#61afef", - "theme.bar.menus.popover.background": "#282c34", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#e06c75", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#e06c75", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#98c379", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#282c34", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#abb2bf", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#61afef", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#4b5263", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#282c34", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#21252b", - "theme.bar.menus.menu.notifications.switch.puck": "#3e4451", - "theme.bar.menus.menu.notifications.switch.disabled": "#4b5263", - "theme.bar.menus.menu.notifications.switch.enabled": "#61afef", - "theme.bar.menus.menu.notifications.clear": "#e06c75", - "theme.bar.menus.menu.notifications.switch_divider": "#3e4451", - "theme.bar.menus.menu.notifications.border": "#4b5263", - "theme.bar.menus.menu.notifications.card": "#21252b", - "theme.bar.menus.menu.notifications.background": "#282c34", - "theme.bar.menus.menu.notifications.no_notifications_label": "#4b5263", - "theme.bar.menus.menu.notifications.label": "#61afef", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#c678dd", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#c678dd", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#c678dd", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#98c379", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#98c379", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#98c379", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#e5c07b", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#e5c07b", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#e5c07b", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#e06c75", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#e06c75", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#e06c75", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#3e4451", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#61afef", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#c678dd", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#56b6c2", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#e06c75", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#e5c07b", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#c678dd", - "theme.bar.menus.menu.dashboard.controls.input.text": "#282c34", - "theme.bar.menus.menu.dashboard.controls.input.background": "#c678dd", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#282c34", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#e06c75", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#282c34", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#e5c07b", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#282c34", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#56b6c2", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#282c34", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#c678dd", - "theme.bar.menus.menu.dashboard.controls.disabled": "#5c6370", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#98c379", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#282c34", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#61afef", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#56b6c2", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#98c379", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#d19a66", - "theme.bar.menus.menu.dashboard.profile.name": "#c678dd", - "theme.bar.menus.menu.dashboard.border.color": "#4b5263", - "theme.bar.menus.menu.dashboard.background.color": "#282c34", - "theme.bar.menus.menu.dashboard.card.color": "#21252b", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#c678dd", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#c678dd", - "theme.bar.menus.menu.clock.weather.hourly.time": "#c678dd", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#56b6c2", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#61afef", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#61afef", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#d19a66", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#e06c75", - "theme.bar.menus.menu.clock.weather.stats": "#c678dd", - "theme.bar.menus.menu.clock.weather.status": "#56b6c2", - "theme.bar.menus.menu.clock.weather.temperature": "#abb2bf", - "theme.bar.menus.menu.clock.weather.icon": "#c678dd", - "theme.bar.menus.menu.clock.calendar.contextdays": "#5c6370", - "theme.bar.menus.menu.clock.calendar.days": "#abb2bf", - "theme.bar.menus.menu.clock.calendar.currentday": "#c678dd", - "theme.bar.menus.menu.clock.calendar.paginator": "#c678dd", - "theme.bar.menus.menu.clock.calendar.weekdays": "#c678dd", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#56b6c2", - "theme.bar.menus.menu.clock.time.timeperiod": "#56b6c2", - "theme.bar.menus.menu.clock.time.time": "#c678dd", - "theme.bar.menus.menu.clock.text": "#abb2bf", - "theme.bar.menus.menu.clock.border.color": "#4b5263", - "theme.bar.menus.menu.clock.background.color": "#282c34", - "theme.bar.menus.menu.clock.card.color": "#21252b", - "theme.bar.menus.menu.battery.slider.puck": "#3e4451", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#3e4451", - "theme.bar.menus.menu.battery.slider.background": "#5c6370", - "theme.bar.menus.menu.battery.slider.primary": "#e5c07b", - "theme.bar.menus.menu.battery.icons.active": "#e5c07b", - "theme.bar.menus.menu.battery.icons.passive": "#828997", - "theme.bar.menus.menu.battery.listitems.active": "#e5c07b", - "theme.bar.menus.menu.battery.listitems.passive": "#abb2bf", - "theme.bar.menus.menu.battery.text": "#abb2bf", - "theme.bar.menus.menu.battery.label.color": "#e5c07b", - "theme.bar.menus.menu.battery.border.color": "#4b5263", - "theme.bar.menus.menu.battery.background.color": "#282c34", - "theme.bar.menus.menu.battery.card.color": "#21252b", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#21252b", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#abb2bf", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#282c34", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#61afef", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#abb2bf", - "theme.bar.menus.menu.bluetooth.icons.active": "#61afef", - "theme.bar.menus.menu.bluetooth.icons.passive": "#5c6370", - "theme.bar.menus.menu.bluetooth.listitems.active": "#61afef", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#abb2bf", - "theme.bar.menus.menu.bluetooth.switch.puck": "#4b5263", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#3e4451", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#61afef", - "theme.bar.menus.menu.bluetooth.switch_divider": "#4b5263", - "theme.bar.menus.menu.bluetooth.status": "#5c6370", - "theme.bar.menus.menu.bluetooth.text": "#abb2bf", - "theme.bar.menus.menu.bluetooth.label.color": "#61afef", - "theme.bar.menus.menu.bluetooth.border.color": "#3e4451", - "theme.bar.menus.menu.bluetooth.background.color": "#282c34", - "theme.bar.menus.menu.bluetooth.card.color": "#21252b", - "theme.bar.menus.menu.network.iconbuttons.active": "#c678dd", - "theme.bar.menus.menu.network.iconbuttons.passive": "#abb2bf", - "theme.bar.menus.menu.network.icons.active": "#c678dd", - "theme.bar.menus.menu.network.icons.passive": "#5c6370", - "theme.bar.menus.menu.network.listitems.active": "#c678dd", - "theme.bar.menus.menu.network.listitems.passive": "#abb2bf", - "theme.bar.menus.menu.network.status.color": "#5c6370", - "theme.bar.menus.menu.network.text": "#abb2bf", - "theme.bar.menus.menu.network.label.color": "#c678dd", - "theme.bar.menus.menu.network.border.color": "#3e4451", - "theme.bar.menus.menu.network.background.color": "#282c34", - "theme.bar.menus.menu.network.card.color": "#21252b", - "theme.bar.menus.menu.volume.input_slider.puck": "#4b5263", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#4b5263", - "theme.bar.menus.menu.volume.input_slider.background": "#4b5263", - "theme.bar.menus.menu.volume.input_slider.primary": "#e06c75", - "theme.bar.menus.menu.volume.audio_slider.puck": "#4b5263", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#4b5263", - "theme.bar.menus.menu.volume.audio_slider.background": "#4b5263", - "theme.bar.menus.menu.volume.audio_slider.primary": "#e06c75", - "theme.bar.menus.menu.volume.icons.active": "#e06c75", - "theme.bar.menus.menu.volume.icons.passive": "#5c6370", - "theme.bar.menus.menu.volume.iconbutton.active": "#e06c75", - "theme.bar.menus.menu.volume.iconbutton.passive": "#abb2bf", - "theme.bar.menus.menu.volume.listitems.active": "#e06c75", - "theme.bar.menus.menu.volume.listitems.passive": "#abb2bf", - "theme.bar.menus.menu.volume.border.color": "#3e4451", - "theme.bar.menus.menu.volume.background.color": "#282c34", - "theme.bar.menus.menu.media.slider.puck": "#5c6370", - "theme.bar.menus.menu.media.slider.backgroundhover": "#4b5263", - "theme.bar.menus.menu.media.slider.background": "#4b5263", - "theme.bar.menus.menu.media.slider.primary": "#98c379", - "theme.bar.menus.menu.media.buttons.text": "#282c34", - "theme.bar.menus.menu.media.buttons.background": "#98c379", - "theme.bar.menus.menu.media.buttons.enabled": "#56b6c2", - "theme.bar.menus.menu.media.buttons.inactive": "#4b5263", - "theme.bar.menus.menu.media.border.color": "#3e4451", - "theme.bar.menus.menu.media.background.color": "#282c34", - "theme.bar.menus.menu.media.album": "#98c379", - "theme.bar.menus.menu.media.artist": "#56b6c2", - "theme.bar.menus.menu.media.song": "#98c379", - "theme.bar.menus.tooltip.text": "#abb2bf", - "theme.bar.menus.tooltip.background": "#282c34", - "theme.bar.menus.dropdownmenu.divider": "#21252b", - "theme.bar.menus.dropdownmenu.text": "#abb2bf", - "theme.bar.menus.dropdownmenu.background": "#282c34", - "theme.bar.menus.slider.puck": "#5c6370", - "theme.bar.menus.slider.backgroundhover": "#4b5263", - "theme.bar.menus.slider.background": "#4b5263", - "theme.bar.menus.slider.primary": "#61afef", - "theme.bar.menus.progressbar.background": "#4b5263", - "theme.bar.menus.progressbar.foreground": "#61afef", - "theme.bar.menus.iconbuttons.active": "#61afef", - "theme.bar.menus.iconbuttons.passive": "#abb2bf", - "theme.bar.menus.buttons.text": "#282c34", - "theme.bar.menus.buttons.disabled": "#4b5263", - "theme.bar.menus.buttons.active": "#98c379", - "theme.bar.menus.buttons.default": "#61afef", - "theme.bar.menus.switch.puck": "#4b5263", - "theme.bar.menus.switch.disabled": "#3e4451", - "theme.bar.menus.switch.enabled": "#61afef", - "theme.bar.menus.icons.active": "#61afef", - "theme.bar.menus.icons.passive": "#4b5263", - "theme.bar.menus.listitems.active": "#61afef", - "theme.bar.menus.listitems.passive": "#abb2bf", - "theme.bar.menus.label": "#61afef", - "theme.bar.menus.feinttext": "#3e4451", - "theme.bar.menus.dimtext": "#4b5263", - "theme.bar.menus.cards": "#21252b", - "theme.bar.buttons.notifications.total": "#61afef", - "theme.bar.buttons.notifications.icon": "#61afef", - "theme.bar.buttons.notifications.background": "#21252b", - "theme.bar.buttons.clock.icon": "#98c379", - "theme.bar.buttons.clock.text": "#98c379", - "theme.bar.buttons.clock.background": "#21252b", - "theme.bar.buttons.battery.icon": "#e5c07b", - "theme.bar.buttons.battery.text": "#e5c07b", - "theme.bar.buttons.battery.background": "#21252b", - "theme.bar.buttons.systray.background": "#21252b", - "theme.bar.buttons.bluetooth.icon": "#61afef", - "theme.bar.buttons.bluetooth.text": "#61afef", - "theme.bar.buttons.bluetooth.background": "#21252b", - "theme.bar.buttons.network.icon": "#c678dd", - "theme.bar.buttons.network.text": "#c678dd", - "theme.bar.buttons.network.background": "#21252b", - "theme.bar.buttons.volume.icon": "#e06c75", - "theme.bar.buttons.volume.text": "#e06c75", - "theme.bar.buttons.volume.background": "#21252b", - "theme.bar.buttons.windowtitle.icon": "#98c379", - "theme.bar.buttons.windowtitle.text": "#98c379", - "theme.bar.buttons.windowtitle.background": "#21252b", - "theme.bar.buttons.workspaces.active": "#c678dd", - "theme.bar.buttons.workspaces.occupied": "#e06c75", - "theme.bar.buttons.workspaces.available": "#61afef", - "theme.bar.buttons.workspaces.hover": "#3e4451", - "theme.bar.buttons.workspaces.background": "#21252b", - "theme.bar.buttons.dashboard.icon": "#e5c07b", - "theme.bar.buttons.dashboard.background": "#21252b", - "theme.osd.label": "#61afef", - "theme.osd.icon": "#282c34", - "theme.osd.bar_overflow_color": "#e06c75", - "theme.osd.bar_empty_color": "#4b5263", - "theme.osd.bar_color": "#61afef", - "theme.osd.icon_container": "#61afef", - "theme.osd.bar_container": "#282c34", - "theme.notification.close_button.label": "#282c34", - "theme.notification.close_button.background": "#e06c75", - "theme.notification.labelicon": "#61afef", - "theme.notification.text": "#abb2bf", - "theme.notification.time": "#5c6370", - "theme.notification.border": "#4b5263", - "theme.notification.label": "#61afef", - "theme.notification.actions.text": "#282c34", - "theme.notification.actions.background": "#61afef", - "theme.notification.background": "#282c34", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#21252b", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#c678dd", - "theme.bar.menus.menu.media.card.color": "#21252b", - "theme.bar.menus.check_radio_button.background": "#2e3440", - "theme.bar.menus.check_radio_button.active": "#88c0d0", - "theme.bar.buttons.style": "default", - "theme.bar.menus.menu.notifications.pager.button": "#61afef", - "theme.bar.menus.menu.notifications.scrollbar.color": "#61afef", - "theme.bar.menus.menu.notifications.pager.label": "#828997", - "theme.bar.menus.menu.notifications.pager.background": "#282c34", - "theme.bar.buttons.clock.icon_background": "#c678dd", - "theme.bar.buttons.modules.ram.icon": "#e5c07b", - "theme.bar.buttons.modules.storage.icon_background": "#e06c75", - "theme.bar.menus.popover.border": "#282c34", - "theme.bar.buttons.volume.icon_background": "#e06c75", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#56b6c2", - "theme.bar.menus.menu.power.buttons.restart.text": "#d19a66", - "theme.bar.buttons.modules.updates.background": "#21252b", - "theme.bar.buttons.modules.storage.icon": "#e06c75", - "theme.bar.buttons.modules.netstat.background": "#21252b", - "theme.bar.buttons.modules.weather.icon": "#61afef", - "theme.bar.buttons.modules.netstat.text": "#98c379", - "theme.bar.buttons.modules.storage.background": "#21252b", - "theme.bar.buttons.modules.power.icon": "#e06c75", - "theme.bar.buttons.modules.storage.text": "#e06c75", - "theme.bar.buttons.modules.cpu.background": "#21252b", - "theme.bar.menus.menu.power.border.color": "#4b5263", - "theme.bar.buttons.network.icon_background": "#caa6f7", - "theme.bar.buttons.modules.power.icon_background": "#e06c75", - "theme.bar.menus.menu.power.buttons.logout.icon": "#282c34", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#d19a66", - "theme.bar.menus.menu.power.buttons.restart.icon": "#282c34", - "theme.bar.buttons.modules.cpu.icon": "#e06c75", - "theme.bar.buttons.battery.icon_background": "#e5c07b", - "theme.bar.buttons.modules.kbLayout.icon_background": "#56b6c2", - "theme.bar.buttons.modules.weather.text": "#61afef", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#282c34", - "theme.bar.menus.menu.power.buttons.sleep.text": "#56b6c2", - "theme.bar.buttons.modules.weather.icon_background": "#61afef", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#21252b", - "theme.bar.buttons.media.icon_background": "#61afef", - "theme.bar.menus.menu.power.buttons.logout.background": "#21252b", - "theme.bar.buttons.modules.kbLayout.icon": "#56b6c2", - "theme.bar.buttons.modules.ram.icon_background": "#e5c07b", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#e06c75", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#e06c75", - "theme.bar.menus.menu.power.buttons.sleep.background": "#21252b", - "theme.bar.buttons.modules.ram.text": "#e5c07b", - "theme.bar.menus.menu.power.buttons.logout.text": "#98c379", - "theme.bar.buttons.modules.updates.icon_background": "#c678dd", - "theme.bar.buttons.modules.kbLayout.background": "#21252b", - "theme.bar.buttons.modules.power.background": "#21252b", - "theme.bar.buttons.modules.weather.background": "#21252b", - "theme.bar.buttons.icon_background": "#21252b", - "theme.bar.menus.menu.power.background.color": "#282c34", - "theme.bar.buttons.modules.ram.background": "#21252b", - "theme.bar.buttons.modules.netstat.icon": "#98c379", - "theme.bar.buttons.windowtitle.icon_background": "#c678dd", - "theme.bar.buttons.modules.cpu.icon_background": "#e06c75", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#98c379", - "theme.bar.buttons.modules.updates.text": "#c678dd", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#282c34", - "theme.bar.buttons.bluetooth.icon_background": "#89dbeb", - "theme.bar.menus.menu.power.buttons.restart.background": "#21252b", - "theme.bar.buttons.modules.updates.icon": "#c678dd", - "theme.bar.buttons.modules.cpu.text": "#e06c75", - "theme.bar.buttons.modules.netstat.icon_background": "#98c379", - "theme.bar.buttons.modules.kbLayout.text": "#56b6c2", - "theme.bar.buttons.notifications.icon_background": "#61afef", - "theme.bar.buttons.modules.power.border": "#e06c75", - "theme.bar.buttons.modules.weather.border": "#61afef", - "theme.bar.buttons.modules.updates.border": "#c678dd", - "theme.bar.buttons.modules.kbLayout.border": "#56b6c2", - "theme.bar.buttons.modules.netstat.border": "#98c379", - "theme.bar.buttons.modules.storage.border": "#e06c75", - "theme.bar.buttons.modules.cpu.border": "#e06c75", - "theme.bar.buttons.modules.ram.border": "#e5c07b", - "theme.bar.buttons.notifications.border": "#61afef", - "theme.bar.buttons.clock.border": "#98c379", - "theme.bar.buttons.battery.border": "#e5c07b", - "theme.bar.buttons.systray.border": "#4b5263", - "theme.bar.buttons.bluetooth.border": "#61afef", - "theme.bar.buttons.network.border": "#c678dd", - "theme.bar.buttons.volume.border": "#e06c75", - "theme.bar.buttons.media.border": "#61afef", - "theme.bar.buttons.windowtitle.border": "#98c379", - "theme.bar.buttons.workspaces.border": "#21252b", - "theme.bar.buttons.dashboard.border": "#e5c07b", - "theme.bar.buttons.modules.submap.background": "#21252b", - "theme.bar.buttons.modules.submap.text": "#56b6c2", - "theme.bar.buttons.modules.submap.border": "#56b6c2", - "theme.bar.buttons.modules.submap.icon": "#56b6c2", - "theme.bar.buttons.modules.submap.icon_background": "#21252b" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/one_dark_split.json b/ags/HyprPanel/themes/one_dark_split.json deleted file mode 100644 index 7222e05..0000000 --- a/ags/HyprPanel/themes/one_dark_split.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.background": "#282c34", - "theme.bar.background": "#282c34", - "theme.bar.buttons.media.icon": "#21252b", - "theme.bar.buttons.media.text": "#61afef", - "theme.bar.buttons.icon": "#61afef", - "theme.bar.buttons.text": "#61afef", - "theme.bar.buttons.hover": "#3e4451", - "theme.bar.buttons.background": "#3e4451", - "theme.bar.menus.text": "#abb2bf", - "theme.bar.menus.border.color": "#4b5263", - "theme.bar.buttons.media.background": "#21252b", - "theme.bar.menus.menu.volume.text": "#abb2bf", - "theme.bar.menus.menu.volume.card.color": "#21252b", - "theme.bar.menus.menu.volume.label.color": "#e06c75", - "theme.bar.menus.popover.text": "#61afef", - "theme.bar.menus.popover.background": "#282c34", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#e06c75", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#e06c75", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#98c379", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#282c34", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#abb2bf", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#61afef", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#4b5263", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#282c34", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#21252b", - "theme.bar.menus.menu.notifications.switch.puck": "#3e4451", - "theme.bar.menus.menu.notifications.switch.disabled": "#4b5263", - "theme.bar.menus.menu.notifications.switch.enabled": "#61afef", - "theme.bar.menus.menu.notifications.clear": "#e06c75", - "theme.bar.menus.menu.notifications.switch_divider": "#3e4451", - "theme.bar.menus.menu.notifications.border": "#4b5263", - "theme.bar.menus.menu.notifications.card": "#21252b", - "theme.bar.menus.menu.notifications.background": "#282c34", - "theme.bar.menus.menu.notifications.no_notifications_label": "#4b5263", - "theme.bar.menus.menu.notifications.label": "#61afef", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#c678dd", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#c678dd", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#c678dd", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#98c379", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#98c379", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#98c379", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#e5c07b", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#e5c07b", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#e5c07b", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#e06c75", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#e06c75", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#e06c75", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#3e4451", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#61afef", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#c678dd", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#56b6c2", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#e06c75", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#e5c07b", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#c678dd", - "theme.bar.menus.menu.dashboard.controls.input.text": "#282c34", - "theme.bar.menus.menu.dashboard.controls.input.background": "#c678dd", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#282c34", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#e06c75", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#282c34", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#e5c07b", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#282c34", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#56b6c2", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#282c34", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#c678dd", - "theme.bar.menus.menu.dashboard.controls.disabled": "#5c6370", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#98c379", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#282c34", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#61afef", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#56b6c2", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#98c379", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#d19a66", - "theme.bar.menus.menu.dashboard.profile.name": "#c678dd", - "theme.bar.menus.menu.dashboard.border.color": "#4b5263", - "theme.bar.menus.menu.dashboard.background.color": "#282c34", - "theme.bar.menus.menu.dashboard.card.color": "#21252b", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#c678dd", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#c678dd", - "theme.bar.menus.menu.clock.weather.hourly.time": "#c678dd", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#56b6c2", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#61afef", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#61afef", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#d19a66", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#e06c75", - "theme.bar.menus.menu.clock.weather.stats": "#c678dd", - "theme.bar.menus.menu.clock.weather.status": "#56b6c2", - "theme.bar.menus.menu.clock.weather.temperature": "#abb2bf", - "theme.bar.menus.menu.clock.weather.icon": "#c678dd", - "theme.bar.menus.menu.clock.calendar.contextdays": "#5c6370", - "theme.bar.menus.menu.clock.calendar.days": "#abb2bf", - "theme.bar.menus.menu.clock.calendar.currentday": "#c678dd", - "theme.bar.menus.menu.clock.calendar.paginator": "#c678dd", - "theme.bar.menus.menu.clock.calendar.weekdays": "#c678dd", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#56b6c2", - "theme.bar.menus.menu.clock.time.timeperiod": "#56b6c2", - "theme.bar.menus.menu.clock.time.time": "#c678dd", - "theme.bar.menus.menu.clock.text": "#abb2bf", - "theme.bar.menus.menu.clock.border.color": "#4b5263", - "theme.bar.menus.menu.clock.background.color": "#282c34", - "theme.bar.menus.menu.clock.card.color": "#21252b", - "theme.bar.menus.menu.battery.slider.puck": "#3e4451", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#3e4451", - "theme.bar.menus.menu.battery.slider.background": "#5c6370", - "theme.bar.menus.menu.battery.slider.primary": "#e5c07b", - "theme.bar.menus.menu.battery.icons.active": "#e5c07b", - "theme.bar.menus.menu.battery.icons.passive": "#828997", - "theme.bar.menus.menu.battery.listitems.active": "#e5c07b", - "theme.bar.menus.menu.battery.listitems.passive": "#abb2bf", - "theme.bar.menus.menu.battery.text": "#abb2bf", - "theme.bar.menus.menu.battery.label.color": "#e5c07b", - "theme.bar.menus.menu.battery.border.color": "#4b5263", - "theme.bar.menus.menu.battery.background.color": "#282c34", - "theme.bar.menus.menu.battery.card.color": "#21252b", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#21252b", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#abb2bf", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#282c34", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#61afef", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#abb2bf", - "theme.bar.menus.menu.bluetooth.icons.active": "#61afef", - "theme.bar.menus.menu.bluetooth.icons.passive": "#5c6370", - "theme.bar.menus.menu.bluetooth.listitems.active": "#61afef", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#abb2bf", - "theme.bar.menus.menu.bluetooth.switch.puck": "#4b5263", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#3e4451", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#61afef", - "theme.bar.menus.menu.bluetooth.switch_divider": "#4b5263", - "theme.bar.menus.menu.bluetooth.status": "#5c6370", - "theme.bar.menus.menu.bluetooth.text": "#abb2bf", - "theme.bar.menus.menu.bluetooth.label.color": "#61afef", - "theme.bar.menus.menu.bluetooth.border.color": "#3e4451", - "theme.bar.menus.menu.bluetooth.background.color": "#282c34", - "theme.bar.menus.menu.bluetooth.card.color": "#21252b", - "theme.bar.menus.menu.network.iconbuttons.active": "#c678dd", - "theme.bar.menus.menu.network.iconbuttons.passive": "#abb2bf", - "theme.bar.menus.menu.network.icons.active": "#c678dd", - "theme.bar.menus.menu.network.icons.passive": "#5c6370", - "theme.bar.menus.menu.network.listitems.active": "#c678dd", - "theme.bar.menus.menu.network.listitems.passive": "#abb2bf", - "theme.bar.menus.menu.network.status.color": "#5c6370", - "theme.bar.menus.menu.network.text": "#abb2bf", - "theme.bar.menus.menu.network.label.color": "#c678dd", - "theme.bar.menus.menu.network.border.color": "#3e4451", - "theme.bar.menus.menu.network.background.color": "#282c34", - "theme.bar.menus.menu.network.card.color": "#21252b", - "theme.bar.menus.menu.volume.input_slider.puck": "#4b5263", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#4b5263", - "theme.bar.menus.menu.volume.input_slider.background": "#4b5263", - "theme.bar.menus.menu.volume.input_slider.primary": "#e06c75", - "theme.bar.menus.menu.volume.audio_slider.puck": "#4b5263", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#4b5263", - "theme.bar.menus.menu.volume.audio_slider.background": "#4b5263", - "theme.bar.menus.menu.volume.audio_slider.primary": "#e06c75", - "theme.bar.menus.menu.volume.icons.active": "#e06c75", - "theme.bar.menus.menu.volume.icons.passive": "#5c6370", - "theme.bar.menus.menu.volume.iconbutton.active": "#e06c75", - "theme.bar.menus.menu.volume.iconbutton.passive": "#abb2bf", - "theme.bar.menus.menu.volume.listitems.active": "#e06c75", - "theme.bar.menus.menu.volume.listitems.passive": "#abb2bf", - "theme.bar.menus.menu.volume.border.color": "#3e4451", - "theme.bar.menus.menu.volume.background.color": "#282c34", - "theme.bar.menus.menu.media.slider.puck": "#5c6370", - "theme.bar.menus.menu.media.slider.backgroundhover": "#4b5263", - "theme.bar.menus.menu.media.slider.background": "#4b5263", - "theme.bar.menus.menu.media.slider.primary": "#98c379", - "theme.bar.menus.menu.media.buttons.text": "#282c34", - "theme.bar.menus.menu.media.buttons.background": "#98c379", - "theme.bar.menus.menu.media.buttons.enabled": "#56b6c2", - "theme.bar.menus.menu.media.buttons.inactive": "#4b5263", - "theme.bar.menus.menu.media.border.color": "#3e4451", - "theme.bar.menus.menu.media.background.color": "#282c34", - "theme.bar.menus.menu.media.album": "#98c379", - "theme.bar.menus.menu.media.artist": "#56b6c2", - "theme.bar.menus.menu.media.song": "#98c379", - "theme.bar.menus.tooltip.text": "#abb2bf", - "theme.bar.menus.tooltip.background": "#282c34", - "theme.bar.menus.dropdownmenu.divider": "#21252b", - "theme.bar.menus.dropdownmenu.text": "#abb2bf", - "theme.bar.menus.dropdownmenu.background": "#282c34", - "theme.bar.menus.slider.puck": "#5c6370", - "theme.bar.menus.slider.backgroundhover": "#4b5263", - "theme.bar.menus.slider.background": "#4b5263", - "theme.bar.menus.slider.primary": "#61afef", - "theme.bar.menus.progressbar.background": "#4b5263", - "theme.bar.menus.progressbar.foreground": "#61afef", - "theme.bar.menus.iconbuttons.active": "#61afef", - "theme.bar.menus.iconbuttons.passive": "#abb2bf", - "theme.bar.menus.buttons.text": "#282c34", - "theme.bar.menus.buttons.disabled": "#4b5263", - "theme.bar.menus.buttons.active": "#98c379", - "theme.bar.menus.buttons.default": "#61afef", - "theme.bar.menus.switch.puck": "#4b5263", - "theme.bar.menus.switch.disabled": "#3e4451", - "theme.bar.menus.switch.enabled": "#61afef", - "theme.bar.menus.icons.active": "#61afef", - "theme.bar.menus.icons.passive": "#4b5263", - "theme.bar.menus.listitems.active": "#61afef", - "theme.bar.menus.listitems.passive": "#abb2bf", - "theme.bar.menus.label": "#61afef", - "theme.bar.menus.feinttext": "#3e4451", - "theme.bar.menus.dimtext": "#4b5263", - "theme.bar.menus.cards": "#21252b", - "theme.bar.buttons.notifications.total": "#61afef", - "theme.bar.buttons.notifications.icon": "#21252b", - "theme.bar.buttons.notifications.background": "#21252b", - "theme.bar.buttons.clock.icon": "#21252b", - "theme.bar.buttons.clock.text": "#98c379", - "theme.bar.buttons.clock.background": "#21252b", - "theme.bar.buttons.battery.icon": "#21252b", - "theme.bar.buttons.battery.text": "#e5c07b", - "theme.bar.buttons.battery.background": "#21252b", - "theme.bar.buttons.systray.background": "#21252b", - "theme.bar.buttons.bluetooth.icon": "#21252b", - "theme.bar.buttons.bluetooth.text": "#61afef", - "theme.bar.buttons.bluetooth.background": "#21252b", - "theme.bar.buttons.network.icon": "#21252b", - "theme.bar.buttons.network.text": "#c678dd", - "theme.bar.buttons.network.background": "#21252b", - "theme.bar.buttons.volume.icon": "#21252b", - "theme.bar.buttons.volume.text": "#e06c75", - "theme.bar.buttons.volume.background": "#21252b", - "theme.bar.buttons.windowtitle.icon": "#21252b", - "theme.bar.buttons.windowtitle.text": "#98c379", - "theme.bar.buttons.windowtitle.background": "#21252b", - "theme.bar.buttons.workspaces.active": "#c678dd", - "theme.bar.buttons.workspaces.occupied": "#e06c75", - "theme.bar.buttons.workspaces.available": "#61afef", - "theme.bar.buttons.workspaces.hover": "#c678dd", - "theme.bar.buttons.workspaces.background": "#21252b", - "theme.bar.buttons.dashboard.icon": "#21252b", - "theme.bar.buttons.dashboard.background": "#e5c07b", - "theme.osd.label": "#61afef", - "theme.osd.icon": "#282c34", - "theme.osd.bar_overflow_color": "#e06c75", - "theme.osd.bar_empty_color": "#4b5263", - "theme.osd.bar_color": "#61afef", - "theme.osd.icon_container": "#61afef", - "theme.osd.bar_container": "#282c34", - "theme.notification.close_button.label": "#282c34", - "theme.notification.close_button.background": "#e06c75", - "theme.notification.labelicon": "#61afef", - "theme.notification.text": "#abb2bf", - "theme.notification.time": "#5c6370", - "theme.notification.border": "#4b5263", - "theme.notification.label": "#61afef", - "theme.notification.actions.text": "#282c34", - "theme.notification.actions.background": "#61afef", - "theme.notification.background": "#282c34", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#21252b", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#c678dd", - "theme.bar.menus.menu.media.card.color": "#21252b", - "theme.bar.menus.check_radio_button.background": "#2e3440", - "theme.bar.menus.check_radio_button.active": "#88c0d0", - "theme.bar.buttons.style": "split", - "theme.bar.buttons.icon_background": "#242438", - "theme.bar.buttons.volume.icon_background": "#e06c75", - "theme.bar.buttons.network.icon_background": "#c678dd", - "theme.bar.buttons.bluetooth.icon_background": "#61afef", - "theme.bar.buttons.windowtitle.icon_background": "#98c379", - "theme.bar.buttons.media.icon_background": "#61afef", - "theme.bar.buttons.notifications.icon_background": "#61afef", - "theme.bar.buttons.battery.icon_background": "#e5c07b", - "theme.bar.buttons.clock.icon_background": "#98c379", - "theme.bar.menus.menu.notifications.pager.button": "#61afef", - "theme.bar.menus.menu.notifications.scrollbar.color": "#61afef", - "theme.bar.menus.menu.notifications.pager.label": "#828997", - "theme.bar.menus.menu.notifications.pager.background": "#282c34", - "theme.bar.buttons.modules.ram.icon": "#21252b", - "theme.bar.buttons.modules.storage.icon_background": "#e06c75", - "theme.bar.menus.popover.border": "#282c34", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#56b6c2", - "theme.bar.menus.menu.power.buttons.restart.text": "#d19a66", - "theme.bar.buttons.modules.updates.background": "#21252b", - "theme.bar.buttons.modules.storage.icon": "#21252b", - "theme.bar.buttons.modules.netstat.background": "#21252b", - "theme.bar.buttons.modules.weather.icon": "#21252b", - "theme.bar.buttons.modules.netstat.text": "#98c379", - "theme.bar.buttons.modules.storage.background": "#21252b", - "theme.bar.buttons.modules.power.icon": "#21252b", - "theme.bar.buttons.modules.storage.text": "#e06c75", - "theme.bar.buttons.modules.cpu.background": "#21252b", - "theme.bar.menus.menu.power.border.color": "#4b5263", - "theme.bar.buttons.modules.power.icon_background": "#e06c75", - "theme.bar.menus.menu.power.buttons.logout.icon": "#282c34", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#d19a66", - "theme.bar.menus.menu.power.buttons.restart.icon": "#282c34", - "theme.bar.buttons.modules.cpu.icon": "#21252b", - "theme.bar.buttons.modules.kbLayout.icon_background": "#56b6c2", - "theme.bar.buttons.modules.weather.text": "#61afef", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#282c34", - "theme.bar.menus.menu.power.buttons.sleep.text": "#56b6c2", - "theme.bar.buttons.modules.weather.icon_background": "#61afef", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#21252b", - "theme.bar.menus.menu.power.buttons.logout.background": "#21252b", - "theme.bar.buttons.modules.kbLayout.icon": "#21252b", - "theme.bar.buttons.modules.ram.icon_background": "#e5c07b", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#e06c75", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#e06c75", - "theme.bar.menus.menu.power.buttons.sleep.background": "#21252b", - "theme.bar.buttons.modules.ram.text": "#e5c07b", - "theme.bar.menus.menu.power.buttons.logout.text": "#98c379", - "theme.bar.buttons.modules.updates.icon_background": "#c678dd", - "theme.bar.buttons.modules.kbLayout.background": "#21252b", - "theme.bar.buttons.modules.power.background": "#21252b", - "theme.bar.buttons.modules.weather.background": "#21252b", - "theme.bar.menus.menu.power.background.color": "#282c34", - "theme.bar.buttons.modules.ram.background": "#21252b", - "theme.bar.buttons.modules.netstat.icon": "#21252b", - "theme.bar.buttons.modules.cpu.icon_background": "#e06c75", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#98c379", - "theme.bar.buttons.modules.updates.text": "#c678dd", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#282c34", - "theme.bar.menus.menu.power.buttons.restart.background": "#21252b", - "theme.bar.buttons.modules.updates.icon": "#21252b", - "theme.bar.buttons.modules.cpu.text": "#e06c75", - "theme.bar.buttons.modules.netstat.icon_background": "#98c379", - "theme.bar.buttons.modules.kbLayout.text": "#56b6c2", - "theme.bar.buttons.modules.power.border": "#e06c75", - "theme.bar.buttons.modules.weather.border": "#61afef", - "theme.bar.buttons.modules.updates.border": "#c678dd", - "theme.bar.buttons.modules.kbLayout.border": "#56b6c2", - "theme.bar.buttons.modules.netstat.border": "#98c379", - "theme.bar.buttons.modules.storage.border": "#e06c75", - "theme.bar.buttons.modules.cpu.border": "#e06c75", - "theme.bar.buttons.modules.ram.border": "#e5c07b", - "theme.bar.buttons.notifications.border": "#61afef", - "theme.bar.buttons.clock.border": "#98c379", - "theme.bar.buttons.battery.border": "#e5c07b", - "theme.bar.buttons.systray.border": "#4b5263", - "theme.bar.buttons.bluetooth.border": "#61afef", - "theme.bar.buttons.network.border": "#c678dd", - "theme.bar.buttons.volume.border": "#e06c75", - "theme.bar.buttons.media.border": "#61afef", - "theme.bar.buttons.windowtitle.border": "#98c379", - "theme.bar.buttons.workspaces.border": "#21252b", - "theme.bar.buttons.dashboard.border": "#e5c07b", - "theme.bar.buttons.modules.submap.background": "#21252b", - "theme.bar.buttons.modules.submap.text": "#56b6c2", - "theme.bar.buttons.modules.submap.border": "#56b6c2", - "theme.bar.buttons.modules.submap.icon": "#21252b", - "theme.bar.buttons.modules.submap.icon_background": "#56b6c2" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/rose_pine.json b/ags/HyprPanel/themes/rose_pine.json deleted file mode 100644 index 9ccd0a0..0000000 --- a/ags/HyprPanel/themes/rose_pine.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.background": "#191724", - "theme.bar.background": "#191724", - "theme.bar.buttons.media.icon": "#c4a7e7", - "theme.bar.buttons.media.text": "#c4a7e7", - "theme.bar.buttons.icon": "#c4a7e7", - "theme.bar.buttons.text": "#c4a7e7", - "theme.bar.buttons.hover": "#26233a", - "theme.bar.buttons.background": "#21202e", - "theme.bar.menus.text": "#e0def4", - "theme.bar.menus.border.color": "#1f1d2e", - "theme.bar.buttons.media.background": "#21202e", - "theme.bar.menus.menu.volume.text": "#e0def4", - "theme.bar.menus.menu.volume.card.color": "#21202e", - "theme.bar.menus.menu.volume.label.color": "#eb6f92", - "theme.bar.menus.popover.text": "#c4a7e7", - "theme.bar.menus.popover.background": "#1f1d2e", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#eb6f92", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#eb6f92", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#9ccfd8", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#191724", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#e0def4", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#c4a7e7", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#1f1d2e", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#191724", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#21202e", - "theme.bar.menus.menu.notifications.switch.puck": "#26233a", - "theme.bar.menus.menu.notifications.switch.disabled": "#1f1d2e", - "theme.bar.menus.menu.notifications.switch.enabled": "#c4a7e7", - "theme.bar.menus.menu.notifications.clear": "#eb6f92", - "theme.bar.menus.menu.notifications.switch_divider": "#26233a", - "theme.bar.menus.menu.notifications.border": "#1f1d2e", - "theme.bar.menus.menu.notifications.card": "#21202e", - "theme.bar.menus.menu.notifications.background": "#191724", - "theme.bar.menus.menu.notifications.no_notifications_label": "#1f1d2e", - "theme.bar.menus.menu.notifications.label": "#c4a7e7", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#c4a7e7", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#c4a7e7", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#c4a7e7", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#9ccfd8", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#9ccfd8", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#9ccfd8", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#f6c177", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#f6c177", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#f6c177", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#eb6f92", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#eb6f92", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#eb6f92", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#26233a", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#c4a7e7", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#30738f", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#9ccfd8", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#eb6f92", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#f6c177", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#c4a7e7", - "theme.bar.menus.menu.dashboard.controls.input.text": "#1f1d2e", - "theme.bar.menus.menu.dashboard.controls.input.background": "#30738f", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#1f1d2e", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#eb6f92", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#1f1d2e", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#f6c177", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#1f1d2e", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#9ccfd8", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#1f1d2e", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#c4a7e7", - "theme.bar.menus.menu.dashboard.controls.disabled": "#403d52", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#9ccfd8", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#1f1d2e", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#c4a7e7", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#9ccfd8", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#9ccfd8", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#f6c177", - "theme.bar.menus.menu.dashboard.profile.name": "#c4a7e7", - "theme.bar.menus.menu.dashboard.border.color": "#1f1d2e", - "theme.bar.menus.menu.dashboard.background.color": "#191724", - "theme.bar.menus.menu.dashboard.card.color": "#21202e", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#c4a7e7", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#c4a7e7", - "theme.bar.menus.menu.clock.weather.hourly.time": "#c4a7e7", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#9ccfd8", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#31748f", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#c4a7e7", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#f6c177", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#eb6f92", - "theme.bar.menus.menu.clock.weather.stats": "#c4a7e7", - "theme.bar.menus.menu.clock.weather.status": "#9ccfd8", - "theme.bar.menus.menu.clock.weather.temperature": "#e0def4", - "theme.bar.menus.menu.clock.weather.icon": "#c4a7e7", - "theme.bar.menus.menu.clock.calendar.contextdays": "#403d52", - "theme.bar.menus.menu.clock.calendar.days": "#e0def4", - "theme.bar.menus.menu.clock.calendar.currentday": "#c4a7e7", - "theme.bar.menus.menu.clock.calendar.paginator": "#c4a7e7", - "theme.bar.menus.menu.clock.calendar.weekdays": "#c4a7e7", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#9ccfd8", - "theme.bar.menus.menu.clock.time.timeperiod": "#9ccfd8", - "theme.bar.menus.menu.clock.time.time": "#c4a7e7", - "theme.bar.menus.menu.clock.text": "#e0def4", - "theme.bar.menus.menu.clock.border.color": "#1f1d2e", - "theme.bar.menus.menu.clock.background.color": "#191724", - "theme.bar.menus.menu.clock.card.color": "#21202e", - "theme.bar.menus.menu.battery.slider.puck": "#26233a", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#26233a", - "theme.bar.menus.menu.battery.slider.background": "#403d52", - "theme.bar.menus.menu.battery.slider.primary": "#f6c177", - "theme.bar.menus.menu.battery.icons.active": "#f6c177", - "theme.bar.menus.menu.battery.icons.passive": "#524f67", - "theme.bar.menus.menu.battery.listitems.active": "#f6c177", - "theme.bar.menus.menu.battery.listitems.passive": "#e0def4", - "theme.bar.menus.menu.battery.text": "#e0def4", - "theme.bar.menus.menu.battery.label.color": "#f6c177", - "theme.bar.menus.menu.battery.border.color": "#1f1d2e", - "theme.bar.menus.menu.battery.background.color": "#191724", - "theme.bar.menus.menu.battery.card.color": "#21202e", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#21202e", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#e0def4", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#191724", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#9ccfd8", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#e0def4", - "theme.bar.menus.menu.bluetooth.icons.active": "#9ccfd8", - "theme.bar.menus.menu.bluetooth.icons.passive": "#524f67", - "theme.bar.menus.menu.bluetooth.listitems.active": "#9ccfd8", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#e0def4", - "theme.bar.menus.menu.bluetooth.switch.puck": "#26233a", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#1f1d2e", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#9ccfd8", - "theme.bar.menus.menu.bluetooth.switch_divider": "#26233a", - "theme.bar.menus.menu.bluetooth.status": "#26233a", - "theme.bar.menus.menu.bluetooth.text": "#e0def4", - "theme.bar.menus.menu.bluetooth.label.color": "#9ccfd8", - "theme.bar.menus.menu.bluetooth.border.color": "#1f1d2e", - "theme.bar.menus.menu.bluetooth.background.color": "#191724", - "theme.bar.menus.menu.bluetooth.card.color": "#21202e", - "theme.bar.menus.menu.network.iconbuttons.active": "#c4a7e7", - "theme.bar.menus.menu.network.iconbuttons.passive": "#e0def4", - "theme.bar.menus.menu.network.icons.active": "#c4a7e7", - "theme.bar.menus.menu.network.icons.passive": "#524f67", - "theme.bar.menus.menu.network.listitems.active": "#c4a7e7", - "theme.bar.menus.menu.network.listitems.passive": "#e0def4", - "theme.bar.menus.menu.network.status.color": "#26233a", - "theme.bar.menus.menu.network.text": "#e0def4", - "theme.bar.menus.menu.network.label.color": "#c4a7e7", - "theme.bar.menus.menu.network.border.color": "#1f1d2e", - "theme.bar.menus.menu.network.background.color": "#191724", - "theme.bar.menus.menu.network.card.color": "#21202e", - "theme.bar.menus.menu.volume.input_slider.puck": "#403d52", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#26233a", - "theme.bar.menus.menu.volume.input_slider.background": "#403d52", - "theme.bar.menus.menu.volume.input_slider.primary": "#eb6f92", - "theme.bar.menus.menu.volume.audio_slider.puck": "#403d52", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#26233a", - "theme.bar.menus.menu.volume.audio_slider.background": "#403d52", - "theme.bar.menus.menu.volume.audio_slider.primary": "#eb6f92", - "theme.bar.menus.menu.volume.icons.active": "#eb6f92", - "theme.bar.menus.menu.volume.icons.passive": "#524f67", - "theme.bar.menus.menu.volume.iconbutton.active": "#eb6f92", - "theme.bar.menus.menu.volume.iconbutton.passive": "#e0def4", - "theme.bar.menus.menu.volume.listitems.active": "#eb6f92", - "theme.bar.menus.menu.volume.listitems.passive": "#e0def4", - "theme.bar.menus.menu.volume.border.color": "#1f1d2e", - "theme.bar.menus.menu.volume.background.color": "#191724", - "theme.bar.menus.menu.media.slider.puck": "#26233a", - "theme.bar.menus.menu.media.slider.backgroundhover": "#26233a", - "theme.bar.menus.menu.media.slider.background": "#403d52", - "theme.bar.menus.menu.media.slider.primary": "#c4a7e7", - "theme.bar.menus.menu.media.buttons.text": "#191724", - "theme.bar.menus.menu.media.buttons.background": "#c4a7e7", - "theme.bar.menus.menu.media.buttons.enabled": "#9ccfd8", - "theme.bar.menus.menu.media.buttons.inactive": "#403d52", - "theme.bar.menus.menu.media.border.color": "#1f1d2e", - "theme.bar.menus.menu.media.background.color": "#191724", - "theme.bar.menus.menu.media.album": "#c4a7e7", - "theme.bar.menus.menu.media.artist": "#9ccfd8", - "theme.bar.menus.menu.media.song": "#c4a7e7", - "theme.bar.menus.tooltip.text": "#e0def4", - "theme.bar.menus.tooltip.background": "#191724", - "theme.bar.menus.dropdownmenu.divider": "#21202e", - "theme.bar.menus.dropdownmenu.text": "#e0def4", - "theme.bar.menus.dropdownmenu.background": "#191724", - "theme.bar.menus.slider.puck": "#26233a", - "theme.bar.menus.slider.backgroundhover": "#26233a", - "theme.bar.menus.slider.background": "#403d52", - "theme.bar.menus.slider.primary": "#c4a7e7", - "theme.bar.menus.progressbar.background": "#26233a", - "theme.bar.menus.progressbar.foreground": "#c4a7e7", - "theme.bar.menus.iconbuttons.active": "#c4a7e7", - "theme.bar.menus.iconbuttons.passive": "#e0def4", - "theme.bar.menus.buttons.text": "#1f1d2e", - "theme.bar.menus.buttons.disabled": "#403d52", - "theme.bar.menus.buttons.active": "#c4a7e7", - "theme.bar.menus.buttons.default": "#c4a7e7", - "theme.bar.menus.switch.puck": "#26233a", - "theme.bar.menus.switch.disabled": "#1f1d2e", - "theme.bar.menus.switch.enabled": "#c4a7e7", - "theme.bar.menus.icons.active": "#c4a7e7", - "theme.bar.menus.icons.passive": "#403d52", - "theme.bar.menus.listitems.active": "#c4a7e7", - "theme.bar.menus.listitems.passive": "#e0def4", - "theme.bar.menus.label": "#c4a7e7", - "theme.bar.menus.feinttext": "#1f1d2e", - "theme.bar.menus.dimtext": "#403d52", - "theme.bar.menus.cards": "#21202e", - "theme.bar.buttons.notifications.total": "#c4a7e7", - "theme.bar.buttons.notifications.icon": "#c4a7e7", - "theme.bar.buttons.notifications.background": "#21202e", - "theme.bar.buttons.clock.icon": "#c4a7e7", - "theme.bar.buttons.clock.text": "#c4a7e7", - "theme.bar.buttons.clock.background": "#21202e", - "theme.bar.buttons.battery.icon": "#f6c177", - "theme.bar.buttons.battery.text": "#f6c177", - "theme.bar.buttons.battery.background": "#21202e", - "theme.bar.buttons.systray.background": "#21202e", - "theme.bar.buttons.bluetooth.icon": "#9ccfd8", - "theme.bar.buttons.bluetooth.text": "#9ccfd8", - "theme.bar.buttons.bluetooth.background": "#21202e", - "theme.bar.buttons.network.icon": "#c4a7e7", - "theme.bar.buttons.network.text": "#c4a7e7", - "theme.bar.buttons.network.background": "#21202e", - "theme.bar.buttons.volume.icon": "#eb6f92", - "theme.bar.buttons.volume.text": "#eb6f92", - "theme.bar.buttons.volume.background": "#21202e", - "theme.bar.buttons.windowtitle.icon": "#c4a7e7", - "theme.bar.buttons.windowtitle.text": "#c4a7e7", - "theme.bar.buttons.windowtitle.background": "#21202e", - "theme.bar.buttons.workspaces.active": "#c4a7e7", - "theme.bar.buttons.workspaces.occupied": "#eb6f92", - "theme.bar.buttons.workspaces.available": "#9ccfd8", - "theme.bar.buttons.workspaces.hover": "#26233a", - "theme.bar.buttons.workspaces.background": "#21202e", - "theme.bar.buttons.dashboard.icon": "#f6c177", - "theme.bar.buttons.dashboard.background": "#21202e", - "theme.osd.label": "#c4a7e7", - "theme.osd.icon": "#191724", - "theme.osd.bar_overflow_color": "#eb6f92", - "theme.osd.bar_empty_color": "#1f1d2e", - "theme.osd.bar_color": "#c4a7e7", - "theme.osd.icon_container": "#c4a7e7", - "theme.osd.bar_container": "#191724", - "theme.notification.close_button.label": "#191724", - "theme.notification.close_button.background": "#eb6f92", - "theme.notification.labelicon": "#c4a7e7", - "theme.notification.text": "#e0def4", - "theme.notification.time": "#403d52", - "theme.notification.border": "#1f1d2e", - "theme.notification.label": "#c4a7e7", - "theme.notification.actions.text": "#1f1d2e", - "theme.notification.actions.background": "#c4a7e7", - "theme.notification.background": "#1f1d2e", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#181825", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#c678dd", - "theme.bar.menus.menu.media.card.color": "#21202e", - "theme.bar.menus.check_radio_button.background": "#393452", - "theme.bar.menus.check_radio_button.active": "#c4a7e7", - "theme.bar.buttons.style": "default", - "theme.bar.menus.menu.notifications.pager.button": "#c4a7e7", - "theme.bar.menus.menu.notifications.scrollbar.color": "#c4a7e7", - "theme.bar.menus.menu.notifications.pager.label": "#524f67", - "theme.bar.menus.menu.notifications.pager.background": "#191724", - "theme.bar.buttons.clock.icon_background": "#c4a7e7", - "theme.bar.buttons.modules.ram.icon": "#f6c177", - "theme.bar.buttons.modules.storage.icon_background": "#eb6f92", - "theme.bar.menus.popover.border": "#1f1d2e", - "theme.bar.buttons.volume.icon_background": "#eb6f92", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#9ccfd8", - "theme.bar.menus.menu.power.buttons.restart.text": "#f6c177", - "theme.bar.buttons.modules.updates.background": "#21202e", - "theme.bar.buttons.modules.storage.icon": "#eb6f92", - "theme.bar.buttons.modules.netstat.background": "#21202e", - "theme.bar.buttons.modules.weather.icon": "#c4a7e7", - "theme.bar.buttons.modules.netstat.text": "#9ccfd8", - "theme.bar.buttons.modules.storage.background": "#21202e", - "theme.bar.buttons.modules.power.icon": "#eb6f92", - "theme.bar.buttons.modules.storage.text": "#eb6f92", - "theme.bar.buttons.modules.cpu.background": "#21202e", - "theme.bar.menus.menu.power.border.color": "#1f1d2e", - "theme.bar.buttons.network.icon_background": "#caa6f7", - "theme.bar.buttons.modules.power.icon_background": "#eb6f92", - "theme.bar.menus.menu.power.buttons.logout.icon": "#1f1d2e", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#f6c177", - "theme.bar.menus.menu.power.buttons.restart.icon": "#1f1d2e", - "theme.bar.buttons.modules.cpu.icon": "#eb6f92", - "theme.bar.buttons.battery.icon_background": "#f6c177", - "theme.bar.buttons.modules.kbLayout.icon_background": "#9ccfd8", - "theme.bar.buttons.modules.weather.text": "#c4a7e7", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#1f1d2e", - "theme.bar.menus.menu.power.buttons.sleep.text": "#9ccfd8", - "theme.bar.buttons.modules.weather.icon_background": "#c4a7e7", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#21202e", - "theme.bar.buttons.media.icon_background": "#c4a7e7", - "theme.bar.menus.menu.power.buttons.logout.background": "#21202e", - "theme.bar.buttons.modules.kbLayout.icon": "#9ccfd8", - "theme.bar.buttons.modules.ram.icon_background": "#f6c177", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#eb6f92", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#eb6f92", - "theme.bar.menus.menu.power.buttons.sleep.background": "#21202e", - "theme.bar.buttons.modules.ram.text": "#f6c177", - "theme.bar.menus.menu.power.buttons.logout.text": "#9ccfd8", - "theme.bar.buttons.modules.updates.icon_background": "#30738f", - "theme.bar.buttons.modules.kbLayout.background": "#21202e", - "theme.bar.buttons.modules.power.background": "#21202e", - "theme.bar.buttons.modules.weather.background": "#21202e", - "theme.bar.buttons.icon_background": "#21202e", - "theme.bar.menus.menu.power.background.color": "#191724", - "theme.bar.buttons.modules.ram.background": "#21202e", - "theme.bar.buttons.modules.netstat.icon": "#9ccfd8", - "theme.bar.buttons.windowtitle.icon_background": "#c4a7e7", - "theme.bar.buttons.modules.cpu.icon_background": "#eb6f92", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#9ccfd8", - "theme.bar.buttons.modules.updates.text": "#30738f", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#1f1d2e", - "theme.bar.buttons.bluetooth.icon_background": "#89dbeb", - "theme.bar.menus.menu.power.buttons.restart.background": "#21202e", - "theme.bar.buttons.modules.updates.icon": "#30738f", - "theme.bar.buttons.modules.cpu.text": "#eb6f92", - "theme.bar.buttons.modules.netstat.icon_background": "#9ccfd8", - "theme.bar.buttons.modules.kbLayout.text": "#9ccfd8", - "theme.bar.buttons.notifications.icon_background": "#c4a7e7", - "theme.bar.buttons.modules.power.border": "#eb6f92", - "theme.bar.buttons.modules.weather.border": "#c4a7e7", - "theme.bar.buttons.modules.updates.border": "#30738f", - "theme.bar.buttons.modules.kbLayout.border": "#9ccfd8", - "theme.bar.buttons.modules.netstat.border": "#9ccfd8", - "theme.bar.buttons.modules.storage.border": "#eb6f92", - "theme.bar.buttons.modules.cpu.border": "#eb6f92", - "theme.bar.buttons.modules.ram.border": "#f6c177", - "theme.bar.buttons.notifications.border": "#c4a7e7", - "theme.bar.buttons.clock.border": "#c4a7e7", - "theme.bar.buttons.battery.border": "#f6c177", - "theme.bar.buttons.systray.border": "#26233a", - "theme.bar.buttons.bluetooth.border": "#9ccfd8", - "theme.bar.buttons.network.border": "#c4a7e7", - "theme.bar.buttons.volume.border": "#eb6f92", - "theme.bar.buttons.media.border": "#c4a7e7", - "theme.bar.buttons.windowtitle.border": "#c4a7e7", - "theme.bar.buttons.workspaces.border": "#1f1d2e", - "theme.bar.buttons.dashboard.border": "#f6c177", - "theme.bar.buttons.modules.submap.background": "#21202e", - "theme.bar.buttons.modules.submap.text": "#9ccfd8", - "theme.bar.buttons.modules.submap.border": "#9ccfd8", - "theme.bar.buttons.modules.submap.icon": "#9ccfd8", - "theme.bar.buttons.modules.submap.icon_background": "#21202e" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/rose_pine_moon.json b/ags/HyprPanel/themes/rose_pine_moon.json deleted file mode 100644 index 1c0a5ca..0000000 --- a/ags/HyprPanel/themes/rose_pine_moon.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.background": "#232136", - "theme.bar.background": "#232136", - "theme.bar.buttons.media.icon": "#c4a7e7", - "theme.bar.buttons.media.text": "#c4a7e7", - "theme.bar.buttons.icon": "#c4a7e7", - "theme.bar.buttons.text": "#c4a7e7", - "theme.bar.buttons.hover": "#393552", - "theme.bar.buttons.background": "#2a283e", - "theme.bar.menus.text": "#e0def4", - "theme.bar.menus.border.color": "#2a273f", - "theme.bar.buttons.media.background": "#2a283e", - "theme.bar.menus.menu.volume.text": "#e0def4", - "theme.bar.menus.menu.volume.card.color": "#2a283e", - "theme.bar.menus.menu.volume.label.color": "#eb6f92", - "theme.bar.menus.popover.text": "#c4a7e7", - "theme.bar.menus.popover.background": "#2a273f", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#eb6f92", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#eb6f92", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#9ccfd8", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#232136", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#e0def4", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#c4a7e7", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#2a273f", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#232136", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#2a283e", - "theme.bar.menus.menu.notifications.switch.puck": "#393552", - "theme.bar.menus.menu.notifications.switch.disabled": "#2a273f", - "theme.bar.menus.menu.notifications.switch.enabled": "#c4a7e7", - "theme.bar.menus.menu.notifications.clear": "#eb6f92", - "theme.bar.menus.menu.notifications.switch_divider": "#393552", - "theme.bar.menus.menu.notifications.border": "#2a273f", - "theme.bar.menus.menu.notifications.card": "#2a283e", - "theme.bar.menus.menu.notifications.background": "#232136", - "theme.bar.menus.menu.notifications.no_notifications_label": "#2a273f", - "theme.bar.menus.menu.notifications.label": "#c4a7e7", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#c4a7e7", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#c4a7e7", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#c4a7e7", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#9ccfd8", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#9ccfd8", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#9ccfd8", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#f6c177", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#f6c177", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#f6c177", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#eb6f92", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#eb6f92", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#eb6f92", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#393552", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#c4a7e7", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#3e8eb0", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#9ccfd8", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#eb6f92", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#f6c177", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#c4a7e7", - "theme.bar.menus.menu.dashboard.controls.input.text": "#2a273f", - "theme.bar.menus.menu.dashboard.controls.input.background": "#3e8eb0", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#2a273f", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#eb6f92", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#2a273f", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#f6c177", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#2a273f", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#9ccfd8", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#2a273f", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#c4a7e7", - "theme.bar.menus.menu.dashboard.controls.disabled": "#44415a", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#9ccfd8", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#2a273f", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#c4a7e7", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#9ccfd8", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#9ccfd8", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#f6c177", - "theme.bar.menus.menu.dashboard.profile.name": "#c4a7e7", - "theme.bar.menus.menu.dashboard.border.color": "#2a273f", - "theme.bar.menus.menu.dashboard.background.color": "#232136", - "theme.bar.menus.menu.dashboard.card.color": "#2a283e", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#c4a7e7", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#c4a7e7", - "theme.bar.menus.menu.clock.weather.hourly.time": "#c4a7e7", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#9ccfd8", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#3e8fb0", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#c4a7e7", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#f6c177", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#eb6f92", - "theme.bar.menus.menu.clock.weather.stats": "#c4a7e7", - "theme.bar.menus.menu.clock.weather.status": "#9ccfd8", - "theme.bar.menus.menu.clock.weather.temperature": "#e0def4", - "theme.bar.menus.menu.clock.weather.icon": "#c4a7e7", - "theme.bar.menus.menu.clock.calendar.contextdays": "#44415a", - "theme.bar.menus.menu.clock.calendar.days": "#e0def4", - "theme.bar.menus.menu.clock.calendar.currentday": "#c4a7e7", - "theme.bar.menus.menu.clock.calendar.paginator": "#c4a7e7", - "theme.bar.menus.menu.clock.calendar.weekdays": "#c4a7e7", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#9ccfd8", - "theme.bar.menus.menu.clock.time.timeperiod": "#9ccfd8", - "theme.bar.menus.menu.clock.time.time": "#c4a7e7", - "theme.bar.menus.menu.clock.text": "#e0def4", - "theme.bar.menus.menu.clock.border.color": "#2a273f", - "theme.bar.menus.menu.clock.background.color": "#232136", - "theme.bar.menus.menu.clock.card.color": "#2a283e", - "theme.bar.menus.menu.battery.slider.puck": "#393552", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#393552", - "theme.bar.menus.menu.battery.slider.background": "#44415a", - "theme.bar.menus.menu.battery.slider.primary": "#f6c177", - "theme.bar.menus.menu.battery.icons.active": "#f6c177", - "theme.bar.menus.menu.battery.icons.passive": "#56526e", - "theme.bar.menus.menu.battery.listitems.active": "#f6c177", - "theme.bar.menus.menu.battery.listitems.passive": "#e0def4", - "theme.bar.menus.menu.battery.text": "#e0def4", - "theme.bar.menus.menu.battery.label.color": "#f6c177", - "theme.bar.menus.menu.battery.border.color": "#2a273f", - "theme.bar.menus.menu.battery.background.color": "#232136", - "theme.bar.menus.menu.battery.card.color": "#2a283e", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#2a283e", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#e0def4", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#232136", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#9ccfd8", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#e0def4", - "theme.bar.menus.menu.bluetooth.icons.active": "#9ccfd8", - "theme.bar.menus.menu.bluetooth.icons.passive": "#56526e", - "theme.bar.menus.menu.bluetooth.listitems.active": "#9ccfd8", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#e0def4", - "theme.bar.menus.menu.bluetooth.switch.puck": "#393552", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#2a273f", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#9ccfd8", - "theme.bar.menus.menu.bluetooth.switch_divider": "#393552", - "theme.bar.menus.menu.bluetooth.status": "#393552", - "theme.bar.menus.menu.bluetooth.text": "#e0def4", - "theme.bar.menus.menu.bluetooth.label.color": "#9ccfd8", - "theme.bar.menus.menu.bluetooth.border.color": "#2a273f", - "theme.bar.menus.menu.bluetooth.background.color": "#232136", - "theme.bar.menus.menu.bluetooth.card.color": "#2a283e", - "theme.bar.menus.menu.network.iconbuttons.active": "#c4a7e7", - "theme.bar.menus.menu.network.iconbuttons.passive": "#e0def4", - "theme.bar.menus.menu.network.icons.active": "#c4a7e7", - "theme.bar.menus.menu.network.icons.passive": "#56526e", - "theme.bar.menus.menu.network.listitems.active": "#c4a7e7", - "theme.bar.menus.menu.network.listitems.passive": "#e0def4", - "theme.bar.menus.menu.network.status.color": "#393552", - "theme.bar.menus.menu.network.text": "#e0def4", - "theme.bar.menus.menu.network.label.color": "#c4a7e7", - "theme.bar.menus.menu.network.border.color": "#2a273f", - "theme.bar.menus.menu.network.background.color": "#232136", - "theme.bar.menus.menu.network.card.color": "#2a283e", - "theme.bar.menus.menu.volume.input_slider.puck": "#44415a", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#393552", - "theme.bar.menus.menu.volume.input_slider.background": "#44415a", - "theme.bar.menus.menu.volume.input_slider.primary": "#eb6f92", - "theme.bar.menus.menu.volume.audio_slider.puck": "#44415a", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#393552", - "theme.bar.menus.menu.volume.audio_slider.background": "#44415a", - "theme.bar.menus.menu.volume.audio_slider.primary": "#eb6f92", - "theme.bar.menus.menu.volume.icons.active": "#eb6f92", - "theme.bar.menus.menu.volume.icons.passive": "#56526e", - "theme.bar.menus.menu.volume.iconbutton.active": "#eb6f92", - "theme.bar.menus.menu.volume.iconbutton.passive": "#e0def4", - "theme.bar.menus.menu.volume.listitems.active": "#eb6f92", - "theme.bar.menus.menu.volume.listitems.passive": "#e0def4", - "theme.bar.menus.menu.volume.border.color": "#2a273f", - "theme.bar.menus.menu.volume.background.color": "#232136", - "theme.bar.menus.menu.media.slider.puck": "#393552", - "theme.bar.menus.menu.media.slider.backgroundhover": "#393552", - "theme.bar.menus.menu.media.slider.background": "#44415a", - "theme.bar.menus.menu.media.slider.primary": "#c4a7e7", - "theme.bar.menus.menu.media.buttons.text": "#232136", - "theme.bar.menus.menu.media.buttons.background": "#c4a7e7", - "theme.bar.menus.menu.media.buttons.enabled": "#9ccfd8", - "theme.bar.menus.menu.media.buttons.inactive": "#44415a", - "theme.bar.menus.menu.media.border.color": "#2a273f", - "theme.bar.menus.menu.media.background.color": "#232136", - "theme.bar.menus.menu.media.album": "#c4a7e7", - "theme.bar.menus.menu.media.artist": "#9ccfd8", - "theme.bar.menus.menu.media.song": "#c4a7e7", - "theme.bar.menus.tooltip.text": "#e0def4", - "theme.bar.menus.tooltip.background": "#232136", - "theme.bar.menus.dropdownmenu.divider": "#2a283e", - "theme.bar.menus.dropdownmenu.text": "#e0def4", - "theme.bar.menus.dropdownmenu.background": "#232136", - "theme.bar.menus.slider.puck": "#393552", - "theme.bar.menus.slider.backgroundhover": "#393552", - "theme.bar.menus.slider.background": "#44415a", - "theme.bar.menus.slider.primary": "#c4a7e7", - "theme.bar.menus.progressbar.background": "#393552", - "theme.bar.menus.progressbar.foreground": "#c4a7e7", - "theme.bar.menus.iconbuttons.active": "#c4a7e7", - "theme.bar.menus.iconbuttons.passive": "#e0def4", - "theme.bar.menus.buttons.text": "#2a273f", - "theme.bar.menus.buttons.disabled": "#44415a", - "theme.bar.menus.buttons.active": "#c4a7e7", - "theme.bar.menus.buttons.default": "#c4a7e7", - "theme.bar.menus.switch.puck": "#393552", - "theme.bar.menus.switch.disabled": "#2a273f", - "theme.bar.menus.switch.enabled": "#c4a7e7", - "theme.bar.menus.icons.active": "#c4a7e7", - "theme.bar.menus.icons.passive": "#44415a", - "theme.bar.menus.listitems.active": "#c4a7e7", - "theme.bar.menus.listitems.passive": "#e0def4", - "theme.bar.menus.label": "#c4a7e7", - "theme.bar.menus.feinttext": "#2a273f", - "theme.bar.menus.dimtext": "#44415a", - "theme.bar.menus.cards": "#2a283e", - "theme.bar.buttons.notifications.total": "#c4a7e7", - "theme.bar.buttons.notifications.icon": "#c4a7e7", - "theme.bar.buttons.notifications.background": "#2a283e", - "theme.bar.buttons.clock.icon": "#c4a7e7", - "theme.bar.buttons.clock.text": "#c4a7e7", - "theme.bar.buttons.clock.background": "#2a283e", - "theme.bar.buttons.battery.icon": "#f6c177", - "theme.bar.buttons.battery.text": "#f6c177", - "theme.bar.buttons.battery.background": "#2a283e", - "theme.bar.buttons.systray.background": "#2a283e", - "theme.bar.buttons.bluetooth.icon": "#9ccfd8", - "theme.bar.buttons.bluetooth.text": "#9ccfd8", - "theme.bar.buttons.bluetooth.background": "#2a283e", - "theme.bar.buttons.network.icon": "#c4a7e7", - "theme.bar.buttons.network.text": "#c4a7e7", - "theme.bar.buttons.network.background": "#2a283e", - "theme.bar.buttons.volume.icon": "#eb6f92", - "theme.bar.buttons.volume.text": "#eb6f92", - "theme.bar.buttons.volume.background": "#2a283e", - "theme.bar.buttons.windowtitle.icon": "#c4a7e7", - "theme.bar.buttons.windowtitle.text": "#c4a7e7", - "theme.bar.buttons.windowtitle.background": "#2a283e", - "theme.bar.buttons.workspaces.active": "#c4a7e7", - "theme.bar.buttons.workspaces.occupied": "#eb6f92", - "theme.bar.buttons.workspaces.available": "#9ccfd8", - "theme.bar.buttons.workspaces.hover": "#393552", - "theme.bar.buttons.workspaces.background": "#2a283e", - "theme.bar.buttons.dashboard.icon": "#f6c177", - "theme.bar.buttons.dashboard.background": "#2a283e", - "theme.osd.label": "#c4a7e7", - "theme.osd.icon": "#232136", - "theme.osd.bar_overflow_color": "#eb6f92", - "theme.osd.bar_empty_color": "#2a273f", - "theme.osd.bar_color": "#c4a7e7", - "theme.osd.icon_container": "#c4a7e7", - "theme.osd.bar_container": "#232136", - "theme.notification.close_button.label": "#232136", - "theme.notification.close_button.background": "#eb6f92", - "theme.notification.labelicon": "#c4a7e7", - "theme.notification.text": "#e0def4", - "theme.notification.time": "#56526e", - "theme.notification.border": "#2a273f", - "theme.notification.label": "#c4a7e7", - "theme.notification.actions.text": "#2a273f", - "theme.notification.actions.background": "#c4a7e7", - "theme.notification.background": "#2a273f", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#181825", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#c678dd", - "theme.bar.menus.menu.media.card.color": "#2a283e", - "theme.bar.menus.check_radio_button.background": "#393452", - "theme.bar.menus.check_radio_button.active": "#c4a7e7", - "theme.bar.buttons.style": "default", - "theme.bar.menus.menu.notifications.pager.button": "#c4a7e7", - "theme.bar.menus.menu.notifications.scrollbar.color": "#c4a7e7", - "theme.bar.menus.menu.notifications.pager.label": "#56526e", - "theme.bar.menus.menu.notifications.pager.background": "#232136", - "theme.bar.buttons.modules.ram.icon": "#f6c177", - "theme.bar.buttons.modules.storage.icon_background": "#2a283e", - "theme.bar.buttons.modules.storage.icon": "#c4a7e7", - "theme.bar.buttons.modules.weather.icon": "#c4a7e7", - "theme.bar.buttons.modules.power.icon": "#eb6f92", - "theme.bar.menus.menu.power.border.color": "#2a273f", - "theme.bar.buttons.modules.power.icon_background": "#2a283e", - "theme.bar.buttons.modules.cpu.icon": "#eb6f92", - "theme.bar.buttons.modules.kbLayout.icon_background": "#2a283e", - "theme.bar.buttons.modules.weather.text": "#c4a7e7", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#2a273f", - "theme.bar.buttons.modules.weather.icon_background": "#2a283e", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#2a283e", - "theme.bar.buttons.modules.kbLayout.icon": "#9ccfd8", - "theme.bar.buttons.modules.ram.icon_background": "#2a283e", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#eb6f92", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#eb6f92", - "theme.bar.buttons.modules.updates.icon_background": "#2a283e", - "theme.bar.menus.menu.power.background.color": "#232136", - "theme.bar.buttons.modules.netstat.icon": "#9ccfd8", - "theme.bar.buttons.modules.cpu.icon_background": "#2a283e", - "theme.bar.buttons.modules.updates.icon": "#3e8eb0", - "theme.bar.buttons.modules.netstat.icon_background": "#2a283e", - "theme.bar.buttons.clock.icon_background": "#c4a7e7", - "theme.bar.menus.popover.border": "#2a273f", - "theme.bar.buttons.volume.icon_background": "#eb6f92", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#9ccfd8", - "theme.bar.menus.menu.power.buttons.restart.text": "#f6c177", - "theme.bar.buttons.modules.updates.background": "#2a283e", - "theme.bar.buttons.modules.netstat.background": "#2a283e", - "theme.bar.buttons.modules.netstat.text": "#9ccfd8", - "theme.bar.buttons.modules.storage.background": "#2a283e", - "theme.bar.buttons.modules.storage.text": "#eb6f92", - "theme.bar.buttons.modules.cpu.background": "#2a283e", - "theme.bar.buttons.network.icon_background": "#caa6f7", - "theme.bar.menus.menu.power.buttons.logout.icon": "#2a273f", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#f6c177", - "theme.bar.menus.menu.power.buttons.restart.icon": "#2a273f", - "theme.bar.buttons.battery.icon_background": "#f6c177", - "theme.bar.menus.menu.power.buttons.sleep.text": "#9ccfd8", - "theme.bar.buttons.media.icon_background": "#c4a7e7", - "theme.bar.menus.menu.power.buttons.logout.background": "#2a283e", - "theme.bar.menus.menu.power.buttons.sleep.background": "#2a283e", - "theme.bar.buttons.modules.ram.text": "#f6c177", - "theme.bar.menus.menu.power.buttons.logout.text": "#9ccfd8", - "theme.bar.buttons.modules.kbLayout.background": "#2a283e", - "theme.bar.buttons.modules.power.background": "#2a283e", - "theme.bar.buttons.modules.weather.background": "#2a283e", - "theme.bar.buttons.icon_background": "#2a283e", - "theme.bar.buttons.modules.ram.background": "#2a283e", - "theme.bar.buttons.windowtitle.icon_background": "#c4a7e7", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#9ccfd8", - "theme.bar.buttons.modules.updates.text": "#3e8eb0", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#2a273f", - "theme.bar.buttons.bluetooth.icon_background": "#89dbeb", - "theme.bar.menus.menu.power.buttons.restart.background": "#2a283e", - "theme.bar.buttons.modules.cpu.text": "#eb6f92", - "theme.bar.buttons.modules.kbLayout.text": "#9ccfd8", - "theme.bar.buttons.notifications.icon_background": "#c4a7e7", - "theme.bar.buttons.modules.power.border": "#eb6f92", - "theme.bar.buttons.modules.weather.border": "#c4a7e7", - "theme.bar.buttons.modules.updates.border": "#30738f", - "theme.bar.buttons.modules.kbLayout.border": "#9ccfd8", - "theme.bar.buttons.modules.netstat.border": "#9ccfd8", - "theme.bar.buttons.modules.storage.border": "#eb6f92", - "theme.bar.buttons.modules.cpu.border": "#eb6f92", - "theme.bar.buttons.modules.ram.border": "#f6c177", - "theme.bar.buttons.notifications.border": "#c4a7e7", - "theme.bar.buttons.clock.border": "#c4a7e7", - "theme.bar.buttons.battery.border": "#f6c177", - "theme.bar.buttons.systray.border": "#26233a", - "theme.bar.buttons.bluetooth.border": "#9ccfd8", - "theme.bar.buttons.network.border": "#c4a7e7", - "theme.bar.buttons.volume.border": "#eb6f92", - "theme.bar.buttons.media.border": "#c4a7e7", - "theme.bar.buttons.windowtitle.border": "#c4a7e7", - "theme.bar.buttons.workspaces.border": "#1f1d2e", - "theme.bar.buttons.dashboard.border": "#f6c177", - "theme.bar.buttons.modules.submap.background": "#2a283e", - "theme.bar.buttons.modules.submap.text": "#9ccfd8", - "theme.bar.buttons.modules.submap.border": "#9ccfd8", - "theme.bar.buttons.modules.submap.icon": "#9ccfd8", - "theme.bar.buttons.modules.submap.icon_background": "#2a283e" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/rose_pine_moon_split.json b/ags/HyprPanel/themes/rose_pine_moon_split.json deleted file mode 100644 index bbf84e8..0000000 --- a/ags/HyprPanel/themes/rose_pine_moon_split.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.background": "#232136", - "theme.bar.background": "#232136", - "theme.bar.buttons.media.icon": "#2a283e", - "theme.bar.buttons.media.text": "#c4a7e7", - "theme.bar.buttons.icon": "#c4a7e7", - "theme.bar.buttons.text": "#c4a7e7", - "theme.bar.buttons.hover": "#393552", - "theme.bar.buttons.background": "#2a283e", - "theme.bar.menus.text": "#e0def4", - "theme.bar.menus.border.color": "#2a273f", - "theme.bar.buttons.media.background": "#2a283e", - "theme.bar.menus.menu.volume.text": "#e0def4", - "theme.bar.menus.menu.volume.card.color": "#2a283e", - "theme.bar.menus.menu.volume.label.color": "#eb6f92", - "theme.bar.menus.popover.text": "#c4a7e7", - "theme.bar.menus.popover.background": "#2a273f", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#eb6f92", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#eb6f92", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#9ccfd8", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#232136", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#e0def4", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#c4a7e7", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#2a273f", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#232136", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#2a283e", - "theme.bar.menus.menu.notifications.switch.puck": "#393552", - "theme.bar.menus.menu.notifications.switch.disabled": "#2a273f", - "theme.bar.menus.menu.notifications.switch.enabled": "#c4a7e7", - "theme.bar.menus.menu.notifications.clear": "#eb6f92", - "theme.bar.menus.menu.notifications.switch_divider": "#393552", - "theme.bar.menus.menu.notifications.border": "#2a273f", - "theme.bar.menus.menu.notifications.card": "#2a283e", - "theme.bar.menus.menu.notifications.background": "#232136", - "theme.bar.menus.menu.notifications.no_notifications_label": "#2a273f", - "theme.bar.menus.menu.notifications.label": "#c4a7e7", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#c4a7e7", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#c4a7e7", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#c4a7e7", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#9ccfd8", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#9ccfd8", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#9ccfd8", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#f6c177", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#f6c177", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#f6c177", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#eb6f92", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#eb6f92", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#eb6f92", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#393552", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#c4a7e7", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#3e8eb0", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#9ccfd8", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#eb6f92", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#f6c177", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#c4a7e7", - "theme.bar.menus.menu.dashboard.controls.input.text": "#2a273f", - "theme.bar.menus.menu.dashboard.controls.input.background": "#3e8eb0", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#2a273f", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#eb6f92", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#2a273f", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#f6c177", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#2a273f", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#9ccfd8", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#2a273f", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#c4a7e7", - "theme.bar.menus.menu.dashboard.controls.disabled": "#44415a", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#9ccfd8", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#2a273f", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#c4a7e7", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#9ccfd8", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#9ccfd8", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#f6c177", - "theme.bar.menus.menu.dashboard.profile.name": "#c4a7e7", - "theme.bar.menus.menu.dashboard.border.color": "#2a273f", - "theme.bar.menus.menu.dashboard.background.color": "#232136", - "theme.bar.menus.menu.dashboard.card.color": "#2a283e", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#c4a7e7", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#c4a7e7", - "theme.bar.menus.menu.clock.weather.hourly.time": "#c4a7e7", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#9ccfd8", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#3e8fb0", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#c4a7e7", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#f6c177", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#eb6f92", - "theme.bar.menus.menu.clock.weather.stats": "#c4a7e7", - "theme.bar.menus.menu.clock.weather.status": "#9ccfd8", - "theme.bar.menus.menu.clock.weather.temperature": "#e0def4", - "theme.bar.menus.menu.clock.weather.icon": "#c4a7e7", - "theme.bar.menus.menu.clock.calendar.contextdays": "#44415a", - "theme.bar.menus.menu.clock.calendar.days": "#e0def4", - "theme.bar.menus.menu.clock.calendar.currentday": "#c4a7e7", - "theme.bar.menus.menu.clock.calendar.paginator": "#c4a7e7", - "theme.bar.menus.menu.clock.calendar.weekdays": "#c4a7e7", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#9ccfd8", - "theme.bar.menus.menu.clock.time.timeperiod": "#9ccfd8", - "theme.bar.menus.menu.clock.time.time": "#c4a7e7", - "theme.bar.menus.menu.clock.text": "#e0def4", - "theme.bar.menus.menu.clock.border.color": "#2a273f", - "theme.bar.menus.menu.clock.background.color": "#232136", - "theme.bar.menus.menu.clock.card.color": "#2a283e", - "theme.bar.menus.menu.battery.slider.puck": "#393552", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#393552", - "theme.bar.menus.menu.battery.slider.background": "#44415a", - "theme.bar.menus.menu.battery.slider.primary": "#f6c177", - "theme.bar.menus.menu.battery.icons.active": "#f6c177", - "theme.bar.menus.menu.battery.icons.passive": "#56526e", - "theme.bar.menus.menu.battery.listitems.active": "#f6c177", - "theme.bar.menus.menu.battery.listitems.passive": "#e0def4", - "theme.bar.menus.menu.battery.text": "#e0def4", - "theme.bar.menus.menu.battery.label.color": "#f6c177", - "theme.bar.menus.menu.battery.border.color": "#2a273f", - "theme.bar.menus.menu.battery.background.color": "#232136", - "theme.bar.menus.menu.battery.card.color": "#2a283e", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#2a283e", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#e0def4", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#232136", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#9ccfd8", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#e0def4", - "theme.bar.menus.menu.bluetooth.icons.active": "#9ccfd8", - "theme.bar.menus.menu.bluetooth.icons.passive": "#56526e", - "theme.bar.menus.menu.bluetooth.listitems.active": "#9ccfd8", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#e0def4", - "theme.bar.menus.menu.bluetooth.switch.puck": "#393552", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#2a273f", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#9ccfd8", - "theme.bar.menus.menu.bluetooth.switch_divider": "#393552", - "theme.bar.menus.menu.bluetooth.status": "#393552", - "theme.bar.menus.menu.bluetooth.text": "#e0def4", - "theme.bar.menus.menu.bluetooth.label.color": "#9ccfd8", - "theme.bar.menus.menu.bluetooth.border.color": "#2a273f", - "theme.bar.menus.menu.bluetooth.background.color": "#232136", - "theme.bar.menus.menu.bluetooth.card.color": "#2a283e", - "theme.bar.menus.menu.network.iconbuttons.active": "#c4a7e7", - "theme.bar.menus.menu.network.iconbuttons.passive": "#e0def4", - "theme.bar.menus.menu.network.icons.active": "#c4a7e7", - "theme.bar.menus.menu.network.icons.passive": "#56526e", - "theme.bar.menus.menu.network.listitems.active": "#c4a7e7", - "theme.bar.menus.menu.network.listitems.passive": "#e0def4", - "theme.bar.menus.menu.network.status.color": "#393552", - "theme.bar.menus.menu.network.text": "#e0def4", - "theme.bar.menus.menu.network.label.color": "#c4a7e7", - "theme.bar.menus.menu.network.border.color": "#2a273f", - "theme.bar.menus.menu.network.background.color": "#232136", - "theme.bar.menus.menu.network.card.color": "#2a283e", - "theme.bar.menus.menu.volume.input_slider.puck": "#44415a", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#393552", - "theme.bar.menus.menu.volume.input_slider.background": "#44415a", - "theme.bar.menus.menu.volume.input_slider.primary": "#eb6f92", - "theme.bar.menus.menu.volume.audio_slider.puck": "#44415a", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#393552", - "theme.bar.menus.menu.volume.audio_slider.background": "#44415a", - "theme.bar.menus.menu.volume.audio_slider.primary": "#eb6f92", - "theme.bar.menus.menu.volume.icons.active": "#eb6f92", - "theme.bar.menus.menu.volume.icons.passive": "#56526e", - "theme.bar.menus.menu.volume.iconbutton.active": "#eb6f92", - "theme.bar.menus.menu.volume.iconbutton.passive": "#e0def4", - "theme.bar.menus.menu.volume.listitems.active": "#eb6f92", - "theme.bar.menus.menu.volume.listitems.passive": "#e0def4", - "theme.bar.menus.menu.volume.border.color": "#2a273f", - "theme.bar.menus.menu.volume.background.color": "#232136", - "theme.bar.menus.menu.media.slider.puck": "#393552", - "theme.bar.menus.menu.media.slider.backgroundhover": "#393552", - "theme.bar.menus.menu.media.slider.background": "#44415a", - "theme.bar.menus.menu.media.slider.primary": "#c4a7e7", - "theme.bar.menus.menu.media.buttons.text": "#232136", - "theme.bar.menus.menu.media.buttons.background": "#c4a7e7", - "theme.bar.menus.menu.media.buttons.enabled": "#9ccfd8", - "theme.bar.menus.menu.media.buttons.inactive": "#44415a", - "theme.bar.menus.menu.media.border.color": "#2a273f", - "theme.bar.menus.menu.media.background.color": "#232136", - "theme.bar.menus.menu.media.album": "#c4a7e7", - "theme.bar.menus.menu.media.artist": "#9ccfd8", - "theme.bar.menus.menu.media.song": "#c4a7e7", - "theme.bar.menus.tooltip.text": "#e0def4", - "theme.bar.menus.tooltip.background": "#232136", - "theme.bar.menus.dropdownmenu.divider": "#2a283e", - "theme.bar.menus.dropdownmenu.text": "#e0def4", - "theme.bar.menus.dropdownmenu.background": "#232136", - "theme.bar.menus.slider.puck": "#393552", - "theme.bar.menus.slider.backgroundhover": "#393552", - "theme.bar.menus.slider.background": "#44415a", - "theme.bar.menus.slider.primary": "#c4a7e7", - "theme.bar.menus.progressbar.background": "#393552", - "theme.bar.menus.progressbar.foreground": "#c4a7e7", - "theme.bar.menus.iconbuttons.active": "#c4a7e7", - "theme.bar.menus.iconbuttons.passive": "#e0def4", - "theme.bar.menus.buttons.text": "#2a273f", - "theme.bar.menus.buttons.disabled": "#44415a", - "theme.bar.menus.buttons.active": "#c4a7e7", - "theme.bar.menus.buttons.default": "#c4a7e7", - "theme.bar.menus.switch.puck": "#393552", - "theme.bar.menus.switch.disabled": "#2a273f", - "theme.bar.menus.switch.enabled": "#c4a7e7", - "theme.bar.menus.icons.active": "#c4a7e7", - "theme.bar.menus.icons.passive": "#44415a", - "theme.bar.menus.listitems.active": "#c4a7e7", - "theme.bar.menus.listitems.passive": "#e0def4", - "theme.bar.menus.label": "#c4a7e7", - "theme.bar.menus.feinttext": "#2a273f", - "theme.bar.menus.dimtext": "#44415a", - "theme.bar.menus.cards": "#2a283e", - "theme.bar.buttons.notifications.total": "#c4a7e7", - "theme.bar.buttons.notifications.icon": "#2a283e", - "theme.bar.buttons.notifications.background": "#2a283e", - "theme.bar.buttons.clock.icon": "#2a283e", - "theme.bar.buttons.clock.text": "#c4a7e7", - "theme.bar.buttons.clock.background": "#2a283e", - "theme.bar.buttons.battery.icon": "#2a283e", - "theme.bar.buttons.battery.text": "#f6c177", - "theme.bar.buttons.battery.background": "#2a283e", - "theme.bar.buttons.systray.background": "#2a283e", - "theme.bar.buttons.bluetooth.icon": "#2a283e", - "theme.bar.buttons.bluetooth.text": "#9ccfd8", - "theme.bar.buttons.bluetooth.background": "#2a283e", - "theme.bar.buttons.network.icon": "#2a283e", - "theme.bar.buttons.network.text": "#c4a7e7", - "theme.bar.buttons.network.background": "#2a283e", - "theme.bar.buttons.volume.icon": "#2a283e", - "theme.bar.buttons.volume.text": "#eb6f92", - "theme.bar.buttons.volume.background": "#2a283e", - "theme.bar.buttons.windowtitle.icon": "#2a283e", - "theme.bar.buttons.windowtitle.text": "#c4a7e7", - "theme.bar.buttons.windowtitle.background": "#2a283e", - "theme.bar.buttons.workspaces.active": "#c4a7e7", - "theme.bar.buttons.workspaces.occupied": "#eb6f92", - "theme.bar.buttons.workspaces.available": "#9ccfd8", - "theme.bar.buttons.workspaces.hover": "#c4a7e7", - "theme.bar.buttons.workspaces.background": "#2a283e", - "theme.bar.buttons.dashboard.icon": "#2a283e", - "theme.bar.buttons.dashboard.background": "#f6c177", - "theme.osd.label": "#c4a7e7", - "theme.osd.icon": "#232136", - "theme.osd.bar_overflow_color": "#eb6f92", - "theme.osd.bar_empty_color": "#2a273f", - "theme.osd.bar_color": "#c4a7e7", - "theme.osd.icon_container": "#c4a7e7", - "theme.osd.bar_container": "#232136", - "theme.notification.close_button.label": "#232136", - "theme.notification.close_button.background": "#eb6f92", - "theme.notification.labelicon": "#c4a7e7", - "theme.notification.text": "#e0def4", - "theme.notification.time": "#56526e", - "theme.notification.border": "#2a273f", - "theme.notification.label": "#c4a7e7", - "theme.notification.actions.text": "#2a273f", - "theme.notification.actions.background": "#c4a7e7", - "theme.notification.background": "#2a273f", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#181825", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#c678dd", - "theme.bar.menus.menu.media.card.color": "#2a283e", - "theme.bar.menus.check_radio_button.background": "#393452", - "theme.bar.menus.check_radio_button.active": "#c4a7e7", - "theme.bar.buttons.style": "split", - "theme.bar.buttons.icon_background": "#242438", - "theme.bar.buttons.volume.icon_background": "#eb6f92", - "theme.bar.buttons.network.icon_background": "#c4a7e7", - "theme.bar.buttons.bluetooth.icon_background": "#9ccfd8", - "theme.bar.buttons.windowtitle.icon_background": "#c4a7e7", - "theme.bar.buttons.media.icon_background": "#c4a7e7", - "theme.bar.buttons.notifications.icon_background": "#c4a7e7", - "theme.bar.buttons.battery.icon_background": "#f6c177", - "theme.bar.buttons.clock.icon_background": "#c4a7e7", - "theme.bar.menus.menu.notifications.pager.button": "#c4a7e7", - "theme.bar.menus.menu.notifications.scrollbar.color": "#c4a7e7", - "theme.bar.menus.menu.notifications.pager.label": "#56526e", - "theme.bar.menus.menu.notifications.pager.background": "#232136", - "theme.bar.buttons.modules.ram.icon": "#181825", - "theme.bar.buttons.modules.storage.icon_background": "#eb6f92", - "theme.bar.menus.popover.border": "#2a273f", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#9ccfd8", - "theme.bar.menus.menu.power.buttons.restart.text": "#f6c177", - "theme.bar.buttons.modules.updates.background": "#2a283e", - "theme.bar.buttons.modules.storage.icon": "#181825", - "theme.bar.buttons.modules.netstat.background": "#2a283e", - "theme.bar.buttons.modules.weather.icon": "#2a283e", - "theme.bar.buttons.modules.netstat.text": "#9ccfd8", - "theme.bar.buttons.modules.storage.background": "#2a283e", - "theme.bar.buttons.modules.power.icon": "#181825", - "theme.bar.buttons.modules.storage.text": "#eb6f92", - "theme.bar.buttons.modules.cpu.background": "#2a283e", - "theme.bar.menus.menu.power.border.color": "#2a273f", - "theme.bar.buttons.modules.power.icon_background": "#eb6f92", - "theme.bar.menus.menu.power.buttons.logout.icon": "#2a273f", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#f6c177", - "theme.bar.menus.menu.power.buttons.restart.icon": "#2a273f", - "theme.bar.buttons.modules.cpu.icon": "#181825", - "theme.bar.buttons.modules.kbLayout.icon_background": "#9ccfd8", - "theme.bar.buttons.modules.weather.text": "#c4a7e7", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#2a273f", - "theme.bar.menus.menu.power.buttons.sleep.text": "#9ccfd8", - "theme.bar.buttons.modules.weather.icon_background": "#c4a7e7", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#2a283e", - "theme.bar.menus.menu.power.buttons.logout.background": "#2a283e", - "theme.bar.buttons.modules.kbLayout.icon": "#181825", - "theme.bar.buttons.modules.ram.icon_background": "#f6c177", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#eb6f92", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#eb6f92", - "theme.bar.menus.menu.power.buttons.sleep.background": "#2a283e", - "theme.bar.buttons.modules.ram.text": "#f6c177", - "theme.bar.menus.menu.power.buttons.logout.text": "#9ccfd8", - "theme.bar.buttons.modules.updates.icon_background": "#3e8eb0", - "theme.bar.buttons.modules.kbLayout.background": "#2a283e", - "theme.bar.buttons.modules.power.background": "#2a283e", - "theme.bar.buttons.modules.weather.background": "#2a283e", - "theme.bar.menus.menu.power.background.color": "#232136", - "theme.bar.buttons.modules.ram.background": "#2a283e", - "theme.bar.buttons.modules.netstat.icon": "#181825", - "theme.bar.buttons.modules.cpu.icon_background": "#eb6f92", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#9ccfd8", - "theme.bar.buttons.modules.updates.text": "#3e8eb0", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#2a273f", - "theme.bar.menus.menu.power.buttons.restart.background": "#2a283e", - "theme.bar.buttons.modules.updates.icon": "#181825", - "theme.bar.buttons.modules.cpu.text": "#eb6f92", - "theme.bar.buttons.modules.netstat.icon_background": "#9ccfd8", - "theme.bar.buttons.modules.kbLayout.text": "#9ccfd8", - "theme.bar.buttons.modules.power.border": "#eb6f92", - "theme.bar.buttons.modules.weather.border": "#c4a7e7", - "theme.bar.buttons.modules.updates.border": "#30738f", - "theme.bar.buttons.modules.kbLayout.border": "#9ccfd8", - "theme.bar.buttons.modules.netstat.border": "#9ccfd8", - "theme.bar.buttons.modules.storage.border": "#eb6f92", - "theme.bar.buttons.modules.cpu.border": "#eb6f92", - "theme.bar.buttons.modules.ram.border": "#f6c177", - "theme.bar.buttons.notifications.border": "#c4a7e7", - "theme.bar.buttons.clock.border": "#c4a7e7", - "theme.bar.buttons.battery.border": "#f6c177", - "theme.bar.buttons.systray.border": "#26233a", - "theme.bar.buttons.bluetooth.border": "#9ccfd8", - "theme.bar.buttons.network.border": "#c4a7e7", - "theme.bar.buttons.volume.border": "#eb6f92", - "theme.bar.buttons.media.border": "#c4a7e7", - "theme.bar.buttons.windowtitle.border": "#c4a7e7", - "theme.bar.buttons.workspaces.border": "#1f1d2e", - "theme.bar.buttons.dashboard.border": "#f6c177", - "theme.bar.buttons.modules.submap.background": "#2a283e", - "theme.bar.buttons.modules.submap.text": "#9ccfd8", - "theme.bar.buttons.modules.submap.border": "#9ccfd8", - "theme.bar.buttons.modules.submap.icon": "#181825", - "theme.bar.buttons.modules.submap.icon_background": "#9ccfd8" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/rose_pine_split.json b/ags/HyprPanel/themes/rose_pine_split.json deleted file mode 100644 index 404693c..0000000 --- a/ags/HyprPanel/themes/rose_pine_split.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.background": "#191724", - "theme.bar.background": "#191724", - "theme.bar.buttons.media.icon": "#21202e", - "theme.bar.buttons.media.text": "#c4a7e7", - "theme.bar.buttons.icon": "#c4a7e7", - "theme.bar.buttons.text": "#c4a7e7", - "theme.bar.buttons.hover": "#26233a", - "theme.bar.buttons.background": "#21202e", - "theme.bar.menus.text": "#e0def4", - "theme.bar.menus.border.color": "#1f1d2e", - "theme.bar.buttons.media.background": "#21202e", - "theme.bar.menus.menu.volume.text": "#e0def4", - "theme.bar.menus.menu.volume.card.color": "#21202e", - "theme.bar.menus.menu.volume.label.color": "#eb6f92", - "theme.bar.menus.popover.text": "#c4a7e7", - "theme.bar.menus.popover.background": "#1f1d2e", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#eb6f92", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#eb6f92", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#9ccfd8", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#191724", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#e0def4", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#c4a7e7", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#1f1d2e", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#191724", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#21202e", - "theme.bar.menus.menu.notifications.switch.puck": "#26233a", - "theme.bar.menus.menu.notifications.switch.disabled": "#1f1d2e", - "theme.bar.menus.menu.notifications.switch.enabled": "#c4a7e7", - "theme.bar.menus.menu.notifications.clear": "#eb6f92", - "theme.bar.menus.menu.notifications.switch_divider": "#26233a", - "theme.bar.menus.menu.notifications.border": "#1f1d2e", - "theme.bar.menus.menu.notifications.card": "#21202e", - "theme.bar.menus.menu.notifications.background": "#191724", - "theme.bar.menus.menu.notifications.no_notifications_label": "#1f1d2e", - "theme.bar.menus.menu.notifications.label": "#c4a7e7", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#c4a7e7", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#c4a7e7", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#c4a7e7", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#9ccfd8", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#9ccfd8", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#9ccfd8", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#f6c177", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#f6c177", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#f6c177", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#eb6f92", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#eb6f92", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#eb6f92", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#26233a", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#c4a7e7", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#30738f", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#9ccfd8", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#eb6f92", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#f6c177", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#c4a7e7", - "theme.bar.menus.menu.dashboard.controls.input.text": "#1f1d2e", - "theme.bar.menus.menu.dashboard.controls.input.background": "#30738f", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#1f1d2e", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#eb6f92", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#1f1d2e", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#f6c177", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#1f1d2e", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#9ccfd8", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#1f1d2e", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#c4a7e7", - "theme.bar.menus.menu.dashboard.controls.disabled": "#403d52", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#9ccfd8", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#1f1d2e", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#c4a7e7", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#9ccfd8", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#9ccfd8", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#f6c177", - "theme.bar.menus.menu.dashboard.profile.name": "#c4a7e7", - "theme.bar.menus.menu.dashboard.border.color": "#1f1d2e", - "theme.bar.menus.menu.dashboard.background.color": "#191724", - "theme.bar.menus.menu.dashboard.card.color": "#21202e", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#c4a7e7", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#c4a7e7", - "theme.bar.menus.menu.clock.weather.hourly.time": "#c4a7e7", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#9ccfd8", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#31748f", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#c4a7e7", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#f6c177", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#eb6f92", - "theme.bar.menus.menu.clock.weather.stats": "#c4a7e7", - "theme.bar.menus.menu.clock.weather.status": "#9ccfd8", - "theme.bar.menus.menu.clock.weather.temperature": "#e0def4", - "theme.bar.menus.menu.clock.weather.icon": "#c4a7e7", - "theme.bar.menus.menu.clock.calendar.contextdays": "#403d52", - "theme.bar.menus.menu.clock.calendar.days": "#e0def4", - "theme.bar.menus.menu.clock.calendar.currentday": "#c4a7e7", - "theme.bar.menus.menu.clock.calendar.paginator": "#c4a7e7", - "theme.bar.menus.menu.clock.calendar.weekdays": "#c4a7e7", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#9ccfd8", - "theme.bar.menus.menu.clock.time.timeperiod": "#9ccfd8", - "theme.bar.menus.menu.clock.time.time": "#c4a7e7", - "theme.bar.menus.menu.clock.text": "#e0def4", - "theme.bar.menus.menu.clock.border.color": "#1f1d2e", - "theme.bar.menus.menu.clock.background.color": "#191724", - "theme.bar.menus.menu.clock.card.color": "#21202e", - "theme.bar.menus.menu.battery.slider.puck": "#26233a", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#26233a", - "theme.bar.menus.menu.battery.slider.background": "#403d52", - "theme.bar.menus.menu.battery.slider.primary": "#f6c177", - "theme.bar.menus.menu.battery.icons.active": "#f6c177", - "theme.bar.menus.menu.battery.icons.passive": "#524f67", - "theme.bar.menus.menu.battery.listitems.active": "#f6c177", - "theme.bar.menus.menu.battery.listitems.passive": "#e0def4", - "theme.bar.menus.menu.battery.text": "#e0def4", - "theme.bar.menus.menu.battery.label.color": "#f6c177", - "theme.bar.menus.menu.battery.border.color": "#1f1d2e", - "theme.bar.menus.menu.battery.background.color": "#191724", - "theme.bar.menus.menu.battery.card.color": "#21202e", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#21202e", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#e0def4", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#191724", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#9ccfd8", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#e0def4", - "theme.bar.menus.menu.bluetooth.icons.active": "#9ccfd8", - "theme.bar.menus.menu.bluetooth.icons.passive": "#524f67", - "theme.bar.menus.menu.bluetooth.listitems.active": "#9ccfd8", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#e0def4", - "theme.bar.menus.menu.bluetooth.switch.puck": "#26233a", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#1f1d2e", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#9ccfd8", - "theme.bar.menus.menu.bluetooth.switch_divider": "#26233a", - "theme.bar.menus.menu.bluetooth.status": "#26233a", - "theme.bar.menus.menu.bluetooth.text": "#e0def4", - "theme.bar.menus.menu.bluetooth.label.color": "#9ccfd8", - "theme.bar.menus.menu.bluetooth.border.color": "#1f1d2e", - "theme.bar.menus.menu.bluetooth.background.color": "#191724", - "theme.bar.menus.menu.bluetooth.card.color": "#21202e", - "theme.bar.menus.menu.network.iconbuttons.active": "#c4a7e7", - "theme.bar.menus.menu.network.iconbuttons.passive": "#e0def4", - "theme.bar.menus.menu.network.icons.active": "#c4a7e7", - "theme.bar.menus.menu.network.icons.passive": "#524f67", - "theme.bar.menus.menu.network.listitems.active": "#c4a7e7", - "theme.bar.menus.menu.network.listitems.passive": "#e0def4", - "theme.bar.menus.menu.network.status.color": "#26233a", - "theme.bar.menus.menu.network.text": "#e0def4", - "theme.bar.menus.menu.network.label.color": "#c4a7e7", - "theme.bar.menus.menu.network.border.color": "#1f1d2e", - "theme.bar.menus.menu.network.background.color": "#191724", - "theme.bar.menus.menu.network.card.color": "#21202e", - "theme.bar.menus.menu.volume.input_slider.puck": "#403d52", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#26233a", - "theme.bar.menus.menu.volume.input_slider.background": "#403d52", - "theme.bar.menus.menu.volume.input_slider.primary": "#eb6f92", - "theme.bar.menus.menu.volume.audio_slider.puck": "#403d52", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#26233a", - "theme.bar.menus.menu.volume.audio_slider.background": "#403d52", - "theme.bar.menus.menu.volume.audio_slider.primary": "#eb6f92", - "theme.bar.menus.menu.volume.icons.active": "#eb6f92", - "theme.bar.menus.menu.volume.icons.passive": "#524f67", - "theme.bar.menus.menu.volume.iconbutton.active": "#eb6f92", - "theme.bar.menus.menu.volume.iconbutton.passive": "#e0def4", - "theme.bar.menus.menu.volume.listitems.active": "#eb6f92", - "theme.bar.menus.menu.volume.listitems.passive": "#e0def4", - "theme.bar.menus.menu.volume.border.color": "#1f1d2e", - "theme.bar.menus.menu.volume.background.color": "#191724", - "theme.bar.menus.menu.media.slider.puck": "#26233a", - "theme.bar.menus.menu.media.slider.backgroundhover": "#26233a", - "theme.bar.menus.menu.media.slider.background": "#403d52", - "theme.bar.menus.menu.media.slider.primary": "#c4a7e7", - "theme.bar.menus.menu.media.buttons.text": "#191724", - "theme.bar.menus.menu.media.buttons.background": "#c4a7e7", - "theme.bar.menus.menu.media.buttons.enabled": "#9ccfd8", - "theme.bar.menus.menu.media.buttons.inactive": "#403d52", - "theme.bar.menus.menu.media.border.color": "#1f1d2e", - "theme.bar.menus.menu.media.background.color": "#191724", - "theme.bar.menus.menu.media.album": "#c4a7e7", - "theme.bar.menus.menu.media.artist": "#9ccfd8", - "theme.bar.menus.menu.media.song": "#c4a7e7", - "theme.bar.menus.tooltip.text": "#e0def4", - "theme.bar.menus.tooltip.background": "#191724", - "theme.bar.menus.dropdownmenu.divider": "#21202e", - "theme.bar.menus.dropdownmenu.text": "#e0def4", - "theme.bar.menus.dropdownmenu.background": "#191724", - "theme.bar.menus.slider.puck": "#26233a", - "theme.bar.menus.slider.backgroundhover": "#26233a", - "theme.bar.menus.slider.background": "#403d52", - "theme.bar.menus.slider.primary": "#c4a7e7", - "theme.bar.menus.progressbar.background": "#26233a", - "theme.bar.menus.progressbar.foreground": "#c4a7e7", - "theme.bar.menus.iconbuttons.active": "#c4a7e7", - "theme.bar.menus.iconbuttons.passive": "#e0def4", - "theme.bar.menus.buttons.text": "#1f1d2e", - "theme.bar.menus.buttons.disabled": "#403d52", - "theme.bar.menus.buttons.active": "#c4a7e7", - "theme.bar.menus.buttons.default": "#c4a7e7", - "theme.bar.menus.switch.puck": "#26233a", - "theme.bar.menus.switch.disabled": "#1f1d2e", - "theme.bar.menus.switch.enabled": "#c4a7e7", - "theme.bar.menus.icons.active": "#c4a7e7", - "theme.bar.menus.icons.passive": "#403d52", - "theme.bar.menus.listitems.active": "#c4a7e7", - "theme.bar.menus.listitems.passive": "#e0def4", - "theme.bar.menus.label": "#c4a7e7", - "theme.bar.menus.feinttext": "#1f1d2e", - "theme.bar.menus.dimtext": "#403d52", - "theme.bar.menus.cards": "#21202e", - "theme.bar.buttons.notifications.total": "#c4a7e7", - "theme.bar.buttons.notifications.icon": "#21202e", - "theme.bar.buttons.notifications.background": "#21202e", - "theme.bar.buttons.clock.icon": "#21202e", - "theme.bar.buttons.clock.text": "#c4a7e7", - "theme.bar.buttons.clock.background": "#21202e", - "theme.bar.buttons.battery.icon": "#21202e", - "theme.bar.buttons.battery.text": "#f6c177", - "theme.bar.buttons.battery.background": "#21202e", - "theme.bar.buttons.systray.background": "#21202e", - "theme.bar.buttons.bluetooth.icon": "#26233a", - "theme.bar.buttons.bluetooth.text": "#9ccfd8", - "theme.bar.buttons.bluetooth.background": "#21202e", - "theme.bar.buttons.network.icon": "#21202e", - "theme.bar.buttons.network.text": "#c4a7e7", - "theme.bar.buttons.network.background": "#21202e", - "theme.bar.buttons.volume.icon": "#21202e", - "theme.bar.buttons.volume.text": "#eb6f92", - "theme.bar.buttons.volume.background": "#21202e", - "theme.bar.buttons.windowtitle.icon": "#21202e", - "theme.bar.buttons.windowtitle.text": "#c4a7e7", - "theme.bar.buttons.windowtitle.background": "#21202e", - "theme.bar.buttons.workspaces.active": "#c4a7e7", - "theme.bar.buttons.workspaces.occupied": "#eb6f92", - "theme.bar.buttons.workspaces.available": "#9ccfd8", - "theme.bar.buttons.workspaces.hover": "#c4a7e7", - "theme.bar.buttons.workspaces.background": "#21202e", - "theme.bar.buttons.dashboard.icon": "#21202e", - "theme.bar.buttons.dashboard.background": "#f6c177", - "theme.osd.label": "#c4a7e7", - "theme.osd.icon": "#191724", - "theme.osd.bar_overflow_color": "#eb6f92", - "theme.osd.bar_empty_color": "#1f1d2e", - "theme.osd.bar_color": "#c4a7e7", - "theme.osd.icon_container": "#c4a7e7", - "theme.osd.bar_container": "#191724", - "theme.notification.close_button.label": "#191724", - "theme.notification.close_button.background": "#eb6f92", - "theme.notification.labelicon": "#c4a7e7", - "theme.notification.text": "#e0def4", - "theme.notification.time": "#403d52", - "theme.notification.border": "#1f1d2e", - "theme.notification.label": "#c4a7e7", - "theme.notification.actions.text": "#1f1d2e", - "theme.notification.actions.background": "#c4a7e7", - "theme.notification.background": "#1f1d2e", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#181825", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#c678dd", - "theme.bar.menus.menu.media.card.color": "#21202e", - "theme.bar.menus.check_radio_button.background": "#393452", - "theme.bar.menus.check_radio_button.active": "#c4a7e7", - "theme.bar.buttons.style": "split", - "theme.bar.buttons.icon_background": "#242438", - "theme.bar.buttons.volume.icon_background": "#eb6f92", - "theme.bar.buttons.network.icon_background": "#c4a7e7", - "theme.bar.buttons.bluetooth.icon_background": "#9ccfd8", - "theme.bar.buttons.windowtitle.icon_background": "#c4a7e7", - "theme.bar.buttons.media.icon_background": "#c4a7e7", - "theme.bar.buttons.notifications.icon_background": "#c4a7e7", - "theme.bar.buttons.battery.icon_background": "#f6c177", - "theme.bar.buttons.clock.icon_background": "#c4a7e7", - "theme.bar.menus.menu.notifications.pager.button": "#c4a7e7", - "theme.bar.menus.menu.notifications.scrollbar.color": "#c4a7e7", - "theme.bar.menus.menu.notifications.pager.label": "#524f67", - "theme.bar.menus.menu.notifications.pager.background": "#191724", - "theme.bar.buttons.modules.ram.icon": "#181825", - "theme.bar.buttons.modules.storage.icon_background": "#eb6f92", - "theme.bar.menus.popover.border": "#1f1d2e", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#9ccfd8", - "theme.bar.menus.menu.power.buttons.restart.text": "#f6c177", - "theme.bar.buttons.modules.updates.background": "#21202e", - "theme.bar.buttons.modules.storage.icon": "#181825", - "theme.bar.buttons.modules.netstat.background": "#21202e", - "theme.bar.buttons.modules.weather.icon": "#21202e", - "theme.bar.buttons.modules.netstat.text": "#9ccfd8", - "theme.bar.buttons.modules.storage.background": "#21202e", - "theme.bar.buttons.modules.power.icon": "#181825", - "theme.bar.buttons.modules.storage.text": "#eb6f92", - "theme.bar.buttons.modules.cpu.background": "#21202e", - "theme.bar.menus.menu.power.border.color": "#1f1d2e", - "theme.bar.buttons.modules.power.icon_background": "#eb6f92", - "theme.bar.menus.menu.power.buttons.logout.icon": "#1f1d2e", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#f6c177", - "theme.bar.menus.menu.power.buttons.restart.icon": "#1f1d2e", - "theme.bar.buttons.modules.cpu.icon": "#181825", - "theme.bar.buttons.modules.kbLayout.icon_background": "#9ccfd8", - "theme.bar.buttons.modules.weather.text": "#c4a7e7", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#1f1d2e", - "theme.bar.menus.menu.power.buttons.sleep.text": "#9ccfd8", - "theme.bar.buttons.modules.weather.icon_background": "#c4a7e7", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#21202e", - "theme.bar.menus.menu.power.buttons.logout.background": "#21202e", - "theme.bar.buttons.modules.kbLayout.icon": "#181825", - "theme.bar.buttons.modules.ram.icon_background": "#f6c177", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#eb6f92", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#eb6f92", - "theme.bar.menus.menu.power.buttons.sleep.background": "#21202e", - "theme.bar.buttons.modules.ram.text": "#f6c177", - "theme.bar.menus.menu.power.buttons.logout.text": "#9ccfd8", - "theme.bar.buttons.modules.updates.icon_background": "#30738f", - "theme.bar.buttons.modules.kbLayout.background": "#21202e", - "theme.bar.buttons.modules.power.background": "#21202e", - "theme.bar.buttons.modules.weather.background": "#21202e", - "theme.bar.menus.menu.power.background.color": "#191724", - "theme.bar.buttons.modules.ram.background": "#21202e", - "theme.bar.buttons.modules.netstat.icon": "#181825", - "theme.bar.buttons.modules.cpu.icon_background": "#eb6f92", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#9ccfd8", - "theme.bar.buttons.modules.updates.text": "#30738f", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#1f1d2e", - "theme.bar.menus.menu.power.buttons.restart.background": "#21202e", - "theme.bar.buttons.modules.updates.icon": "#181825", - "theme.bar.buttons.modules.cpu.text": "#eb6f92", - "theme.bar.buttons.modules.netstat.icon_background": "#9ccfd8", - "theme.bar.buttons.modules.kbLayout.text": "#9ccfd8", - "theme.bar.buttons.modules.power.border": "#eb6f92", - "theme.bar.buttons.modules.weather.border": "#c4a7e7", - "theme.bar.buttons.modules.updates.border": "#30738f", - "theme.bar.buttons.modules.kbLayout.border": "#9ccfd8", - "theme.bar.buttons.modules.netstat.border": "#9ccfd8", - "theme.bar.buttons.modules.storage.border": "#eb6f92", - "theme.bar.buttons.modules.cpu.border": "#eb6f92", - "theme.bar.buttons.modules.ram.border": "#f6c177", - "theme.bar.buttons.notifications.border": "#c4a7e7", - "theme.bar.buttons.clock.border": "#c4a7e7", - "theme.bar.buttons.battery.border": "#f6c177", - "theme.bar.buttons.systray.border": "#26233a", - "theme.bar.buttons.bluetooth.border": "#9ccfd8", - "theme.bar.buttons.network.border": "#c4a7e7", - "theme.bar.buttons.volume.border": "#eb6f92", - "theme.bar.buttons.media.border": "#c4a7e7", - "theme.bar.buttons.windowtitle.border": "#c4a7e7", - "theme.bar.buttons.workspaces.border": "#1f1d2e", - "theme.bar.buttons.dashboard.border": "#f6c177", - "theme.bar.buttons.modules.submap.background": "#21202e", - "theme.bar.buttons.modules.submap.text": "#9ccfd8", - "theme.bar.buttons.modules.submap.border": "#9ccfd8", - "theme.bar.buttons.modules.submap.icon": "#181825", - "theme.bar.buttons.modules.submap.icon_background": "#9ccfd8" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/tokyo_night.json b/ags/HyprPanel/themes/tokyo_night.json deleted file mode 100644 index 01e63c8..0000000 --- a/ags/HyprPanel/themes/tokyo_night.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.background": "#1a1b26", - "theme.bar.background": "#1a1b26", - "theme.bar.buttons.media.icon": "#bb9af7", - "theme.bar.buttons.media.text": "#bb9af7", - "theme.bar.buttons.icon": "#bb9af7", - "theme.bar.buttons.text": "#bb9af7", - "theme.bar.buttons.hover": "#414868", - "theme.bar.buttons.background": "#272a3d", - "theme.bar.menus.text": "#c0caf5", - "theme.bar.menus.border.color": "#414868", - "theme.bar.buttons.media.background": "#272a3d", - "theme.bar.menus.menu.volume.text": "#c0caf5", - "theme.bar.menus.menu.volume.card.color": "#24283b", - "theme.bar.menus.menu.volume.label.color": "#f7768e", - "theme.bar.menus.popover.text": "#bb9af7", - "theme.bar.menus.popover.background": "#1a1b26", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#f7768e", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#f7768e", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#9ece6a", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#1a1b26", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#c0caf5", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#bb9af7", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#414868", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#1a1b26", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#24283b", - "theme.bar.menus.menu.notifications.switch.puck": "#565f89", - "theme.bar.menus.menu.notifications.switch.disabled": "#565f89", - "theme.bar.menus.menu.notifications.switch.enabled": "#bb9af7", - "theme.bar.menus.menu.notifications.clear": "#f7768e", - "theme.bar.menus.menu.notifications.switch_divider": "#414868", - "theme.bar.menus.menu.notifications.border": "#414868", - "theme.bar.menus.menu.notifications.card": "#24283b", - "theme.bar.menus.menu.notifications.background": "#1a1b26", - "theme.bar.menus.menu.notifications.no_notifications_label": "#414868", - "theme.bar.menus.menu.notifications.label": "#bb9af7", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#f7768e", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#f7768e", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#f7768e", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#9ece6a", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#9ece6a", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#9ece6a", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#e0af68", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#e0af68", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#e0af68", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#f7768e", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#f7768e", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#f7768e", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#414868", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#bb9af7", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#bb9af7", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#73daca", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#f7768e", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#e0af68", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#f7768e", - "theme.bar.menus.menu.dashboard.controls.input.text": "#1a1b26", - "theme.bar.menus.menu.dashboard.controls.input.background": "#f7768e", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#1a1b26", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#f7768e", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#1a1b26", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#e0af68", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#1a1b26", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#7dcfff", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#1a1b26", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#bb9af7", - "theme.bar.menus.menu.dashboard.controls.disabled": "#414868", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#9ece6a", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#1a1b26", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#bb9af7", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#7dcfff", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#9ece6a", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#e0af68", - "theme.bar.menus.menu.dashboard.profile.name": "#f7768e", - "theme.bar.menus.menu.dashboard.border.color": "#414868", - "theme.bar.menus.menu.dashboard.background.color": "#1a1b26", - "theme.bar.menus.menu.dashboard.card.color": "#24283b", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#f7768e", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#f7768e", - "theme.bar.menus.menu.clock.weather.hourly.time": "#f7768e", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#7dcfff", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#7aa2f7", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#bb9af7", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#e0af68", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#f7768e", - "theme.bar.menus.menu.clock.weather.stats": "#f7768e", - "theme.bar.menus.menu.clock.weather.status": "#73daca", - "theme.bar.menus.menu.clock.weather.temperature": "#c0caf5", - "theme.bar.menus.menu.clock.weather.icon": "#f7768e", - "theme.bar.menus.menu.clock.calendar.contextdays": "#414868", - "theme.bar.menus.menu.clock.calendar.days": "#c0caf5", - "theme.bar.menus.menu.clock.calendar.currentday": "#f7768e", - "theme.bar.menus.menu.clock.calendar.paginator": "#f7768e", - "theme.bar.menus.menu.clock.calendar.weekdays": "#f7768e", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#73daca", - "theme.bar.menus.menu.clock.time.timeperiod": "#73daca", - "theme.bar.menus.menu.clock.time.time": "#f7768e", - "theme.bar.menus.menu.clock.text": "#c0caf5", - "theme.bar.menus.menu.clock.border.color": "#414868", - "theme.bar.menus.menu.clock.background.color": "#1a1b26", - "theme.bar.menus.menu.clock.card.color": "#24283b", - "theme.bar.menus.menu.battery.slider.puck": "#565f89", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#414868", - "theme.bar.menus.menu.battery.slider.background": "#565f89", - "theme.bar.menus.menu.battery.slider.primary": "#e0af68", - "theme.bar.menus.menu.battery.icons.active": "#e0af68", - "theme.bar.menus.menu.battery.icons.passive": "#565f89", - "theme.bar.menus.menu.battery.listitems.active": "#e0af68", - "theme.bar.menus.menu.battery.listitems.passive": "#c0caf5", - "theme.bar.menus.menu.battery.text": "#c0caf5", - "theme.bar.menus.menu.battery.label.color": "#e0af68", - "theme.bar.menus.menu.battery.border.color": "#414868", - "theme.bar.menus.menu.battery.background.color": "#1a1b26", - "theme.bar.menus.menu.battery.card.color": "#24283b", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#24283b", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#c0caf5", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#1a1b26", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#7dcfff", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#c0caf5", - "theme.bar.menus.menu.bluetooth.icons.active": "#7dcfff", - "theme.bar.menus.menu.bluetooth.icons.passive": "#565f89", - "theme.bar.menus.menu.bluetooth.listitems.active": "#7dcfff", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#c0caf5", - "theme.bar.menus.menu.bluetooth.switch.puck": "#565f89", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#565f89", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#7dcfff", - "theme.bar.menus.menu.bluetooth.switch_divider": "#414868", - "theme.bar.menus.menu.bluetooth.status": "#565f89", - "theme.bar.menus.menu.bluetooth.text": "#c0caf5", - "theme.bar.menus.menu.bluetooth.label.color": "#7dcfff", - "theme.bar.menus.menu.bluetooth.border.color": "#414868", - "theme.bar.menus.menu.bluetooth.background.color": "#1a1b26", - "theme.bar.menus.menu.bluetooth.card.color": "#24283b", - "theme.bar.menus.menu.network.iconbuttons.active": "#bb9af7", - "theme.bar.menus.menu.network.iconbuttons.passive": "#c0caf5", - "theme.bar.menus.menu.network.icons.active": "#bb9af7", - "theme.bar.menus.menu.network.icons.passive": "#565f89", - "theme.bar.menus.menu.network.listitems.active": "#bb9af7", - "theme.bar.menus.menu.network.listitems.passive": "#c0caf5", - "theme.bar.menus.menu.network.status.color": "#565f89", - "theme.bar.menus.menu.network.text": "#c0caf5", - "theme.bar.menus.menu.network.label.color": "#bb9af7", - "theme.bar.menus.menu.network.border.color": "#414868", - "theme.bar.menus.menu.network.background.color": "#1a1b26", - "theme.bar.menus.menu.network.card.color": "#24283b", - "theme.bar.menus.menu.volume.input_slider.puck": "#414868", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#414868", - "theme.bar.menus.menu.volume.input_slider.background": "#565f89", - "theme.bar.menus.menu.volume.input_slider.primary": "#f7768e", - "theme.bar.menus.menu.volume.audio_slider.puck": "#414868", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#414868", - "theme.bar.menus.menu.volume.audio_slider.background": "#565f89", - "theme.bar.menus.menu.volume.audio_slider.primary": "#f7768e", - "theme.bar.menus.menu.volume.icons.active": "#f7768e", - "theme.bar.menus.menu.volume.icons.passive": "#565f89", - "theme.bar.menus.menu.volume.iconbutton.active": "#f7768e", - "theme.bar.menus.menu.volume.iconbutton.passive": "#c0caf5", - "theme.bar.menus.menu.volume.listitems.active": "#f7768e", - "theme.bar.menus.menu.volume.listitems.passive": "#c0caf5", - "theme.bar.menus.menu.volume.border.color": "#414868", - "theme.bar.menus.menu.volume.background.color": "#1a1b26", - "theme.bar.menus.menu.media.slider.puck": "#565f89", - "theme.bar.menus.menu.media.slider.backgroundhover": "#414868", - "theme.bar.menus.menu.media.slider.background": "#565f89", - "theme.bar.menus.menu.media.slider.primary": "#f7768e", - "theme.bar.menus.menu.media.buttons.text": "#1a1b26", - "theme.bar.menus.menu.media.buttons.background": "#bb9af7", - "theme.bar.menus.menu.media.buttons.enabled": "#73daca", - "theme.bar.menus.menu.media.buttons.inactive": "#414868", - "theme.bar.menus.menu.media.border.color": "#414868", - "theme.bar.menus.menu.media.background.color": "#1a1b26", - "theme.bar.menus.menu.media.album": "#f7768e", - "theme.bar.menus.menu.media.artist": "#73daca", - "theme.bar.menus.menu.media.song": "#bb9af7", - "theme.bar.menus.tooltip.text": "#c0caf5", - "theme.bar.menus.tooltip.background": "#1a1b26", - "theme.bar.menus.dropdownmenu.divider": "#24283b", - "theme.bar.menus.dropdownmenu.text": "#c0caf5", - "theme.bar.menus.dropdownmenu.background": "#1a1b26", - "theme.bar.menus.slider.puck": "#565f89", - "theme.bar.menus.slider.backgroundhover": "#414868", - "theme.bar.menus.slider.background": "#565f89", - "theme.bar.menus.slider.primary": "#bb9af7", - "theme.bar.menus.progressbar.background": "#414868", - "theme.bar.menus.progressbar.foreground": "#bb9af7", - "theme.bar.menus.iconbuttons.active": "#bb9af7", - "theme.bar.menus.iconbuttons.passive": "#c0caf5", - "theme.bar.menus.buttons.text": "#1a1b26", - "theme.bar.menus.buttons.disabled": "#565f89", - "theme.bar.menus.buttons.active": "#f7768e", - "theme.bar.menus.buttons.default": "#bb9af7", - "theme.bar.menus.switch.puck": "#565f89", - "theme.bar.menus.switch.disabled": "#565f89", - "theme.bar.menus.switch.enabled": "#bb9af7", - "theme.bar.menus.icons.active": "#bb9af7", - "theme.bar.menus.icons.passive": "#414868", - "theme.bar.menus.listitems.active": "#bb9af7", - "theme.bar.menus.listitems.passive": "#c0caf5", - "theme.bar.menus.label": "#bb9af7", - "theme.bar.menus.feinttext": "#414868", - "theme.bar.menus.dimtext": "#414868", - "theme.bar.menus.cards": "#24283b", - "theme.bar.buttons.notifications.total": "#bb9af7", - "theme.bar.buttons.notifications.icon": "#bb9af7", - "theme.bar.buttons.notifications.background": "#272a3d", - "theme.bar.buttons.clock.icon": "#f7768e", - "theme.bar.buttons.clock.text": "#f7768e", - "theme.bar.buttons.clock.background": "#272a3d", - "theme.bar.buttons.battery.icon": "#e0af68", - "theme.bar.buttons.battery.text": "#e0af68", - "theme.bar.buttons.battery.background": "#272a3d", - "theme.bar.buttons.systray.background": "#272a3d", - "theme.bar.buttons.bluetooth.icon": "#7dcfff", - "theme.bar.buttons.bluetooth.text": "#7dcfff", - "theme.bar.buttons.bluetooth.background": "#272a3d", - "theme.bar.buttons.network.icon": "#bb9af7", - "theme.bar.buttons.network.text": "#bb9af7", - "theme.bar.buttons.network.background": "#272a3d", - "theme.bar.buttons.volume.icon": "#f7768e", - "theme.bar.buttons.volume.text": "#f7768e", - "theme.bar.buttons.volume.background": "#272a3d", - "theme.bar.buttons.windowtitle.icon": "#f7768e", - "theme.bar.buttons.windowtitle.text": "#f7768e", - "theme.bar.buttons.windowtitle.background": "#272a3d", - "theme.bar.buttons.workspaces.active": "#f7768e", - "theme.bar.buttons.workspaces.occupied": "#f7768e", - "theme.bar.buttons.workspaces.available": "#7dcfff", - "theme.bar.buttons.workspaces.hover": "#414868", - "theme.bar.buttons.workspaces.background": "#272a3d", - "theme.bar.buttons.dashboard.icon": "#e0af68", - "theme.bar.buttons.dashboard.background": "#272a3d", - "theme.osd.label": "#bb9af7", - "theme.osd.icon": "#1a1b26", - "theme.osd.bar_overflow_color": "#f7768e", - "theme.osd.bar_empty_color": "#414868", - "theme.osd.bar_color": "#bb9af7", - "theme.osd.icon_container": "#bb9af7", - "theme.osd.bar_container": "#1a1b26", - "theme.notification.close_button.label": "#1a1b26", - "theme.notification.close_button.background": "#f7768e", - "theme.notification.labelicon": "#bb9af7", - "theme.notification.text": "#c0caf5", - "theme.notification.time": "#9aa5ce", - "theme.notification.border": "#565f89", - "theme.notification.label": "#bb9af7", - "theme.notification.actions.text": "#24283b", - "theme.notification.actions.background": "#bb9af7", - "theme.notification.background": "#1a1b26", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#181825", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#c678dd", - "theme.bar.menus.menu.media.card.color": "#24283b", - "theme.bar.menus.check_radio_button.background": "#3b4261", - "theme.bar.menus.check_radio_button.active": "#bb9af7", - "theme.bar.buttons.style": "default", - "theme.bar.menus.menu.notifications.pager.button": "#bb9af7", - "theme.bar.menus.menu.notifications.scrollbar.color": "#bb9af7", - "theme.bar.menus.menu.notifications.pager.label": "#565f89", - "theme.bar.menus.menu.notifications.pager.background": "#1a1b26", - "theme.bar.buttons.clock.icon_background": "#f7768e", - "theme.bar.buttons.modules.ram.icon": "#e0af68", - "theme.bar.buttons.modules.storage.icon_background": "#f7768e", - "theme.bar.menus.popover.border": "#1a1b26", - "theme.bar.buttons.volume.icon_background": "#f7768e", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#7dcfff", - "theme.bar.menus.menu.power.buttons.restart.text": "#e0af68", - "theme.bar.buttons.modules.updates.background": "#272a3d", - "theme.bar.buttons.modules.storage.icon": "#f7768e", - "theme.bar.buttons.modules.netstat.background": "#272a3d", - "theme.bar.buttons.modules.weather.icon": "#bb9af7", - "theme.bar.buttons.modules.netstat.text": "#9ece6a", - "theme.bar.buttons.modules.storage.background": "#272a3d", - "theme.bar.buttons.modules.power.icon": "#f7768e", - "theme.bar.buttons.modules.storage.text": "#f7768e", - "theme.bar.buttons.modules.cpu.background": "#272a3d", - "theme.bar.menus.menu.power.border.color": "#414868", - "theme.bar.buttons.network.icon_background": "#caa6f7", - "theme.bar.buttons.modules.power.icon_background": "#f7768e", - "theme.bar.menus.menu.power.buttons.logout.icon": "#1a1b26", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#e0af68", - "theme.bar.menus.menu.power.buttons.restart.icon": "#1a1b26", - "theme.bar.buttons.modules.cpu.icon": "#f7768e", - "theme.bar.buttons.battery.icon_background": "#e0af68", - "theme.bar.buttons.modules.kbLayout.icon_background": "#7dcfff", - "theme.bar.buttons.modules.weather.text": "#bb9af7", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#1a1b26", - "theme.bar.menus.menu.power.buttons.sleep.text": "#7dcfff", - "theme.bar.buttons.modules.weather.icon_background": "#bb9af7", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#24283b", - "theme.bar.buttons.media.icon_background": "#bb9af7", - "theme.bar.menus.menu.power.buttons.logout.background": "#24283b", - "theme.bar.buttons.modules.kbLayout.icon": "#7dcfff", - "theme.bar.buttons.modules.ram.icon_background": "#e0af68", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#f7768e", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#f7768e", - "theme.bar.menus.menu.power.buttons.sleep.background": "#24283b", - "theme.bar.buttons.modules.ram.text": "#e0af68", - "theme.bar.menus.menu.power.buttons.logout.text": "#9ece6a", - "theme.bar.buttons.modules.updates.icon_background": "#bb9af7", - "theme.bar.buttons.modules.kbLayout.background": "#272a3d", - "theme.bar.buttons.modules.power.background": "#272a3d", - "theme.bar.buttons.modules.weather.background": "#272a3d", - "theme.bar.buttons.icon_background": "#272a3d", - "theme.bar.menus.menu.power.background.color": "#1a1b26", - "theme.bar.buttons.modules.ram.background": "#272a3d", - "theme.bar.buttons.modules.netstat.icon": "#9ece6a", - "theme.bar.buttons.windowtitle.icon_background": "#f7768e", - "theme.bar.buttons.modules.cpu.icon_background": "#f7768e", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#9ece6a", - "theme.bar.buttons.modules.updates.text": "#bb9af7", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#1a1b26", - "theme.bar.buttons.bluetooth.icon_background": "#89dbeb", - "theme.bar.menus.menu.power.buttons.restart.background": "#24283b", - "theme.bar.buttons.modules.updates.icon": "#bb9af7", - "theme.bar.buttons.modules.cpu.text": "#f7768e", - "theme.bar.buttons.modules.netstat.icon_background": "#9ece6a", - "theme.bar.buttons.modules.kbLayout.text": "#7dcfff", - "theme.bar.buttons.notifications.icon_background": "#bb9af7", - "theme.bar.buttons.modules.power.border": "#f7768e", - "theme.bar.buttons.modules.weather.border": "#bb9af7", - "theme.bar.buttons.modules.updates.border": "#bb9af7", - "theme.bar.buttons.modules.kbLayout.border": "#7dcfff", - "theme.bar.buttons.modules.netstat.border": "#9ece6a", - "theme.bar.buttons.modules.storage.border": "#f7768e", - "theme.bar.buttons.modules.cpu.border": "#f7768e", - "theme.bar.buttons.modules.ram.border": "#e0af68", - "theme.bar.buttons.notifications.border": "#bb9af7", - "theme.bar.buttons.clock.border": "#f7768e", - "theme.bar.buttons.battery.border": "#e0af68", - "theme.bar.buttons.systray.border": "#414868", - "theme.bar.buttons.bluetooth.border": "#7dcfff", - "theme.bar.buttons.network.border": "#bb9af7", - "theme.bar.buttons.volume.border": "#f7768e", - "theme.bar.buttons.media.border": "#bb9af7", - "theme.bar.buttons.windowtitle.border": "#f7768e", - "theme.bar.buttons.workspaces.border": "#f7768e", - "theme.bar.buttons.dashboard.border": "#e0af68", - "theme.bar.buttons.modules.submap.background": "#272a3d", - "theme.bar.buttons.modules.submap.text": "#73daca", - "theme.bar.buttons.modules.submap.border": "#73daca", - "theme.bar.buttons.modules.submap.icon": "#73daca", - "theme.bar.buttons.modules.submap.icon_background": "#272a3d" -} \ No newline at end of file diff --git a/ags/HyprPanel/themes/tokyo_night_split.json b/ags/HyprPanel/themes/tokyo_night_split.json deleted file mode 100644 index c4c51ca..0000000 --- a/ags/HyprPanel/themes/tokyo_night_split.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "theme.bar.menus.background": "#1a1b26", - "theme.bar.background": "#1a1b26", - "theme.bar.buttons.media.icon": "#272a3d", - "theme.bar.buttons.media.text": "#bb9af7", - "theme.bar.buttons.icon": "#bb9af7", - "theme.bar.buttons.text": "#bb9af7", - "theme.bar.buttons.hover": "#414868", - "theme.bar.buttons.background": "#272a3d", - "theme.bar.menus.text": "#c0caf5", - "theme.bar.menus.border.color": "#414868", - "theme.bar.buttons.media.background": "#272a3d", - "theme.bar.menus.menu.volume.text": "#c0caf5", - "theme.bar.menus.menu.volume.card.color": "#24283b", - "theme.bar.menus.menu.volume.label.color": "#f7768e", - "theme.bar.menus.popover.text": "#bb9af7", - "theme.bar.menus.popover.background": "#1a1b26", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#f7768e", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#f7768e", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#9ece6a", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#1a1b26", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#c0caf5", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#bb9af7", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#414868", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#1a1b26", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#24283b", - "theme.bar.menus.menu.notifications.switch.puck": "#565f89", - "theme.bar.menus.menu.notifications.switch.disabled": "#565f89", - "theme.bar.menus.menu.notifications.switch.enabled": "#bb9af7", - "theme.bar.menus.menu.notifications.clear": "#f7768e", - "theme.bar.menus.menu.notifications.switch_divider": "#414868", - "theme.bar.menus.menu.notifications.border": "#414868", - "theme.bar.menus.menu.notifications.card": "#24283b", - "theme.bar.menus.menu.notifications.background": "#1a1b26", - "theme.bar.menus.menu.notifications.no_notifications_label": "#414868", - "theme.bar.menus.menu.notifications.label": "#bb9af7", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#f7768e", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#f7768e", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#f7768e", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#9ece6a", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#9ece6a", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#9ece6a", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#e0af68", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#e0af68", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#e0af68", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#f7768e", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#f7768e", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#f7768e", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#414868", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#bb9af7", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#bb9af7", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#73daca", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#f7768e", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#e0af68", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#f7768e", - "theme.bar.menus.menu.dashboard.controls.input.text": "#1a1b26", - "theme.bar.menus.menu.dashboard.controls.input.background": "#f7768e", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#1a1b26", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#f7768e", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#1a1b26", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#e0af68", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#1a1b26", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#7dcfff", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#1a1b26", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#bb9af7", - "theme.bar.menus.menu.dashboard.controls.disabled": "#414868", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#9ece6a", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#1a1b26", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#bb9af7", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#7dcfff", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#9ece6a", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#e0af68", - "theme.bar.menus.menu.dashboard.profile.name": "#f7768e", - "theme.bar.menus.menu.dashboard.border.color": "#414868", - "theme.bar.menus.menu.dashboard.background.color": "#1a1b26", - "theme.bar.menus.menu.dashboard.card.color": "#24283b", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#f7768e", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#f7768e", - "theme.bar.menus.menu.clock.weather.hourly.time": "#f7768e", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#7dcfff", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#7aa2f7", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#bb9af7", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#e0af68", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#f7768e", - "theme.bar.menus.menu.clock.weather.stats": "#f7768e", - "theme.bar.menus.menu.clock.weather.status": "#73daca", - "theme.bar.menus.menu.clock.weather.temperature": "#c0caf5", - "theme.bar.menus.menu.clock.weather.icon": "#f7768e", - "theme.bar.menus.menu.clock.calendar.contextdays": "#414868", - "theme.bar.menus.menu.clock.calendar.days": "#c0caf5", - "theme.bar.menus.menu.clock.calendar.currentday": "#f7768e", - "theme.bar.menus.menu.clock.calendar.paginator": "#f7768e", - "theme.bar.menus.menu.clock.calendar.weekdays": "#f7768e", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#73daca", - "theme.bar.menus.menu.clock.time.timeperiod": "#73daca", - "theme.bar.menus.menu.clock.time.time": "#f7768e", - "theme.bar.menus.menu.clock.text": "#c0caf5", - "theme.bar.menus.menu.clock.border.color": "#414868", - "theme.bar.menus.menu.clock.background.color": "#1a1b26", - "theme.bar.menus.menu.clock.card.color": "#24283b", - "theme.bar.menus.menu.battery.slider.puck": "#565f89", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#414868", - "theme.bar.menus.menu.battery.slider.background": "#565f89", - "theme.bar.menus.menu.battery.slider.primary": "#e0af68", - "theme.bar.menus.menu.battery.icons.active": "#e0af68", - "theme.bar.menus.menu.battery.icons.passive": "#565f89", - "theme.bar.menus.menu.battery.listitems.active": "#e0af68", - "theme.bar.menus.menu.battery.listitems.passive": "#c0caf5", - "theme.bar.menus.menu.battery.text": "#c0caf5", - "theme.bar.menus.menu.battery.label.color": "#e0af68", - "theme.bar.menus.menu.battery.border.color": "#414868", - "theme.bar.menus.menu.battery.background.color": "#1a1b26", - "theme.bar.menus.menu.battery.card.color": "#24283b", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#24283b", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#c0caf5", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#1a1b26", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#7dcfff", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#c0caf5", - "theme.bar.menus.menu.bluetooth.icons.active": "#7dcfff", - "theme.bar.menus.menu.bluetooth.icons.passive": "#565f89", - "theme.bar.menus.menu.bluetooth.listitems.active": "#7dcfff", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#c0caf5", - "theme.bar.menus.menu.bluetooth.switch.puck": "#565f89", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#565f89", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#7dcfff", - "theme.bar.menus.menu.bluetooth.switch_divider": "#414868", - "theme.bar.menus.menu.bluetooth.status": "#565f89", - "theme.bar.menus.menu.bluetooth.text": "#c0caf5", - "theme.bar.menus.menu.bluetooth.label.color": "#7dcfff", - "theme.bar.menus.menu.bluetooth.border.color": "#414868", - "theme.bar.menus.menu.bluetooth.background.color": "#1a1b26", - "theme.bar.menus.menu.bluetooth.card.color": "#24283b", - "theme.bar.menus.menu.network.iconbuttons.active": "#bb9af7", - "theme.bar.menus.menu.network.iconbuttons.passive": "#c0caf5", - "theme.bar.menus.menu.network.icons.active": "#bb9af7", - "theme.bar.menus.menu.network.icons.passive": "#565f89", - "theme.bar.menus.menu.network.listitems.active": "#bb9af7", - "theme.bar.menus.menu.network.listitems.passive": "#c0caf5", - "theme.bar.menus.menu.network.status.color": "#565f89", - "theme.bar.menus.menu.network.text": "#c0caf5", - "theme.bar.menus.menu.network.label.color": "#bb9af7", - "theme.bar.menus.menu.network.border.color": "#414868", - "theme.bar.menus.menu.network.background.color": "#1a1b26", - "theme.bar.menus.menu.network.card.color": "#24283b", - "theme.bar.menus.menu.volume.input_slider.puck": "#414868", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#414868", - "theme.bar.menus.menu.volume.input_slider.background": "#565f89", - "theme.bar.menus.menu.volume.input_slider.primary": "#f7768e", - "theme.bar.menus.menu.volume.audio_slider.puck": "#414868", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#414868", - "theme.bar.menus.menu.volume.audio_slider.background": "#565f89", - "theme.bar.menus.menu.volume.audio_slider.primary": "#f7768e", - "theme.bar.menus.menu.volume.icons.active": "#f7768e", - "theme.bar.menus.menu.volume.icons.passive": "#565f89", - "theme.bar.menus.menu.volume.iconbutton.active": "#f7768e", - "theme.bar.menus.menu.volume.iconbutton.passive": "#c0caf5", - "theme.bar.menus.menu.volume.listitems.active": "#f7768e", - "theme.bar.menus.menu.volume.listitems.passive": "#c0caf5", - "theme.bar.menus.menu.volume.border.color": "#414868", - "theme.bar.menus.menu.volume.background.color": "#1a1b26", - "theme.bar.menus.menu.media.slider.puck": "#565f89", - "theme.bar.menus.menu.media.slider.backgroundhover": "#414868", - "theme.bar.menus.menu.media.slider.background": "#565f89", - "theme.bar.menus.menu.media.slider.primary": "#f7768e", - "theme.bar.menus.menu.media.buttons.text": "#1a1b26", - "theme.bar.menus.menu.media.buttons.background": "#bb9af7", - "theme.bar.menus.menu.media.buttons.enabled": "#73daca", - "theme.bar.menus.menu.media.buttons.inactive": "#414868", - "theme.bar.menus.menu.media.border.color": "#414868", - "theme.bar.menus.menu.media.background.color": "#1a1b26", - "theme.bar.menus.menu.media.album": "#f7768e", - "theme.bar.menus.menu.media.artist": "#73daca", - "theme.bar.menus.menu.media.song": "#bb9af7", - "theme.bar.menus.tooltip.text": "#c0caf5", - "theme.bar.menus.tooltip.background": "#1a1b26", - "theme.bar.menus.dropdownmenu.divider": "#24283b", - "theme.bar.menus.dropdownmenu.text": "#c0caf5", - "theme.bar.menus.dropdownmenu.background": "#1a1b26", - "theme.bar.menus.slider.puck": "#565f89", - "theme.bar.menus.slider.backgroundhover": "#414868", - "theme.bar.menus.slider.background": "#565f89", - "theme.bar.menus.slider.primary": "#bb9af7", - "theme.bar.menus.progressbar.background": "#414868", - "theme.bar.menus.progressbar.foreground": "#bb9af7", - "theme.bar.menus.iconbuttons.active": "#bb9af7", - "theme.bar.menus.iconbuttons.passive": "#c0caf5", - "theme.bar.menus.buttons.text": "#1a1b26", - "theme.bar.menus.buttons.disabled": "#565f89", - "theme.bar.menus.buttons.active": "#f7768e", - "theme.bar.menus.buttons.default": "#bb9af7", - "theme.bar.menus.switch.puck": "#565f89", - "theme.bar.menus.switch.disabled": "#565f89", - "theme.bar.menus.switch.enabled": "#bb9af7", - "theme.bar.menus.icons.active": "#bb9af7", - "theme.bar.menus.icons.passive": "#414868", - "theme.bar.menus.listitems.active": "#bb9af7", - "theme.bar.menus.listitems.passive": "#c0caf5", - "theme.bar.menus.label": "#bb9af7", - "theme.bar.menus.feinttext": "#414868", - "theme.bar.menus.dimtext": "#414868", - "theme.bar.menus.cards": "#24283b", - "theme.bar.buttons.notifications.total": "#bb9af7", - "theme.bar.buttons.notifications.icon": "#272a3d", - "theme.bar.buttons.notifications.background": "#272a3d", - "theme.bar.buttons.clock.icon": "#272a3d", - "theme.bar.buttons.clock.text": "#f7768e", - "theme.bar.buttons.clock.background": "#272a3d", - "theme.bar.buttons.battery.icon": "#272a3d", - "theme.bar.buttons.battery.text": "#e0af68", - "theme.bar.buttons.battery.background": "#272a3d", - "theme.bar.buttons.systray.background": "#272a3d", - "theme.bar.buttons.bluetooth.icon": "#272a3d", - "theme.bar.buttons.bluetooth.text": "#7dcfff", - "theme.bar.buttons.bluetooth.background": "#272a3d", - "theme.bar.buttons.network.icon": "#272a3d", - "theme.bar.buttons.network.text": "#bb9af7", - "theme.bar.buttons.network.background": "#272a3d", - "theme.bar.buttons.volume.icon": "#272a3d", - "theme.bar.buttons.volume.text": "#f7768e", - "theme.bar.buttons.volume.background": "#272a3d", - "theme.bar.buttons.windowtitle.icon": "#272a3d", - "theme.bar.buttons.windowtitle.text": "#f7768e", - "theme.bar.buttons.windowtitle.background": "#272a3d", - "theme.bar.buttons.workspaces.active": "#f7768e", - "theme.bar.buttons.workspaces.occupied": "#f7768e", - "theme.bar.buttons.workspaces.available": "#7dcfff", - "theme.bar.buttons.workspaces.hover": "#f7768e", - "theme.bar.buttons.workspaces.background": "#272a3d", - "theme.bar.buttons.dashboard.icon": "#272a3d", - "theme.bar.buttons.dashboard.background": "#e0af68", - "theme.osd.label": "#bb9af7", - "theme.osd.icon": "#1a1b26", - "theme.osd.bar_overflow_color": "#f7768e", - "theme.osd.bar_empty_color": "#414868", - "theme.osd.bar_color": "#bb9af7", - "theme.osd.icon_container": "#bb9af7", - "theme.osd.bar_container": "#1a1b26", - "theme.notification.close_button.label": "#1a1b26", - "theme.notification.close_button.background": "#f7768e", - "theme.notification.labelicon": "#bb9af7", - "theme.notification.text": "#c0caf5", - "theme.notification.time": "#9aa5ce", - "theme.notification.border": "#565f89", - "theme.notification.label": "#bb9af7", - "theme.notification.actions.text": "#24283b", - "theme.notification.actions.background": "#bb9af7", - "theme.notification.background": "#1a1b26", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#181825", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#c678dd", - "theme.bar.menus.menu.media.card.color": "#24283b", - "theme.bar.menus.check_radio_button.background": "#3b4261", - "theme.bar.menus.check_radio_button.active": "#bb9af7", - "theme.bar.buttons.style": "split", - "theme.bar.buttons.icon_background": "#242438", - "theme.bar.buttons.volume.icon_background": "#f7768e", - "theme.bar.buttons.network.icon_background": "#bb9af7", - "theme.bar.buttons.bluetooth.icon_background": "#7dcfff", - "theme.bar.buttons.windowtitle.icon_background": "#f7768e", - "theme.bar.buttons.media.icon_background": "#bb9af7", - "theme.bar.buttons.notifications.icon_background": "#bb9af7", - "theme.bar.buttons.battery.icon_background": "#e0af68", - "theme.bar.buttons.clock.icon_background": "#f7768e", - "theme.bar.menus.menu.notifications.pager.button": "#bb9af7", - "theme.bar.menus.menu.notifications.scrollbar.color": "#bb9af7", - "theme.bar.menus.menu.notifications.pager.label": "#565f89", - "theme.bar.menus.menu.notifications.pager.background": "#1a1b26", - "theme.bar.buttons.modules.ram.icon": "#181825", - "theme.bar.buttons.modules.storage.icon_background": "#f7768e", - "theme.bar.menus.popover.border": "#1a1b26", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#7dcfff", - "theme.bar.menus.menu.power.buttons.restart.text": "#e0af68", - "theme.bar.buttons.modules.updates.background": "#272a3d", - "theme.bar.buttons.modules.storage.icon": "#181825", - "theme.bar.buttons.modules.netstat.background": "#272a3d", - "theme.bar.buttons.modules.weather.icon": "#272a3d", - "theme.bar.buttons.modules.netstat.text": "#9ece6a", - "theme.bar.buttons.modules.storage.background": "#272a3d", - "theme.bar.buttons.modules.power.icon": "#181825", - "theme.bar.buttons.modules.storage.text": "#f7768e", - "theme.bar.buttons.modules.cpu.background": "#272a3d", - "theme.bar.menus.menu.power.border.color": "#414868", - "theme.bar.buttons.modules.power.icon_background": "#f7768e", - "theme.bar.menus.menu.power.buttons.logout.icon": "#1a1b26", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#e0af68", - "theme.bar.menus.menu.power.buttons.restart.icon": "#1a1b26", - "theme.bar.buttons.modules.cpu.icon": "#181825", - "theme.bar.buttons.modules.kbLayout.icon_background": "#7dcfff", - "theme.bar.buttons.modules.weather.text": "#bb9af7", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#1a1b26", - "theme.bar.menus.menu.power.buttons.sleep.text": "#7dcfff", - "theme.bar.buttons.modules.weather.icon_background": "#bb9af7", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#24283b", - "theme.bar.menus.menu.power.buttons.logout.background": "#24283b", - "theme.bar.buttons.modules.kbLayout.icon": "#181825", - "theme.bar.buttons.modules.ram.icon_background": "#e0af68", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#f7768e", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#f7768e", - "theme.bar.menus.menu.power.buttons.sleep.background": "#24283b", - "theme.bar.buttons.modules.ram.text": "#e0af68", - "theme.bar.menus.menu.power.buttons.logout.text": "#9ece6a", - "theme.bar.buttons.modules.updates.icon_background": "#bb9af7", - "theme.bar.buttons.modules.kbLayout.background": "#272a3d", - "theme.bar.buttons.modules.power.background": "#272a3d", - "theme.bar.buttons.modules.weather.background": "#272a3d", - "theme.bar.menus.menu.power.background.color": "#1a1b26", - "theme.bar.buttons.modules.ram.background": "#272a3d", - "theme.bar.buttons.modules.netstat.icon": "#181825", - "theme.bar.buttons.modules.cpu.icon_background": "#f7768e", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#9ece6a", - "theme.bar.buttons.modules.updates.text": "#bb9af7", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#1a1b26", - "theme.bar.menus.menu.power.buttons.restart.background": "#24283b", - "theme.bar.buttons.modules.updates.icon": "#181825", - "theme.bar.buttons.modules.cpu.text": "#f7768e", - "theme.bar.buttons.modules.netstat.icon_background": "#9ece6a", - "theme.bar.buttons.modules.kbLayout.text": "#7dcfff", - "theme.bar.buttons.modules.power.border": "#f7768e", - "theme.bar.buttons.modules.weather.border": "#bb9af7", - "theme.bar.buttons.modules.updates.border": "#bb9af7", - "theme.bar.buttons.modules.kbLayout.border": "#7dcfff", - "theme.bar.buttons.modules.netstat.border": "#9ece6a", - "theme.bar.buttons.modules.storage.border": "#f7768e", - "theme.bar.buttons.modules.cpu.border": "#f7768e", - "theme.bar.buttons.modules.ram.border": "#e0af68", - "theme.bar.buttons.notifications.border": "#bb9af7", - "theme.bar.buttons.clock.border": "#f7768e", - "theme.bar.buttons.battery.border": "#e0af68", - "theme.bar.buttons.systray.border": "#414868", - "theme.bar.buttons.bluetooth.border": "#7dcfff", - "theme.bar.buttons.network.border": "#bb9af7", - "theme.bar.buttons.volume.border": "#f7768e", - "theme.bar.buttons.media.border": "#bb9af7", - "theme.bar.buttons.windowtitle.border": "#f7768e", - "theme.bar.buttons.workspaces.border": "#f7768e", - "theme.bar.buttons.dashboard.border": "#e0af68", - "theme.bar.buttons.modules.submap.background": "#272a3d", - "theme.bar.buttons.modules.submap.text": "#73daca", - "theme.bar.buttons.modules.submap.border": "#73daca", - "theme.bar.buttons.modules.submap.icon": "#181825", - "theme.bar.buttons.modules.submap.icon_background": "#73daca" -} \ No newline at end of file diff --git a/ags/HyprPanel/tsconfig.json b/ags/HyprPanel/tsconfig.json deleted file mode 100644 index f2567fd..0000000 --- a/ags/HyprPanel/tsconfig.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "compilerOptions": { - "noEmit": true, - "allowImportingTsExtensions": true, - "target": "ES2022", - "module": "ES2022", - "lib": ["ES2022"], - "allowJs": true, - "checkJs": false, - "strict": true, - "noImplicitAny": true, - "strictNullChecks": true, - "alwaysStrict": true, - "noImplicitThis": true, - "baseUrl": ".", - "typeRoots": ["types", "lib/types/globals"], - "skipLibCheck": true, - "types": [] - }, - "exclude": ["types/@girs/**/*.js"] -} diff --git a/ags/HyprPanel/types b/ags/HyprPanel/types deleted file mode 120000 index a8e3f04..0000000 --- a/ags/HyprPanel/types +++ /dev/null @@ -1 +0,0 @@ -/usr/share/com.github.Aylur.ags/types \ No newline at end of file diff --git a/ags/HyprPanel/widget/RegularWindow.ts b/ags/HyprPanel/widget/RegularWindow.ts deleted file mode 100644 index 5c85baa..0000000 --- a/ags/HyprPanel/widget/RegularWindow.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Gtk from 'gi://Gtk?version=3.0'; - -export default Widget.subclass(Gtk.Window); diff --git a/ags/HyprPanel/widget/settings/SettingsDialog.ts b/ags/HyprPanel/widget/settings/SettingsDialog.ts deleted file mode 100644 index 8d8cc23..0000000 --- a/ags/HyprPanel/widget/settings/SettingsDialog.ts +++ /dev/null @@ -1,89 +0,0 @@ -import RegularWindow from 'widget/RegularWindow'; -import icons from 'lib/icons'; -import options from 'options'; -import { ThemesMenu } from './pages/theme/index'; -import { SettingsMenu } from './pages/config/index'; -import './side_effects'; -import { GBox, GCenterBox } from 'lib/types/widget'; -import Gtk from 'types/@girs/gtk-3.0/gtk-3.0'; - -type Page = 'Configuration' | 'Theming'; - -const CurrentPage = Variable('Configuration'); - -const pagerMap: Page[] = ['Configuration', 'Theming']; - -const Header = (): GCenterBox => - Widget.CenterBox({ - class_name: 'header', - start_widget: Widget.Button({ - class_name: 'reset', - on_clicked: options.reset, - hpack: 'start', - vpack: 'start', - child: Widget.Icon(icons.ui.refresh), - tooltip_text: 'Reset', - }), - center_widget: Widget.Box({}), - end_widget: Widget.Button({ - class_name: 'close', - hpack: 'end', - vpack: 'start', - child: Widget.Icon(icons.ui.close), - on_clicked: () => App.closeWindow('settings-dialog'), - }), - }); - -const PageContainer = (): GBox => { - return Widget.Box({ - hpack: 'fill', - hexpand: true, - vertical: true, - children: CurrentPage.bind('value').as((v) => { - return [ - Widget.Box({ - class_name: 'option-pages-container', - hpack: 'center', - hexpand: true, - children: pagerMap.map((page) => { - return Widget.Button({ - xalign: 0, - hpack: 'center', - class_name: `pager-button ${v === page ? 'active' : ''} category`, - label: page, - on_primary_click: () => (CurrentPage.value = page), - }); - }), - }), - Widget.Stack({ - vexpand: false, - class_name: 'themes-menu-stack', - children: { - Configuration: SettingsMenu(), - Theming: ThemesMenu(), - }, - shown: CurrentPage.bind('value'), - }), - ]; - }), - }); -}; - -export default (): Gtk.Window => - RegularWindow({ - name: 'settings-dialog', - class_name: 'settings-dialog', - title: 'Settings', - setup(win) { - win.on('delete-event', () => { - win.hide(); - return true; - }); - win.set_default_size(200, 300); - }, - child: Widget.Box({ - class_name: 'settings-dialog-box', - vertical: true, - children: [Header(), PageContainer()], - }), - }); diff --git a/ags/HyprPanel/widget/settings/pages/config/bar/index.ts b/ags/HyprPanel/widget/settings/pages/config/bar/index.ts deleted file mode 100644 index f713739..0000000 --- a/ags/HyprPanel/widget/settings/pages/config/bar/index.ts +++ /dev/null @@ -1,781 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import Scrollable from 'types/widgets/scrollable'; -import Gtk from 'types/@girs/gtk-3.0/gtk-3.0'; - -export const BarSettings = (): Scrollable => { - return Widget.Scrollable({ - vscroll: 'always', - hscroll: 'automatic', - class_name: 'menu-theme-page paged-container', - child: Widget.Box({ - vertical: true, - children: [ - /* - ****************************** - * LAYOUTS * - ****************************** - */ - Header('Layouts'), - Option( - { - opt: options.bar.layouts, - title: 'Bar Layouts for Monitors', - subtitle: 'Wiki Link: https://hyprpanel.com/configuration/panel.html#layouts', - type: 'object', - subtitleLink: 'https://hyprpanel.com/configuration/panel.html#layouts', - }, - 'bar-layout-input', - ), - Option({ - opt: options.theme.bar.floating, - title: 'Floating Bar', - type: 'boolean', - }), - Option({ - opt: options.theme.bar.location, - title: 'Location', - type: 'enum', - enums: ['top', 'bottom'], - }), - Option({ - opt: options.theme.bar.buttons.enableBorders, - title: 'Enable Button Borders', - subtitle: 'Enables button borders for all buttons in the bar.', - type: 'boolean', - }), - Option({ - opt: options.theme.bar.buttons.borderSize, - title: 'Button Border Size', - subtitle: 'Button border for the individual modules must be enabled first', - type: 'string', - }), - /* - ****************************** - * SPACING * - ****************************** - */ - Header('Spacing'), - Option({ - opt: options.theme.bar.outer_spacing, - title: 'Outer Spacing', - subtitle: 'Spacing on the outer left and right edges of the bar.', - type: 'string', - }), - Option({ - opt: options.theme.bar.buttons.y_margins, - title: 'Vertical Margins', - subtitle: 'Spacing above/below the buttons in the bar.', - type: 'string', - }), - Option({ - opt: options.theme.bar.buttons.spacing, - title: 'Button Spacing', - subtitle: 'Spacing between the buttons in the bar.', - type: 'string', - }), - Option({ - opt: options.theme.bar.buttons.padding_x, - title: 'Button Horizontal Padding', - type: 'string', - }), - Option({ - opt: options.theme.bar.buttons.padding_y, - title: 'Button Vertical Padding', - type: 'string', - }), - Option({ - opt: options.theme.bar.buttons.radius, - title: 'Button Radius', - type: 'string', - }), - Option({ - opt: options.theme.bar.layer, - title: 'Layer', - type: 'enum', - subtitle: 'Layer determines the Z index of your bar.', - enums: ['top', 'bottom', 'overlay', 'background'], - }), - Option({ - opt: options.theme.bar.dropdownGap, - title: 'Dropdown Gap', - subtitle: 'The gap between the dropdown and the bar', - type: 'string', - }), - Option({ - opt: options.theme.bar.margin_top, - title: 'Margin Top', - subtitle: 'Only applies if floating is enabled', - type: 'string', - }), - Option({ - opt: options.theme.bar.margin_bottom, - title: 'Margin Bottom', - subtitle: 'Only applies if floating is enabled', - type: 'string', - }), - Option({ - opt: options.theme.bar.margin_sides, - title: 'Margin Sides', - subtitle: 'Only applies if floating is enabled', - type: 'string', - }), - Option({ - opt: options.theme.bar.border_radius, - title: 'Border Radius', - subtitle: 'Only applies if floating is enabled', - type: 'string', - }), - - /* - ****************************** - * Actions * - ****************************** - */ - - Header('Actions'), - Option({ - opt: options.bar.scrollSpeed, - title: 'Scrolling Speed', - subtitle: 'The speed at which the commands assigned to the scroll event will trigger', - type: 'number', - }), - /* - ****************************** - * DASHBOARD * - ****************************** - */ - Header('Dashboard'), - Option({ - opt: options.bar.launcher.icon, - title: 'Dashboard Menu Icon', - type: 'string', - }), - Option({ - opt: options.theme.bar.buttons.dashboard.enableBorder, - title: 'Button Border', - type: 'boolean', - }), - Option({ - opt: options.bar.launcher.rightClick, - title: 'Right Click', - type: 'string', - }), - Option({ - opt: options.bar.launcher.middleClick, - title: 'Middle Click', - type: 'string', - }), - Option({ - opt: options.bar.launcher.scrollUp, - title: 'Scroll Up', - type: 'string', - }), - Option({ - opt: options.bar.launcher.scrollDown, - title: 'Scroll Down', - type: 'string', - }), - - /* - ****************************** - * WORKSPACES * - ****************************** - */ - Header('Workspaces'), - Option({ - opt: options.theme.bar.buttons.workspaces.enableBorder, - title: 'Button Border', - type: 'boolean', - }), - Option({ - opt: options.bar.workspaces.showAllActive, - title: 'Mark Active Workspace On All Monitors', - subtitle: 'Marks the currently active workspace on each monitor.', - type: 'boolean', - }), - Option({ - opt: options.theme.bar.buttons.workspaces.fontSize, - title: 'Indicator Size', - subtitle: - 'Only applicable to numbered workspaces and mapped icons\n' + - 'Adjust with caution as it may cause the bar to expand', - type: 'string', - }), - Option({ - opt: options.bar.workspaces.show_icons, - title: 'Show Workspace Icons', - type: 'boolean', - }), - Option({ - opt: options.bar.workspaces.icons.available, - title: 'Workspace Available', - type: 'string', - }), - Option({ - opt: options.bar.workspaces.icons.active, - title: 'Workspace Active', - type: 'string', - }), - Option({ - opt: options.bar.workspaces.icons.occupied, - title: 'Workspace Occupied', - type: 'string', - }), - Option({ - opt: options.bar.workspaces.show_numbered, - title: 'Show Workspace Numbers', - type: 'boolean', - }), - Option({ - opt: options.bar.workspaces.numbered_active_indicator, - title: 'Numbered Workspace Identifier', - subtitle: 'Only applicable if Workspace Numbers are enabled', - type: 'enum', - enums: ['underline', 'highlight', 'color'], - }), - Option({ - opt: options.theme.bar.buttons.workspaces.smartHighlight, - title: 'Smart Highlight', - subtitle: - 'Automatically determines the highlight color of the workspace icon.\n' + - 'Only compatible with mapped icons.', - type: 'boolean', - }), - Option({ - opt: options.theme.bar.buttons.workspaces.numbered_active_highlight_border, - title: 'Highlight Radius', - subtitle: 'Only applicable if Workspace Numbers are enabled', - type: 'string', - }), - Option({ - opt: options.theme.bar.buttons.workspaces.numbered_active_highlight_padding, - title: 'Highlight Padding', - subtitle: 'Only applicable if Workspace Numbers are enabled', - type: 'string', - }), - Option({ - opt: options.bar.workspaces.showWsIcons, - title: 'Map Workspaces to Icons', - type: 'boolean', - }), - Option({ - opt: options.bar.workspaces.workspaceIconMap, - title: 'Workspace Icon Mappings', - type: 'object', - }), - Option({ - opt: options.bar.workspaces.spacing, - title: 'Spacing', - subtitle: 'Spacing between workspace icons', - type: 'float', - }), - Option({ - opt: options.bar.workspaces.workspaces, - title: 'Total Workspaces', - subtitle: 'The least amount of workspaces to always show.', - type: 'number', - }), - Option({ - opt: options.bar.workspaces.monitorSpecific, - title: 'Monitor Specific', - subtitle: - 'Only workspaces applicable to the monitor will be displayed.\n' + - "Works in conjuction with 'Total Workspaces'.", - type: 'boolean', - }), - Option({ - opt: options.bar.workspaces.hideUnoccupied, - title: 'Hide Unoccupied', - subtitle: 'Only show workspaces that are occupied or active', - type: 'boolean', - }), - Option({ - opt: options.bar.workspaces.workspaceMask, - title: 'Mask Workspace Numbers On Monitors', - subtitle: - 'Only applicable if Workspace Numbers and Monitor Specific are enabled.\n' + - "Forces each Monitor's Workspace labels to start from 1.", - type: 'boolean', - }), - Option({ - opt: options.bar.workspaces.reverse_scroll, - title: 'Invert Scroll', - subtitle: 'Scrolling up will go to the previous workspace rather than the next.', - type: 'boolean', - }), - Option({ - opt: options.bar.workspaces.scroll_speed, - title: 'Scrolling Speed', - type: 'number', - }), - Option({ - opt: options.bar.workspaces.ignored, - title: 'Ignored Workspaces', - subtitle: 'A regex that defines workspaces to ignore', - type: 'string', - }), - - /* - ****************************** - * WINDOW TITLES * - ****************************** - */ - Header('Window Titles'), - Option({ - opt: options.theme.bar.buttons.windowtitle.enableBorder, - title: 'Button Border', - type: 'boolean', - }), - Option({ - opt: options.bar.windowtitle.custom_title, - title: 'Use Custom Title', - type: 'boolean', - }), - Option({ - opt: options.bar.windowtitle.title_map, - title: 'Window Title Mappings', - subtitle: - 'Only applicable if Show Custom Title is enabled\nWiki Link: https://hyprpanel.com/configuration/panel.html#window-title-mappings', - type: 'object', - subtitleLink: 'https://hyprpanel.com/configuration/panel.html#window-title-mappings', - }), - Option({ - opt: options.bar.windowtitle.class_name, - title: 'Use Class Name', - subtitle: - "Only applicable if Show Custom Title is disabled\nDisplays the window's class name instead of its title.", - type: 'boolean', - }), - Option({ - opt: options.bar.windowtitle.label, - title: 'Show Window Title Label', - type: 'boolean', - }), - Option({ - opt: options.bar.windowtitle.icon, - title: 'Show Icon', - type: 'boolean', - }), - Option({ - opt: options.bar.windowtitle.truncation, - title: 'Truncate Window Title', - subtitle: 'Will truncate the window title to the specified size below.', - type: 'boolean', - }), - Option({ - opt: options.bar.windowtitle.truncation_size, - title: 'Truncation Size', - type: 'number', - min: 10, - }), - Option({ - opt: options.theme.bar.buttons.windowtitle.spacing, - title: 'Inner Spacing', - subtitle: 'Spacing between the icon and the label inside the buttons.', - type: 'string', - }), - Option({ - opt: options.bar.windowtitle.leftClick, - title: 'Left Click', - type: 'string', - }), - Option({ - opt: options.bar.windowtitle.rightClick, - title: 'Right Click', - type: 'string', - }), - Option({ - opt: options.bar.windowtitle.middleClick, - title: 'Middle Click', - type: 'string', - }), - Option({ - opt: options.bar.windowtitle.scrollUp, - title: 'Scroll Up', - type: 'string', - }), - Option({ - opt: options.bar.windowtitle.scrollDown, - title: 'Scroll Down', - type: 'string', - }), - - /* - ****************************** - * VOLUME * - ****************************** - */ - Header('Volume'), - Option({ - opt: options.theme.bar.buttons.volume.enableBorder, - title: 'Button Border', - type: 'boolean', - }), - Option({ - opt: options.bar.volume.label, - title: 'Show Volume Percentage', - type: 'boolean', - }), - Option({ - opt: options.theme.bar.buttons.volume.spacing, - title: 'Inner Spacing', - subtitle: 'Spacing between the icon and the label inside the buttons.', - type: 'string', - }), - Option({ - opt: options.bar.volume.rightClick, - title: 'Right Click', - type: 'string', - }), - Option({ - opt: options.bar.volume.middleClick, - title: 'Middle Click', - type: 'string', - }), - Option({ - opt: options.bar.volume.scrollUp, - title: 'Scroll Up', - type: 'string', - }), - Option({ - opt: options.bar.volume.scrollDown, - title: 'Scroll Down', - type: 'string', - }), - - /* - ****************************** - * NETWORK * - ****************************** - */ - Header('Network'), - Option({ - opt: options.theme.bar.buttons.network.enableBorder, - title: 'Button Border', - type: 'boolean', - }), - Option({ - opt: options.bar.network.label, - title: 'Show Network Name', - type: 'boolean', - }), - Option({ - opt: options.bar.network.truncation, - title: 'Truncate Network Name', - subtitle: 'Will truncate the network name to the specified size below.', - type: 'boolean', - }), - Option({ - opt: options.bar.network.truncation_size, - title: 'Truncation Size', - type: 'number', - }), - Option({ - opt: options.theme.bar.buttons.network.spacing, - title: 'Inner Spacing', - subtitle: 'Spacing between the icon and the label inside the buttons.', - type: 'string', - }), - Option({ - opt: options.bar.network.rightClick, - title: 'Right Click', - type: 'string', - }), - Option({ - opt: options.bar.network.middleClick, - title: 'Middle Click', - type: 'string', - }), - Option({ - opt: options.bar.network.scrollUp, - title: 'Scroll Up', - type: 'string', - }), - Option({ - opt: options.bar.network.scrollDown, - title: 'Scroll Down', - type: 'string', - }), - - /* - ****************************** - * BLUETOOTH * - ****************************** - */ - Header('Bluetooth'), - Option({ - opt: options.theme.bar.buttons.bluetooth.enableBorder, - title: 'Button Border', - type: 'boolean', - }), - Option({ - opt: options.bar.bluetooth.label, - title: 'Show Bluetooth Label', - type: 'boolean', - }), - Option({ - opt: options.theme.bar.buttons.bluetooth.spacing, - title: 'Inner Spacing', - subtitle: 'Spacing between the icon and the label inside the buttons.', - type: 'string', - }), - Option({ - opt: options.bar.bluetooth.rightClick, - title: 'Right Click', - type: 'string', - }), - Option({ - opt: options.bar.bluetooth.middleClick, - title: 'Middle Click', - type: 'string', - }), - Option({ - opt: options.bar.bluetooth.scrollUp, - title: 'Scroll Up', - type: 'string', - }), - Option({ - opt: options.bar.bluetooth.scrollDown, - title: 'Scroll Down', - type: 'string', - }), - - /* - ****************************** - * BATTERY * - ****************************** - */ - Header('Battery'), - Option({ - opt: options.theme.bar.buttons.battery.enableBorder, - title: 'Button Border', - type: 'boolean', - }), - Option({ - opt: options.bar.battery.label, - title: 'Show Battery Percentage', - type: 'boolean', - }), - Option({ - opt: options.bar.battery.hideLabelWhenFull, - title: 'Hide Battery Percentage When Full', - type: 'boolean', - }), - Option({ - opt: options.theme.bar.buttons.battery.spacing, - title: 'Inner Spacing', - subtitle: 'Spacing between the icon and the label inside the buttons.', - type: 'string', - }), - Option({ - opt: options.bar.battery.rightClick, - title: 'Right Click', - type: 'string', - }), - Option({ - opt: options.bar.battery.middleClick, - title: 'Middle Click', - type: 'string', - }), - Option({ - opt: options.bar.battery.scrollUp, - title: 'Scroll Up', - type: 'string', - }), - Option({ - opt: options.bar.battery.scrollDown, - title: 'Scroll Down', - type: 'string', - }), - - /* - ****************************** - * SYSTEM TRAY * - ****************************** - */ - Header('System Tray'), - Option({ - opt: options.theme.bar.buttons.systray.enableBorder, - title: 'Button Border', - type: 'boolean', - }), - Option({ - opt: options.bar.systray.ignore, - title: 'Ignore List', - subtitle: - 'An array of applications to prevent from showing in the system tray.\n' + - 'Wiki: https://hyprpanel.com/configuration/panel.html#system-tray', - subtitleLink: 'https://hyprpanel.com/configuration/panel.html#system-tray', - type: 'object', - }), - - /* - ****************************** - * CLOCK * - ****************************** - */ - Header('Clock'), - Option({ - opt: options.theme.bar.buttons.clock.enableBorder, - title: 'Button Border', - type: 'boolean', - }), - Option({ - opt: options.bar.clock.format, - title: 'Clock Format', - type: 'string', - }), - Option({ - opt: options.bar.clock.icon, - title: 'Icon', - type: 'string', - }), - Option({ - opt: options.bar.clock.showIcon, - title: 'Show Icon', - type: 'boolean', - }), - Option({ - opt: options.bar.clock.showTime, - title: 'Show Time', - type: 'boolean', - }), - Option({ - opt: options.theme.bar.buttons.clock.spacing, - title: 'Inner Spacing', - subtitle: 'Spacing between the icon and the label inside the buttons.', - type: 'string', - }), - Option({ - opt: options.bar.clock.rightClick, - title: 'Right Click', - type: 'string', - }), - Option({ - opt: options.bar.clock.middleClick, - title: 'Middle Click', - type: 'string', - }), - Option({ - opt: options.bar.clock.scrollUp, - title: 'Scroll Up', - type: 'string', - }), - Option({ - opt: options.bar.clock.scrollDown, - title: 'Scroll Down', - type: 'string', - }), - - /* - ****************************** - * MEDIA * - ****************************** - */ - Header('Media'), - Option({ - opt: options.theme.bar.buttons.media.enableBorder, - title: 'Button Border', - type: 'boolean', - }), - Option({ - opt: options.theme.bar.buttons.media.spacing, - title: 'Inner Spacing', - subtitle: 'Spacing between the icon and the label inside the buttons.', - type: 'string', - }), - Option({ - opt: options.bar.media.show_artist, - title: 'Show Track Artist', - type: 'boolean', - }), - Option({ - opt: options.bar.media.show_label, - title: 'Toggle Media Label', - type: 'boolean', - }), - Option({ - opt: options.bar.media.truncation, - title: 'Truncate Media Label', - subtitle: 'Only applicable if Toggle Media Label is enabled', - type: 'boolean', - }), - Option({ - opt: options.bar.media.truncation_size, - title: 'Truncation Size', - subtitle: 'Only applicable if Toggle Media Label is enabled', - type: 'number', - min: 10, - }), - Option({ - opt: options.bar.media.show_active_only, - title: 'Auto Hide', - subtitle: 'Button will automatically hide if no media is detected.', - type: 'boolean', - }), - Option({ - opt: options.bar.media.rightClick, - title: 'Right Click', - type: 'string', - }), - Option({ - opt: options.bar.media.middleClick, - title: 'Middle Click', - type: 'string', - }), - - /* - ****************************** - * NOTIFICATIONS * - ****************************** - */ - Header('Notifications'), - Option({ - opt: options.theme.bar.buttons.notifications.enableBorder, - title: 'Button Border', - type: 'boolean', - }), - Option({ - opt: options.bar.notifications.show_total, - title: 'Show Total # of notifications', - type: 'boolean', - }), - Option({ - opt: options.bar.notifications.hideCountWhenZero, - title: 'Auto Hide Label', - subtitle: 'Hide Total # of notifications when zero', - type: 'boolean', - }), - Option({ - opt: options.theme.bar.buttons.notifications.spacing, - title: 'Inner Spacing', - subtitle: 'Spacing between the icon and the label inside the buttons.', - type: 'string', - }), - Option({ - opt: options.bar.notifications.rightClick, - title: 'Right Click', - type: 'string', - }), - Option({ - opt: options.bar.notifications.middleClick, - title: 'Middle Click', - type: 'string', - }), - Option({ - opt: options.bar.notifications.scrollUp, - title: 'Scroll Up', - type: 'string', - }), - Option({ - opt: options.bar.notifications.scrollDown, - title: 'Scroll Down', - type: 'string', - }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/pages/config/general/index.ts b/ags/HyprPanel/widget/settings/pages/config/general/index.ts deleted file mode 100644 index 86f6748..0000000 --- a/ags/HyprPanel/widget/settings/pages/config/general/index.ts +++ /dev/null @@ -1,180 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import Scrollable from 'types/widgets/scrollable'; -import { Attribute, Child } from 'lib/types/widget'; - -export const BarGeneral = (): Scrollable => { - return Widget.Scrollable({ - class_name: 'bar-theme-page paged-container', - vscroll: 'automatic', - child: Widget.Box({ - vertical: true, - children: [ - Header('General Settings'), - Option({ opt: options.theme.font.name, title: 'Font', type: 'font' }), - Option({ opt: options.theme.font.size, title: 'Font Size', type: 'string' }), - Option({ - opt: options.theme.font.weight, - title: 'Font Weight', - subtitle: '100, 200, 300, etc.', - type: 'number', - increment: 100, - min: 100, - max: 900, - }), - Option({ - opt: options.dummy, - title: 'Config', - subtitle: 'WARNING: Importing a configuration will replace your current configuration settings.', - type: 'config_import', - exportData: { - filePath: OPTIONS, - themeOnly: false, - }, - }), - Option({ - opt: options.terminal, - title: 'Terminal', - subtitle: "Tools such as 'btop' will open in this terminal", - type: 'string', - }), - Option({ - opt: options.tear, - title: 'Tearing Compatible', - subtitle: - 'Makes HyprPanel compatible with Hyprland tearing.\n' + - "Enabling this will change all overlays (Notifications, OSDs, Bar) to the 'top' layer instead the 'overlay' layer.", - type: 'boolean', - }), - Option({ - opt: options.menus.transition, - title: 'Menu Transition', - type: 'enum', - enums: ['none', 'crossfade'], - }), - Option({ - opt: options.menus.transitionTime, - title: 'Menu Transition Duration', - type: 'number', - min: 100, - max: 10000, - increment: 100, - }), - - Header('Scaling'), - Option({ - opt: options.scalingPriority, - title: 'Scaling Priority', - type: 'enum', - enums: ['both', 'gdk', 'hyprland'], - }), - Option({ - opt: options.theme.bar.scaling, - title: 'Bar', - type: 'number', - min: 1, - max: 100, - increment: 5, - }), - Option({ - opt: options.theme.notification.scaling, - title: 'Notifications', - type: 'number', - min: 1, - max: 100, - increment: 5, - }), - Option({ - opt: options.theme.osd.scaling, - title: 'OSD', - type: 'number', - min: 1, - max: 100, - increment: 5, - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.scaling, - title: 'Dashboard Menu', - type: 'number', - min: 1, - max: 100, - increment: 5, - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.confirmation_scaling, - title: 'Confirmation Dialog', - type: 'number', - min: 1, - max: 100, - increment: 5, - }), - Option({ - opt: options.theme.bar.menus.menu.media.scaling, - title: 'Media Menu', - type: 'number', - min: 1, - max: 100, - increment: 5, - }), - Option({ - opt: options.theme.bar.menus.menu.volume.scaling, - title: 'Volume Menu', - type: 'number', - min: 1, - max: 100, - increment: 5, - }), - Option({ - opt: options.theme.bar.menus.menu.network.scaling, - title: 'Network Menu', - type: 'number', - min: 1, - max: 100, - increment: 5, - }), - Option({ - opt: options.theme.bar.menus.menu.bluetooth.scaling, - title: 'Bluetooth Menu', - type: 'number', - min: 1, - max: 100, - increment: 5, - }), - Option({ - opt: options.theme.bar.menus.menu.battery.scaling, - title: 'Battery Menu', - type: 'number', - min: 1, - max: 100, - increment: 5, - }), - Option({ - opt: options.theme.bar.menus.menu.clock.scaling, - title: 'Clock Menu', - type: 'number', - min: 1, - max: 100, - increment: 5, - }), - Option({ - opt: options.theme.bar.menus.menu.notifications.scaling, - title: 'Notifications Menu', - type: 'number', - min: 1, - max: 100, - increment: 5, - }), - Option({ - opt: options.theme.bar.menus.menu.power.scaling, - title: 'Power Menu', - type: 'number', - min: 1, - max: 100, - increment: 5, - }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/pages/config/index.ts b/ags/HyprPanel/widget/settings/pages/config/index.ts deleted file mode 100644 index 31f4fa3..0000000 --- a/ags/HyprPanel/widget/settings/pages/config/index.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { BarGeneral } from './general/index'; -import { BarSettings } from './bar/index'; -import { ClockMenuSettings } from './menus/clock'; -import { DashboardMenuSettings } from './menus/dashboard'; -import { NotificationSettings } from './notifications/index'; -import { OSDSettings } from './osd/index'; -import { CustomModuleSettings } from 'customModules/config'; -import { PowerMenuSettings } from './menus/power'; -import { GBox } from 'lib/types/widget'; - -type Page = - | 'General' - | 'Bar' - | 'Clock Menu' - | 'Dashboard Menu' - | 'Power Menu' - | 'Notifications' - | 'OSD' - | 'Custom Modules'; - -const CurrentPage = Variable('General'); - -const pagerMap: Page[] = [ - 'General', - 'Bar', - 'Notifications', - 'OSD', - 'Power Menu', - 'Clock Menu', - 'Dashboard Menu', - 'Custom Modules', -]; - -export const SettingsMenu = (): GBox => { - return Widget.Box({ - vertical: true, - children: CurrentPage.bind('value').as((v) => { - return [ - Widget.Box({ - class_name: 'option-pages-container', - hpack: 'center', - hexpand: true, - children: pagerMap.map((page) => { - return Widget.Button({ - hpack: 'center', - class_name: `pager-button ${v === page ? 'active' : ''}`, - label: page, - on_primary_click: () => (CurrentPage.value = page), - }); - }), - }), - Widget.Stack({ - vexpand: true, - class_name: 'themes-menu-stack', - children: { - General: BarGeneral(), - Bar: BarSettings(), - Notifications: NotificationSettings(), - OSD: OSDSettings(), - 'Clock Menu': ClockMenuSettings(), - 'Dashboard Menu': DashboardMenuSettings(), - 'Custom Modules': CustomModuleSettings(), - 'Power Menu': PowerMenuSettings(), - }, - shown: CurrentPage.bind('value'), - }), - ]; - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/pages/config/menus/clock.ts b/ags/HyprPanel/widget/settings/pages/config/menus/clock.ts deleted file mode 100644 index 71d8e18..0000000 --- a/ags/HyprPanel/widget/settings/pages/config/menus/clock.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import Scrollable from 'types/widgets/scrollable'; -import { Attribute, Child } from 'lib/types/widget'; - -export const ClockMenuSettings = (): Scrollable => { - return Widget.Scrollable({ - vscroll: 'automatic', - child: Widget.Box({ - class_name: 'bar-theme-page paged-container', - vertical: true, - children: [ - Header('Time'), - Option({ opt: options.menus.clock.time.military, title: 'Use 24hr time', type: 'boolean' }), - Option({ opt: options.menus.clock.time.hideSeconds, title: 'Hide seconds', type: 'boolean' }), - - Header('Weather'), - Option({ opt: options.menus.clock.weather.enabled, title: 'Enabled', type: 'boolean' }), - Option({ - opt: options.menus.clock.weather.location, - title: 'Location', - subtitle: 'Zip Code, Postal Code, City, etc.', - type: 'string', - }), - Option({ - opt: options.menus.clock.weather.key, - title: 'Weather API Key', - subtitle: 'May require AGS restart. https://weatherapi.com/', - type: 'string', - }), - Option({ - opt: options.menus.clock.weather.unit, - title: 'Units', - type: 'enum', - enums: ['imperial', 'metric'], - }), - Option({ - opt: options.menus.clock.weather.interval, - title: 'Weather Fetching Interval (ms)', - subtitle: 'May require AGS restart.', - type: 'number', - }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/pages/config/menus/dashboard.ts b/ags/HyprPanel/widget/settings/pages/config/menus/dashboard.ts deleted file mode 100644 index fbb7128..0000000 --- a/ags/HyprPanel/widget/settings/pages/config/menus/dashboard.ts +++ /dev/null @@ -1,214 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import Scrollable from 'types/widgets/scrollable'; -import { Attribute, Child } from 'lib/types/widget'; - -export const DashboardMenuSettings = (): Scrollable => { - return Widget.Scrollable({ - class_name: 'bar-theme-page paged-container', - vscroll: 'always', - hscroll: 'automatic', - vexpand: true, - overlayScrolling: true, - child: Widget.Box({ - vertical: true, - children: [ - Header('Power Menu'), - Option({ opt: options.menus.dashboard.powermenu.avatar.image, title: 'Profile Image', type: 'img' }), - Option({ - opt: options.menus.dashboard.powermenu.avatar.name, - title: 'Profile Name', - subtitle: "Use 'system' to automatically set system name", - type: 'string', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.profile.size, - title: 'Profile Image Size', - type: 'string', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.profile.radius, - title: 'Profile Image Radius', - type: 'string', - }), - - Option({ - opt: options.menus.dashboard.powermenu.confirmation, - title: 'Show Confirmation Dialogue', - type: 'boolean', - }), - Option({ opt: options.menus.dashboard.powermenu.shutdown, title: 'Shutdown Command', type: 'string' }), - Option({ opt: options.menus.dashboard.powermenu.reboot, title: 'Reboot Command', type: 'string' }), - Option({ opt: options.menus.dashboard.powermenu.logout, title: 'Logout Command', type: 'string' }), - Option({ opt: options.menus.dashboard.powermenu.sleep, title: 'Sleep Command', type: 'string' }), - Header('Controls'), - Option({ opt: options.menus.dashboard.controls.enabled, title: 'Enabled', type: 'boolean' }), - Header('Resource Usage Metrics'), - Option({ opt: options.menus.dashboard.stats.enabled, title: 'Enabled', type: 'boolean' }), - Option({ - opt: options.menus.dashboard.stats.enable_gpu, - title: 'Track GPU', - subtitle: "NOTE: This is currently only available for NVidia GPUs and requires 'python-gpustat'.", - type: 'boolean', - }), - Header('Shortcuts'), - Option({ opt: options.menus.dashboard.shortcuts.enabled, title: 'Enabled', type: 'boolean' }), - Option({ - opt: options.menus.dashboard.shortcuts.left.shortcut1.icon, - title: 'Left - Shortcut 1 (Icon)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.shortcuts.left.shortcut1.command, - title: 'Left - Shortcut 1 (Command)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.shortcuts.left.shortcut1.tooltip, - title: 'Left - Shortcut 1 (Tooltip)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.shortcuts.left.shortcut2.icon, - title: 'Left - Shortcut 2 (Icon)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.shortcuts.left.shortcut2.command, - title: 'Left - Shortcut 2 (Command)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.shortcuts.left.shortcut2.tooltip, - title: 'Left - Shortcut 2 (Tooltip)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.shortcuts.left.shortcut3.icon, - title: 'Left - Shortcut 3 (Icon)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.shortcuts.left.shortcut3.command, - title: 'Left - Shortcut 3 (Command)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.shortcuts.left.shortcut3.tooltip, - title: 'Left - Shortcut 3 (Tooltip)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.shortcuts.left.shortcut4.icon, - title: 'Left - Shortcut 4 (Icon)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.shortcuts.left.shortcut4.command, - title: 'Left - Shortcut 4 (Command)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.shortcuts.left.shortcut4.tooltip, - title: 'Left - Shortcut 4 (Tooltip)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.shortcuts.right.shortcut1.icon, - title: 'Right - Shortcut 1 (Icon)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.shortcuts.right.shortcut1.command, - title: 'Right - Shortcut 1 (Command)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.shortcuts.right.shortcut1.tooltip, - title: 'Right - Shortcut 1 (Tooltip)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.shortcuts.right.shortcut3.icon, - title: 'Right - Shortcut 3 (Icon)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.shortcuts.right.shortcut3.command, - title: 'Right - Shortcut 3 (Command)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.shortcuts.right.shortcut3.tooltip, - title: 'Right - Shortcut 3 (Tooltip)', - type: 'string', - }), - - Header('Directories'), - Option({ opt: options.menus.dashboard.directories.enabled, title: 'Enabled', type: 'boolean' }), - Option({ - opt: options.menus.dashboard.directories.left.directory1.label, - title: 'Left - Directory 1 (Label)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.directories.left.directory1.command, - title: 'Left - Directory 1 (Command)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.directories.left.directory2.label, - title: 'Left - Directory 2 (Label)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.directories.left.directory2.command, - title: 'Left - Directory 2 (Command)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.directories.left.directory3.label, - title: 'Left - Directory 3 (Label)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.directories.left.directory3.command, - title: 'Left - Directory 3 (Command)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.directories.right.directory1.label, - title: 'Right - Directory 1 (Label)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.directories.right.directory1.command, - title: 'Right - Directory 1 (Command)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.directories.right.directory2.label, - title: 'Right - Directory 2 (Label)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.directories.right.directory2.command, - title: 'Right - Directory 2 (Command)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.directories.right.directory3.label, - title: 'Right - Directory 3 (Label)', - type: 'string', - }), - Option({ - opt: options.menus.dashboard.directories.right.directory3.command, - title: 'Right - Directory 3 (Command)', - type: 'string', - }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/pages/config/menus/power.ts b/ags/HyprPanel/widget/settings/pages/config/menus/power.ts deleted file mode 100644 index e1ce949..0000000 --- a/ags/HyprPanel/widget/settings/pages/config/menus/power.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import { Attribute, Child } from 'lib/types/widget'; -import Scrollable from 'types/widgets/scrollable'; - -export const PowerMenuSettings = (): Scrollable => { - return Widget.Scrollable({ - class_name: 'bar-theme-page paged-container', - vscroll: 'always', - hscroll: 'automatic', - vexpand: true, - overlayScrolling: true, - child: Widget.Box({ - vertical: true, - children: [ - Header('Power Menu'), - Option({ opt: options.menus.power.showLabel, title: 'Show Label', type: 'boolean' }), - Option({ opt: options.menus.power.confirmation, title: 'Confirmation Dialog', type: 'boolean' }), - Option({ opt: options.menus.power.shutdown, title: 'Shutdown Command', type: 'string' }), - Option({ opt: options.menus.power.reboot, title: 'Reboot Command', type: 'string' }), - Option({ opt: options.menus.power.logout, title: 'Logout Command', type: 'string' }), - Option({ opt: options.menus.power.sleep, title: 'Sleep Command', type: 'string' }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/pages/config/notifications/index.ts b/ags/HyprPanel/widget/settings/pages/config/notifications/index.ts deleted file mode 100644 index 4191d4f..0000000 --- a/ags/HyprPanel/widget/settings/pages/config/notifications/index.ts +++ /dev/null @@ -1,104 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import Scrollable from 'types/widgets/scrollable'; -import { Attribute, Child } from 'lib/types/widget'; - -export const NotificationSettings = (): Scrollable => { - return Widget.Scrollable({ - vscroll: 'automatic', - child: Widget.Box({ - class_name: 'bar-theme-page paged-container', - vertical: true, - children: [ - Header('Notification Settings'), - Option({ - opt: options.notifications.ignore, - title: 'Ignored Applications', - subtitle: - 'Applications to ignore.\n' + - 'Wiki: https://hyprpanel.com/configuration/notifications.html#ignored-applications', - subtitleLink: 'https://hyprpanel.com/configuration/notifications.html#ignored-applications', - type: 'object', - }), - Option({ - opt: options.notifications.position, - title: 'Notification Location', - type: 'enum', - enums: ['top left', 'top', 'top right', 'right', 'bottom right', 'bottom', 'bottom left', 'left'], - }), - Option({ - opt: options.theme.notification.border_radius, - title: 'Border Radius', - type: 'string', - }), - Option({ - opt: options.notifications.monitor, - title: 'Monitor', - subtitle: 'The ID of the monitor on which to display the notification', - type: 'number', - }), - Option({ - opt: options.notifications.active_monitor, - title: 'Follow Cursor', - subtitle: 'The notification will follow the monitor of your cursor', - type: 'boolean', - }), - Option({ - opt: options.notifications.clearDelay, - title: 'Clear Delay', - subtitle: - 'The delay in milliseconds before a notification is cleared' + - '\nWARNING: Setting this value too low may crash AGS depending on your system.', - type: 'number', - increment: 20, - }), - Option({ - opt: options.notifications.timeout, - title: 'Notification Timeout', - subtitle: 'How long notification popups will last (in milliseconds).', - type: 'number', - }), - Option({ - opt: options.notifications.cache_actions, - title: 'Preserve Actions', - subtitle: 'This will persist the action buttons of a notification after rebooting.', - type: 'boolean', - }), - - Header('Notification Menu Settings'), - Option({ - opt: options.theme.bar.menus.menu.notifications.height, - title: 'Notification Menu Height', - type: 'string', - }), - Option({ - opt: options.notifications.displayedTotal, - title: 'Displayed Total', - subtitle: - 'How many notifications to show in the menu at once.\n' + - 'Newer notifications will display towards the top.', - type: 'number', - min: 1, - }), - Option({ - opt: options.theme.bar.menus.menu.notifications.pager.show, - title: 'Show Pager', - subtitle: 'Shows the pagination footer at the bottom of the menu.', - type: 'boolean', - }), - Option({ - opt: options.theme.bar.menus.menu.notifications.scrollbar.width, - title: 'Scrollbar Width', - type: 'string', - }), - Option({ - opt: options.theme.bar.menus.menu.notifications.scrollbar.radius, - title: 'Scrollbar Radius', - type: 'string', - }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/pages/config/osd/index.ts b/ags/HyprPanel/widget/settings/pages/config/osd/index.ts deleted file mode 100644 index f9fca0f..0000000 --- a/ags/HyprPanel/widget/settings/pages/config/osd/index.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import Scrollable from 'types/widgets/scrollable'; -import { Attribute, Child } from 'lib/types/widget'; - -export const OSDSettings = (): Scrollable => { - return Widget.Scrollable({ - vscroll: 'automatic', - child: Widget.Box({ - class_name: 'bar-theme-page paged-container', - vertical: true, - children: [ - Header('On Screen Display'), - Option({ opt: options.theme.osd.enable, title: 'Enabled', type: 'boolean' }), - Option({ - opt: options.theme.osd.duration, - title: 'Duration', - type: 'number', - min: 100, - max: 10000, - increment: 500, - }), - Option({ - opt: options.theme.osd.orientation, - title: 'Orientation', - type: 'enum', - enums: ['horizontal', 'vertical'], - }), - Option({ - opt: options.theme.osd.location, - title: 'Position', - subtitle: 'Position of the OSD on the screen', - type: 'enum', - enums: ['top left', 'top', 'top right', 'right', 'bottom right', 'bottom', 'bottom left', 'left'], - }), - Option({ - opt: options.theme.osd.monitor, - title: 'Monitor', - subtitle: 'The ID of the monitor on which to display the OSD', - type: 'number', - }), - Option({ - opt: options.theme.osd.active_monitor, - title: 'Follow Cursor', - subtitle: 'The OSD will follow the monitor of your cursor', - type: 'boolean', - }), - Option({ - opt: options.theme.osd.radius, - title: 'Radius', - subtitle: 'Radius of the on-screen-display that indicates volume/brightness change', - type: 'string', - }), - Option({ - opt: options.theme.osd.margins, - title: 'Margins', - subtitle: 'Margins in the following format: top right bottom left', - type: 'string', - }), - Option({ - opt: options.theme.osd.muted_zero, - title: 'Mute Volume as Zero', - subtitle: 'Display volume as 0 when muting, instead of previous device volume', - type: 'boolean', - }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/pages/theme/bar/index.ts b/ags/HyprPanel/widget/settings/pages/theme/bar/index.ts deleted file mode 100644 index 0fb513d..0000000 --- a/ags/HyprPanel/widget/settings/pages/theme/bar/index.ts +++ /dev/null @@ -1,227 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import Scrollable from 'types/widgets/scrollable'; -import { Attribute, Child } from 'lib/types/widget'; - -export const BarTheme = (): Scrollable => { - return Widget.Scrollable({ - vscroll: 'always', - hscroll: 'automatic', - class_name: 'bar-theme-page paged-container', - child: Widget.Box({ - vertical: true, - children: [ - Header('General'), - Option({ opt: options.theme.bar.transparent, title: 'Transparent', type: 'boolean' }), - Option({ opt: options.theme.bar.background, title: 'Background Color', type: 'color' }), - Option({ - opt: options.theme.bar.buttons.style, - title: 'Button Style', - type: 'enum', - enums: ['default', 'split', 'wave', 'wave2'], - }), - Option({ - opt: options.theme.bar.opacity, - title: 'Background Opacity', - type: 'number', - increment: 5, - min: 0, - max: 100, - }), - Option({ - opt: options.theme.bar.buttons.opacity, - title: 'Button Opacity', - type: 'number', - increment: 5, - min: 0, - max: 100, - }), - Option({ - opt: options.theme.bar.buttons.background_opacity, - title: 'Button Background Opacity', - type: 'number', - increment: 5, - min: 0, - max: 100, - }), - Option({ - opt: options.theme.bar.buttons.background_hover_opacity, - title: 'Button Background Hover Opacity', - type: 'number', - increment: 5, - min: 0, - max: 100, - }), - Option({ - opt: options.theme.bar.buttons.monochrome, - title: 'Use Global Colors', - type: 'boolean', - disabledBinding: options.theme.matugen, - }), - Option({ opt: options.theme.bar.buttons.background, title: 'Button Background', type: 'color' }), - Option({ opt: options.theme.bar.buttons.hover, title: 'Button Hover', type: 'color' }), - Option({ opt: options.theme.bar.buttons.text, title: 'Button Text', type: 'color' }), - Option({ opt: options.theme.bar.buttons.icon, title: 'Button Icon', type: 'color' }), - Option({ - opt: options.theme.bar.buttons.icon_background, - title: 'Button Icon Background', - subtitle: - "Applies a background color to the icon section of the button.\nRequires 'split' button styling.", - type: 'color', - }), - - Header('Dashboard Button'), - Option({ opt: options.theme.bar.buttons.dashboard.background, title: 'Background', type: 'color' }), - Option({ opt: options.theme.bar.buttons.dashboard.icon, title: 'Icon', type: 'color' }), - Option({ opt: options.theme.bar.buttons.dashboard.border, title: 'Border', type: 'color' }), - - Header('Workspaces'), - Option({ opt: options.theme.bar.buttons.workspaces.background, title: 'Background', type: 'color' }), - Option({ - opt: options.theme.bar.buttons.workspaces.hover, - title: 'Workspace Hover Color', - type: 'color', - }), - Option({ - opt: options.theme.bar.buttons.workspaces.available, - title: 'Workspace Available Color', - type: 'color', - }), - Option({ - opt: options.theme.bar.buttons.workspaces.occupied, - title: 'Workspace Occupied Color', - type: 'color', - }), - Option({ - opt: options.theme.bar.buttons.workspaces.active, - title: 'Workspace Active Color', - type: 'color', - }), - Option({ - opt: options.theme.bar.buttons.workspaces.numbered_active_highlighted_text_color, - title: 'Highlighted Workspace Text Color', - type: 'color', - }), - Option({ - opt: options.theme.bar.buttons.workspaces.numbered_active_underline_color, - title: 'Workspace Underline Color', - type: 'color', - }), - Option({ opt: options.theme.bar.buttons.workspaces.border, title: 'Border', type: 'color' }), - - Header('Window Title'), - Option({ opt: options.theme.bar.buttons.windowtitle.background, title: 'Background', type: 'color' }), - Option({ opt: options.theme.bar.buttons.windowtitle.text, title: 'Text', type: 'color' }), - Option({ opt: options.theme.bar.buttons.windowtitle.icon, title: 'Icon', type: 'color' }), - Option({ - opt: options.theme.bar.buttons.windowtitle.icon_background, - title: 'Button Icon Background', - subtitle: - "Applies a background color to the icon section of the button.\nRequires 'split' button styling.", - type: 'color', - }), - Option({ opt: options.theme.bar.buttons.windowtitle.border, title: 'Border', type: 'color' }), - - Header('Media'), - Option({ opt: options.theme.bar.buttons.media.background, title: 'Background', type: 'color' }), - Option({ opt: options.theme.bar.buttons.media.text, title: 'Text', type: 'color' }), - Option({ opt: options.theme.bar.buttons.media.icon, title: 'Icon', type: 'color' }), - Option({ - opt: options.theme.bar.buttons.media.icon_background, - title: 'Button Icon Background', - subtitle: - "Applies a background color to the icon section of the button.\nRequires 'split' button styling.", - type: 'color', - }), - Option({ opt: options.theme.bar.buttons.media.border, title: 'Border', type: 'color' }), - - Header('Volume'), - Option({ opt: options.theme.bar.buttons.volume.background, title: 'Background', type: 'color' }), - Option({ opt: options.theme.bar.buttons.volume.text, title: 'Text', type: 'color' }), - Option({ opt: options.theme.bar.buttons.volume.icon, title: 'Icon', type: 'color' }), - Option({ - opt: options.theme.bar.buttons.volume.icon_background, - title: 'Button Icon Background', - subtitle: - "Applies a background color to the icon section of the button.\nRequires 'split' button styling.", - type: 'color', - }), - Option({ opt: options.theme.bar.buttons.volume.border, title: 'Border', type: 'color' }), - - Header('Network'), - Option({ opt: options.theme.bar.buttons.network.background, title: 'Background', type: 'color' }), - Option({ opt: options.theme.bar.buttons.network.text, title: 'Text', type: 'color' }), - Option({ opt: options.theme.bar.buttons.network.icon, title: 'Icon', type: 'color' }), - Option({ - opt: options.theme.bar.buttons.network.icon_background, - title: 'Button Icon Background', - subtitle: - "Applies a background color to the icon section of the button.\nRequires 'split' button styling.", - type: 'color', - }), - Option({ opt: options.theme.bar.buttons.network.border, title: 'Border', type: 'color' }), - - Header('Bluetooth'), - Option({ opt: options.theme.bar.buttons.bluetooth.background, title: 'Background', type: 'color' }), - Option({ opt: options.theme.bar.buttons.bluetooth.text, title: 'Text', type: 'color' }), - Option({ opt: options.theme.bar.buttons.bluetooth.icon, title: 'Icon', type: 'color' }), - Option({ - opt: options.theme.bar.buttons.bluetooth.icon_background, - title: 'Button Icon Background', - subtitle: - "Applies a background color to the icon section of the button.\nRequires 'split' button styling.", - type: 'color', - }), - Option({ opt: options.theme.bar.buttons.bluetooth.border, title: 'Border', type: 'color' }), - - Header('System Tray'), - Option({ opt: options.theme.bar.buttons.systray.background, title: 'Background', type: 'color' }), - - Header('Battery'), - Option({ opt: options.theme.bar.buttons.battery.background, title: 'Background', type: 'color' }), - Option({ opt: options.theme.bar.buttons.battery.text, title: 'Text', type: 'color' }), - Option({ opt: options.theme.bar.buttons.battery.icon, title: 'Icon', type: 'color' }), - Option({ - opt: options.theme.bar.buttons.battery.icon_background, - title: 'Button Icon Background', - subtitle: - "Applies a background color to the icon section of the button.\nRequires 'split' button styling.", - type: 'color', - }), - Option({ opt: options.theme.bar.buttons.battery.border, title: 'Border', type: 'color' }), - - Header('Clock'), - Option({ opt: options.theme.bar.buttons.clock.background, title: 'Background', type: 'color' }), - Option({ opt: options.theme.bar.buttons.clock.text, title: 'Text', type: 'color' }), - Option({ opt: options.theme.bar.buttons.clock.icon, title: 'Icon', type: 'color' }), - Option({ - opt: options.theme.bar.buttons.clock.icon_background, - title: 'Button Icon Background', - subtitle: - "Applies a background color to the icon section of the button.\nRequires 'split' button styling.", - type: 'color', - }), - Option({ opt: options.theme.bar.buttons.clock.border, title: 'Border', type: 'color' }), - - Header('Notifications'), - Option({ opt: options.theme.bar.buttons.notifications.background, title: 'Background', type: 'color' }), - Option({ - opt: options.theme.bar.buttons.notifications.total, - title: 'Notification Count', - type: 'color', - }), - Option({ opt: options.theme.bar.buttons.notifications.icon, title: 'Icon', type: 'color' }), - Option({ - opt: options.theme.bar.buttons.notifications.icon_background, - title: 'Button Icon Background', - subtitle: - "Applies a background color to the icon section of the button.\nRequires 'split' button styling.", - type: 'color', - }), - Option({ opt: options.theme.bar.buttons.notifications.border, title: 'Border', type: 'color' }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/pages/theme/index.ts b/ags/HyprPanel/widget/settings/pages/theme/index.ts deleted file mode 100644 index 0f09cc5..0000000 --- a/ags/HyprPanel/widget/settings/pages/theme/index.ts +++ /dev/null @@ -1,111 +0,0 @@ -import { BarTheme } from './bar/index'; -import { NotificationsTheme } from './notifications/index'; -import { BatteryMenuTheme } from './menus/battery'; -import { BluetoothMenuTheme } from './menus/bluetooth'; -import { ClockMenuTheme } from './menus/clock'; -import { DashboardMenuTheme } from './menus/dashboard'; -import { MenuTheme } from './menus/index'; -import { MediaMenuTheme } from './menus/media'; -import { NetworkMenuTheme } from './menus/network'; -import { NotificationsMenuTheme } from './menus/notifications'; -import { SystrayMenuTheme } from './menus/systray'; -import { VolumeMenuTheme } from './menus/volume'; -import { OsdTheme } from './osd/index'; -import { Matugen } from './menus/matugen'; -import { CustomModuleTheme } from 'customModules/theme'; -import { PowerMenuTheme } from './menus/power'; -import { GBox } from 'lib/types/widget'; - -type Page = - | 'General Settings' - | 'Matugen Settings' - | 'Bar' - | 'Notifications' - | 'OSD' - | 'Battery Menu' - | 'Bluetooth Menu' - | 'Clock Menu' - | 'Dashboard Menu' - | 'Media Menu' - | 'Network Menu' - | 'Notifications Menu' - | 'System Tray' - | 'Volume Menu' - | 'Power Menu' - | 'Custom Modules'; - -const CurrentPage = Variable('General Settings'); - -const pagerMap: Page[] = [ - 'General Settings', - 'Matugen Settings', - 'Bar', - 'Notifications', - 'OSD', - 'Battery Menu', - 'Bluetooth Menu', - 'Clock Menu', - 'Dashboard Menu', - 'Media Menu', - 'Network Menu', - 'Notifications Menu', - 'System Tray', - 'Volume Menu', - 'Power Menu', - 'Custom Modules', -]; - -export const ThemesMenu = (): GBox => { - return Widget.Box({ - vertical: true, - children: CurrentPage.bind('value').as((v) => { - return [ - Widget.Box({ - class_name: 'option-pages-container', - hpack: 'center', - hexpand: true, - vertical: true, - children: [0, 1, 2].map((section) => { - return Widget.Box({ - children: pagerMap.map((page, index) => { - if (index >= section * 6 && index < section * 6 + 6) { - return Widget.Button({ - hpack: 'center', - xalign: 0, - class_name: `pager-button ${v === page ? 'active' : ''}`, - label: page, - on_primary_click: () => (CurrentPage.value = page), - }); - } - return Widget.Box(); - }), - }); - }), - }), - Widget.Stack({ - vexpand: true, - class_name: 'themes-menu-stack', - children: { - 'General Settings': MenuTheme(), - 'Matugen Settings': Matugen(), - Bar: BarTheme(), - Notifications: NotificationsTheme(), - OSD: OsdTheme(), - 'Battery Menu': BatteryMenuTheme(), - 'Bluetooth Menu': BluetoothMenuTheme(), - 'Clock Menu': ClockMenuTheme(), - 'Dashboard Menu': DashboardMenuTheme(), - 'Media Menu': MediaMenuTheme(), - 'Network Menu': NetworkMenuTheme(), - 'Notifications Menu': NotificationsMenuTheme(), - 'System Tray': SystrayMenuTheme(), - 'Volume Menu': VolumeMenuTheme(), - 'Power Menu': PowerMenuTheme(), - 'Custom Modules': CustomModuleTheme(), - }, - shown: CurrentPage.bind('value'), - }), - ]; - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/pages/theme/menus/battery.ts b/ags/HyprPanel/widget/settings/pages/theme/menus/battery.ts deleted file mode 100644 index 6955f80..0000000 --- a/ags/HyprPanel/widget/settings/pages/theme/menus/battery.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import Scrollable from 'types/widgets/scrollable'; -import { Attribute, Child } from 'lib/types/widget'; - -export const BatteryMenuTheme = (): Scrollable => { - return Widget.Scrollable({ - vscroll: 'automatic', - hscroll: 'automatic', - class_name: 'menu-theme-page battery paged-container', - vexpand: true, - child: Widget.Box({ - vertical: true, - children: [ - Header('Battery Menu Theme Settings'), - Option({ opt: options.theme.bar.menus.menu.battery.text, title: 'Text', type: 'color' }), - - Header('Card'), - Option({ opt: options.theme.bar.menus.menu.battery.card.color, title: 'Card', type: 'color' }), - - Header('Background'), - Option({ - opt: options.theme.bar.menus.menu.battery.background.color, - title: 'Background', - type: 'color', - }), - - Header('Border'), - Option({ opt: options.theme.bar.menus.menu.battery.border.color, title: 'Border', type: 'color' }), - - Header('Label'), - Option({ opt: options.theme.bar.menus.menu.battery.label.color, title: 'Label', type: 'color' }), - - Header('List Items'), - Option({ - opt: options.theme.bar.menus.menu.battery.listitems.active, - title: 'Active/Hover', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.battery.listitems.passive, - title: 'Passive', - type: 'color', - }), - - Header('Icons'), - Option({ opt: options.theme.bar.menus.menu.battery.icons.active, title: 'Active', type: 'color' }), - Option({ opt: options.theme.bar.menus.menu.battery.icons.passive, title: 'Passive', type: 'color' }), - - Header('Slider'), - Option({ opt: options.theme.bar.menus.menu.battery.slider.primary, title: 'Primary', type: 'color' }), - Option({ - opt: options.theme.bar.menus.menu.battery.slider.background, - title: 'Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.battery.slider.backgroundhover, - title: 'Background (Hover)', - type: 'color', - }), - Option({ opt: options.theme.bar.menus.menu.battery.slider.puck, title: 'Puck', type: 'color' }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/pages/theme/menus/bluetooth.ts b/ags/HyprPanel/widget/settings/pages/theme/menus/bluetooth.ts deleted file mode 100644 index d3adb36..0000000 --- a/ags/HyprPanel/widget/settings/pages/theme/menus/bluetooth.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import Scrollable from 'types/widgets/scrollable'; -import { Attribute, Child } from 'lib/types/widget'; - -export const BluetoothMenuTheme = (): Scrollable => { - return Widget.Scrollable({ - vscroll: 'automatic', - hscroll: 'automatic', - class_name: 'menu-theme-page bluetooth paged-container', - vexpand: true, - child: Widget.Box({ - vertical: true, - children: [ - Header('Bluetooth Menu Theme Settings'), - Option({ opt: options.theme.bar.menus.menu.bluetooth.text, title: 'Text', type: 'color' }), - - Header('Card'), - Option({ opt: options.theme.bar.menus.menu.bluetooth.card.color, title: 'Card', type: 'color' }), - - Header('Background'), - Option({ - opt: options.theme.bar.menus.menu.bluetooth.background.color, - title: 'Background', - type: 'color', - }), - - Header('Border'), - Option({ opt: options.theme.bar.menus.menu.bluetooth.border.color, title: 'Border', type: 'color' }), - - Header('Label'), - Option({ opt: options.theme.bar.menus.menu.bluetooth.label.color, title: 'Label', type: 'color' }), - - Header('Status'), - Option({ - opt: options.theme.bar.menus.menu.bluetooth.status, - title: 'Connection Status', - type: 'color', - }), - - Header('List Items'), - Option({ - opt: options.theme.bar.menus.menu.bluetooth.listitems.active, - title: 'Active/Hover', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.bluetooth.listitems.passive, - title: 'Passive', - type: 'color', - }), - - Header('Icons'), - Option({ opt: options.theme.bar.menus.menu.bluetooth.icons.active, title: 'Active', type: 'color' }), - Option({ opt: options.theme.bar.menus.menu.bluetooth.icons.passive, title: 'Passive', type: 'color' }), - - Header('Icon Buttons'), - Option({ - opt: options.theme.bar.menus.menu.bluetooth.iconbutton.active, - title: 'Active', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.bluetooth.iconbutton.passive, - title: 'Passive', - type: 'color', - }), - - Header('Switch'), - Option({ opt: options.theme.bar.menus.menu.bluetooth.switch.enabled, title: 'Enabled', type: 'color' }), - Option({ - opt: options.theme.bar.menus.menu.bluetooth.switch.disabled, - title: 'Disabled', - type: 'color', - }), - Option({ opt: options.theme.bar.menus.menu.bluetooth.switch.puck, title: 'Puck', type: 'color' }), - - Header('Switch Divider'), - Option({ - opt: options.theme.bar.menus.menu.bluetooth.switch_divider, - title: 'Switch Divider', - type: 'color', - }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/pages/theme/menus/clock.ts b/ags/HyprPanel/widget/settings/pages/theme/menus/clock.ts deleted file mode 100644 index 2727939..0000000 --- a/ags/HyprPanel/widget/settings/pages/theme/menus/clock.ts +++ /dev/null @@ -1,130 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import Scrollable from 'types/widgets/scrollable'; -import { Attribute, Child } from 'lib/types/widget'; - -export const ClockMenuTheme = (): Scrollable => { - return Widget.Scrollable({ - vscroll: 'automatic', - hscroll: 'automatic', - class_name: 'menu-theme-page clock paged-container', - vexpand: true, - child: Widget.Box({ - vertical: true, - children: [ - Header('Clock Menu Theme Settings'), - Option({ opt: options.theme.bar.menus.menu.clock.text, title: 'Text', type: 'color' }), - - Header('Card'), - Option({ opt: options.theme.bar.menus.menu.clock.card.color, title: 'Card', type: 'color' }), - - Header('Background'), - Option({ - opt: options.theme.bar.menus.menu.clock.background.color, - title: 'Background', - type: 'color', - }), - - Header('Border'), - Option({ opt: options.theme.bar.menus.menu.clock.border.color, title: 'Border', type: 'color' }), - - Header('Time'), - Option({ opt: options.theme.bar.menus.menu.clock.time.time, title: 'Time', type: 'color' }), - Option({ - opt: options.theme.bar.menus.menu.clock.time.timeperiod, - title: 'Period', - subtitle: 'AM/PM', - type: 'color', - }), - - Header('Calendar'), - Option({ - opt: options.theme.bar.menus.menu.clock.calendar.yearmonth, - title: 'Year/Month', - type: 'color', - }), - Option({ opt: options.theme.bar.menus.menu.clock.calendar.weekdays, title: 'Weekdays', type: 'color' }), - Option({ - opt: options.theme.bar.menus.menu.clock.calendar.paginator, - title: 'Navigation Arrows (Hover)', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.clock.calendar.currentday, - title: 'Current Day', - type: 'color', - }), - Option({ opt: options.theme.bar.menus.menu.clock.calendar.days, title: 'Days', type: 'color' }), - Option({ - opt: options.theme.bar.menus.menu.clock.calendar.contextdays, - title: 'Trailing/Leading Days', - type: 'color', - }), - - Header('Weather'), - Option({ - opt: options.theme.bar.menus.menu.clock.weather.icon, - title: 'Current Weather Icon', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.clock.weather.temperature, - title: 'Current Temperature', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.clock.weather.status, - title: 'Current Status', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.clock.weather.stats, - title: 'Current Stats', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.clock.weather.thermometer.extremelyhot, - title: 'Thermometer - Extremely Hot', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.clock.weather.thermometer.hot, - title: 'Thermometer - Hot', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.clock.weather.thermometer.moderate, - title: 'Thermometer - Moderate', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.clock.weather.thermometer.cold, - title: 'Thermometer - Cold', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.clock.weather.thermometer.extremelycold, - title: 'Thermometer - Extremely Cold', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.clock.weather.hourly.time, - title: 'Hourly Weather Time', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.clock.weather.hourly.icon, - title: 'Hourly Weather Icon', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.clock.weather.hourly.temperature, - title: 'Hourly Weather Temperature', - type: 'color', - }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/pages/theme/menus/dashboard.ts b/ags/HyprPanel/widget/settings/pages/theme/menus/dashboard.ts deleted file mode 100644 index 76bb88f..0000000 --- a/ags/HyprPanel/widget/settings/pages/theme/menus/dashboard.ts +++ /dev/null @@ -1,268 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import Scrollable from 'types/widgets/scrollable'; -import { Attribute, Child } from 'lib/types/widget'; - -export const DashboardMenuTheme = (): Scrollable => { - return Widget.Scrollable({ - vscroll: 'always', - hscroll: 'automatic', - class_name: 'menu-theme-page dashboard paged-container', - vexpand: true, - child: Widget.Box({ - vertical: true, - children: [ - Header('Card'), - Option({ opt: options.theme.bar.menus.menu.dashboard.card.color, title: 'Card', type: 'color' }), - - Header('Background'), - Option({ - opt: options.theme.bar.menus.menu.dashboard.background.color, - title: 'Background', - type: 'color', - }), - - Header('Border'), - Option({ opt: options.theme.bar.menus.menu.dashboard.border.color, title: 'Border', type: 'color' }), - - Header('Profile'), - Option({ - opt: options.theme.bar.menus.menu.dashboard.profile.name, - title: 'Profile Name', - type: 'color', - }), - - Header('Power Menu'), - Option({ - opt: options.theme.bar.menus.menu.dashboard.powermenu.shutdown, - title: 'Shutdown', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.powermenu.restart, - title: 'Restart', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.powermenu.logout, - title: 'Log Out', - type: 'color', - }), - Option({ opt: options.theme.bar.menus.menu.dashboard.powermenu.sleep, title: 'Sleep', type: 'color' }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.powermenu.confirmation.card, - title: 'Confirmation Dialog Card', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.powermenu.confirmation.background, - title: 'Confirmation Dialog Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.powermenu.confirmation.border, - title: 'Confirmation Dialog Border', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.powermenu.confirmation.label, - title: 'Confirmation Dialog Label', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.powermenu.confirmation.body, - title: 'Confirmation Dialog Description', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm, - title: 'Confirmation Dialog Confirm Button', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.powermenu.confirmation.deny, - title: 'Confirmation Dialog Cancel Button', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text, - title: 'Confirmation Dialog Button Text', - type: 'color', - }), - - Header('Shortcuts'), - Option({ - opt: options.theme.bar.menus.menu.dashboard.shortcuts.background, - title: 'Primary', - type: 'color', - }), - Option({ opt: options.theme.bar.menus.menu.dashboard.shortcuts.text, title: 'Text', type: 'color' }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.shortcuts.recording, - title: 'Recording', - subtitle: 'Color of the Record button when recording is in progress', - type: 'color', - }), - - Header('Controls'), - Option({ - opt: options.theme.bar.menus.menu.dashboard.controls.disabled, - title: 'Module Off', - subtitle: 'Button color when element is disabled', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.controls.wifi.background, - title: 'Wifi Button', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.controls.wifi.text, - title: 'Wifi Button Text', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.controls.bluetooth.background, - title: 'Bluetooth Button', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.controls.bluetooth.text, - title: 'Bluetooth Button Text', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.controls.notifications.background, - title: 'Notifications Button', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.controls.notifications.text, - title: 'Notifications Button Text', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.controls.volume.background, - title: 'Volume Button', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.controls.volume.text, - title: 'Volume Button Text', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.controls.input.background, - title: 'Input Button', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.controls.input.text, - title: 'Input Button Text', - type: 'color', - }), - - Header('Directories'), - Option({ - opt: options.theme.bar.menus.menu.dashboard.directories.left.top.color, - title: 'Directory: Left - Top', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.directories.left.middle.color, - title: 'Directory: Left - Middle', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.directories.left.bottom.color, - title: 'Directory: Left - Bottom', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.directories.right.top.color, - title: 'Directory: Right - Top', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.directories.right.middle.color, - title: 'Directory: Right - Middle', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.directories.right.bottom.color, - title: 'Directory: Right - Bottom', - type: 'color', - }), - - Header('System Stats'), - Option({ - opt: options.theme.bar.menus.menu.dashboard.monitors.bar_background, - title: 'Bar Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.monitors.cpu.icon, - title: 'CPU Icon', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.monitors.cpu.bar, - title: 'CPU Bar', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.monitors.cpu.label, - title: 'CPU Label', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.monitors.ram.icon, - title: 'RAM Icon', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.monitors.ram.bar, - title: 'RAM Bar', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.monitors.ram.label, - title: 'RAM Label', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.monitors.gpu.icon, - title: 'GPU Icon', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.monitors.gpu.bar, - title: 'GPU Bar', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.monitors.gpu.label, - title: 'GPU Label', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.monitors.disk.icon, - title: 'Disk Icon', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.monitors.disk.bar, - title: 'Disk Bar', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.dashboard.monitors.disk.label, - title: 'Disk Label', - type: 'color', - }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/pages/theme/menus/index.ts b/ags/HyprPanel/widget/settings/pages/theme/menus/index.ts deleted file mode 100644 index 333fe96..0000000 --- a/ags/HyprPanel/widget/settings/pages/theme/menus/index.ts +++ /dev/null @@ -1,139 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import Scrollable from 'types/widgets/scrollable'; -import { Attribute, Child } from 'lib/types/widget'; - -export const MenuTheme = (): Scrollable => { - return Widget.Scrollable({ - vscroll: 'automatic', - hscroll: 'automatic', - class_name: 'menu-theme-page paged-container', - vexpand: true, - child: Widget.Box({ - vertical: true, - children: [ - Header('General'), - Option({ - opt: options.dummy, - title: 'Theme', - subtitle: 'WARNING: Importing a theme will replace your current theme color settings.', - type: 'config_import', - exportData: { - filePath: OPTIONS, - themeOnly: true, - }, - }), - Option({ - opt: options.theme.bar.menus.monochrome, - title: 'Use Global Colors', - type: 'boolean', - disabledBinding: options.theme.matugen, - }), - Option({ - opt: options.wallpaper.pywal, - title: 'Generate Pywal Colors', - subtitle: 'Whether to also generate pywal colors with chosen wallpaper', - type: 'boolean', - }), - Option({ - opt: options.wallpaper.enable, - title: 'Apply Wallpapers', - subtitle: 'Whether to apply the wallpaper or to only use it for Matugen color generation.', - type: 'boolean', - }), - Option({ - opt: options.wallpaper.image, - title: 'Wallpaper', - subtitle: options.wallpaper.image.bind('value'), - type: 'wallpaper', - }), - Option({ opt: options.theme.bar.menus.background, title: 'Background Color', type: 'color' }), - Option({ - opt: options.theme.bar.menus.opacity, - title: 'Menu Opacity', - type: 'number', - increment: 5, - min: 0, - max: 100, - }), - Option({ opt: options.theme.bar.menus.cards, title: 'Cards', type: 'color' }), - Option({ opt: options.theme.bar.menus.card_radius, title: 'Card Radius', type: 'string' }), - Option({ opt: options.theme.bar.menus.text, title: 'Primary Text', type: 'color' }), - Option({ opt: options.theme.bar.menus.dimtext, title: 'Dim Text', type: 'color' }), - Option({ opt: options.theme.bar.menus.feinttext, title: 'Feint Text', type: 'color' }), - Option({ opt: options.theme.bar.menus.label, title: 'Label Color', type: 'color' }), - - Header('Border'), - Option({ opt: options.theme.bar.menus.border.size, title: 'Border Width', type: 'string' }), - Option({ opt: options.theme.bar.menus.border.radius, title: 'Border Radius', type: 'string' }), - Option({ opt: options.theme.bar.menus.border.color, title: 'Border Color', type: 'color' }), - - Header('Popover'), - Option({ opt: options.theme.bar.menus.popover.text, title: 'Text', type: 'color' }), - Option({ opt: options.theme.bar.menus.popover.background, title: 'Background', type: 'color' }), - - Header('List Items'), - Option({ - opt: options.theme.bar.menus.listitems.active, - title: 'Active', - subtitle: - 'Items of a list (network name, bluetooth device name, playback device, etc.) when active or hovered.', - type: 'color', - }), - Option({ opt: options.theme.bar.menus.listitems.passive, title: 'Passive', type: 'color' }), - - Header('Icons'), - Option({ opt: options.theme.bar.menus.icons.active, title: 'Active', type: 'color' }), - Option({ opt: options.theme.bar.menus.icons.passive, title: 'Passive', type: 'color' }), - - Header('Switch'), - Option({ opt: options.theme.bar.menus.switch.enabled, title: 'Enabled', type: 'color' }), - Option({ opt: options.theme.bar.menus.switch.disabled, title: 'Disabled', type: 'color' }), - Option({ opt: options.theme.bar.menus.switch.puck, title: 'Puck', type: 'color' }), - - Header('Check/Radio Buttons'), - Option({ - opt: options.theme.bar.menus.check_radio_button.background, - title: 'Background', - type: 'color', - }), - Option({ opt: options.theme.bar.menus.check_radio_button.active, title: 'Active', type: 'color' }), - - Header('Buttons'), - Option({ opt: options.theme.bar.menus.buttons.default, title: 'Primary', type: 'color' }), - Option({ opt: options.theme.bar.menus.buttons.active, title: 'Active', type: 'color' }), - Option({ opt: options.theme.bar.menus.buttons.disabled, title: 'Disabled', type: 'color' }), - Option({ opt: options.theme.bar.menus.buttons.text, title: 'Text', type: 'color' }), - - Header('Icon Buttons'), - Option({ opt: options.theme.bar.menus.iconbuttons.passive, title: 'Primary', type: 'color' }), - Option({ opt: options.theme.bar.menus.iconbuttons.active, title: 'Active/Hovered', type: 'color' }), - - Header('Progress Bar'), - Option({ opt: options.theme.bar.menus.progressbar.foreground, title: 'Primary', type: 'color' }), - Option({ opt: options.theme.bar.menus.progressbar.background, title: 'Background', type: 'color' }), - - Header('Slider'), - Option({ opt: options.theme.bar.menus.slider.primary, title: 'Primary', type: 'color' }), - Option({ opt: options.theme.bar.menus.slider.background, title: 'Background', type: 'color' }), - Option({ - opt: options.theme.bar.menus.slider.backgroundhover, - title: 'Background (Hover)', - type: 'color', - }), - Option({ opt: options.theme.bar.menus.slider.puck, title: 'Puck', type: 'color' }), - - Header('Dropdown Menu'), - Option({ opt: options.theme.bar.menus.dropdownmenu.background, title: 'Background', type: 'color' }), - Option({ opt: options.theme.bar.menus.dropdownmenu.text, title: 'Text', type: 'color' }), - Option({ opt: options.theme.bar.menus.dropdownmenu.divider, title: 'Divider', type: 'color' }), - - Header('Tooltips'), - Option({ opt: options.theme.bar.menus.tooltip.background, title: 'Background', type: 'color' }), - Option({ opt: options.theme.bar.menus.tooltip.text, title: 'Text', type: 'color' }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/pages/theme/menus/matugen.ts b/ags/HyprPanel/widget/settings/pages/theme/menus/matugen.ts deleted file mode 100644 index 6f7a208..0000000 --- a/ags/HyprPanel/widget/settings/pages/theme/menus/matugen.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import Scrollable from 'types/widgets/scrollable'; -import { Attribute, Child } from 'lib/types/widget'; - -export const Matugen = (): Scrollable => { - return Widget.Scrollable({ - vscroll: 'automatic', - hscroll: 'automatic', - class_name: 'menu-theme-page paged-container', - vexpand: true, - child: Widget.Box({ - vertical: true, - children: [ - Header('Matugen Settings'), - Option({ - opt: options.theme.matugen, - title: 'Enable Matugen', - subtitle: 'WARNING: THIS WILL REPLACE YOUR CURRENT COLOR SCHEME!!!', - type: 'boolean', - dependencies: ['matugen', 'swww'], - }), - Option({ - opt: options.theme.matugen_settings.mode, - title: 'Matugen Theme', - type: 'enum', - enums: ['light', 'dark'], - }), - Option({ - opt: options.theme.matugen_settings.scheme_type, - title: 'Matugen Scheme', - type: 'enum', - enums: [ - 'content', - 'expressive', - 'fidelity', - 'fruit-salad', - 'monochrome', - 'neutral', - 'rainbow', - 'tonal-spot', - ], - }), - Option({ - opt: options.theme.matugen_settings.variation, - title: 'Matugen Variation', - type: 'enum', - enums: [ - 'standard_1', - 'standard_2', - 'standard_3', - 'monochrome_1', - 'monochrome_2', - 'monochrome_3', - 'vivid_1', - 'vivid_2', - 'vivid_3', - ], - }), - Option({ - opt: options.theme.matugen_settings.contrast, - title: 'Contrast', - subtitle: 'Range: -1 to 1 (Default: 0)', - type: 'float', - }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/pages/theme/menus/media.ts b/ags/HyprPanel/widget/settings/pages/theme/menus/media.ts deleted file mode 100644 index 6058cd9..0000000 --- a/ags/HyprPanel/widget/settings/pages/theme/menus/media.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import Scrollable from 'types/widgets/scrollable'; -import { Attribute, Child } from 'lib/types/widget'; - -export const MediaMenuTheme = (): Scrollable => { - return Widget.Scrollable({ - vscroll: 'automatic', - hscroll: 'automatic', - class_name: 'menu-theme-page media paged-container', - vexpand: true, - child: Widget.Box({ - vertical: true, - children: [ - Header('Media Menu Theme Settings'), - Option({ opt: options.theme.bar.menus.menu.media.song, title: 'Song', type: 'color' }), - Option({ opt: options.theme.bar.menus.menu.media.artist, title: 'Artist', type: 'color' }), - Option({ opt: options.theme.bar.menus.menu.media.album, title: 'Album', type: 'color' }), - - Header('Background'), - Option({ - opt: options.theme.bar.menus.menu.media.background.color, - title: 'Background', - type: 'color', - }), - - Header('Border'), - Option({ opt: options.theme.bar.menus.menu.media.border.color, title: 'Border', type: 'color' }), - - Header('Card/Album Art'), - Option({ opt: options.theme.bar.menus.menu.media.card.color, title: 'Color', type: 'color' }), - Option({ - opt: options.theme.bar.menus.menu.media.card.tint, - title: 'Tint', - type: 'number', - increment: 5, - min: 0, - max: 100, - }), - - Header('Buttons'), - Option({ - opt: options.theme.bar.menus.menu.media.buttons.inactive, - title: 'Unavailable', - subtitle: "Disabled button when media control isn't available.", - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.media.buttons.enabled, - title: 'Enabled', - subtitle: 'Ex: Button color when shuffle/loop is enabled.', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.media.buttons.background, - title: 'Background', - type: 'color', - }), - Option({ opt: options.theme.bar.menus.menu.media.buttons.text, title: 'Text', type: 'color' }), - - Header('Slider'), - Option({ - opt: options.theme.bar.menus.menu.media.slider.primary, - title: 'Primary Color', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.media.slider.background, - title: 'Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.media.slider.backgroundhover, - title: 'Backround (Hover)', - type: 'color', - }), - Option({ opt: options.theme.bar.menus.menu.media.slider.puck, title: 'Puck', type: 'color' }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/pages/theme/menus/network.ts b/ags/HyprPanel/widget/settings/pages/theme/menus/network.ts deleted file mode 100644 index b06dfc5..0000000 --- a/ags/HyprPanel/widget/settings/pages/theme/menus/network.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import Scrollable from 'types/widgets/scrollable'; -import { Attribute, Child } from 'lib/types/widget'; - -export const NetworkMenuTheme = (): Scrollable => { - return Widget.Scrollable({ - vscroll: 'automatic', - hscroll: 'automatic', - class_name: 'menu-theme-page network paged-container', - vexpand: true, - child: Widget.Box({ - vertical: true, - children: [ - Header('Network Menu Theme Settings'), - Option({ opt: options.theme.bar.menus.menu.network.text, title: 'Text', type: 'color' }), - - Header('Card'), - Option({ opt: options.theme.bar.menus.menu.network.card.color, title: 'Card', type: 'color' }), - - Header('Background'), - Option({ - opt: options.theme.bar.menus.menu.network.background.color, - title: 'Background', - type: 'color', - }), - - Header('Border'), - Option({ opt: options.theme.bar.menus.menu.network.border.color, title: 'Border', type: 'color' }), - - Header('Label'), - Option({ opt: options.theme.bar.menus.menu.network.label.color, title: 'Label', type: 'color' }), - - Header('Status'), - Option({ - opt: options.theme.bar.menus.menu.network.status.color, - title: 'Connection Status', - type: 'color', - }), - - Header('Switch'), - Option({ - opt: options.theme.bar.menus.menu.network.switch.enabled, - title: 'Enabled', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.network.switch.disabled, - title: 'Disabled', - type: 'color', - }), - Option({ opt: options.theme.bar.menus.menu.network.switch.puck, title: 'Puck', type: 'color' }), - - Header('List Items'), - Option({ - opt: options.theme.bar.menus.menu.network.listitems.active, - title: 'Active/Hover', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.network.listitems.passive, - title: 'Passive', - type: 'color', - }), - - Header('Icons'), - Option({ opt: options.theme.bar.menus.menu.network.icons.active, title: 'Active', type: 'color' }), - Option({ opt: options.theme.bar.menus.menu.network.icons.passive, title: 'Passive', type: 'color' }), - - Header('Icon Buttons'), - Option({ - opt: options.theme.bar.menus.menu.network.iconbuttons.active, - title: 'Active', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.network.iconbuttons.passive, - title: 'Passive', - type: 'color', - }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/pages/theme/menus/notifications.ts b/ags/HyprPanel/widget/settings/pages/theme/menus/notifications.ts deleted file mode 100644 index c313ac6..0000000 --- a/ags/HyprPanel/widget/settings/pages/theme/menus/notifications.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import Scrollable from 'types/widgets/scrollable'; -import { Attribute, Child } from 'lib/types/widget'; - -export const NotificationsMenuTheme = (): Scrollable => { - return Widget.Scrollable({ - vscroll: 'automatic', - hscroll: 'automatic', - class_name: 'menu-theme-page notifications paged-container', - vexpand: true, - child: Widget.Box({ - vertical: true, - children: [ - Header('Notifications Menu Theme Settings'), - Option({ opt: options.theme.bar.menus.menu.notifications.label, title: 'Menu Label', type: 'color' }), - Option({ opt: options.theme.bar.menus.menu.notifications.card, title: 'Card', type: 'color' }), - Option({ - opt: options.theme.bar.menus.menu.notifications.background, - title: 'Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.notifications.no_notifications_label, - title: 'Empty Notifications Backdrop', - type: 'color', - }), - Option({ opt: options.theme.bar.menus.menu.notifications.border, title: 'Border', type: 'color' }), - Option({ - opt: options.theme.bar.menus.menu.notifications.switch_divider, - title: 'Switch Divider', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.notifications.clear, - title: 'Clear Notifications Button', - type: 'color', - }), - - Header('Switch'), - Option({ - opt: options.theme.bar.menus.menu.notifications.switch.enabled, - title: 'Enabled', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.notifications.switch.disabled, - title: 'Disabled', - type: 'color', - }), - Option({ opt: options.theme.bar.menus.menu.notifications.switch.puck, title: 'Puck', type: 'color' }), - - Header('Scrollbar'), - Option({ - opt: options.theme.bar.menus.menu.notifications.scrollbar.color, - title: 'Scrollbar Color', - type: 'color', - }), - - Header('Pagination'), - Option({ - opt: options.theme.bar.menus.menu.notifications.pager.background, - title: 'Pager Footer Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.notifications.pager.button, - title: 'Pager Button Color', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.notifications.pager.label, - title: 'Pager Label Color', - type: 'color', - }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/pages/theme/menus/power.ts b/ags/HyprPanel/widget/settings/pages/theme/menus/power.ts deleted file mode 100644 index 43e7398..0000000 --- a/ags/HyprPanel/widget/settings/pages/theme/menus/power.ts +++ /dev/null @@ -1,101 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import Scrollable from 'types/widgets/scrollable'; -import { Attribute, Child } from 'lib/types/widget'; - -export const PowerMenuTheme = (): Scrollable => { - return Widget.Scrollable({ - vscroll: 'automatic', - hscroll: 'automatic', - class_name: 'menu-theme-page power paged-container', - vexpand: true, - child: Widget.Box({ - vertical: true, - children: [ - Header('Background'), - Option({ - opt: options.theme.bar.menus.menu.power.background.color, - title: 'Background', - type: 'color', - }), - - Header('Border'), - Option({ opt: options.theme.bar.menus.menu.power.border.color, title: 'Border', type: 'color' }), - - Header('Shutdown Button'), - Option({ - opt: options.theme.bar.menus.menu.power.buttons.shutdown.background, - title: 'Label Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.power.buttons.shutdown.icon_background, - title: 'Icon Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.power.buttons.shutdown.text, - title: 'Label Text', - type: 'color', - }), - Option({ opt: options.theme.bar.menus.menu.power.buttons.shutdown.icon, title: 'Icon', type: 'color' }), - - Header('Reboot Button'), - Option({ - opt: options.theme.bar.menus.menu.power.buttons.restart.background, - title: 'Label Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.power.buttons.restart.icon_background, - title: 'Icon Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.power.buttons.restart.text, - title: 'Label Text', - type: 'color', - }), - Option({ opt: options.theme.bar.menus.menu.power.buttons.restart.icon, title: 'Icon', type: 'color' }), - - Header('Logout Button'), - Option({ - opt: options.theme.bar.menus.menu.power.buttons.logout.background, - title: 'Label Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.power.buttons.logout.icon_background, - title: 'Icon Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.power.buttons.logout.text, - title: 'Label Text', - type: 'color', - }), - Option({ opt: options.theme.bar.menus.menu.power.buttons.logout.icon, title: 'Icon', type: 'color' }), - - Header('Sleep Button'), - Option({ - opt: options.theme.bar.menus.menu.power.buttons.sleep.background, - title: 'Label Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.power.buttons.sleep.icon_background, - title: 'Icon Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.power.buttons.sleep.text, - title: 'Label Text', - type: 'color', - }), - Option({ opt: options.theme.bar.menus.menu.power.buttons.sleep.icon, title: 'Icon', type: 'color' }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/pages/theme/menus/systray.ts b/ags/HyprPanel/widget/settings/pages/theme/menus/systray.ts deleted file mode 100644 index 5276a03..0000000 --- a/ags/HyprPanel/widget/settings/pages/theme/menus/systray.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import Scrollable from 'types/widgets/scrollable'; -import { Attribute, Child } from 'lib/types/widget'; - -export const SystrayMenuTheme = (): Scrollable => { - return Widget.Scrollable({ - vscroll: 'automatic', - hscroll: 'automatic', - class_name: 'menu-theme-page systray paged-container', - vexpand: true, - child: Widget.Box({ - vertical: true, - children: [ - Header('Dropdown Menu'), - Option({ - opt: options.theme.bar.menus.menu.systray.dropdownmenu.background, - title: 'Background', - type: 'color', - }), - Option({ opt: options.theme.bar.menus.menu.systray.dropdownmenu.text, title: 'Text', type: 'color' }), - Option({ - opt: options.theme.bar.menus.menu.systray.dropdownmenu.divider, - title: 'Section Divider', - type: 'color', - }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/pages/theme/menus/volume.ts b/ags/HyprPanel/widget/settings/pages/theme/menus/volume.ts deleted file mode 100644 index efad554..0000000 --- a/ags/HyprPanel/widget/settings/pages/theme/menus/volume.ts +++ /dev/null @@ -1,98 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import Scrollable from 'types/widgets/scrollable'; -import { Attribute, Child } from 'lib/types/widget'; - -export const VolumeMenuTheme = (): Scrollable => { - return Widget.Scrollable({ - vscroll: 'automatic', - hscroll: 'automatic', - class_name: 'menu-theme-page volume paged-container', - vexpand: true, - child: Widget.Box({ - vertical: true, - children: [ - Header('Volume Menu Theme Settings'), - Option({ opt: options.theme.bar.menus.menu.volume.text, title: 'Text', type: 'color' }), - - Header('Card'), - Option({ opt: options.theme.bar.menus.menu.volume.card.color, title: 'Card', type: 'color' }), - - Header('Background'), - Option({ - opt: options.theme.bar.menus.menu.volume.background.color, - title: 'Background', - type: 'color', - }), - - Header('Border'), - Option({ opt: options.theme.bar.menus.menu.volume.border.color, title: 'Border', type: 'color' }), - - Header('Label'), - Option({ opt: options.theme.bar.menus.menu.volume.label.color, title: 'Label', type: 'color' }), - - Header('List Items'), - Option({ - opt: options.theme.bar.menus.menu.volume.listitems.active, - title: 'Active/Hover', - type: 'color', - }), - Option({ opt: options.theme.bar.menus.menu.volume.listitems.passive, title: 'Passive', type: 'color' }), - - Header('Icon Button'), - Option({ - opt: options.theme.bar.menus.menu.volume.iconbutton.active, - title: 'Active/Hover', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.volume.iconbutton.passive, - title: 'Passive', - type: 'color', - }), - - Header('Icons'), - Option({ opt: options.theme.bar.menus.menu.volume.icons.active, title: 'Active', type: 'color' }), - Option({ opt: options.theme.bar.menus.menu.volume.icons.passive, title: 'Passive', type: 'color' }), - - Header('Audio Slider'), - Option({ - opt: options.theme.bar.menus.menu.volume.audio_slider.primary, - title: 'Primary', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.volume.audio_slider.background, - title: 'Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.volume.audio_slider.backgroundhover, - title: 'Background (Hover)', - type: 'color', - }), - Option({ opt: options.theme.bar.menus.menu.volume.audio_slider.puck, title: 'Puck', type: 'color' }), - - Header('Input Slider'), - Option({ - opt: options.theme.bar.menus.menu.volume.input_slider.primary, - title: 'Primary', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.volume.input_slider.background, - title: 'Background', - type: 'color', - }), - Option({ - opt: options.theme.bar.menus.menu.volume.input_slider.backgroundhover, - title: 'Background (Hover)', - type: 'color', - }), - Option({ opt: options.theme.bar.menus.menu.volume.input_slider.puck, title: 'Puck', type: 'color' }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/pages/theme/notifications/index.ts b/ags/HyprPanel/widget/settings/pages/theme/notifications/index.ts deleted file mode 100644 index 25adf1a..0000000 --- a/ags/HyprPanel/widget/settings/pages/theme/notifications/index.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import Scrollable from 'types/widgets/scrollable'; -import { Attribute, Child } from 'lib/types/widget'; - -export const NotificationsTheme = (): Scrollable => { - return Widget.Scrollable({ - vscroll: 'automatic', - hscroll: 'automatic', - class_name: 'notifications-theme-page paged-container', - vexpand: true, - child: Widget.Box({ - vertical: true, - children: [ - Header('Notifications Theme Settings'), - Option({ opt: options.theme.notification.background, title: 'Notification Background', type: 'color' }), - Option({ - opt: options.theme.notification.opacity, - title: 'Notification Opacity', - type: 'number', - increment: 5, - min: 0, - max: 100, - }), - Option({ - opt: options.theme.notification.actions.background, - title: 'Action Button Background', - subtitle: 'Buttons that perform actions within a notification', - type: 'color', - }), - Option({ - opt: options.theme.notification.actions.text, - title: 'Action Button Text Color', - type: 'color', - }), - Option({ opt: options.theme.notification.label, title: 'Label', type: 'color' }), - Option({ opt: options.theme.notification.border, title: 'Border', type: 'color' }), - Option({ opt: options.theme.notification.time, title: 'Time Stamp', type: 'color' }), - Option({ opt: options.theme.notification.text, title: 'Body Text', type: 'color' }), - Option({ - opt: options.theme.notification.labelicon, - title: 'Label Icon', - subtitle: "Icon that accompanies the label. Doesn't apply if icon is an app icon.", - type: 'color', - }), - Option({ - opt: options.theme.notification.close_button.background, - title: 'Dismiss Button', - type: 'color', - }), - Option({ - opt: options.theme.notification.close_button.label, - title: 'Dismiss Button Text', - type: 'color', - }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/pages/theme/osd/index.ts b/ags/HyprPanel/widget/settings/pages/theme/osd/index.ts deleted file mode 100644 index def8846..0000000 --- a/ags/HyprPanel/widget/settings/pages/theme/osd/index.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { Option } from 'widget/settings/shared/Option'; -import { Header } from 'widget/settings/shared/Header'; - -import options from 'options'; -import Scrollable from 'types/widgets/scrollable'; -import { Attribute, Child } from 'lib/types/widget'; - -export const OsdTheme = (): Scrollable => { - return Widget.Scrollable({ - vscroll: 'automatic', - hscroll: 'automatic', - class_name: 'osd-theme-page paged-container', - vexpand: true, - child: Widget.Box({ - vertical: true, - children: [ - Header('On Screen Display Settings'), - Option({ - opt: options.theme.osd.opacity, - title: 'OSD Opacity', - type: 'number', - increment: 5, - min: 0, - max: 100, - }), - Option({ opt: options.theme.osd.bar_color, title: 'Bar', type: 'color' }), - Option({ - opt: options.theme.osd.bar_overflow_color, - title: 'Bar Overflow', - subtitle: 'Overflow color is for when the volume goes over a 100', - type: 'color', - }), - Option({ opt: options.theme.osd.bar_empty_color, title: 'Bar Background', type: 'color' }), - Option({ opt: options.theme.osd.bar_container, title: 'Bar Container', type: 'color' }), - Option({ opt: options.theme.osd.icon, title: 'Icon', type: 'color' }), - Option({ opt: options.theme.osd.icon_container, title: 'Icon Container', type: 'color' }), - Option({ opt: options.theme.osd.label, title: 'Value Text', type: 'color' }), - ], - }), - }); -}; diff --git a/ags/HyprPanel/widget/settings/shared/FileChooser.ts b/ags/HyprPanel/widget/settings/shared/FileChooser.ts deleted file mode 100644 index b7b5f32..0000000 --- a/ags/HyprPanel/widget/settings/shared/FileChooser.ts +++ /dev/null @@ -1,251 +0,0 @@ -import Gtk from 'gi://Gtk?version=3.0'; -import Gio from 'gi://Gio'; -import { bash, Notify } from 'lib/utils'; -import icons from 'lib/icons'; -import { Config } from 'lib/types/filechooser'; -import { hexColorPattern } from 'globals/useTheme'; -import { isHexColor } from 'globals/variables'; - -const whiteListedThemeProp = ['theme.bar.buttons.style']; - -export const loadJsonFile = (filePath: string): Config | null => { - const file = Gio.File.new_for_path(filePath as string); - const [success, content] = file.load_contents(null); - - if (!success) { - console.error(`Failed to import: ${filePath}`); - return null; - } - - const jsonString = new TextDecoder('utf-8').decode(content); - return JSON.parse(jsonString); -}; - -export const saveConfigToFile = (config: object, filePath: string): void => { - const file = Gio.File.new_for_path(filePath); - const outputStream = file.replace(null, false, Gio.FileCreateFlags.NONE, null); - const dataOutputStream = new Gio.DataOutputStream({ base_stream: outputStream }); - - const jsonString = JSON.stringify(config, null, 2); - dataOutputStream.put_string(jsonString, null); - dataOutputStream.close(null); -}; - -export const filterConfigForThemeOnly = (config: Config): Config => { - const filteredConfig: Config = {}; - - for (const key in config) { - const value = config[key]; - if (typeof value === 'string' && hexColorPattern.test(value)) { - filteredConfig[key] = config[key]; - } else if (whiteListedThemeProp.includes(key)) { - filteredConfig[key] = config[key]; - } - } - return filteredConfig; -}; - -export const filterConfigForNonTheme = (config: Config): Config => { - const filteredConfig: Config = {}; - for (const key in config) { - if (whiteListedThemeProp.includes(key)) { - continue; - } - - const value = config[key]; - if (!(typeof value === 'string' && hexColorPattern.test(value))) { - filteredConfig[key] = config[key]; - } - } - return filteredConfig; -}; - -export const saveFileDialog = (filePath: string, themeOnly: boolean): void => { - const original_file_path = filePath; - - const file = Gio.File.new_for_path(original_file_path); - const [success, content] = file.load_contents(null); - - if (!success) { - console.error(`Could not find 'config.json' at ${TMP}`); - return; - } - - const jsonString = new TextDecoder('utf-8').decode(content); - const jsonObject = JSON.parse(jsonString); - - // Function to filter hex color pairs - const filterHexColorPairs = (jsonObject: Config): Config => { - const filteredObject: Config = {}; - - for (const key in jsonObject) { - const value = jsonObject[key]; - if (typeof value === 'string' && isHexColor(value)) { - filteredObject[key] = jsonObject[key]; - } else if (whiteListedThemeProp.includes(key)) { - filteredObject[key] = jsonObject[key]; - } - } - - return filteredObject; - }; - - // Function to filter out hex color pairs (keep only non-hex color value) - const filterOutHexColorPairs = (jsonObject: Config): Config => { - const filteredObject: Config = {}; - - for (const key in jsonObject) { - // do not add key-value pair if its in whiteListedThemeProp - if (whiteListedThemeProp.includes(key)) { - continue; - } - - const value = jsonObject[key]; - if (!(typeof value === 'string' && isHexColor(value))) { - filteredObject[key] = jsonObject[key]; - } - } - - return filteredObject; - }; - - // Filter the JSON object based on the themeOnly flag - const filteredJsonObject = themeOnly ? filterHexColorPairs(jsonObject) : filterOutHexColorPairs(jsonObject); - const filteredContent = JSON.stringify(filteredJsonObject, null, 2); - - const dialog = new Gtk.FileChooserDialog({ - title: 'Save File As', - action: Gtk.FileChooserAction.SAVE, - }); - - dialog.add_button(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL); - dialog.add_button(Gtk.STOCK_SAVE, Gtk.ResponseType.ACCEPT); - dialog.set_current_name(themeOnly ? 'hyprpanel_theme.json' : 'hyprpanel_config.json'); - - const response = dialog.run(); - - if (response === Gtk.ResponseType.ACCEPT) { - const file_path = dialog.get_filename(); - console.info(`Original file path: ${file_path}`); - - const getIncrementedFilePath = (filePath: string): string => { - let increment = 1; - const baseName = filePath.replace(/(\.\w+)$/, ''); - const match = filePath.match(/(\.\w+)$/); - const extension = match ? match[0] : ''; - - let newFilePath = filePath; - let file = Gio.File.new_for_path(newFilePath); - - while (file.query_exists(null)) { - newFilePath = `${baseName}_${increment}${extension}`; - file = Gio.File.new_for_path(newFilePath); - increment++; - } - - return newFilePath; - }; - - const finalFilePath = getIncrementedFilePath(file_path as string); - console.info(`File will be saved at: ${finalFilePath}`); - - try { - const save_file = Gio.File.new_for_path(finalFilePath); - const outputStream = save_file.replace(null, false, Gio.FileCreateFlags.NONE, null); - const dataOutputStream = new Gio.DataOutputStream({ - base_stream: outputStream, - }); - - dataOutputStream.put_string(filteredContent, null); - - dataOutputStream.close(null); - - Notify({ - summary: 'File Saved Successfully', - body: `At ${finalFilePath}.`, - iconName: icons.ui.info, - timeout: 5000, - }); - } catch (e) { - if (e instanceof Error) { - console.error('Failed to write to file:', e.message); - } - } - } - - dialog.destroy(); -}; - -export const importFiles = (themeOnly: boolean = false): void => { - const dialog = new Gtk.FileChooserDialog({ - title: `Import ${themeOnly ? 'Theme' : 'Config'}`, - action: Gtk.FileChooserAction.OPEN, - }); - dialog.set_current_folder(`${App.configDir}/themes`); - dialog.add_button(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL); - dialog.add_button(Gtk.STOCK_OPEN, Gtk.ResponseType.ACCEPT); - - const response = dialog.run(); - - if (response === Gtk.ResponseType.CANCEL) { - dialog.destroy(); - return; - } - if (response === Gtk.ResponseType.ACCEPT) { - const filePath: string | null = dialog.get_filename(); - - if (filePath === null) { - Notify({ - summary: 'Failed to import', - body: 'No file selected.', - iconName: icons.ui.warning, - timeout: 5000, - }); - return; - } - - const importedConfig = loadJsonFile(filePath); - - if (!importedConfig) { - dialog.destroy(); - return; - } - - Notify({ - summary: `Importing ${themeOnly ? 'Theme' : 'Config'}`, - body: `Importing: ${filePath}`, - iconName: icons.ui.info, - timeout: 7000, - }); - - const tmpConfigFile = Gio.File.new_for_path(`${TMP}/config.json`); - const optionsConfigFile = Gio.File.new_for_path(OPTIONS); - - const [tmpSuccess, tmpContent] = tmpConfigFile.load_contents(null); - const [optionsSuccess, optionsContent] = optionsConfigFile.load_contents(null); - - if (!tmpSuccess || !optionsSuccess) { - console.error('Failed to read existing configuration files.'); - dialog.destroy(); - return; - } - - let tmpConfig = JSON.parse(new TextDecoder('utf-8').decode(tmpContent)); - let optionsConfig = JSON.parse(new TextDecoder('utf-8').decode(optionsContent)); - - if (themeOnly) { - const filteredConfig = filterConfigForThemeOnly(importedConfig); - tmpConfig = { ...tmpConfig, ...filteredConfig }; - optionsConfig = { ...optionsConfig, ...filteredConfig }; - } else { - const filteredConfig = filterConfigForNonTheme(importedConfig); - tmpConfig = { ...tmpConfig, ...filteredConfig }; - optionsConfig = { ...optionsConfig, ...filteredConfig }; - } - - saveConfigToFile(tmpConfig, `${TMP}/config.json`); - saveConfigToFile(optionsConfig, OPTIONS); - } - dialog.destroy(); - bash('pkill ags && ags'); -}; diff --git a/ags/HyprPanel/widget/settings/shared/Header.ts b/ags/HyprPanel/widget/settings/shared/Header.ts deleted file mode 100644 index ac25e01..0000000 --- a/ags/HyprPanel/widget/settings/shared/Header.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { GBox } from 'lib/types/widget'; - -export const Header = (headerName: string): GBox => { - return Widget.Box({ - class_name: 'options-header', - children: [ - Widget.Label({ - class_name: 'label-name', - label: headerName, - }), - Widget.Separator({ - vpack: 'center', - hexpand: true, - class_name: 'menu-separator', - }), - ], - }); -}; diff --git a/ags/HyprPanel/widget/settings/shared/Inputter.ts b/ags/HyprPanel/widget/settings/shared/Inputter.ts deleted file mode 100644 index ed52dc1..0000000 --- a/ags/HyprPanel/widget/settings/shared/Inputter.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { RowProps } from 'lib/types/options'; -import { Variable } from 'types/variable'; -import { BoxWidget } from 'lib/types/widget'; -import { numberInputter } from './components/number'; -import { objectInputter } from './components/object'; -import { stringInputter } from './components/string'; -import { booleanInputter } from './components/boolean'; -import { imageInputter } from './components/image'; -import { importInputter } from './components/import'; -import { wallpaperInputter } from './components/wallpaper'; -import { colorInputter } from './components/color'; -import { enumInputter } from './components/enum'; -import { fontInputter } from './components/font'; - -export const Inputter = ( - { - opt, - type = typeof opt.value as RowProps['type'], - enums, - disabledBinding, - dependencies, - exportData, - min = 0, - max = 1000000, - increment = 1, - }: RowProps, - className: string, - isUnsaved: Variable, -): BoxWidget => { - return Widget.Box({ - vpack: 'center', - class_name: /export|import/.test(type || '') ? '' : 'inputter-container', - setup: (self) => { - switch (type) { - case 'number': - return numberInputter(self, opt, min, max, increment, isUnsaved); - case 'float': - case 'object': - return objectInputter(self, opt, isUnsaved, className); - case 'string': - return stringInputter(self, opt, isUnsaved); - case 'enum': - return enumInputter(self, opt, enums!); - case 'boolean': - return booleanInputter(self, opt, disabledBinding, dependencies); - case 'img': - return imageInputter(self, opt); - case 'config_import': - return importInputter(self, exportData); - case 'wallpaper': - return wallpaperInputter(self, opt); - case 'font': - return fontInputter(self, opt); - case 'color': - return colorInputter(self, opt); - default: - return (self.child = Widget.Label({ - label: `No setter with type ${type}`, - })); - } - }, - }); -}; diff --git a/ags/HyprPanel/widget/settings/shared/Label.ts b/ags/HyprPanel/widget/settings/shared/Label.ts deleted file mode 100644 index 320ac57..0000000 --- a/ags/HyprPanel/widget/settings/shared/Label.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { GBox, GButton, GLabel } from 'lib/types/widget'; - -export const Label = (name: string, sub = '', subtitleLink = ''): GBox => { - const subTitle = (): GButton | GLabel => { - if (subtitleLink.length) { - return Widget.Button({ - hpack: 'start', - vpack: 'center', - class_name: 'options-sublabel-link', - label: sub, - on_primary_click: () => Utils.execAsync(`bash -c 'xdg-open ${subtitleLink}'`), - }); - } - return Widget.Label({ - hpack: 'start', - vpack: 'center', - class_name: 'options-sublabel', - label: sub, - }); - }; - return Widget.Box({ - vertical: true, - hpack: 'start', - children: [ - Widget.Label({ - hpack: 'start', - vpack: 'center', - class_name: 'options-label', - label: name, - }), - subTitle(), - ], - }); -}; diff --git a/ags/HyprPanel/widget/settings/shared/Option.ts b/ags/HyprPanel/widget/settings/shared/Option.ts deleted file mode 100644 index 1807469..0000000 --- a/ags/HyprPanel/widget/settings/shared/Option.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { Label } from './Label'; -import { Inputter } from './Inputter'; -import icons from 'lib/icons'; -import { RowProps } from 'lib/types/options'; -import { GBox } from 'lib/types/widget'; - -export const Option = ( - props: RowProps, - className: string = '', -): GBox => { - const isUnsaved = Variable(false); - - return Widget.Box({ - class_name: 'option-item', - hexpand: true, - children: [ - Widget.Box({ - hpack: 'start', - vpack: 'center', - hexpand: true, - child: Label(props.title, props.subtitle || '', props.subtitleLink), - }), - Inputter(props, className, isUnsaved), - Widget.Button({ - vpack: 'center', - class_name: 'reset-options', - child: Widget.Icon(icons.ui.refresh), - on_clicked: () => props.opt.reset(), - sensitive: props.opt.bind().as((v) => v !== props.opt.initial), - }), - ], - }); -}; diff --git a/ags/HyprPanel/widget/settings/shared/components/boolean.ts b/ags/HyprPanel/widget/settings/shared/components/boolean.ts deleted file mode 100644 index cb8255a..0000000 --- a/ags/HyprPanel/widget/settings/shared/components/boolean.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Opt } from 'lib/option'; -import { Attribute, BoxWidget } from 'lib/types/widget'; -import { Variable } from 'types/variable'; - -import { dependencies as checkDependencies } from 'lib/utils'; - -export const booleanInputter = ( - self: BoxWidget, - opt: Opt, - disabledBinding: Variable | undefined, - dependencies: string[] | undefined, -): Attribute => { - return (self.child = Widget.Switch({ - sensitive: disabledBinding !== undefined ? disabledBinding.bind('value').as((disabled) => !disabled) : true, - }) - .on('notify::active', (self) => { - if (disabledBinding !== undefined && disabledBinding.value) { - return; - } - if (self.active && dependencies !== undefined && !dependencies.every((d) => checkDependencies(d))) { - self.active = false; - return; - } - opt.value = self.active as T; - }) - .hook(opt, (self) => { - self.active = opt.value as boolean; - })); -}; diff --git a/ags/HyprPanel/widget/settings/shared/components/color.ts b/ags/HyprPanel/widget/settings/shared/components/color.ts deleted file mode 100644 index 4212e7f..0000000 --- a/ags/HyprPanel/widget/settings/shared/components/color.ts +++ /dev/null @@ -1,19 +0,0 @@ -import Gdk from 'gi://Gdk'; -import { Opt } from 'lib/option'; -import { Attribute, BoxWidget } from 'lib/types/widget'; - -export const colorInputter = (self: BoxWidget, opt: Opt): Attribute => { - return (self.child = Widget.ColorButton() - .hook(opt, (self) => { - const rgba = new Gdk.RGBA(); - rgba.parse(opt.value as string); - self.rgba = rgba; - }) - .on('color-set', ({ rgba: { red, green, blue } }) => { - const hex = (n: number): string => { - const c = Math.floor(255 * n).toString(16); - return c.length === 1 ? `0${c}` : c; - }; - opt.value = `#${hex(red)}${hex(green)}${hex(blue)}` as T; - })); -}; diff --git a/ags/HyprPanel/widget/settings/shared/components/enum.ts b/ags/HyprPanel/widget/settings/shared/components/enum.ts deleted file mode 100644 index 423dba0..0000000 --- a/ags/HyprPanel/widget/settings/shared/components/enum.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { Opt } from 'lib/option'; -import { BoxWidget } from 'lib/types/widget'; -import icons from 'lib/icons'; -import { Box } from 'types/@girs/gtk-3.0/gtk-3.0.cjs'; - -export const enumInputter = ( - self: BoxWidget, - opt: Opt, - values: T[], -): Box => { - const lbl = Widget.Label({ label: opt.bind().as((v) => `${v}`) }); - const step = (dir: 1 | -1): void => { - const i = values.findIndex((i) => i === lbl.label); - opt.setValue( - dir > 0 - ? i + dir > values.length - 1 - ? values[0] - : values[i + dir] - : i + dir < 0 - ? values[values.length - 1] - : values[i + dir], - ); - }; - const next = Widget.Button({ - child: Widget.Icon(icons.ui.arrow.right), - on_clicked: () => step(+1), - }); - const prev = Widget.Button({ - child: Widget.Icon(icons.ui.arrow.left), - on_clicked: () => step(-1), - }); - return (self.child = Widget.Box({ - class_name: 'enum-setter', - children: [lbl, prev, next], - })); -}; diff --git a/ags/HyprPanel/widget/settings/shared/components/font.ts b/ags/HyprPanel/widget/settings/shared/components/font.ts deleted file mode 100644 index 4428888..0000000 --- a/ags/HyprPanel/widget/settings/shared/components/font.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Opt } from 'lib/option'; -import { Attribute, BoxWidget, Child } from 'lib/types/widget'; -import FontButton from 'types/widgets/fontbutton'; - -export const fontInputter = (self: BoxWidget, opt: Opt): FontButton => { - return (self.child = Widget.FontButton({ - show_size: false, - use_size: false, - setup: (self) => - self - .hook(opt, () => (self.font = opt.value as string)) - .on('font-set', ({ font }) => (opt.value = font!.split(' ').slice(0, -1).join(' ') as T)), - })); -}; diff --git a/ags/HyprPanel/widget/settings/shared/components/image.ts b/ags/HyprPanel/widget/settings/shared/components/image.ts deleted file mode 100644 index 1906004..0000000 --- a/ags/HyprPanel/widget/settings/shared/components/image.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { Opt } from 'lib/option'; -import { Attribute, BoxWidget, Child } from 'lib/types/widget'; -import FileChooserButton from 'types/widgets/filechooserbutton'; - -export const imageInputter = (self: BoxWidget, opt: Opt): Attribute => { - self.child = createFileChooserButton(opt); - return self.child; -}; - -const createFileChooserButton = (opt: Opt): FileChooserButton => { - return Widget.FileChooserButton({ - class_name: 'image-chooser', - on_file_set: handleFileSet(opt), - }); -}; - -const handleFileSet = - (opt: Opt) => - ({ uri }: { uri: string | null }): void => { - if (!uri) { - console.warn('No URI selected'); - return; - } - - try { - const decodedPath = decodeURIComponent(uri.replace('file://', '')); - opt.value = decodedPath as T; - } catch (error) { - console.error('Failed to decode URI:', error); - } - }; diff --git a/ags/HyprPanel/widget/settings/shared/components/import.ts b/ags/HyprPanel/widget/settings/shared/components/import.ts deleted file mode 100644 index 7ab779a..0000000 --- a/ags/HyprPanel/widget/settings/shared/components/import.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { ThemeExportData } from 'lib/types/options'; -import { Attribute, BoxWidget } from 'lib/types/widget'; -import { importFiles, saveFileDialog } from '../FileChooser'; - -export const importInputter = (self: BoxWidget, exportData?: ThemeExportData): Attribute => { - return (self.child = Widget.Box({ - children: [ - Widget.Button({ - class_name: 'options-import', - label: 'import', - on_clicked: () => { - importFiles(exportData?.themeOnly as boolean); - }, - }), - Widget.Button({ - class_name: 'options-export', - label: 'export', - on_clicked: () => { - saveFileDialog(exportData?.filePath as string, exportData?.themeOnly as boolean); - }, - }), - ], - })); -}; diff --git a/ags/HyprPanel/widget/settings/shared/components/number.ts b/ags/HyprPanel/widget/settings/shared/components/number.ts deleted file mode 100644 index 893de70..0000000 --- a/ags/HyprPanel/widget/settings/shared/components/number.ts +++ /dev/null @@ -1,45 +0,0 @@ -import icons from 'lib/icons'; -import { Opt } from 'lib/option'; -import { Attribute, BoxWidget } from 'lib/types/widget'; -import { Variable } from 'types/variable'; - -export const numberInputter = ( - self: BoxWidget, - opt: Opt, - min: number, - max: number, - increment = 1, - isUnsaved: Variable, -): Attribute => { - return (self.children = [ - Widget.Box({ - class_name: 'unsaved-icon-container', - child: isUnsaved.bind('value').as((unsvd) => { - if (unsvd) { - return Widget.Icon({ - class_name: 'unsaved-icon', - icon: icons.ui.warning, - tooltipText: "Press 'Enter' to apply your changes.", - }); - } - return Widget.Box(); - }), - }), - Widget.SpinButton({ - setup(self) { - self.set_range(min, max); - self.set_increments(1 * increment, 5 * increment); - self.on('value-changed', () => { - opt.value = self.value as T; - }); - self.hook(opt, () => { - self.value = opt.value as number; - isUnsaved.value = Number(self.text) !== (opt.value as number); - }); - self.connect('key-release-event', () => { - isUnsaved.value = Number(self.text) !== (opt.value as number); - }); - }, - }), - ]); -}; diff --git a/ags/HyprPanel/widget/settings/shared/components/object.ts b/ags/HyprPanel/widget/settings/shared/components/object.ts deleted file mode 100644 index b6efeec..0000000 --- a/ags/HyprPanel/widget/settings/shared/components/object.ts +++ /dev/null @@ -1,37 +0,0 @@ -import icons from 'lib/icons'; -import { Opt } from 'lib/option'; -import { Attribute, BoxWidget } from 'lib/types/widget'; -import { Variable } from 'types/variable'; - -export const objectInputter = ( - self: BoxWidget, - opt: Opt, - isUnsaved: Variable, - className: string, -): Attribute => { - return (self.children = [ - Widget.Box({ - class_name: 'unsaved-icon-container', - child: isUnsaved.bind('value').as((unsvd) => { - if (unsvd) { - return Widget.Icon({ - class_name: 'unsaved-icon', - icon: icons.ui.warning, - tooltipText: "Press 'Enter' to apply your changes.", - }); - } - return Widget.Box(); - }), - }), - Widget.Entry({ - class_name: className, - on_change: (self) => (isUnsaved.value = self.text !== JSON.stringify(opt.value)), - on_accept: (self) => (opt.value = JSON.parse(self.text || '')), - setup: (self) => - self.hook(opt, () => { - self.text = JSON.stringify(opt.value); - isUnsaved.value = self.text !== JSON.stringify(opt.value); - }), - }), - ]); -}; diff --git a/ags/HyprPanel/widget/settings/shared/components/string.ts b/ags/HyprPanel/widget/settings/shared/components/string.ts deleted file mode 100644 index 56d18c2..0000000 --- a/ags/HyprPanel/widget/settings/shared/components/string.ts +++ /dev/null @@ -1,34 +0,0 @@ -import icons from 'lib/icons'; -import { Opt } from 'lib/option'; -import { Attribute, BoxWidget } from 'lib/types/widget'; -import { Variable } from 'types/variable'; - -export const stringInputter = (self: BoxWidget, opt: Opt, isUnsaved: Variable): Attribute => { - return (self.children = [ - Widget.Box({ - class_name: 'unsaved-icon-container', - child: isUnsaved.bind('value').as((unsvd) => { - if (unsvd) { - return Widget.Icon({ - class_name: 'unsaved-icon', - icon: icons.ui.warning, - tooltipText: "Press 'Enter' to apply your changes.", - }); - } - return Widget.Box(); - }), - }), - Widget.Entry({ - class_name: isUnsaved.bind('value').as((unsaved) => (unsaved ? 'unsaved' : '')), - on_change: (self) => (isUnsaved.value = self.text !== opt.value), - on_accept: (self) => { - opt.value = self.text as T; - }, - setup: (self) => - self.hook(opt, () => { - isUnsaved.value = self.text !== opt.value; - self.text = opt.value as string; - }), - }), - ]); -}; diff --git a/ags/HyprPanel/widget/settings/shared/components/wallpaper.ts b/ags/HyprPanel/widget/settings/shared/components/wallpaper.ts deleted file mode 100644 index 5e11165..0000000 --- a/ags/HyprPanel/widget/settings/shared/components/wallpaper.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Opt } from 'lib/option'; -import { Attribute, BoxWidget } from 'lib/types/widget'; -import Wallpaper from 'services/Wallpaper'; - -export const wallpaperInputter = ( - self: BoxWidget, - opt: Opt, -): Attribute | void => { - if (typeof opt.value === 'string') { - return (self.child = Widget.FileChooserButton({ - on_file_set: ({ uri }) => { - const newValue: string = uri!.replace('file://', ''); - opt.value = newValue as T; - if (options.wallpaper.enable.value) { - Wallpaper.set(newValue); - } - }, - })); - } -}; diff --git a/ags/HyprPanel/widget/settings/side_effects/index.ts b/ags/HyprPanel/widget/settings/side_effects/index.ts deleted file mode 100644 index 6e268c1..0000000 --- a/ags/HyprPanel/widget/settings/side_effects/index.ts +++ /dev/null @@ -1,34 +0,0 @@ -import options from 'options'; - -const { show_numbered, show_icons, showWsIcons } = options.bar.workspaces; -const { monochrome: monoBar } = options.theme.bar.buttons; -const { monochrome: monoMenu } = options.theme.bar.menus; -const { matugen } = options.theme; - -show_numbered.connect('changed', ({ value }) => { - if (value === true) { - show_icons.value = false; - showWsIcons.value = false; - } -}); - -show_icons.connect('changed', ({ value }) => { - if (value === true) { - show_numbered.value = false; - showWsIcons.value = false; - } -}); - -showWsIcons.connect('changed', ({ value }) => { - if (value === true) { - show_numbered.value = false; - show_icons.value = false; - } -}); - -matugen.connect('changed', ({ value }) => { - if (value === true) { - monoBar.value = false; - monoMenu.value = false; - } -}); diff --git a/ags/bar/config.js b/ags/bar/config.js deleted file mode 100644 index ae44313..0000000 --- a/ags/bar/config.js +++ /dev/null @@ -1,219 +0,0 @@ -const hyprland = await Service.import("hyprland") -const notifications = await Service.import("notifications") -const mpris = await Service.import("mpris") -const audio = await Service.import("audio") -const battery = await Service.import("battery") -const systemtray = await Service.import("systemtray") - -const date = Variable("", { - poll: [1000, 'date "+%H:%M:%S %b %e."'], -}) - -// widgets can be only assigned as a child in one container -// so to make a reuseable widget, make it a function -// then you can simply instantiate one by calling it - -function Workspaces() { - const activeId = hyprland.active.workspace.bind("id") - const workspaces = hyprland.bind("workspaces") - .as(ws => ws.map(({ id }) => Widget.Button({ - on_clicked: () => hyprland.messageAsync(`dispatch workspace ${id}`), - child: Widget.Label(`${id}`), - class_name: activeId.as(i => `${i === id ? "focused" : ""}`), - }))) - - return Widget.Box({ - class_name: "workspaces", - children: workspaces, - }) -} - - -function ClientTitle() { - return Widget.Label({ - class_name: "client-title", - label: hyprland.active.client.bind("title"), - }) -} - - -function Clock() { - return Widget.Label({ - class_name: "clock", - label: date.bind(), - }) -} - - -// we don't need dunst or any other notification daemon -// because the Notifications module is a notification daemon itself -function Notification() { - const popups = notifications.bind("popups") - return Widget.Box({ - class_name: "notification", - visible: popups.as(p => p.length > 0), - children: [ - Widget.Icon({ - icon: "preferences-system-notifications-symbolic", - }), - Widget.Label({ - label: popups.as(p => p[0]?.summary || ""), - }), - ], - }) -} - - -function Media() { - const label = Utils.watch("", mpris, "player-changed", () => { - if (mpris.players[0]) { - const { track_artists, track_title } = mpris.players[0] - return `${track_artists.join(", ")} - ${track_title}` - } else { - return "Nothing is playing" - } - }) - - return Widget.Button({ - class_name: "media", - on_primary_click: () => mpris.getPlayer("")?.playPause(), - on_scroll_up: () => mpris.getPlayer("")?.next(), - on_scroll_down: () => mpris.getPlayer("")?.previous(), - child: Widget.Label({ label }), - }) -} - - -function Volume() { - const icons = { - 101: "overamplified", - 67: "high", - 34: "medium", - 1: "low", - 0: "muted", - } - - function getIcon() { - const icon = audio.speaker.is_muted ? 0 : [101, 67, 34, 1, 0].find( - threshold => threshold <= audio.speaker.volume * 100) - - return `audio-volume-${icons[icon]}-symbolic` - } - - const icon = Widget.Icon({ - icon: Utils.watch(getIcon(), audio.speaker, getIcon), - }) - - const slider = Widget.Slider({ - hexpand: true, - draw_value: false, - on_change: ({ value }) => audio.speaker.volume = value, - setup: self => self.hook(audio.speaker, () => { - self.value = audio.speaker.volume || 0 - }), - }) - - return Widget.Box({ - class_name: "volume", - css: "min-width: 180px", - children: [icon, slider], - }) -} - - -function BatteryLabel() { - const value = battery.bind("percent").as(p => p > 0 ? p / 100 : 0) - const icon = battery.bind("percent").as(p => - `battery-level-${Math.floor(p / 10) * 10}-symbolic`) - - return Widget.Box({ - class_name: "battery", - visible: battery.bind("available"), - children: [ - Widget.Icon({ icon }), - Widget.LevelBar({ - widthRequest: 140, - vpack: "center", - value, - }), - ], - }) -} - - -function SysTray() { - const items = systemtray.bind("items") - .as(items => items.map(item => Widget.Button({ - child: Widget.Icon({ icon: item.bind("icon") }), - on_primary_click: (_, event) => item.activate(event), - on_secondary_click: (_, event) => item.openMenu(event), - tooltip_markup: item.bind("tooltip_markup"), - }))) - - return Widget.Box({ - children: items, - }) -} - - -// layout of the bar -function Left() { - return Widget.Box({ - spacing: 8, - children: [ - Workspaces(), - ClientTitle(), - ], - }) -} - -function Center() { - return Widget.Box({ - spacing: 8, - children: [ - Media(), - Notification(), - ], - }) -} - -function Right() { - return Widget.Box({ - hpack: "end", - spacing: 8, - children: [ - Volume(), - BatteryLabel(), - Clock(), - SysTray(), - ], - }) -} - -function Bar(monitor = 0) { - return Widget.Window({ - name: `bar-${monitor}`, // name has to be unique - class_name: "bar", - monitor, - anchor: ["top", "left", "right"], - exclusivity: "exclusive", - child: Widget.CenterBox({ - start_widget: Left(), - center_widget: Center(), - end_widget: Right(), - }), - }) -} - -App.config({ - style: "./style.css", - windows: [ - Bar(), - - // you can call it, for each monitor - // Bar(0), - // Bar(1) - ], -}) - -export { } \ No newline at end of file diff --git a/ags/bar/style.css b/ags/bar/style.css deleted file mode 100644 index 222caab..0000000 --- a/ags/bar/style.css +++ /dev/null @@ -1,40 +0,0 @@ -window.bar { - background-color: black; - color: @theme_fg_color; -} - -button { - min-width: 0; - padding-top: 0; - padding-bottom: 0; - background-color: transparent; -} - -button:active { - background-color: @theme_selected_bg_color; -} - -button:hover { - border-bottom: 3px solid @theme_fg_color; -} - -label { - font-weight: bold; -} - -.workspaces button.focused { - border-bottom: 3px solid @theme_selected_bg_color; -} - -.client-title { - color: @theme_selected_bg_color; -} - -.notification { - color: yellow; -} - -levelbar block, -highlight { - min-height: 10px; -} \ No newline at end of file diff --git a/ags/launcher/README.md b/ags/launcher/README.md deleted file mode 100644 index 71563ed..0000000 --- a/ags/launcher/README.md +++ /dev/null @@ -1,15 +0,0 @@ - -# Starter Config - -if suggestions don't work, first make sure -you have TypeScript LSP working in your editor - -if you do not want typechecking only suggestions - -```json -// tsconfig.json -"checkJs": false -``` - -types are symlinked to: -/usr/share/com.github.Aylur.ags/types diff --git a/ags/launcher/applauncher.js b/ags/launcher/applauncher.js deleted file mode 100644 index 4b97c7b..0000000 --- a/ags/launcher/applauncher.js +++ /dev/null @@ -1,107 +0,0 @@ -const { query } = await Service.import("applications") -const WINDOW_NAME = "applauncher" - -/** @param {import('resource:///com/github/Aylur/ags/service/applications.js').Application} app */ -const AppItem = app => Widget.Button({ - on_clicked: () => { - App.closeWindow(WINDOW_NAME) - app.launch() - }, - attribute: { app }, - child: Widget.Box({ - children: [ - Widget.Icon({ - icon: app.icon_name || "", - size: 42, - }), - Widget.Label({ - class_name: "title", - label: app.name, - xalign: 0, - vpack: "center", - truncate: "end", - }), - ], - }), -}) - -const Applauncher = ({ width = 500, height = 500, spacing = 12 }) => { - // list of application buttons - let applications = query("").map(AppItem) - - // container holding the buttons - const list = Widget.Box({ - vertical: true, - children: applications, - spacing, - }) - - // repopulate the box, so the most frequent apps are on top of the list - function repopulate() { - applications = query("").map(AppItem) - list.children = applications - } - - // search entry - const entry = Widget.Entry({ - hexpand: true, - css: `margin-bottom: ${spacing}px;`, - - // to launch the first item on Enter - on_accept: () => { - // make sure we only consider visible (searched for) applications - const results = applications.filter((item) => item.visible); - if (results[0]) { - App.toggleWindow(WINDOW_NAME) - results[0].attribute.app.launch() - } - }, - - // filter out the list - on_change: ({ text }) => applications.forEach(item => { - item.visible = item.attribute.app.match(text ?? "") - }), - }) - - return Widget.Box({ - vertical: true, - css: `margin: ${spacing * 2}px;`, - children: [ - entry, - - // wrap the list in a scrollable - Widget.Scrollable({ - hscroll: "never", - css: `min-width: ${width}px;` - + `min-height: ${height}px;`, - child: list, - }), - ], - setup: self => self.hook(App, (_, windowName, visible) => { - if (windowName !== WINDOW_NAME) - return - - // when the applauncher shows up - if (visible) { - repopulate() - entry.text = "" - entry.grab_focus() - } - }), - }) -} - -// there needs to be only one instance -export const applauncher = Widget.Window({ - name: WINDOW_NAME, - setup: self => self.keybind("Escape", () => { - App.closeWindow(WINDOW_NAME) - }), - visible: false, - keymode: "exclusive", - child: Applauncher({ - width: 500, - height: 500, - spacing: 12, - }), -}) \ No newline at end of file diff --git a/ags/launcher/config.js b/ags/launcher/config.js deleted file mode 100644 index 8c69726..0000000 --- a/ags/launcher/config.js +++ /dev/null @@ -1,5 +0,0 @@ -import { applauncher } from "./applauncher.js" - -App.config({ - windows: [applauncher], -}) \ No newline at end of file diff --git a/ags/launcher/tsconfig.json b/ags/launcher/tsconfig.json deleted file mode 100644 index f03f2d1..0000000 --- a/ags/launcher/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2022", - "module": "ES2022", - "lib": [ - "ES2022" - ], - "allowJs": true, - "checkJs": true, - "strict": true, - "noImplicitAny": false, - "baseUrl": ".", - "typeRoots": [ - "./types" - ], - "skipLibCheck": true - } -} \ No newline at end of file diff --git a/ags/launcher/types b/ags/launcher/types deleted file mode 120000 index a8e3f04..0000000 --- a/ags/launcher/types +++ /dev/null @@ -1 +0,0 @@ -/usr/share/com.github.Aylur.ags/types \ No newline at end of file diff --git a/ags/media/Media.js b/ags/media/Media.js deleted file mode 100644 index 337656d..0000000 --- a/ags/media/Media.js +++ /dev/null @@ -1,153 +0,0 @@ -const mpris = await Service.import("mpris") -const players = mpris.bind("players") - -const FALLBACK_ICON = "audio-x-generic-symbolic" -const PLAY_ICON = "media-playback-start-symbolic" -const PAUSE_ICON = "media-playback-pause-symbolic" -const PREV_ICON = "media-skip-backward-symbolic" -const NEXT_ICON = "media-skip-forward-symbolic" - -/** @param {number} length */ -function lengthStr(length) { - const min = Math.floor(length / 60) - const sec = Math.floor(length % 60) - const sec0 = sec < 10 ? "0" : "" - return `${min}:${sec0}${sec}` -} - -/** @param {import('types/service/mpris').MprisPlayer} player */ -function Player(player) { - const img = Widget.Box({ - class_name: "img", - vpack: "start", - css: player.bind("cover_path").transform(p => ` - background-image: url('${p}'); - `), - }) - - const title = Widget.Label({ - class_name: "title", - wrap: true, - hpack: "start", - label: player.bind("track_title"), - }) - - const artist = Widget.Label({ - class_name: "artist", - wrap: true, - hpack: "start", - label: player.bind("track_artists").transform(a => a.join(", ")), - }) - - const positionSlider = Widget.Slider({ - class_name: "position", - draw_value: false, - on_change: ({ value }) => player.position = value * player.length, - visible: player.bind("length").as(l => l > 0), - setup: self => { - function update() { - const value = player.position / player.length - self.value = value > 0 ? value : 0 - } - self.hook(player, update) - self.hook(player, update, "position") - self.poll(1000, update) - }, - }) - - const positionLabel = Widget.Label({ - class_name: "position", - hpack: "start", - setup: self => { - const update = (_, time) => { - self.label = lengthStr(time || player.position) - self.visible = player.length > 0 - } - - self.hook(player, update, "position") - self.poll(1000, update) - }, - }) - - const lengthLabel = Widget.Label({ - class_name: "length", - hpack: "end", - visible: player.bind("length").transform(l => l > 0), - label: player.bind("length").transform(lengthStr), - }) - - const icon = Widget.Icon({ - class_name: "icon", - hexpand: true, - hpack: "end", - vpack: "start", - tooltip_text: player.identity || "", - icon: player.bind("entry").transform(entry => { - const name = `${entry}-symbolic` - return Utils.lookUpIcon(name) ? name : FALLBACK_ICON - }), - }) - - const playPause = Widget.Button({ - class_name: "play-pause", - on_clicked: () => player.playPause(), - visible: player.bind("can_play"), - child: Widget.Icon({ - icon: player.bind("play_back_status").transform(s => { - switch (s) { - case "Playing": return PAUSE_ICON - case "Paused": - case "Stopped": return PLAY_ICON - } - }), - }), - }) - - const prev = Widget.Button({ - on_clicked: () => player.previous(), - visible: player.bind("can_go_prev"), - child: Widget.Icon(PREV_ICON), - }) - - const next = Widget.Button({ - on_clicked: () => player.next(), - visible: player.bind("can_go_next"), - child: Widget.Icon(NEXT_ICON), - }) - - return Widget.Box( - { class_name: "player" }, - img, - Widget.Box( - { - vertical: true, - hexpand: true, - }, - Widget.Box([ - title, - icon, - ]), - artist, - Widget.Box({ vexpand: true }), - positionSlider, - Widget.CenterBox({ - start_widget: positionLabel, - center_widget: Widget.Box([ - prev, - playPause, - next, - ]), - end_widget: lengthLabel, - }), - ), - ) -} - -export function Media() { - return Widget.Box({ - vertical: true, - css: "min-height: 2px; min-width: 2px;", // small hack to make it visible - visible: players.as(p => p.length > 0), - children: players.as(p => p.map(Player)), - }) -} diff --git a/ags/media/README.md b/ags/media/README.md deleted file mode 100644 index 0db707c..0000000 --- a/ags/media/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# Media Widget - -setup - -```bash -mkdir -p ~/.config/ags -git clone https://github.com/Aylur/ags.git /tmp/ags -cp -r /tmp/ags/example/media-widget/* ~/.config/ags - -# optionally setup types -ags --init -c ~/.config/ags/config.js -``` - -running - -```bash -ags -c ~/.config/ags/config.js & -``` diff --git a/ags/media/config.js b/ags/media/config.js deleted file mode 100644 index 5f77f05..0000000 --- a/ags/media/config.js +++ /dev/null @@ -1,13 +0,0 @@ -import { Media } from "./Media.js" - -const win = Widget.Window({ - name: "mpris", - css: "border-radius: 16px;", - anchor: ["top", "right"], - child: Media(), -}) - -App.config({ - style: "./style.css", - windows: [win], -}) diff --git a/ags/media/style.css b/ags/media/style.css deleted file mode 100644 index 12630a3..0000000 --- a/ags/media/style.css +++ /dev/null @@ -1,53 +0,0 @@ -.player { - padding: 10px; - min-width: 350px; -} - -.player .img { - min-width: 100px; - min-height: 100px; - background-size: cover; - background-position: center; - border-radius: 13px; - margin-right: 1em; -} - -.player .title { - font-size: 1.2em; -} - -.player .artist { - font-size: 1.1em; - color: @insensitive_fg_color; -} - -.player scale.position { - padding: 0; - margin-bottom: .3em; -} - -.player scale.position trough { - min-height: 10px; - border-radius: 10px; -} - -.player scale.position highlight { - background-color: @theme_fg_color; - border-radius: 10px; -} - -.player scale.position slider { - all: unset; -} - -.player button { - min-height: 2em; - min-width: 2em; - border-radius: 2em; - padding: .3em; - border: none; -} - -.player button.play-pause { - margin: 0 .3em; -} diff --git a/ags/media/toggle_media b/ags/media/toggle_media deleted file mode 100755 index b4bbcae..0000000 --- a/ags/media/toggle_media +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -if [ ! -f ~/.ags_media ]; then - ags --bus-name media -c ~/dotfiles/ags/media/config.js & - echo $! > ~/.ags_media -else - ags --bus-name media -c ~/dotfiles/ags/media/config.js --quit - rm ~/.ags_media -fi diff --git a/ags/notification-popups/README.md b/ags/notification-popups/README.md deleted file mode 100644 index ea184d6..0000000 --- a/ags/notification-popups/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# Notification Popups - -setup - -```bash -mkdir -p ~/.config/ags -git clone https://github.com/Aylur/ags.git /tmp/ags -cp -r /tmp/ags/example/notification-popups/* ~/.config/ags - -# optionally setup types -ags --init -c ~/.config/ags/config.js -``` - -running - -```bash -ags -c ~/.config/ags/config.js & -``` \ No newline at end of file diff --git a/ags/notification-popups/config.js b/ags/notification-popups/config.js deleted file mode 100644 index 34743a2..0000000 --- a/ags/notification-popups/config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { NotificationPopups } from "./notificationPopups.js" - -Utils.timeout(100, () => Utils.notify({ - summary: "Notification Popup Example", - iconName: "info-symbolic", - body: "Lorem ipsum dolor sit amet, qui minim labore adipisicing " - + "minim sint cillum sint consectetur cupidatat.", - actions: { - "Cool": () => print("pressed Cool"), - }, -})) - -App.config({ - style: "./style.css", - windows: [ - NotificationPopups(), - ], -}) \ No newline at end of file diff --git a/ags/notification-popups/notificationPopups.js b/ags/notification-popups/notificationPopups.js deleted file mode 100644 index 4c63d74..0000000 --- a/ags/notification-popups/notificationPopups.js +++ /dev/null @@ -1,130 +0,0 @@ -const notifications = await Service.import("notifications") - -/** @param {import('resource:///com/github/Aylur/ags/service/notifications.js').Notification} n */ -function NotificationIcon({ app_entry, app_icon, image }) { - if (image) { - return Widget.Box({ - css: `background-image: url("${image}");` - + "background-size: contain;" - + "background-repeat: no-repeat;" - + "background-position: center;", - }) - } - - let icon = "dialog-information-symbolic" - if (Utils.lookUpIcon(app_icon)) - icon = app_icon - - if (app_entry && Utils.lookUpIcon(app_entry)) - icon = app_entry - - return Widget.Box({ - child: Widget.Icon(icon), - }) -} - -/** @param {import('resource:///com/github/Aylur/ags/service/notifications.js').Notification} n */ -function Notification(n) { - const icon = Widget.Box({ - vpack: "start", - class_name: "icon", - child: NotificationIcon(n), - }) - - const title = Widget.Label({ - class_name: "title", - xalign: 0, - justification: "left", - hexpand: true, - max_width_chars: 24, - truncate: "end", - wrap: true, - label: n.summary, - use_markup: true, - }) - - const body = Widget.Label({ - class_name: "body", - hexpand: true, - use_markup: true, - xalign: 0, - justification: "left", - label: n.body, - wrap: true, - }) - - const actions = Widget.Box({ - class_name: "actions", - children: n.actions.map(({ id, label }) => Widget.Button({ - class_name: "action-button", - on_clicked: () => { - n.invoke(id) - n.dismiss() - }, - hexpand: true, - child: Widget.Label(label), - })), - }) - - return Widget.EventBox( - { - attribute: { id: n.id }, - on_primary_click: n.dismiss, - }, - Widget.Box( - { - class_name: `notification ${n.urgency}`, - vertical: true, - }, - Widget.Box([ - icon, - Widget.Box( - { vertical: true }, - title, - body, - ), - ]), - actions, - ), - ) -} - -export function NotificationPopups(monitor = 0) { - const list = Widget.Box({ - vertical: true, - children: notifications.popups.map(Notification), - }) - - function onNotified(_, /** @type {number} */ id) { - const n = notifications.getNotification(id) - if (n) - list.children = [Notification(n), ...list.children] - } - - function onDismissed(_, /** @type {number} */ id) { - list.children.find(n => n.attribute.id === id)?.destroy() - } - - list.hook(notifications, onNotified, "notified") - .hook(notifications, onDismissed, "dismissed") - - return Widget.Window({ - monitor, - name: `notifications${monitor}`, - class_name: "notification-popups", - anchor: ["top", "right"], - child: Widget.Box({ - css: "min-width: 2px; min-height: 2px;", - class_name: "notifications", - vertical: true, - child: list, - - /** this is a simple one liner that could be used instead of - hooking into the 'notified' and 'dismissed' signals. - but its not very optimized becuase it will recreate - the whole list everytime a notification is added or dismissed */ - // children: notifications.bind('popups') - // .as(popups => popups.map(Notification)) - }), - }) -} \ No newline at end of file diff --git a/ags/notification-popups/start_notification_service b/ags/notification-popups/start_notification_service deleted file mode 100755 index 9f83402..0000000 --- a/ags/notification-popups/start_notification_service +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -if [ ! -f ~/.ags_notification_service ]; then - ags --bus-name notification_service -c ~/dotfiles/ags/notification-popups/config.js & - echo $! > ~/.ags_notification_service -else - ags --bus-name notification_service -c ~/dotfiles/ags/notification-popups/config.js --quit - rm ~/.ags_notification_service -fi diff --git a/ags/notification-popups/style.css b/ags/notification-popups/style.css deleted file mode 100644 index 4e28e73..0000000 --- a/ags/notification-popups/style.css +++ /dev/null @@ -1,57 +0,0 @@ -window.notification-popups box.notifications { - padding: .5em; -} - -.icon { - min-width: 68px; - min-height: 68px; - margin-right: 1em; -} - -.icon image { - font-size: 58px; - /* to center the icon */ - margin: 5px; - color: @theme_fg_color; -} - -.icon box { - min-width: 68px; - min-height: 68px; - border-radius: 7px; -} - -.notification { - min-width: 350px; - border-radius: 16px; - padding: 1em; - margin: .5em; - border: 1px solid @wm_borders_edge; - background-color: @theme_bg_color; -} - -.notification.critical { - border: 2px solid lightcoral; -} - -.title { - color: @theme_fg_color; - font-size: 1.4em; -} - -.body { - color: @theme_unfocused_fg_color; -} - -.actions .action-button { - margin: 0 .4em; - margin-top: .8em; -} - -.actions .action-button:first-child { - margin-left: 0; -} - -.actions .action-button:last-child { - margin-right: 0; -} \ No newline at end of file diff --git a/ags/volume/config.js b/ags/volume/config.js deleted file mode 100644 index de16f31..0000000 --- a/ags/volume/config.js +++ /dev/null @@ -1,50 +0,0 @@ -const audio = await ServiceWorker.import('audio') - -/** @param {'speaker' | 'microphone'} type */ -const vol = () => { - const VolumeSlider = (type = 'speaker') => Widget.Slider({ - hexpand: true, - drawValue: false, - onChange: ({value}) => audio[type].volume = value, - value: audio[type].bind('volume') - }) - - const speakerSlider = VolumeSlider('speaker') - const micSlider = VolumeSlider('microphone') - return Widget.Window({ - child: [speakerSlider, micSlider] - }) -} - -// const audio = await Service.import('audio') - -// const vol = () => { -// const volumeIndicator = Widget.Button({ -// on_clicked: () => audio.speaker.is_muted = !audio.speaker.is_muted, -// child: Widget.Icon().hook(audio.speaker, self => { -// const vol = audio.speaker.volume * 100; -// const icon = [ -// [101, 'overamplified'], -// [67, 'high'], -// [34, 'medium'], -// [1, 'low'], -// [0, 'muted'], -// ].find(([threshold]) => threshold <= vol)?.[1]; - -// self.icon = `audio-volume-${icon}-symbolic`; -// self.tooltip_text = `Volume ${Math.floor(vol)}%`; -// }), -// }) -// return Widget.Window({ -// child: volumeIndicator -// }) -// } - -App.config({ - style: "./style.css", - windows: [ - vol() - // speakerSlider, - // micSlider - ], -}) diff --git a/ags/weather/Weather.js b/ags/weather/Weather.js deleted file mode 100644 index 156b71f..0000000 --- a/ags/weather/Weather.js +++ /dev/null @@ -1,550 +0,0 @@ -import Weather from "./weather_service.js" - -export default () => Widget.Box( - { - class_name: "weather", - css: "min-height: 2px; min-width: 2px;", - }, - Widget.Box( - { class_name: "list" }, - Widget.Box( - { - class_name: "weater-box-yesterday", - vertical: true - }, - Widget.Box( - { - class_name: "horizontal", - css: "padding: 0 10px 10px 10px;" - }, - Widget.Label({ - class_name: "title", - wrap: false, - label: "  0.77mm ↑ 10°C ↓ 4°C THU" - }) - ), - Widget.Box( - { class_name: "horizontal" }, - Widget.Box( - { - class_name: "weather-box-hour", - vertical: true, - }, - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "18h", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "⛅️", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "6°C", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: " 0.26mm", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: " 5 kph", - }), - ), - Widget.Box( - { - class_name: "weather-box-hour", - vertical: true, - }, - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "18h", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "⛅️", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "6°C", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: " 0.26mm", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: " 5 kph", - }), - ), - Widget.Box( - { - class_name: "weather-box-hour", - vertical: true, - }, - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "18h", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "⛅️", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "6°C", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - // label: " 0.26mm", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: " 5 kph", - }), - ), - ) - ), - Widget.Box( - { - class_name: "weather-box-today", - vertical: true, - }, - Widget.Box( - { - class_name: "horizontal", - css: "color: black;margin-top: 0;", - // space_evenly: true - }, - Widget.Label({ - class_name: "title", - css: "color: black;font-size: 25px;", - wrap: true, - // label: "", - hpack: "start", - setup: self => self.hook(Weather, () => { - Weather.weatherData - self.label = `${Weather._temperatureWeather.current_condition[0].weatherCode}` - }) - }), - Widget.Box({hexpand: true}), - Widget.Label({ - class_name: "title", - css: "color: black;margin-right: 10px;font-size: 20px;", - wrap: true, - // label: "↑ 10 ↓ 4 FRI", - hpack: "end", - setup: self => self.hook(Weather, () => { - // self.label = "hello world" - print(Weather.weatherData) - self.label = `↑ ${Weather._temperatureWeather.weather[0].maxtempC} ↓ ${Weather._temperatureWeather.weather[0].mintempC} ${Weather._temperatureWeather.weather[0].date}` - }), - }) - ), - Widget.Box( - { - class_name: "horizontal", - css: "margin: 10px 0 10px 0;" - }, - Widget.Box( - { - class_name: "weather-box-hour", - vertical: true, - css: "color: black;" - }, - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "18h", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "6°C", - }), - Widget.Box({vexpand: true}), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: " 5 kph", - }), - ), - Widget.Box( - { - class_name: "weather-box-hour", - vertical: true, - css: "color: black;" - }, - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "18h", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "6°C", - }), - Widget.Box({vexpand: true}), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: " 5 kph", - }), - ), - Widget.Box( - { - class_name: "weather-box-hour", - vertical: true, - css: "color: black;" - }, - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "18h", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "6°C", - }), - Widget.Box({vexpand: true}), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: " 5 kph", - }), - ), - Widget.Box( - { - class_name: "weather-box-hour", - vertical: true, - css: "color: black;" - }, - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "18h", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "6°C", - }), - Widget.Box({vexpand: true}), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: " 5 kph", - }), - ), - Widget.Box( - { - class_name: "weather-box-hour", - vertical: true, - css: "color: black;" - }, - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "18h", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "6°C", - }), - Widget.Box({vexpand: true}), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: " 5 kph", - }), - ), - Widget.Box( - { - class_name: "weather-box-hour", - vertical: true, - css: "color: black;" - }, - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "18h", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "6°C", - }), - Widget.Box({vexpand: true}), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: " 5 kph", - }), - ), - Widget.Box( - { - class_name: "weather-box-hour", - vertical: true, - css: "color: black;" - }, - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "18h", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "6°C", - }), - Widget.Box({vexpand: true}), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: " 5 kph", - }), - ), - ) - ), - Widget.Box( - { - class_name: "weather-box", - vertical: true, - }, - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "MON", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "10h", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "⛅️", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "10°C", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - // label: " 0.26mm", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "↑ 10°C", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "↓ 4°C", - }) - ), - Widget.Box( - { - class_name: "weather-box", - vertical: true, - }, - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "TUE", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "10h", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "⛅️", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "10°C", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - // label: " 0.26mm", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "↑ 10°C", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "↓ 4°C", - }) - ), - Widget.Box( - { - class_name: "weather-box", - vertical: true, - }, - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "WED", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "10h", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "⛅️", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "10°C", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - // label: " 0.26mm", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "↑ 10°C", - }), - Widget.Label({ - class_name: "title", - wrap: true, - hpack: "center", - label: "↓ 4°C", - }) - ), - ) -) \ No newline at end of file diff --git a/ags/weather/config.js b/ags/weather/config.js deleted file mode 100644 index 8986d09..0000000 --- a/ags/weather/config.js +++ /dev/null @@ -1,13 +0,0 @@ -import Weather from "./Weather.js" - -const win = Widget.Window({ - name: "weather", - css: "background: transparent", - anchor: ["top", "left"], - child: Weather(), -}) - -App.config({ - style: "./style.css", - window: [win], -}) diff --git a/ags/weather/meteosource.sh b/ags/weather/meteosource.sh deleted file mode 100644 index e69de29..0000000 diff --git a/ags/weather/openweathermap.sh b/ags/weather/openweathermap.sh deleted file mode 100644 index a3664c4..0000000 --- a/ags/weather/openweathermap.sh +++ /dev/null @@ -1,433 +0,0 @@ -#!/bin/sh - -apiKey="" -defaultLocation="" -Ags=0 -Debug=0 -output="" -WindSpeedUnit="kph" -DegreeCharacter="°C" -HumidityUnit="%" -CloudCoverUnit="%" -RainUnit=" mm" - -function debug_break() { - echo "-----" -} - -function get_script_argument_options() { - if [[ $firstArgLetter == "a" ]]; then - Ags=1 - fi - - if [[ $firstArgLetter == "d" ]]; then - Debug=1 - fi -} - -function get_config_file_data() { - if [ -f "$ConfigFile" ]; then - readarray -t line < "$ConfigFile" - apiKey=${line[0]} - defaultLocation=${line[1]} - fi - - if [ "$Debug" = "1" ]; then - # echo "apiKey: $apiKey" - echo "defaultLocation: $defaultLocation" - debug_break - fi - - if [[ "$apiKey" == "" || "$defaultLocation" == "" ]]; then - echo "Wrong Config file." - exit 1 - fi -} - -function check_api_status() { - check=$(echo "$response" | grep -c -e '"cod":"40"' || true) - check2=$(echo "$response" | grep -c -e '"cod":"30"' || true) - sum=$(( check + check2 )) - - if [ $sum -gt 0 ];then - exit 99 - fi -} - -function get_api_response() { - if [ "$Debug" = "1" ]; then - echo "API REQUEST TO GET DATA. URL: $URL" - fi - - # Make the API request using curl - # Check if the request was successful - if ! response=$(curl -s "$URL"); then - echo "Error making API request" - exit 1 - fi - - # Save response to cache file - echo "$response" > "$CacheFile" - - if [ "$Debug" = "1" ]; then - echo "$response" - debug_break - fi - - check_api_status -} - -function get_api_response_from_cache_file() { - if [ "$Debug" = "1" ]; then - echo 'DATA FROM CACHE' - fi - - response=$(cat "$CacheFile") - - if [ "$Debug" = "1" ]; then - echo "$response" - debug_break - fi - - check_api_status -} - -function get_response() { - # Check if cache file exists and is less than 5 minutes old - if [ -f "$CacheFile" ] && [ $(($(date +%s) - $(date -r "$CacheFile" +%s))) -lt 300 ]; then - get_api_response_from_cache_file - else - get_api_response - fi -} - -function print_weather_output() { - if [ "$Debug" = "1" ]; then - echo "NOW: $nowTemperature" - fi - - if [ -z "$output" ]; then - echo "No weather data to output." - exit 1 - fi - - if [ "${output: -1}" = "," ]; then - output="${output%,}" - fi - - output="[$output]" - - if [ "$Ags" == "1" ]; then - ags -r "weather.setTooltip($output)" - ags -r "weather.setTemperatureWeather(\"$nowTemperature\")" - else - echo "$output" - fi -} - -function get_debug_info_sunset_and_sunrise_hours() { - if [ "$Debug" = "1" ]; then - echo "Now: $CurrentTime" - CurrentHour=$(date +"%-H" -d @"$CurrentTime") - echo "Current: $CurrentHour" - - echo "SunsetHour: $SunsetHour" - echo "Sunrise: $SunriseHour" - debug_break - fi -} - -#sunset information from the Current weather response -function get_current_sunset_and_sunrise_hours() { - SunsetTime=$(echo "$response" | jq -r .sys.sunset) - SunriseTime=$(echo "$response" | jq -r .sys.sunrise) - SunsetHour=$(date +"%-H" -d @"$SunsetTime") - SunriseHour=$(date +"%-H" -d @"$SunriseTime") - - #current time - CurrentTime=$(date +%s) - - get_debug_info_sunset_and_sunrise_hours -} - -#sunset information from the weather Forecast response -function get_forecast_sunset_and_sunrise_hours() { - SunsetTime=$(echo "$response" | jq -r .city.sunset) - SunriseTime=$(echo "$response" | jq -r .city.sunrise) - SunsetHour=$(date +"%-H" -d @"$SunsetTime") - SunriseHour=$(date +"%-H" -d @"$SunriseTime") - - #current time - CurrentTime=$(date +%s) - - get_debug_info_sunset_and_sunrise_hours -} - -#Updates provided weather icon with night icons and sunset/sunrise icons -function get_weather_icon() { - icon=$1 - - checkNewIcon="True" - - if [[ "$icon" == "☀️" || "$icon" == "🌤" || "$icon" == "⛅" ]]; then - if [[ $WeatherHour -eq $SunriseHour ]]; then - checkNewIcon="False" - icon="🌄" - fi - - if [[ $checkNewIcon == "True" && $WeatherHour -eq $SunsetHour ]]; then - checkNewIcon="False" - icon="🌇" - fi - fi - - if [[ $checkNewIcon == "True" && ($WeatherHour -ge $SunsetHour || $WeatherHour -le $SunriseHour) ]]; then - case $1 in - "☀️") icon="🌑" ;; - "🌤") icon="🌑" ;; - "⛅") icon="" ;; - "☁") icon="" ;; - "🌦") icon="" ;; - "🌧️") icon="" ;; - "🌨") icon="" ;; - "") icon="" ;; - esac - - if [[ "$icon" == "🌑" ]]; then - # Generate a random number between 1 and 5 - random_number=$(( RANDOM % 5 + 1 )) - - # Check the random number and provide different outputs - if [ $random_number -eq 1 ]; then - icon="🌕" - fi - fi - fi -} - -function get_min_and_max_weather() { - # MinTemperature=$(echo "$response" | jq -r .list["$i"].main.temp_min | tr '\n' ' ') - # MaxTemperature=$(echo "$response" | jq -r .list["$i"].main.temp_max | tr '\n' ' ') - - # Check if a new day has started - Day=$(date +"%Y-%m-%d" -d @"${WeatherDate}") - if [[ "$Day" != "$CurrentDay" ]]; then - # Reset variables for the new day - CurrentDay="$Day" - MinTemperature="$Temperature" - MaxTemperature="$Temperature" - fi - - # Update min and max temperatures - if (( $(echo "$Temperature < $MinTemperature" | bc -l) )); then - MinTemperature="$Temperature" - fi - - if (( $(echo "$Temperature > $MaxTemperature" | bc -l) )); then - MaxTemperature="$Temperature" - fi - - MinTemp=$(printf '%.*f\n' 0 "$MinTemperature") - MaxTemp=$(printf '%.*f\n' 0 "$MaxTemperature") -} - -function clear_defaults() { - WeatherDate="" - WeatherHour="" - FormattedDate="" - Temperature="" - Temperature="" - # ShortWeather="" - LongWeather="" - Humidity="" - CloudCover="" - WindSpeed="" - MinTemperature="" - MaxTemperature="" - MinTemp="" - MaxTemp="" - icons="" - Rain1h="null" - Rain3h="null" -} - -function weather_data() { - forecast=$1 - - if [ "$forecast" = "f" ]; then - FormattedDate=$(date -d @"${WeatherDate}" +"%A, %B %d, %Y") - # ShortWeather=$(echo "$response" | jq -r .list["$i"].weather[] | jq -r .main | tr '\n' ' '| awk '{$1=$1};1' ) - LongWeather=$(echo "$response" | jq -r .list["$i"].weather[] | jq -r .description | sed -E 's/\S+/\u&/g' | tr '\n' ' '| awk '{$1=$1};1' ) - Humidity=$(echo "$response" | jq -r .list["$i"].main.humidity | tr '\n' ' '| awk '{$1=$1};1' ) - CloudCover=$(echo "$response" | jq -r .list["$i"].clouds.all | tr '\n' ' '| awk '{$1=$1};1' ) - WindSpeed=$(echo "$response" | jq -r .list["$i"].wind.speed | tr '\n' ' ' | awk '{$1=$1};1' ) - WindSpeed=$(printf '%.*f\n' 1 "$WindSpeed") - - Rain1h=$(echo "$response" | jq -r .list["$i"] | jq -r '.rain."1h"') - Rain3h=$(echo "$response" | jq -r .list["$i"] | jq -r '.rain."3h"') - - icons=$(echo "$response" | jq -r .list["$i"].weather[] | jq -r .icon | tr '\n' ' ' ) - else - #current weather - WeatherDate=$(echo "$response" | jq -r .dt | tr '\n' ' ') - WeatherHour=$(date +"%-H" -d @"${WeatherDate}") - FormattedDate=$(date -d @"${WeatherDate}" +"%A, %B %d, %Y") - - # Extracting and formatting the temperature - Temperature=$(echo "$response" | jq -r .main.temp | tr '\n' ' ') - # Use bc to format the temperature to 0 decimal places - Temperature=$(echo "$Temperature" | bc -l | awk '{printf "%.0f", $1}') - - # ShortWeather=$(echo "$response" | jq -r .weather[0].main | tr '\n' ' '| awk '{$1=$1};1' ) - LongWeather=$(echo "$response" | jq -r .weather[0].description | sed -E 's/\S+/\u&/g' | tr '\n' ' '| awk '{$1=$1};1' ) - - Humidity=$(echo "$response" | jq -r .main.humidity | tr '\n' ' '| awk '{$1=$1};1' ) - CloudCover=$(echo "$response" | jq -r .clouds.all | tr '\n' ' '| awk '{$1=$1};1' ) - WindSpeed=$(echo "$response" | jq -r .wind.speed | tr '\n' ' ' | awk '{$1=$1};1' ) - WindSpeed=$(printf '%.*f\n' 1 "$WindSpeed") - - Rain1h=$(echo "$response" | jq -r '.rain."1h"') - Rain3h=$(echo "$response" | jq -r '.rain."3h"') - - MinTemperature=$(echo "$response" | jq -r .main.temp_min | tr '\n' ' ') - MaxTemperature=$(echo "$response" | jq -r .main.temp_max | tr '\n' ' ') - MinTemp=$(echo "$MinTemperature" | bc -l | awk '{printf "%.0f", $1}') - MaxTemp=$(echo "$MaxTemperature" | bc -l | awk '{printf "%.0f", $1}') - - icons=$(echo "$response" | jq -r .weather[0].icon | tr '\n' ' ') - fi - - Rain="0" - - if [[ "$Rain3h" != "null" ]]; then - Rain="$Rain3h" - fi - - if [[ "$Rain1h" != "null" ]]; then - Rain="$Rain1h" - fi - - iconval=${icons%?} - case $iconval in - 01*) get_weather_icon "☀️";; - 02*) get_weather_icon "🌤";; - 03*) get_weather_icon "⛅";; - 04*) get_weather_icon "☁";; - 09*) get_weather_icon "🌦";; - 10*) get_weather_icon "🌧️";; - 11*) get_weather_icon "🌩";; - 13*) get_weather_icon "🌨";; - 50*) get_weather_icon "";; - esac - - if [ "$Debug" = "1" ]; then - echo "WeatherDate: $FormattedDate, Hour: $WeatherHour" - # echo "ShortWeather: $ShortWeather" - echo "LongWeather: $LongWeather" - echo "Humidity: $Humidity$HumidityUnit" - echo "CloudCover: $CloudCover$CloudCoverUnit" - echo "WindSpeed: $WindSpeed $WindSpeedUnit" - echo "Temperature: $Temperature$DegreeCharacter" - echo "icon: $icon" - echo "MinTemp: $MinTemp$DegreeCharacter" - echo "MaxTemp: $MaxTemp$DegreeCharacter" - echo "rain_1h: $Rain1h" - echo "rain_3h: $Rain3h" - debug_break - fi - - if [ "$forecast" != "f" ]; then - nowTemperature="$icon $Temperature$DegreeCharacter" - fi - - output+="{\"date\":\"$FormattedDate\",\"hour\":\"$WeatherHour\",\"temperature\":\"${Temperature}°C\",\"icon\":\"$icon\",\"wind\":\"$WindSpeed$WindSpeedUnit\",\"rain\":\"$Rain$RainUnit\",\"humidity\":\"$Humidity$HumidityUnit\",\"minTemp\":\"$MinTemp$DegreeCharacter\",\"maxTemp\":\"$MaxTemp$DegreeCharacter\"}," -} - -function get_weather_forecast_data() { - CurrentDay="" - # PreviousDay="" - TomorrowDate=$(date -d '+1 day' +"%s") - - clear_defaults - - i=0 - # NumEntries=$(echo "$response" |jq -r .cnt) - # while [ $i -lt $NumEntries ]; do - while [ $i -lt 40 ]; do - WeatherDate=$(echo "$response" | jq -r .list[$i].dt | tr '\n' ' ') - WeatherHour=$(date +"%-H" -d @"${WeatherDate}") - CastDate=$(date +"%s" -d @"${WeatherDate}") - - Temperature=$(echo "$response" | jq -r .list[$i].main.temp | tr '\n' ' ') - Temperature=$(echo "$Temperature" | bc -l | awk '{printf "%.0f", $1}') - - get_min_and_max_weather - - #show the weather forecast hourly until it reaches tomorrow date, then only 1 hour - if [ "$CastDate" -le "$TomorrowDate" ]; then - weather_data "f" - else - if [ "$WeatherHour" -ge "17" ] && [ "$WeatherHour" -le "18" ] || - [ "$WeatherHour" -ge "18" ] && [ "$WeatherHour" -le "19" ]; then - - # if [[ "$CurrentDay" != "$PreviousDay" ]]; then - weather_data "f" - # fi - - # PreviousDay=$CurrentDay - fi - fi - - i=$((i + 1)) - done -} - -function call_weather_current_api() { - # API endpoint URL Current Weather - URL="http://api.openweathermap.org/data/2.5/weather?id=$defaultLocation&units=metric&appid=$apiKey" - - # Current Weather API cache file path based on defaultLocation - CacheFile="/tmp/weather_cache_${defaultLocation}_current.json" - - get_response - # get_api_response_from_cache_file - - get_current_sunset_and_sunrise_hours - weather_data "c" -} - -function call_weather_forecast_api() { - # API endpoint URL Forecast - URL="http://api.openweathermap.org/data/2.5/forecast?id=$defaultLocation&units=metric&appid=$apiKey" - - # Forecast API cache file path based on defaultLocation - CacheFile="/tmp/weather_cache_${defaultLocation}_forecast.json" - - get_response - # get_api_response_from_cache_file - - #used to retrieve forecast data - get_forecast_sunset_and_sunrise_hours - get_weather_forecast_data -} - -#get this scripts arguments => (ags, debug or none) -#checks the first letter of the argument provided to the script -if [[ $# -ge 1 ]]; then - firstArgLetter="$(echo "$1" | head -c 1)" -else - firstArgLetter= -fi - -get_script_argument_options - -#call to get config file data => (apiKey and defaultLocation) -ConfigFile="$HOME/.config/scripts/weather.rc" -get_config_file_data - -call_weather_current_api - -call_weather_forecast_api - -#prints out final output / sends over the data -print_weather_output \ No newline at end of file diff --git a/ags/weather/style.css b/ags/weather/style.css deleted file mode 100644 index 171b198..0000000 --- a/ags/weather/style.css +++ /dev/null @@ -1,42 +0,0 @@ -.weather { - min-width: 600px; - min-height: 160px; - background-color: #11120E; - border-radius: 16px; - padding: 0 0 0 10px; - margin: 10px; -} - -.weather-box { - min-width: 80px; - background: linear-gradient(to right bottom, black, #171e6e); - border-radius: 13px; - margin: 10px 10px 10px 0; - padding: 10px; -} - -.weater-box-yesterday { - min-width: 270px; - margin: 10px 10px 10px 0; - background: linear-gradient(to right bottom, black, #171e6e); - border-radius: 13px; - padding: 10px 0px 0px 10px; -} - -.horizontal { - margin: 5px 0 0 0; -} - -.weather-box-hour { - min-width: 80px; - margin: 0 10px 0 0; - background: transparent; -} - -.weather-box-today { - min-width: 400px; - background: linear-gradient(to right bottom, gray, white); - margin: 10px 10px 10px 0; - border-radius: 13px; - padding: 10px 0px 0px 10px; -} diff --git a/ags/weather/weather.json b/ags/weather/weather.json deleted file mode 100644 index 2c87999..0000000 --- a/ags/weather/weather.json +++ /dev/null @@ -1,1367 +0,0 @@ -{ - "current_condition": [ - { - "FeelsLikeC": "11", - "FeelsLikeF": "52", - "cloudcover": "100", - "humidity": "98", - "localObsDateTime": "2024-09-06 02:23 PM", - "observation_time": "07:23 AM", - "precipInches": "0.0", - "precipMM": "0.4", - "pressure": "1006", - "pressureInches": "30", - "temp_C": "12", - "temp_F": "53", - "uvIndex": "3", - "visibility": "10", - "visibilityMiles": "6", - "weatherCode": "353", - "weatherDesc": [ - { - "value": "Light rain shower" - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "SSW", - "winddirDegree": "198", - "windspeedKmph": "7", - "windspeedMiles": "4" - } - ], - "nearest_area": [ - { - "areaName": [ - { - "value": "Томск" - } - ], - "country": [ - { - "value": "Russia" - } - ], - "latitude": "56.500", - "longitude": "84.967", - "population": "485519", - "region": [ - { - "value": "Tomsk" - } - ], - "weatherUrl": [ - { - "value": "" - } - ] - } - ], - "request": [ - { - "query": "Lat 56.49 and Lon 84.95", - "type": "LatLon" - } - ], - "weather": [ - { - "astronomy": [ - { - "moon_illumination": "7", - "moon_phase": "Waxing Crescent", - "moonrise": "10:06 AM", - "moonset": "08:33 PM", - "sunrise": "06:33 AM", - "sunset": "08:02 PM" - } - ], - "avgtempC": "11", - "avgtempF": "52", - "date": "2024-09-06", - "hourly": [ - { - "DewPointC": "7", - "DewPointF": "44", - "FeelsLikeC": "6", - "FeelsLikeF": "43", - "HeatIndexC": "8", - "HeatIndexF": "47", - "WindChillC": "6", - "WindChillF": "43", - "WindGustKmph": "28", - "WindGustMiles": "17", - "chanceoffog": "1", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "46", - "chanceofrain": "0", - "chanceofremdry": "93", - "chanceofsnow": "0", - "chanceofsunshine": "73", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "40", - "diffRad": "0.0", - "humidity": "88", - "precipInches": "0.0", - "precipMM": "0.0", - "pressure": "1008", - "pressureInches": "30", - "shortRad": "0.0", - "tempC": "8", - "tempF": "47", - "time": "0", - "uvIndex": "1", - "visibility": "10", - "visibilityMiles": "6", - "weatherCode": "116", - "weatherDesc": [ - { - "value": "Partly Cloudy " - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "ENE", - "winddirDegree": "60", - "windspeedKmph": "16", - "windspeedMiles": "10" - }, - { - "DewPointC": "7", - "DewPointF": "45", - "FeelsLikeC": "7", - "FeelsLikeF": "45", - "HeatIndexC": "9", - "HeatIndexF": "49", - "WindChillC": "7", - "WindChillF": "45", - "WindGustKmph": "24", - "WindGustMiles": "15", - "chanceoffog": "0", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "47", - "chanceofrain": "0", - "chanceofremdry": "94", - "chanceofsnow": "0", - "chanceofsunshine": "72", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "48", - "diffRad": "28.3", - "humidity": "85", - "precipInches": "0.0", - "precipMM": "0.0", - "pressure": "1007", - "pressureInches": "30", - "shortRad": "57.8", - "tempC": "9", - "tempF": "49", - "time": "300", - "uvIndex": "1", - "visibility": "10", - "visibilityMiles": "6", - "weatherCode": "116", - "weatherDesc": [ - { - "value": "Partly Cloudy " - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "ENE", - "winddirDegree": "59", - "windspeedKmph": "16", - "windspeedMiles": "10" - }, - { - "DewPointC": "8", - "DewPointF": "47", - "FeelsLikeC": "13", - "FeelsLikeF": "55", - "HeatIndexC": "14", - "HeatIndexF": "57", - "WindChillC": "13", - "WindChillF": "55", - "WindGustKmph": "20", - "WindGustMiles": "13", - "chanceoffog": "0", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "38", - "chanceofrain": "0", - "chanceofremdry": "87", - "chanceofsnow": "0", - "chanceofsunshine": "73", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "37", - "diffRad": "98.1", - "humidity": "68", - "precipInches": "0.0", - "precipMM": "0.0", - "pressure": "1007", - "pressureInches": "30", - "shortRad": "206.4", - "tempC": "14", - "tempF": "57", - "time": "600", - "uvIndex": "1", - "visibility": "10", - "visibilityMiles": "6", - "weatherCode": "116", - "weatherDesc": [ - { - "value": "Partly Cloudy " - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "E", - "winddirDegree": "81", - "windspeedKmph": "17", - "windspeedMiles": "11" - }, - { - "DewPointC": "10", - "DewPointF": "50", - "FeelsLikeC": "17", - "FeelsLikeF": "63", - "HeatIndexC": "17", - "HeatIndexF": "63", - "WindChillC": "17", - "WindChillF": "63", - "WindGustKmph": "13", - "WindGustMiles": "8", - "chanceoffog": "0", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "94", - "chanceofrain": "80", - "chanceofremdry": "0", - "chanceofsnow": "0", - "chanceofsunshine": "0", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "100", - "diffRad": "218.7", - "humidity": "61", - "precipInches": "0.0", - "precipMM": "0.0", - "pressure": "1006", - "pressureInches": "30", - "shortRad": "487.0", - "tempC": "17", - "tempF": "63", - "time": "900", - "uvIndex": "4", - "visibility": "10", - "visibilityMiles": "6", - "weatherCode": "176", - "weatherDesc": [ - { - "value": "Patchy rain nearby" - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "ESE", - "winddirDegree": "109", - "windspeedKmph": "11", - "windspeedMiles": "7" - }, - { - "DewPointC": "12", - "DewPointF": "54", - "FeelsLikeC": "13", - "FeelsLikeF": "55", - "HeatIndexC": "13", - "HeatIndexF": "55", - "WindChillC": "13", - "WindChillF": "55", - "WindGustKmph": "10", - "WindGustMiles": "6", - "chanceoffog": "0", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "80", - "chanceofrain": "100", - "chanceofremdry": "0", - "chanceofsnow": "0", - "chanceofsunshine": "0", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "95", - "diffRad": "115.2", - "humidity": "96", - "precipInches": "0.0", - "precipMM": "1.0", - "pressure": "1006", - "pressureInches": "30", - "shortRad": "229.3", - "tempC": "13", - "tempF": "55", - "time": "1200", - "uvIndex": "3", - "visibility": "10", - "visibilityMiles": "6", - "weatherCode": "353", - "weatherDesc": [ - { - "value": "Light rain shower" - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "SSE", - "winddirDegree": "155", - "windspeedKmph": "7", - "windspeedMiles": "4" - }, - { - "DewPointC": "11", - "DewPointF": "52", - "FeelsLikeC": "10", - "FeelsLikeF": "50", - "HeatIndexC": "11", - "HeatIndexF": "52", - "WindChillC": "10", - "WindChillF": "50", - "WindGustKmph": "16", - "WindGustMiles": "10", - "chanceoffog": "2", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "86", - "chanceofrain": "100", - "chanceofremdry": "0", - "chanceofsnow": "0", - "chanceofsunshine": "0", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "100", - "diffRad": "0.8", - "humidity": "98", - "precipInches": "0.0", - "precipMM": "0.2", - "pressure": "1006", - "pressureInches": "30", - "shortRad": "1.1", - "tempC": "11", - "tempF": "52", - "time": "1500", - "uvIndex": "3", - "visibility": "10", - "visibilityMiles": "6", - "weatherCode": "353", - "weatherDesc": [ - { - "value": "Light rain shower" - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "SSW", - "winddirDegree": "214", - "windspeedKmph": "11", - "windspeedMiles": "7" - }, - { - "DewPointC": "9", - "DewPointF": "49", - "FeelsLikeC": "8", - "FeelsLikeF": "47", - "HeatIndexC": "10", - "HeatIndexF": "49", - "WindChillC": "8", - "WindChillF": "47", - "WindGustKmph": "16", - "WindGustMiles": "10", - "chanceoffog": "91", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "87", - "chanceofrain": "62", - "chanceofremdry": "0", - "chanceofsnow": "0", - "chanceofsunshine": "0", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "100", - "diffRad": "0.2", - "humidity": "98", - "precipInches": "0.0", - "precipMM": "0.0", - "pressure": "1007", - "pressureInches": "30", - "shortRad": "0.3", - "tempC": "10", - "tempF": "49", - "time": "1800", - "uvIndex": "2", - "visibility": "0", - "visibilityMiles": "0", - "weatherCode": "248", - "weatherDesc": [ - { - "value": "Fog" - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "SSW", - "winddirDegree": "198", - "windspeedKmph": "9", - "windspeedMiles": "6" - }, - { - "DewPointC": "8", - "DewPointF": "46", - "FeelsLikeC": "7", - "FeelsLikeF": "44", - "HeatIndexC": "8", - "HeatIndexF": "47", - "WindChillC": "7", - "WindChillF": "44", - "WindGustKmph": "16", - "WindGustMiles": "10", - "chanceoffog": "36", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "80", - "chanceofrain": "0", - "chanceofremdry": "90", - "chanceofsnow": "0", - "chanceofsunshine": "7", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "72", - "diffRad": "0.0", - "humidity": "96", - "precipInches": "0.0", - "precipMM": "0.0", - "pressure": "1006", - "pressureInches": "30", - "shortRad": "0.0", - "tempC": "8", - "tempF": "47", - "time": "2100", - "uvIndex": "1", - "visibility": "2", - "visibilityMiles": "1", - "weatherCode": "143", - "weatherDesc": [ - { - "value": "Mist" - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "SSW", - "winddirDegree": "197", - "windspeedKmph": "9", - "windspeedMiles": "6" - } - ], - "maxtempC": "17", - "maxtempF": "63", - "mintempC": "7", - "mintempF": "45", - "sunHour": "11.3", - "totalSnow_cm": "0.0", - "uvIndex": "3" - }, - { - "astronomy": [ - { - "moon_illumination": "13", - "moon_phase": "Waxing Crescent", - "moonrise": "11:25 AM", - "moonset": "08:38 PM", - "sunrise": "06:35 AM", - "sunset": "07:59 PM" - } - ], - "avgtempC": "10", - "avgtempF": "49", - "date": "2024-09-07", - "hourly": [ - { - "DewPointC": "7", - "DewPointF": "45", - "FeelsLikeC": "5", - "FeelsLikeF": "41", - "HeatIndexC": "7", - "HeatIndexF": "45", - "WindChillC": "5", - "WindChillF": "41", - "WindGustKmph": "19", - "WindGustMiles": "12", - "chanceoffog": "89", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "86", - "chanceofrain": "70", - "chanceofremdry": "0", - "chanceofsnow": "0", - "chanceofsunshine": "0", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "100", - "diffRad": "0.0", - "humidity": "99", - "precipInches": "0.0", - "precipMM": "0.0", - "pressure": "1006", - "pressureInches": "30", - "shortRad": "0.0", - "tempC": "7", - "tempF": "45", - "time": "0", - "uvIndex": "1", - "visibility": "0", - "visibilityMiles": "0", - "weatherCode": "248", - "weatherDesc": [ - { - "value": "Fog" - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "S", - "winddirDegree": "188", - "windspeedKmph": "12", - "windspeedMiles": "7" - }, - { - "DewPointC": "8", - "DewPointF": "46", - "FeelsLikeC": "6", - "FeelsLikeF": "43", - "HeatIndexC": "8", - "HeatIndexF": "47", - "WindChillC": "6", - "WindChillF": "43", - "WindGustKmph": "19", - "WindGustMiles": "12", - "chanceoffog": "1", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "85", - "chanceofrain": "100", - "chanceofremdry": "0", - "chanceofsnow": "0", - "chanceofsunshine": "0", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "100", - "diffRad": "6.5", - "humidity": "97", - "precipInches": "0.0", - "precipMM": "0.3", - "pressure": "1007", - "pressureInches": "30", - "shortRad": "11.1", - "tempC": "8", - "tempF": "47", - "time": "300", - "uvIndex": "1", - "visibility": "2", - "visibilityMiles": "1", - "weatherCode": "266", - "weatherDesc": [ - { - "value": "Light drizzle" - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "SSW", - "winddirDegree": "193", - "windspeedKmph": "13", - "windspeedMiles": "8" - }, - { - "DewPointC": "9", - "DewPointF": "48", - "FeelsLikeC": "8", - "FeelsLikeF": "46", - "HeatIndexC": "9", - "HeatIndexF": "49", - "WindChillC": "8", - "WindChillF": "46", - "WindGustKmph": "18", - "WindGustMiles": "11", - "chanceoffog": "0", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "87", - "chanceofrain": "100", - "chanceofremdry": "0", - "chanceofsnow": "0", - "chanceofsunshine": "0", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "100", - "diffRad": "11.6", - "humidity": "98", - "precipInches": "0.1", - "precipMM": "1.6", - "pressure": "1007", - "pressureInches": "30", - "shortRad": "17.2", - "tempC": "9", - "tempF": "49", - "time": "600", - "uvIndex": "1", - "visibility": "9", - "visibilityMiles": "5", - "weatherCode": "296", - "weatherDesc": [ - { - "value": "Light rain" - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "SSW", - "winddirDegree": "202", - "windspeedKmph": "13", - "windspeedMiles": "8" - }, - { - "DewPointC": "10", - "DewPointF": "49", - "FeelsLikeC": "9", - "FeelsLikeF": "47", - "HeatIndexC": "10", - "HeatIndexF": "50", - "WindChillC": "9", - "WindChillF": "47", - "WindGustKmph": "15", - "WindGustMiles": "9", - "chanceoffog": "0", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "92", - "chanceofrain": "100", - "chanceofremdry": "0", - "chanceofsnow": "0", - "chanceofsunshine": "0", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "100", - "diffRad": "21.6", - "humidity": "98", - "precipInches": "0.0", - "precipMM": "0.6", - "pressure": "1008", - "pressureInches": "30", - "shortRad": "29.5", - "tempC": "10", - "tempF": "50", - "time": "900", - "uvIndex": "2", - "visibility": "2", - "visibilityMiles": "1", - "weatherCode": "266", - "weatherDesc": [ - { - "value": "Light drizzle" - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "WSW", - "winddirDegree": "243", - "windspeedKmph": "10", - "windspeedMiles": "6" - }, - { - "DewPointC": "10", - "DewPointF": "50", - "FeelsLikeC": "10", - "FeelsLikeF": "51", - "HeatIndexC": "11", - "HeatIndexF": "53", - "WindChillC": "10", - "WindChillF": "51", - "WindGustKmph": "18", - "WindGustMiles": "11", - "chanceoffog": "7", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "81", - "chanceofrain": "100", - "chanceofremdry": "0", - "chanceofsnow": "0", - "chanceofsunshine": "0", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "96", - "diffRad": "63.5", - "humidity": "91", - "precipInches": "0.0", - "precipMM": "0.5", - "pressure": "1009", - "pressureInches": "30", - "shortRad": "111.9", - "tempC": "11", - "tempF": "53", - "time": "1200", - "uvIndex": "3", - "visibility": "10", - "visibilityMiles": "6", - "weatherCode": "353", - "weatherDesc": [ - { - "value": "Light rain shower" - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "SW", - "winddirDegree": "228", - "windspeedKmph": "11", - "windspeedMiles": "7" - }, - { - "DewPointC": "9", - "DewPointF": "48", - "FeelsLikeC": "9", - "FeelsLikeF": "48", - "HeatIndexC": "10", - "HeatIndexF": "50", - "WindChillC": "9", - "WindChillF": "48", - "WindGustKmph": "18", - "WindGustMiles": "11", - "chanceoffog": "13", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "90", - "chanceofrain": "100", - "chanceofremdry": "0", - "chanceofsnow": "0", - "chanceofsunshine": "0", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "100", - "diffRad": "9.5", - "humidity": "93", - "precipInches": "0.0", - "precipMM": "0.2", - "pressure": "1011", - "pressureInches": "30", - "shortRad": "19.7", - "tempC": "10", - "tempF": "50", - "time": "1500", - "uvIndex": "3", - "visibility": "10", - "visibilityMiles": "6", - "weatherCode": "353", - "weatherDesc": [ - { - "value": "Light rain shower" - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "WSW", - "winddirDegree": "245", - "windspeedKmph": "9", - "windspeedMiles": "6" - }, - { - "DewPointC": "9", - "DewPointF": "48", - "FeelsLikeC": "8", - "FeelsLikeF": "47", - "HeatIndexC": "10", - "HeatIndexF": "50", - "WindChillC": "8", - "WindChillF": "47", - "WindGustKmph": "21", - "WindGustMiles": "13", - "chanceoffog": "13", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "89", - "chanceofrain": "75", - "chanceofremdry": "0", - "chanceofsnow": "0", - "chanceofsunshine": "0", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "100", - "diffRad": "2.4", - "humidity": "93", - "precipInches": "0.0", - "precipMM": "0.0", - "pressure": "1013", - "pressureInches": "30", - "shortRad": "4.9", - "tempC": "10", - "tempF": "50", - "time": "1800", - "uvIndex": "2", - "visibility": "10", - "visibilityMiles": "6", - "weatherCode": "176", - "weatherDesc": [ - { - "value": "Patchy rain nearby" - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "SW", - "winddirDegree": "228", - "windspeedKmph": "11", - "windspeedMiles": "7" - }, - { - "DewPointC": "8", - "DewPointF": "46", - "FeelsLikeC": "7", - "FeelsLikeF": "44", - "HeatIndexC": "9", - "HeatIndexF": "48", - "WindChillC": "7", - "WindChillF": "44", - "WindGustKmph": "25", - "WindGustMiles": "16", - "chanceoffog": "0", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "87", - "chanceofrain": "0", - "chanceofremdry": "89", - "chanceofsnow": "0", - "chanceofsunshine": "6", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "97", - "diffRad": "0.0", - "humidity": "91", - "precipInches": "0.0", - "precipMM": "0.0", - "pressure": "1014", - "pressureInches": "30", - "shortRad": "0.0", - "tempC": "9", - "tempF": "48", - "time": "2100", - "uvIndex": "1", - "visibility": "10", - "visibilityMiles": "6", - "weatherCode": "122", - "weatherDesc": [ - { - "value": "Overcast " - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "SW", - "winddirDegree": "231", - "windspeedKmph": "14", - "windspeedMiles": "9" - } - ], - "maxtempC": "12", - "maxtempF": "54", - "mintempC": "7", - "mintempF": "45", - "sunHour": "9.8", - "totalSnow_cm": "0.0", - "uvIndex": "1" - }, - { - "astronomy": [ - { - "moon_illumination": "20", - "moon_phase": "Waxing Crescent", - "moonrise": "12:45 PM", - "moonset": "08:44 PM", - "sunrise": "06:37 AM", - "sunset": "07:57 PM" - } - ], - "avgtempC": "9", - "avgtempF": "48", - "date": "2024-09-08", - "hourly": [ - { - "DewPointC": "7", - "DewPointF": "45", - "FeelsLikeC": "7", - "FeelsLikeF": "44", - "HeatIndexC": "9", - "HeatIndexF": "48", - "WindChillC": "7", - "WindChillF": "44", - "WindGustKmph": "23", - "WindGustMiles": "14", - "chanceoffog": "1", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "94", - "chanceofrain": "77", - "chanceofremdry": "0", - "chanceofsnow": "0", - "chanceofsunshine": "0", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "100", - "diffRad": "0.0", - "humidity": "92", - "precipInches": "0.0", - "precipMM": "0.0", - "pressure": "1015", - "pressureInches": "30", - "shortRad": "0.0", - "tempC": "9", - "tempF": "48", - "time": "0", - "uvIndex": "1", - "visibility": "10", - "visibilityMiles": "6", - "weatherCode": "176", - "weatherDesc": [ - { - "value": "Patchy rain nearby" - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "SW", - "winddirDegree": "230", - "windspeedKmph": "14", - "windspeedMiles": "9" - }, - { - "DewPointC": "8", - "DewPointF": "47", - "FeelsLikeC": "7", - "FeelsLikeF": "44", - "HeatIndexC": "9", - "HeatIndexF": "48", - "WindChillC": "7", - "WindChillF": "44", - "WindGustKmph": "22", - "WindGustMiles": "14", - "chanceoffog": "1", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "89", - "chanceofrain": "100", - "chanceofremdry": "0", - "chanceofsnow": "0", - "chanceofsunshine": "0", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "100", - "diffRad": "7.7", - "humidity": "95", - "precipInches": "0.0", - "precipMM": "0.4", - "pressure": "1015", - "pressureInches": "30", - "shortRad": "13.5", - "tempC": "9", - "tempF": "48", - "time": "300", - "uvIndex": "1", - "visibility": "2", - "visibilityMiles": "1", - "weatherCode": "266", - "weatherDesc": [ - { - "value": "Light drizzle" - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "SW", - "winddirDegree": "228", - "windspeedKmph": "15", - "windspeedMiles": "9" - }, - { - "DewPointC": "9", - "DewPointF": "48", - "FeelsLikeC": "6", - "FeelsLikeF": "44", - "HeatIndexC": "9", - "HeatIndexF": "48", - "WindChillC": "6", - "WindChillF": "44", - "WindGustKmph": "25", - "WindGustMiles": "16", - "chanceoffog": "0", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "87", - "chanceofrain": "100", - "chanceofremdry": "0", - "chanceofsnow": "0", - "chanceofsunshine": "0", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "100", - "diffRad": "8.8", - "humidity": "97", - "precipInches": "0.0", - "precipMM": "0.7", - "pressure": "1016", - "pressureInches": "30", - "shortRad": "12.9", - "tempC": "9", - "tempF": "48", - "time": "600", - "uvIndex": "1", - "visibility": "2", - "visibilityMiles": "1", - "weatherCode": "266", - "weatherDesc": [ - { - "value": "Light drizzle" - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "SW", - "winddirDegree": "228", - "windspeedKmph": "17", - "windspeedMiles": "11" - }, - { - "DewPointC": "9", - "DewPointF": "49", - "FeelsLikeC": "7", - "FeelsLikeF": "45", - "HeatIndexC": "10", - "HeatIndexF": "49", - "WindChillC": "7", - "WindChillF": "45", - "WindGustKmph": "23", - "WindGustMiles": "14", - "chanceoffog": "0", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "89", - "chanceofrain": "100", - "chanceofremdry": "0", - "chanceofsnow": "0", - "chanceofsunshine": "0", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "100", - "diffRad": "29.3", - "humidity": "97", - "precipInches": "0.0", - "precipMM": "0.5", - "pressure": "1016", - "pressureInches": "30", - "shortRad": "44.1", - "tempC": "10", - "tempF": "49", - "time": "900", - "uvIndex": "2", - "visibility": "2", - "visibilityMiles": "1", - "weatherCode": "266", - "weatherDesc": [ - { - "value": "Light drizzle" - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "SW", - "winddirDegree": "235", - "windspeedKmph": "16", - "windspeedMiles": "10" - }, - { - "DewPointC": "9", - "DewPointF": "49", - "FeelsLikeC": "8", - "FeelsLikeF": "46", - "HeatIndexC": "10", - "HeatIndexF": "49", - "WindChillC": "8", - "WindChillF": "46", - "WindGustKmph": "20", - "WindGustMiles": "12", - "chanceoffog": "0", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "92", - "chanceofrain": "100", - "chanceofremdry": "0", - "chanceofsnow": "0", - "chanceofsunshine": "0", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "100", - "diffRad": "18.9", - "humidity": "98", - "precipInches": "0.0", - "precipMM": "0.1", - "pressure": "1016", - "pressureInches": "30", - "shortRad": "27.2", - "tempC": "10", - "tempF": "49", - "time": "1200", - "uvIndex": "2", - "visibility": "10", - "visibilityMiles": "6", - "weatherCode": "176", - "weatherDesc": [ - { - "value": "Patchy rain nearby" - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "SW", - "winddirDegree": "234", - "windspeedKmph": "13", - "windspeedMiles": "8" - }, - { - "DewPointC": "9", - "DewPointF": "48", - "FeelsLikeC": "8", - "FeelsLikeF": "46", - "HeatIndexC": "9", - "HeatIndexF": "49", - "WindChillC": "8", - "WindChillF": "46", - "WindGustKmph": "17", - "WindGustMiles": "10", - "chanceoffog": "77", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "90", - "chanceofrain": "72", - "chanceofremdry": "0", - "chanceofsnow": "0", - "chanceofsunshine": "0", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "100", - "diffRad": "2.7", - "humidity": "98", - "precipInches": "0.0", - "precipMM": "0.0", - "pressure": "1016", - "pressureInches": "30", - "shortRad": "4.8", - "tempC": "9", - "tempF": "49", - "time": "1500", - "uvIndex": "2", - "visibility": "0", - "visibilityMiles": "0", - "weatherCode": "248", - "weatherDesc": [ - { - "value": "Fog" - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "SW", - "winddirDegree": "234", - "windspeedKmph": "11", - "windspeedMiles": "7" - }, - { - "DewPointC": "8", - "DewPointF": "47", - "FeelsLikeC": "7", - "FeelsLikeF": "44", - "HeatIndexC": "9", - "HeatIndexF": "48", - "WindChillC": "7", - "WindChillF": "44", - "WindGustKmph": "19", - "WindGustMiles": "12", - "chanceoffog": "76", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "87", - "chanceofrain": "0", - "chanceofremdry": "85", - "chanceofsnow": "0", - "chanceofsunshine": "17", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "100", - "diffRad": "0.7", - "humidity": "98", - "precipInches": "0.0", - "precipMM": "0.0", - "pressure": "1016", - "pressureInches": "30", - "shortRad": "1.2", - "tempC": "9", - "tempF": "48", - "time": "1800", - "uvIndex": "2", - "visibility": "0", - "visibilityMiles": "0", - "weatherCode": "248", - "weatherDesc": [ - { - "value": "Fog" - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "SW", - "winddirDegree": "229", - "windspeedKmph": "11", - "windspeedMiles": "7" - }, - { - "DewPointC": "8", - "DewPointF": "46", - "FeelsLikeC": "6", - "FeelsLikeF": "43", - "HeatIndexC": "8", - "HeatIndexF": "47", - "WindChillC": "6", - "WindChillF": "43", - "WindGustKmph": "20", - "WindGustMiles": "12", - "chanceoffog": "25", - "chanceoffrost": "0", - "chanceofhightemp": "0", - "chanceofovercast": "93", - "chanceofrain": "62", - "chanceofremdry": "0", - "chanceofsnow": "0", - "chanceofsunshine": "0", - "chanceofthunder": "0", - "chanceofwindy": "0", - "cloudcover": "83", - "diffRad": "0.0", - "humidity": "97", - "precipInches": "0.0", - "precipMM": "0.0", - "pressure": "1015", - "pressureInches": "30", - "shortRad": "0.0", - "tempC": "8", - "tempF": "47", - "time": "2100", - "uvIndex": "1", - "visibility": "2", - "visibilityMiles": "1", - "weatherCode": "143", - "weatherDesc": [ - { - "value": "Mist" - } - ], - "weatherIconUrl": [ - { - "value": "" - } - ], - "winddir16Point": "SW", - "winddirDegree": "230", - "windspeedKmph": "12", - "windspeedMiles": "8" - } - ], - "maxtempC": "10", - "maxtempF": "49", - "mintempC": "8", - "mintempF": "47", - "sunHour": "9.8", - "totalSnow_cm": "0.0", - "uvIndex": "1" - } - ] -} diff --git a/ags/weather/weather_logic.js b/ags/weather/weather_logic.js deleted file mode 100644 index 9005eb7..0000000 --- a/ags/weather/weather_logic.js +++ /dev/null @@ -1,486 +0,0 @@ -import Weather from '../../services/weather.js'; -import Widget from 'resource:///com/github/Aylur/ags/widget.js'; -import App from 'resource:///com/github/Aylur/ags/app.js'; - -export const TemperatureIndicator = () => Widget.Stack({ - children: { - true: PannelButton(), - false: Widget.Label(), - }, - setup: self => self.hook(Weather, () => { - self.shown = Weather.temperatureWeather ? true : false; - }), -}); - -export const PannelButton = props => Widget.Button({ - ...props, - class_name: 'weather panel-button', - child: Temperature(), - on_clicked: () => App.toggleWindow('weather'), - on_secondary_click: () => Weather.weatherData, - setup: self => self - .hook(App, (_, win, visible) => { - self.toggleClassName('active', win === 'weather' && visible); - }), -}); - -export const Temperature = props => Widget.Label({ - ...props, - setup: self => self.hook(Weather, () => { - if (Weather.temperatureWeather && self.label !== Weather.temperatureWeather) { - self.label = Weather.temperatureWeather.toString() - } - }), -}); - -function weatherBackgroundStyle(icon, box) { - switch (icon) { - case "🌇": {//sunset - box.setCss(` - background: linear-gradient(to bottom, #ff6f61, #ffca58, #f0e68c); - color: #000000; - `); - break; - } - case "🌄": {//sunrise - box.setCss(` - background: linear-gradient(to bottom, #ffcc00, #ff6f61, #ff5e62, #d55f74); - color: #000000; - `); - break; - } - case "🌤": {//few clouds - box.setCss(` - background: linear-gradient(to bottom, #80b3ff, #ffffff, #ffdb4d); - color: #000000; - `); - break; - } - case "🌩": {//thunderstorm - box.setCss(` - background: linear-gradient(to bottom, #0c0e23, #1a1c38, #121320, #0c0e23); - color: #ffffff; - `); - break; - } - case "🌑": { - box.setCss(` - background: linear-gradient(to bottom, #2c3e50, #1a2533); - color: #ffffff; - `); - break; - } - case "🌕": { - box.setCss(` - background: linear-gradient(to bottom, #001f3f, #002f4f, #003f5f, #004f6f, #005f7f); - color: #ffffff; - `); - break; - } - case "☀️": { - box.setCss(` - background: linear-gradient(to bottom, #ffeb99, #ffe580, #ffd866, #ffcf4c, #ffc333); - color: #000000; - `); - break; - } - case "☁": - case "☁️": {//cloudy - box.setCss(` - background: linear-gradient(to bottom, #c4c4c4, #d1d1d1, #dedede, #ebebeb, #f8f8f8); - color: #000000; - `); - break; - } - case "": { - box.setCss(` - background: linear-gradient(to bottom, #1c2331, #212a38, #263141, #2b3749, #303d51); - color: #ffffff; - `); - break; - } - case "": {//fog - box.setCss(` - background: linear-gradient(to bottom, #d8d8d8, #e2e2e2, #ececec, #f6f6f6, #ffffff); - color: #000000; - `); - break; - } - case "": { - box.setCss(` - background: linear-gradient(to bottom, #1c2331, #1c2331, #1c2331, #293547, #38475f); - color: #ffffff; - `); - break; - } - case "⛈️": {//heavy rain - box.setCss(` - background: linear-gradient(to bottom, #2c3e50, #34495e, #2c3e50, #34495e, #2c3e50); - color: #000000; - `); - break; - } - case "󰙾": { - box.setCss(` - background: linear-gradient(to bottom, #050818, #070b1d, #0a0e22, #0d1126, #10152b); - color: #ffffff; - `); - break; - } - case "🌦️": {//light rain - box.setCss(` - background: linear-gradient(to bottom, #547aad, #6692b8, #78a9c3, #8abfd0, #9cd7dd); - color: #000000; - `); - break; - } - case "": { - box.setCss(` - background: linear-gradient(to bottom, #0e1620, #121c2a, #162133, #18273c, #1c2c46); - color: #ffffff; - `); - break; - } - case "⛅": {//partly cloudy - box.setCss(` - background: linear-gradient(to bottom, #a8c9f0, #c4dfea, #f0f0cc, #ffd700, #f0f0cc, #c4dfea, #a8c9f0); - color: #000000; - `); - break; - } - case "": { - box.setCss(` - background: linear-gradient(to bottom, #040d1c, #081427, #0c1a32, #101f3d, #142348); - color: #ffffff; - `); - break; - } - case "🌧️": {//rain showers - box.setCss(` - background: linear-gradient(to bottom, #5e7d99, #6a8ba6, #7698b3, #87a5bf, #97b3cb, #a6c0d8, #b4cedf); - color: #000000; - `); - break; - } - case "": { - box.setCss(` - background: linear-gradient(to bottom, #050818, #070b1d, #0a0e22, #0d1126, #10152b); - color: #ffffff; - `); - break; - } - case "🌨": {//snow - box.setCss(` - background: linear-gradient(to bottom, #d0e6ec, #e0f0f5, #f0f5f9, #f5fafd, #ffffff); - color: #000000; - `); - break; - } - case "": { - box.setCss(` - background: linear-gradient(to bottom, #0e1620, #162133, #1c263f, #232c4c, #293259); - color: #ffffff; - `); - break; - } - case "🌨️": {//sleet - box.setCss(` - background: linear-gradient(to bottom, #d0e6ec, #e0f0f5, #f0f5f9, #ffffff, #f0f5f9, #e0f0f5, #d0e6ec); - color: #000000; - `); - break; - } - case "": { - box.setCss(` - background: linear-gradient(to bottom, #050818, #08142a, #0c1d3b, #101f47, #142556); - color: #ffffff; - `); - break; - } - default: { - box.setCss(` - background: red; - color: blue; - `); - break; - } - } -} - -export const WeatherInfo = (weatherData) => Widget.Box({ - class_name: 'weather-info', - vertical: true, - children: [ - Widget.Label({ label: weatherData.date.substring(0, 3).toUpperCase(), }), - Widget.Label({ label: weatherData.hour + 'h', }), - Widget.Label({ label: weatherData.icon, class_name: 'weather-icon', }), - Widget.Label({ label: weatherData.temperature, class_name: 'weather-temperature' }), - Widget.Box({ vexpand: true }), - weatherData.rain !== '0 mm' ? Widget.Label({ label: weatherData.rain, }) : null, - // Widget.Label({ label: " " + weatherData.wind, }), - // Widget.Label({ label: weatherData.humidity, }), - Widget.Label({ label: '↑ ' + weatherData.maxTemp, class_name: 'weather-max', }), - Widget.Label({ label: '↓ ' + weatherData.minTemp, class_name: 'weather-min', }), - ], - setup: self => self.hook(Weather, () => { - weatherBackgroundStyle(weatherData.icon, self) - }), -}); - -function getMostCommon(arr){ - return arr.sort((a,b) => - arr.filter(v => v===a).length - - arr.filter(v => v===b).length - ).pop(); -} - -export const WeatherBoxChild = (w) => Widget.Box({ - class_name: 'qs-weather-box-child', - vertical: true, - hexpand: true, - children: [ - Widget.Label({ label: w.hour + 'h', class_name: 'weather-hour', }), - Widget.Label({ label: w.icon, class_name: 'weather-icon', }), - Widget.Label({ label: w.temperature, class_name: 'weather-temperature' }), - Widget.Box({ vexpand: true }), - w.rain !== '0 mm' ? Widget.Label({ label: w.rain, class_name: 'weather-rain', }) : null, - Widget.Label({ label: " " + Math.round(w.wind.replace(/kph$/, '')) + ' kph', class_name: 'weather-wind', }), - ], -}); - -export const WeatherBoxChildWrapper = (w, temperatureDataPerDay, totalWeatherForecastDataArray) => Widget.Box({ - class_name: 'qs-weather-box-child-wrapper', - hexpand: true, - setup: self => self.hook(Weather, () => { - let useTotalInstead = false; - - if (totalWeatherForecastDataArray.length) { - useTotalInstead = true; - - totalWeatherForecastDataArray.forEach(totalEl => { - self.add( - WeatherBoxChild(totalEl), - ) - }) - } - - if (false === useTotalInstead && w && temperatureDataPerDay && temperatureDataPerDay[w.date.substring(0, 3).toUpperCase()].data.length) { - temperatureDataPerDay[w.date.substring(0, 3).toUpperCase()].data.forEach(el => { - self.add( - WeatherBoxChild(el), - ) - }) - } - }), -}); - -export const WeatherMainWidget = (widgetIcon, widgetDate, rain, temperatureDataPerDay, w, totalWeatherForecastDataArray = []) => Widget.Box({ - class_name: 'qsweather-widget', - vertical: true, - hexpand: true, - children: [ - Widget.Box({ - class_name: 'qs-weather-box-main', - children: [ - Widget.Label({ label: widgetIcon, class_name: 'weather-icon', }), - rain != 0 ? Widget.Label({ label: rain + 'mm', class_name: 'weather-rain', }): null, - Widget.Box({ hexpand: true }), - Widget.Label({ label: '↑ ' + temperatureDataPerDay[widgetDate.substring(0, 3).toUpperCase()].maxTemp + ' ', class_name: 'weather-max', }), - Widget.Label({ label: '↓ ' + temperatureDataPerDay[widgetDate.substring(0, 3).toUpperCase()].minTemp + ' ', class_name: 'weather-min', }), - Widget.Label({ label: widgetDate.substring(0, 3).toUpperCase(), class_name: 'weather-hour', }), - ] - }), - WeatherBoxChildWrapper(w, temperatureDataPerDay, totalWeatherForecastDataArray) - - ], - setup: self => self.hook(Weather, () => { - weatherBackgroundStyle(widgetIcon, self); - }), -}); - -export const Tooltip = (total = null) => Widget.Box({ - setup: self => self.hook(Weather, () => { - let tooltip = Weather.tooltip; - - if (tooltip) { - self.get_children().forEach(ch => ch.destroy()); - - let prevDayName = null; - let temperatureDataPerDay = {}; - let weatherStatusIconArray = []; - let weatherForecastDataArray = []; - let totalWeatherForecastDataArray = []; - - let totalWeatherForecastsCounter = total; - let forecastWidgetsNumber = 0; - - tooltip.forEach(w => { - if (w.date !== prevDayName) { - weatherStatusIconArray = []; - prevDayName = w.date; - forecastWidgetsNumber = 0; - weatherForecastDataArray = []; - } - - // used to retrieve min/max temp per day - const date = w.date.substring(0, 3).toUpperCase(); - const temperature = parseInt(w.temperature); - - const rain = w.rain.replace(/ mm$/, ''); - forecastWidgetsNumber = forecastWidgetsNumber + 1; - - weatherForecastDataArray.push(w); - - if (total && totalWeatherForecastsCounter && totalWeatherForecastsCounter > 0) { - totalWeatherForecastDataArray.push(w); - totalWeatherForecastsCounter = totalWeatherForecastsCounter - 1; - } - - // If the date is not already in the object, initialize it - if (!temperatureDataPerDay[date]) { - temperatureDataPerDay[date] = { - minTemp: temperature, - maxTemp: temperature, - rain: rain, - icons: [], - widgetsNumber: forecastWidgetsNumber, - data: weatherForecastDataArray, - }; - } else { - // Update min and max temperatures if necessary - temperatureDataPerDay[date].minTemp = Math.min(temperatureDataPerDay[date].minTemp, temperature); - temperatureDataPerDay[date].maxTemp = Math.max(temperatureDataPerDay[date].maxTemp, temperature); - temperatureDataPerDay[date].rain = Math.max(temperatureDataPerDay[date].rain, rain); - temperatureDataPerDay[date].icons = weatherStatusIconArray; - temperatureDataPerDay[date].widgetsNumber = forecastWidgetsNumber; - temperatureDataPerDay[date].data = weatherForecastDataArray; - } - - // add icon to the array in between somewhat sunny hours, used to later get most common icon for main widget days - if (w.hour >= 7 && w.hour <= 19) { - weatherStatusIconArray.push(w.icon); - } - }); - - // clear for next loop - prevDayName = null; - - let widgetIcon = null; - let widgetDate = null; - - let w = null; - for (let i = 0; i < tooltip.length; i++) { - w = tooltip[i]; - - // console.log('loop ' + w.date + ' h ' + w.hour + ' i ' + w.icon ) - - // used to limit forecast to specified amount (if total variable is provided, it will display that amount of forecast widgets on a main one) - if (total && total >= 0) { - - if (!widgetIcon) { - widgetIcon = w.icon; - } - - if (!widgetDate) { - widgetDate = w.date; - } - - const rain = temperatureDataPerDay[widgetDate.substring(0, 3).toUpperCase()].rain; - - self.add( - WeatherMainWidget(widgetIcon, widgetDate, rain, temperatureDataPerDay, w, totalWeatherForecastDataArray) - ); - break; - } - - // if provided date differs to previous day name, by default prevDayName is null - if (w.date !== prevDayName && i > 0) { - // adds spacing to the widgets - self.add( - Widget.Box({ - children: [ - Widget.Label({ label: ' ', class_name: 'weather-spacing' }), - ], - }), - ); - } - - // logic that determines if the widget contains just 1 forecast widget, if so it will display it in a smaller widget - like the one for the forecast days - if (temperatureDataPerDay[w.date.substring(0, 3).toUpperCase()].widgetsNumber === 1) { - prevDayName = w.date; - - self.add(WeatherInfo(w)); - continue; - } - - // this one creates main one - wide weather widget that contains smaller forecast widgets - if (w.date !== prevDayName) { - const rain = temperatureDataPerDay[w.date.substring(0, 3).toUpperCase()].rain; - let icon = getMostCommon(temperatureDataPerDay[w.date.substring(0, 3).toUpperCase()].icons); - widgetDate = w.date; - - if (!icon) { - icon = w.icon; - } - - widgetIcon = icon; - - self.add( - WeatherMainWidget(widgetIcon, widgetDate, rain, temperatureDataPerDay, w) - ); - } - - prevDayName = w.date; - }; - } - }), -}); - -export const ResetTimer = props => Widget.Label({ - ...props, - setup: self => { - self.poll(600000, (self) => { - Weather.weatherData - }); - }, -}); - -export const Forecast = () => Widget.Box({ - class_name: 'datemenu', - vertical: true, - children: [ - Widget.Box({ - class_name: 'tooltip', - children: [ - ResetTimer(), - Tooltip(), - ] - }) - ] -}); - -export const PopupContent = () => Widget.Box({ - class_name: 'weather', - vexpand: false, - children: [ - Widget.Box({ - vertical: true, - children: [ - Forecast(), - // RefreshButton({ class_name: 'header panel-button', }), - ] - }) - ] -}); - -export const RefreshButton = props => Widget.Button({ - ...props, - class_name: 'weather-refresh', - child: Widget.Icon({ - icon: 'view-refresh-symbolic', - hpack: 'end', - }), - on_clicked: () => { - Weather.weatherData - }, -}); \ No newline at end of file diff --git a/ags/weather/weather_service.js b/ags/weather/weather_service.js deleted file mode 100644 index 66a38f9..0000000 --- a/ags/weather/weather_service.js +++ /dev/null @@ -1,32 +0,0 @@ -import Service from 'resource:///com/github/Aylur/ags/service.js'; -import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; - -class Weather extends Service { - static { Service.register(this); } - - constructor() { - super(); - this._temperatureWeather = null; - this._tooltip = null; - } - - get weatherData() { - this._temperatureWeather = JSON.parse(Utils.exec(['python', "/home/tola/dotfiles/ags/weather/wttr.py"])) // .then(temp => {console.log(temp)}).catch(print); - return this._temperatureWeather - } - - // get temperatureWeather() { - // return this._temperatureWeather; - // } - // setTemperatureWeather(temp) { - // this._temperatureWeather = temp; - // this.emit('changed'); - // } - - // get tooltip() { - // return this._tooltip; - // } - // setTooltip(text) { this._tooltip = text } -} - -export default new Weather(); \ No newline at end of file diff --git a/ags/weather/wttr.py b/ags/weather/wttr.py deleted file mode 100755 index 5fd2a23..0000000 --- a/ags/weather/wttr.py +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/python - -import json -import requests -from datetime import datetime - -WEATHER_CODES = { - '113': '☀️', - '116': '⛅️', - '119': '☁️', - '122': '☁️', - '143': '🌫', - '176': '🌦', - '179': '🌧', - '182': '🌧', - '185': '🌧', - '200': '⛈', - '227': '🌨', - '230': '❄️', - '248': '🌫', - '260': '🌫', - '263': '🌦', - '266': '🌦', - '281': '🌧', - '284': '🌧', - '293': '🌦', - '296': '🌦', - '299': '🌧', - '302': '🌧', - '305': '🌧', - '308': '🌧', - '311': '🌧', - '314': '🌧', - '317': '🌧', - '320': '🌨', - '323': '🌨', - '326': '🌨', - '329': '❄️', - '332': '❄️', - '335': '❄️', - '338': '❄️', - '350': '🌧', - '353': '🌦', - '356': '🌧', - '359': '🌧', - '362': '🌧', - '365': '🌧', - '368': '🌨', - '371': '❄️', - '374': '🌧', - '377': '🌧', - '386': '⛈', - '389': '🌩', - '392': '⛈', - '395': '❄️' -} - -weather: json = requests.get("https://wttr.in/tomsk?format=j1").json() - -# data = json.load(weather) - -weather['current_condition'][0]['weatherCode'] = WEATHER_CODES[weather['current_condition'][0]['weatherCode']] - -print(json.dumps(weather)) diff --git a/ags/weather/wttr.sh b/ags/weather/wttr.sh deleted file mode 100755 index 89a0c44..0000000 --- a/ags/weather/wttr.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -weather=$(curl wttr.in/tomsk\?format\=j1) - -echo weather diff --git a/hypr/environment.conf b/hypr/environment.conf index 4fa5d9f..4028d4d 100644 --- a/hypr/environment.conf +++ b/hypr/environment.conf @@ -7,7 +7,7 @@ env = QT_SCALE_FACTOR,1 #----------------------------------- #---------- GTK --------------- -env = GTK_THEME,Marwaita-Dark-Grey +env = GTK_THEME,Adwaita-dark env = GTK2_RC_FILES,~/.config/gtk-2.0/gtkrc #------------------------------ diff --git a/hypr/startup.conf b/hypr/startup.conf index cdffe1e..f4e576f 100644 --- a/hypr/startup.conf +++ b/hypr/startup.conf @@ -3,8 +3,8 @@ #----------- wallpaper ----------------- exec-once = hyprpaper exec-once = ~/dotfiles/hypr/bin/background.sh -exec-once = ags -#exec-once = waybar -c ~/dotfiles/waybar/config +#exec-once = ags +exec-once = waybar -c ~/dotfiles/waybar/config #exec-once = swww init #exec-once = ~/dotfiles/background-swww.sh #--------------------------------------- diff --git a/waybar/config b/waybar/config index 3f19fbb..6bf7c50 100644 --- a/waybar/config +++ b/waybar/config @@ -54,11 +54,11 @@ "format-alt": "{:%Y-%m-%d}" }, "cpu": { - "format": "{usage}% ", + "format": " {usage}%", "tooltip": false }, "memory": { - "format": "{}% " + "format": " {}%" }, "temperature": { "critical-threshold": 80, @@ -124,7 +124,7 @@ }, "disk": { "interval": 30, - "format": " {used}/{free}", + "format": " {percentage_used}%", "unit": "GB" }, "custom/spotify": { @@ -145,14 +145,14 @@ // "format-alt-click": "click-right", // "escape": true //}, - "custom/weather": { - "format": "{}", - "tooltip": true, - "interval": 900, - "exec": "wttrbar --location tomsk", - "return-type": "json", - "on-click": "~/dotfiles/hypr/bin/toggle_weather_ags" - }, + //"custom/weather": { + // "format": "{}", + // "tooltip": true, + // "interval": 900, + // "exec": "wttrbar --location tomsk", + // "return-type": "json", + // "on-click": "~/dotfiles/hypr/bin/toggle_weather_ags" + //}, "custom/pacman": { "format": "{} ", "interval": 3600, // every hour