From 624b3e2ad05227f0da5971f9111a8e42ac82e2be Mon Sep 17 00:00:00 2001 From: Chi Date: Sun, 4 Aug 2024 08:11:34 +0100 Subject: [PATCH] Added a Nix Flake and support for running from the Nix Store (#47) * Added a Nix Flake and support for running from the Nix Store * Removed variable imports since they're brough in at the top level. * Removed redundan imports and remove unused files (moved to temp). --------- Co-authored-by: Jas Singh --- README.md | 66 +++++ default.nix | 67 +++++ flake.lock | 78 ++++++ flake.nix | 61 +++++ scss/entry.scss | 49 ---- scss/style.ts | 9 +- scss/style/bar/audio.scss | 3 - scss/style/bar/bar.scss | 3 - scss/style/bar/battery.scss | 3 - scss/style/bar/bluetooth.scss | 3 - scss/style/bar/clock.scss | 3 - scss/style/bar/media.scss | 3 - scss/style/bar/menu.scss | 3 - scss/style/bar/network.scss | 3 - scss/style/bar/notifications.scss | 2 - scss/style/bar/power.scss | 3 - scss/style/bar/systray.scss | 3 +- scss/style/bar/window_title.scss | 3 - scss/style/bar/workspace.scss | 3 - scss/style/entry.scss | 43 ---- scss/style/menus/audiomenu.scss | 195 +++++++------- scss/style/menus/bluetooth.scss | 3 - scss/style/menus/calendar.scss | 3 - scss/style/menus/dashboard.scss | 3 - scss/style/menus/energy.scss | 142 +++++------ scss/style/menus/media.scss | 3 - scss/style/menus/menu.scss | 2 - scss/style/menus/network.scss | 218 ++++++++-------- scss/style/menus/notifications.scss | 3 - scss/style/menus/power.scss | 367 ++++++++++++++------------- scss/style/notifications/popups.scss | 2 - scss/style/osd/index.scss | 3 - scss/style/settings/dialog.scss | 2 - scss/variables.scss | 263 ------------------- 34 files changed, 760 insertions(+), 860 deletions(-) create mode 100644 default.nix create mode 100644 flake.lock create mode 100644 flake.nix delete mode 100644 scss/entry.scss delete mode 100644 scss/style/entry.scss delete mode 100644 scss/variables.scss diff --git a/README.md b/README.md index d466a08..90eec81 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,8 @@ Arch (AUR): yay -S grimblast gpu-screen-recorder hyprpicker python-gpustat aylurs-gtk-shell-git ``` +For NixOS/Home-Manager, see [NixOS & Home-Manager instructions](#nixos--home-manager). + ## Instructions ### AGS @@ -69,6 +71,70 @@ Or you can add it to your Hyprland config (hyprland.conf) to auto-start with: 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.${system} + ]; + }; + 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. diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..f2eb2dc --- /dev/null +++ b/default.nix @@ -0,0 +1,67 @@ +{ inputs +, pkgs +, system +, stdenv +, writeShellScriptBin +, bun +, dart-sass +, fd +, accountsservice +, btop +, pipewire +, bluez +, bluez-tools +, grimblast +, gpu-screen-recorder +, networkmanager +, brightnessctl +, python3 +}: +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:${dart-sass}/bin + export PATH=$PATH:${fd}/bin + export PATH=$PATH:${btop}/bin + export PATH=$PATH:${pipewire}/bin + export PATH=$PATH:${bluez}/bin + export PATH=$PATH:${bluez-tools}/bin + export PATH=$PATH:${grimblast}/bin + export PATH=$PATH:${gpu-screen-recorder}/bin + export PATH=$PATH:${networkmanager}/bin + export PATH=$PATH:${brightnessctl}/bin + export PATH=$PATH:${pkgs.gnome.gnome-bluetooth}/bin + export PATH=$PATH:${python3}/bin + export GDK_BACKEND=wayland + ${ags}/bin/ags -b hyprpanel -c ${config}/config.js $@ + ''; + }; +} diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..56efd93 --- /dev/null +++ b/flake.lock @@ -0,0 +1,78 @@ +{ + "nodes": { + "ags": { + "inputs": { + "nixpkgs": "nixpkgs", + "systems": "systems" + }, + "locked": { + "lastModified": 1721306136, + "narHash": "sha256-VKPsIGf3/a+RONBipx4lEE4LXG2sdMNkWQu22LNQItg=", + "owner": "Aylur", + "repo": "ags", + "rev": "344ea72cd3b8d4911f362fec34bce7d8fb37028c", + "type": "github" + }, + "original": { + "owner": "Aylur", + "repo": "ags", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1718714799, + "narHash": "sha256-FUZpz9rg3gL8NVPKbqU8ei1VkPLsTIfAJ2fdAf5qjak=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "c00d587b1a1afbf200b1d8f0b0e4ba9deb1c7f0e", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1722185531, + "narHash": "sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "52ec9ac3b12395ad677e8b62106f0b98c1f8569d", + "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/flake.nix b/flake.nix new file mode 100644 index 0000000..8a02f94 --- /dev/null +++ b/flake.nix @@ -0,0 +1,61 @@ +{ + description = "A Bar/Panel for Hyprland with extensive customizability."; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; + ags.url = "github:Aylur/ags"; + }; + + outputs = { self, nixpkgs, ... }@inputs: + let + systems = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ]; + forEachSystem = nixpkgs.lib.genAttrs systems; + pkgsFor = forEachSystem (system: import nixpkgs { + inherit system; + config.allowUnfree = true; + }); + + devShellFor = system: nixpkgs.lib.genAttrs [ "default" ] (_: nixpkgs.legacyPackages.${system}.mkShell { + buildInputs = [ + 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}.bluez-tools + pkgsFor.${system}.grimblast + pkgsFor.${system}.gpu-screen-recorder + pkgsFor.${system}.brightnessctl + pkgsFor.${system}.gnome.gnome-bluetooth + pkgsFor.${system}.python3 + inputs.ags.packages.${system}.agsWithTypes + ]; + nativeBuildInputs = with pkgsFor.${system}; [ + nixpkgs-fmt + nil + ]; + shellHook = '' + export GDK_BACKEND=wayland + ''; + }); + in { + devShells = forEachSystem (system: devShellFor system); + + overlay = forEachSystem(system: + let + pkgs = pkgsFor.${system}; + in final: prev: { + hyprpanel = (pkgs.callPackage ./. { inherit inputs; }).desktop.script; + }); + + packages = forEachSystem(system: + let + pkgs = pkgsFor.${system}; + in { + default = (pkgs.callPackage ./. { inherit inputs; }).desktop.script; + }); + }; +} diff --git a/scss/entry.scss b/scss/entry.scss deleted file mode 100644 index cca67aa..0000000 --- a/scss/entry.scss +++ /dev/null @@ -1,49 +0,0 @@ -@import '/home/jaskir/.config/ags/scss/variables.scss'; -* { - 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"; - -//modules - 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/bar"; -@import "style/bar/battery"; - -//modules - menus -@import "style/menus/menu"; -@import "style/menus/power"; -@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" diff --git a/scss/style.ts b/scss/style.ts index 112469a..18c3dbb 100644 --- a/scss/style.ts +++ b/scss/style.ts @@ -45,21 +45,20 @@ async function resetCss() { return try { - const vars = `${App.configDir}/scss/variables.scss` + const vars = `${TMP}/variables.scss` const css = `${TMP}/main.css` - const scss = `${App.configDir}/scss/entry.scss` + const scss = `${TMP}/entry.scss` const localScss = `${App.configDir}/scss/main.scss`; - const imports = [vars].map(f => `@import '${f}';`) - await Utils.writeFile(variables().join("\n"), vars) + const imports = [vars].map(f => `@import '${f}';`) let mainScss = Utils.readFile(localScss); mainScss = `${imports}\n${mainScss}`; await Utils.writeFile(mainScss, scss) - await bash(`sass ${scss} ${css}`); + await bash(`sass --load-path=${App.configDir}/scss/ ${scss} ${css}`); App.applyCss(css, true); } catch (error) { diff --git a/scss/style/bar/audio.scss b/scss/style/bar/audio.scss index 4bfd899..f585bf6 100644 --- a/scss/style/bar/audio.scss +++ b/scss/style/bar/audio.scss @@ -1,6 +1,3 @@ -@import '../colors'; -@import '../../variables'; - .bar-button-icon.volume { font-size: 1.3em; color: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-volume-icon); diff --git a/scss/style/bar/bar.scss b/scss/style/bar/bar.scss index a7c611a..35af821 100644 --- a/scss/style/bar/bar.scss +++ b/scss/style/bar/bar.scss @@ -1,6 +1,3 @@ -@import "../colors"; -@import "../../variables"; - .bar { .transparent { diff --git a/scss/style/bar/battery.scss b/scss/style/bar/battery.scss index 348c971..9b2acfb 100644 --- a/scss/style/bar/battery.scss +++ b/scss/style/bar/battery.scss @@ -1,6 +1,3 @@ -@import '../colors'; -@import '../../variables'; - .bar { .battery { .bar-button-label.battery { diff --git a/scss/style/bar/bluetooth.scss b/scss/style/bar/bluetooth.scss index e5e25d5..3c83ac3 100644 --- a/scss/style/bar/bluetooth.scss +++ b/scss/style/bar/bluetooth.scss @@ -1,6 +1,3 @@ -@import '../colors'; -@import '../../variables'; - .bar-button-icon.bluetooth { font-size: 1.15em; color: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-bluetooth-icon); diff --git a/scss/style/bar/clock.scss b/scss/style/bar/clock.scss index d3f0674..331bc22 100644 --- a/scss/style/bar/clock.scss +++ b/scss/style/bar/clock.scss @@ -1,6 +1,3 @@ -@import "../colors"; -@import '../../variables'; - .clock { color: if($bar-buttons-monochrome, $bar-buttons-text, $bar-buttons-clock-text); } diff --git a/scss/style/bar/media.scss b/scss/style/bar/media.scss index fca5256..177b797 100644 --- a/scss/style/bar/media.scss +++ b/scss/style/bar/media.scss @@ -1,6 +1,3 @@ -@import "../colors"; -@import '../../variables'; - .bar-button-label.media { color: if($bar-buttons-monochrome, $bar-buttons-text, $bar-buttons-media-text); margin-left: $bar-buttons-media-spacing; diff --git a/scss/style/bar/menu.scss b/scss/style/bar/menu.scss index 39bb593..84d7908 100644 --- a/scss/style/bar/menu.scss +++ b/scss/style/bar/menu.scss @@ -1,6 +1,3 @@ -@import "../colors"; -@import '../../variables'; - .bar-menu_label { color: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-dashboard-icon); font-size: 1.3em; diff --git a/scss/style/bar/network.scss b/scss/style/bar/network.scss index fbdcbd6..e7531a0 100644 --- a/scss/style/bar/network.scss +++ b/scss/style/bar/network.scss @@ -1,6 +1,3 @@ -@import "../colors"; -@import '../../variables'; - .bar-button-label.network { color: if($bar-buttons-monochrome, $bar-buttons-text, $bar-buttons-network-text); margin-left: $bar-buttons-network-spacing; diff --git a/scss/style/bar/notifications.scss b/scss/style/bar/notifications.scss index 813b335..94f5ba7 100644 --- a/scss/style/bar/notifications.scss +++ b/scss/style/bar/notifications.scss @@ -1,5 +1,3 @@ -@import "../colors"; - .bar-button-icon.notifications { color: if($bar-buttons-monochrome, $bar-buttons-icon, $bar-buttons-notifications-icon); font-size: 1.3em; diff --git a/scss/style/bar/power.scss b/scss/style/bar/power.scss index bab08a2..e872b0f 100644 --- a/scss/style/bar/power.scss +++ b/scss/style/bar/power.scss @@ -1,6 +1,3 @@ -@import "../colors"; -@import '../../variables'; - .bar-power_label { color: $red; margin-top: 0.2rem; diff --git a/scss/style/bar/systray.scss b/scss/style/bar/systray.scss index 9610f33..140d763 100644 --- a/scss/style/bar/systray.scss +++ b/scss/style/bar/systray.scss @@ -1,5 +1,3 @@ -@import "../colors"; - .systray button:not(:first-child) { margin-left: 0.75rem; } @@ -7,6 +5,7 @@ .systray-menu { background: $crust; } + .systray-menu label { font-weight: bold; color: $text; diff --git a/scss/style/bar/window_title.scss b/scss/style/bar/window_title.scss index 18ee65b..7eb99a3 100644 --- a/scss/style/bar/window_title.scss +++ b/scss/style/bar/window_title.scss @@ -1,6 +1,3 @@ -@import "../colors"; -@import '../../variables'; - .bar-button-icon.windowtitle { color: if($bar-buttons-monochrome, $bar-buttons-text, $bar-buttons-windowtitle-icon); } diff --git a/scss/style/bar/workspace.scss b/scss/style/bar/workspace.scss index b51220f..1276b0d 100644 --- a/scss/style/bar/workspace.scss +++ b/scss/style/bar/workspace.scss @@ -1,6 +1,3 @@ -@import "../colors"; -@import '../../variables'; - .workspaces { label { font-size: 0.2em; diff --git a/scss/style/entry.scss b/scss/style/entry.scss deleted file mode 100644 index d3b3551..0000000 --- a/scss/style/entry.scss +++ /dev/null @@ -1,43 +0,0 @@ -@import '/tmp/ags/hyprpanel/variables.scss'; -* { - all: unset; - font-family: "Ubuntu Nerd Font"; - font-size: 1.2rem; - font-weight: 600; -} - -//general -@import "../scss/colors"; -@import "../scss/common/common.scss"; -@import "../scss/common/floating-widget.scss"; -@import "../scss/common/widget-button.scss"; - -//modules - bar -@import "bar/menu"; -@import "bar/audio"; -@import "bar/media"; -@import "bar/network"; -@import "bar/bluetooth"; -@import "bar/clock"; -@import "bar/workspace"; -@import "bar/window_title"; -@import "bar/systray"; -@import "bar/notifications"; -@import "bar/power"; -@import "bar/bar"; -@import "bar/battery"; - -//modules - menus -@import "menus/menu"; -@import "menus/power"; -@import "menus/audiomenu"; -@import "menus/network"; -@import "menus/bluetooth"; -@import "menus/media"; -@import "menus/notifications"; -@import "menus/calendar"; -@import "menus/energy"; -@import "menus/dashboard"; - -//notifications -@import "notifications/popups"; diff --git a/scss/style/menus/audiomenu.scss b/scss/style/menus/audiomenu.scss index 2aa7b02..b379704 100644 --- a/scss/style/menus/audiomenu.scss +++ b/scss/style/menus/audiomenu.scss @@ -1,155 +1,168 @@ -@import "../colors"; -@import '../../variables'; - .menu-items.audio { - background: if($bar-menus-monochrome, $bar-menus-background, $bar-menus-menu-volume-background-color); - border-color: if($bar-menus-monochrome, $bar-menus-border-color, $bar-menus-menu-volume-border-color); + background: if($bar-menus-monochrome, $bar-menus-background, $bar-menus-menu-volume-background-color); + border-color: if($bar-menus-monochrome, $bar-menus-border-color, $bar-menus-menu-volume-border-color); } + .menu-dropdown-label.audio { - color: if($bar-menus-monochrome, $bar-menus-label, $bar-menus-menu-volume-label-color); + 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); + 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-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); + 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-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); - } + background: if($bar-menus-monochrome, $bar-menus-slider-backgroundhover, $bar-menus-menu-volume-audio_slider-backgroundhover); } - &: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); - } + 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-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); - } + background: if($bar-menus-monochrome, $bar-menus-slider-backgroundhover, $bar-menus-menu-volume-input_slider-backgroundhover); } - &: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); - } + slider { + background: if($bar-menus-monochrome, $bar-menus-slider-puck, $bar-menus-menu-volume-input_slider-puck); } + } } .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-active, $bar-menus-menu-volume-iconbutton-active); - opacity: 1; + color: if($bar-menus-monochrome, $bar-menus-iconbuttons-passive, $bar-menus-menu-volume-iconbutton-passive); + 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; } - &: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; - } + } + + &.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); + 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); - } + &.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); + 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-text, $bar-menus-menu-volume-text); - } - - - &:hover { - .menu-button-name.playback, - .menu-button-name.input { - color: if($bar-menus-monochrome, $bar-menus-icons-active, $bar-menus-menu-volume-icons-active); - } + color: if($bar-menus-monochrome, $bar-menus-icons-active, $bar-menus-menu-volume-icons-active); } + } } .menu-section-container.volume { - margin-bottom: 0.65em; + margin-bottom: 0.65em; } .menu-section-container.playback { - margin-top: 0em; - margin-bottom: 1em; + margin-top: 0em; + margin-bottom: 1em; } .menu-section-container.input { - margin-top: 0em; + margin-top: 0em; } .menu-label-container.input { - border-radius: 0em; - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-volume-card-color); + 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); + 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); + background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-volume-card-color); } .menu-items-section.playback { - border-radius: 0em; + 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/scss/style/menus/bluetooth.scss b/scss/style/menus/bluetooth.scss index 0924ea5..800445c 100644 --- a/scss/style/menus/bluetooth.scss +++ b/scss/style/menus/bluetooth.scss @@ -1,6 +1,3 @@ -@import "../colors"; -@import '../../variables'; - .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); diff --git a/scss/style/menus/calendar.scss b/scss/style/menus/calendar.scss index cd64906..06bcb43 100644 --- a/scss/style/menus/calendar.scss +++ b/scss/style/menus/calendar.scss @@ -1,6 +1,3 @@ -@import "../colors"; -@import '../../variables'; - .calendar-content-container { margin-top: 0em; min-width: 27em; diff --git a/scss/style/menus/dashboard.scss b/scss/style/menus/dashboard.scss index 437c3f4..ce8e0b4 100644 --- a/scss/style/menus/dashboard.scss +++ b/scss/style/menus/dashboard.scss @@ -1,6 +1,3 @@ -@import "../colors"; -@import '../../variables'; - .dashboard-content-items { margin-left: 0.50em; min-width: 28.5em; diff --git a/scss/style/menus/energy.scss b/scss/style/menus/energy.scss index 15836df..2304389 100644 --- a/scss/style/menus/energy.scss +++ b/scss/style/menus/energy.scss @@ -1,91 +1,89 @@ -@import "../colors"; -@import '../../variables'; - .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); + 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); } + .menu-items-container.energy { - .menu-label { - color: if($bar-menus-monochrome, $bar-menus-label, $bar-menus-menu-battery-label-color); + .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); + } + + + .menu-items-section { + background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-battery-card-color); + } + + .power-profile-item { + margin-bottom: 0.5em; + + label { + margin-left: 1em; } - .menu-label-container { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-battery-card-color); + 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 { + label { + color: if($bar-menus-monochrome, $bar-menus-icons-active, $bar-menus-menu-battery-icons-active); + } - .menu-items-section { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-battery-card-color); + image { + color: if($bar-menus-monochrome, $bar-menus-icons-active, $bar-menus-menu-battery-icons-active); + } } - .power-profile-item { - margin-bottom: 0.5em; + &.active { + image { + color: if($bar-menus-monochrome, $bar-menus-icons-active, $bar-menus-menu-battery-icons-active); + } + } + } - label { - margin-left: 1em; - } + .brightness-container { + padding-bottom: 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); - } + .brightness-slider-icon { + font-size: 1.4em; + min-width: 1em; + min-height: 1em; + color: $overlay2; + } - &:hover { - label { - color: if($bar-menus-monochrome, $bar-menus-icons-active, $bar-menus-menu-battery-icons-active); - } + .brightness-slider-label { + font-size: 0.9em; + min-width: 2.5em; + font-weight: bold; + margin-bottom: 0.2em; + } - image { - color: if($bar-menus-monochrome, $bar-menus-icons-active, $bar-menus-menu-battery-icons-active); - } - } + .menu-slider.brightness { + trough { + background: if($bar-menus-monochrome, $bar-menus-slider-background, $bar-menus-menu-battery-slider-background); - &.active { - image { - color: if($bar-menus-monochrome, $bar-menus-icons-active, $bar-menus-menu-battery-icons-active); - } - } + highlight, + progress { + background: if($bar-menus-monochrome, $bar-menus-slider-primary, $bar-menus-menu-battery-slider-primary); + } } - .brightness-container { - padding-bottom: 1em; - } - - .brightness-slider-icon { - font-size: 1.4em; - min-width: 1em; - min-height: 1em; - color: $overlay2; - } - - .brightness-slider-label { - 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); - } - } + &: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/scss/style/menus/media.scss b/scss/style/menus/media.scss index 1de64fc..1276b83 100644 --- a/scss/style/menus/media.scss +++ b/scss/style/menus/media.scss @@ -1,6 +1,3 @@ -@import "../colors"; -@import '../../variables'; - .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); diff --git a/scss/style/menus/menu.scss b/scss/style/menus/menu.scss index 27de917..0154fdd 100644 --- a/scss/style/menus/menu.scss +++ b/scss/style/menus/menu.scss @@ -1,5 +1,3 @@ -@import '../../variables'; - .menu-slider { trough { border-radius: 0.3rem; diff --git a/scss/style/menus/network.scss b/scss/style/menus/network.scss index 474835f..bdfc840 100644 --- a/scss/style/menus/network.scss +++ b/scss/style/menus/network.scss @@ -1,129 +1,137 @@ -@import "../colors"; -@import '../../variables'; - .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); + 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); } .menu-items-container.network { + 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 { - padding-bottom: 1.5em; + min-height: 12em; } - .menu-label { - color: if($bar-menus-monochrome, $bar-menus-label, $bar-menus-menu-network-label-color); + } + + .network-element-item { + &:not(:last-child) { + margin-bottom: 0.5em; } - .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); - } + &.staging { + margin-bottom: 0.5em; } - .menu-icon-button.network { - margin: 1em; - } + &:hover { + .network-icon { + color: if($bar-menus-monochrome, $bar-menus-icons-active, $bar-menus-menu-network-icons-active); + opacity: 1; + } - .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 { + .active-connection { 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; + .active-connection { + color: if($bar-menus-monochrome, $bar-menus-text, $bar-menus-menu-network-text); } - .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; - } + .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 { + margin: 0em; + margin-top: -0.2em; + margin-left: 1em; + + label { + font-size: 1.4em; } - .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); + } + } - &:hover { - color: if($bar-menus-monochrome, $bar-menus-iconbuttons-active, $bar-menus-menu-network-iconbuttons-active); - } - } - - .menu-icon-button.network.disconnect { - 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; + } - .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-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-items-section { + background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-network-card-color); + } } diff --git a/scss/style/menus/notifications.scss b/scss/style/menus/notifications.scss index bece9ac..8b7cff7 100644 --- a/scss/style/menus/notifications.scss +++ b/scss/style/menus/notifications.scss @@ -1,6 +1,3 @@ -@import "../colors"; -@import '../../variables'; - .notification-card-container.menu { margin: 0em; min-width: 30.6em; diff --git a/scss/style/menus/power.scss b/scss/style/menus/power.scss index 81faebc..dfc6385 100644 --- a/scss/style/menus/power.scss +++ b/scss/style/menus/power.scss @@ -1,197 +1,222 @@ -@import "../colors"; -@import '../../variables'; - window#powermenu, window#verification { - // the fraction has to be more than hyprland ignorealpha - background-color: rgba(0, 0, 0, .4); + // 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 { - @include floating-widget; - background: if($bar-menus-monochrome, $bar-menus-background, $bar-menus-menu-dashboard-powermenu-confirmation-background); - padding: 0.35em * 1.6 * 1.5; - min-width: 20em; - min-height: 6em; - font-size: 1.3em; + @include floating-widget; + background: if($bar-menus-monochrome, $bar-menus-background, $bar-menus-menu-dashboard-powermenu-confirmation-background); + padding: 0.35em * 1.6 * 1.5; + min-width: 20em; + min-height: 6em; + font-size: 1.3em; - .verification-content { - background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-dashboard-powermenu-confirmation-card); - border-radius: 0.4em; - padding: 1em; + .verification-content { + background: if($bar-menus-monochrome, $bar-menus-cards, $bar-menus-menu-dashboard-powermenu-confirmation-card); + border-radius: 0.4em; + 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; } - .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; - } + .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: 0.3em; - 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; + .verification-button { + background: $bar-menus-buttons-default; + padding: 0.7em 0em; + margin: 0.4em 1.7em; + border-radius: 0.3em; 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 { - &.powermenu-button-shutdown { - border-color: $red; - } - &.powermenu-button-logout { - border-color: $green; - } - &.powermenu-button-sleep { - border-color: $sky; - } - &.powermenu-button-reboot { - border-color: $peach; - } + &.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 { - &.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); - } + &.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; - } + &.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; - } + &.shutdown { + color: $red; + } + + &.logout { + color: $green; + } + + &.reboot { + color: $peach; + } + + &.sleep { + color: $sky; + } } diff --git a/scss/style/notifications/popups.scss b/scss/style/notifications/popups.scss index 103ec74..1c80651 100644 --- a/scss/style/notifications/popups.scss +++ b/scss/style/notifications/popups.scss @@ -1,5 +1,3 @@ -@import "../colors"; - .notification-card-container { margin-top: 3.5rem; } diff --git a/scss/style/osd/index.scss b/scss/style/osd/index.scss index 0f8155c..508c3be 100644 --- a/scss/style/osd/index.scss +++ b/scss/style/osd/index.scss @@ -1,6 +1,3 @@ -@import "../colors"; -@import '../../variables'; - .indicator { .osd-container { margin: $osd-margins; diff --git a/scss/style/settings/dialog.scss b/scss/style/settings/dialog.scss index bde7907..78e06f1 100644 --- a/scss/style/settings/dialog.scss +++ b/scss/style/settings/dialog.scss @@ -1,5 +1,3 @@ -@import '../../variables'; - window.settings-dialog { background-color: $bar-menus-cards; color: $bar-menus-text; diff --git a/scss/variables.scss b/scss/variables.scss deleted file mode 100644 index cbff55b..0000000 --- a/scss/variables.scss +++ /dev/null @@ -1,263 +0,0 @@ -$font-size: 1.2rem; -$font-name: Ubuntu Nerd Font; -$font-weight: 600; -$notification-background: #181825; -$notification-actions-background: #b4befe; -$notification-actions-text: #181825; -$notification-label: #b4befe; -$notification-border: #313244; -$notification-time: #7f849c; -$notification-text: #cdd6f4; -$notification-labelicon: #b4befe; -$notification-close_button-background: #f38ba8; -$notification-close_button-label: #11111b; -$bar-floating: false; -$bar-margin_top: 0.5em; -$bar-margin_bottom: 0em; -$bar-margin_sides: 0.5em; -$bar-border_radius: 0.4em; -$bar-transparent: false; -$bar-background: #11111b; -$bar-buttons-monochrome: false; -$bar-buttons-spacing: 0.25em; -$bar-buttons-radius: 0.3em; -$bar-buttons-background: #242438; -$bar-buttons-hover: #45475a; -$bar-buttons-text: #b4befe; -$bar-buttons-icon: #b4befe; -$bar-buttons-dashboard-background: #242438; -$bar-buttons-dashboard-hover: #45475a; -$bar-buttons-dashboard-icon: #f9e2af; -$bar-buttons-workspaces-background: #242438; -$bar-buttons-workspaces-hover: #45475a; -$bar-buttons-workspaces-available: #89dceb; -$bar-buttons-workspaces-occupied: #f2cdcd; -$bar-buttons-workspaces-active: #f5c2e7; -$bar-buttons-windowtitle-background: #242438; -$bar-buttons-windowtitle-hover: #45475a; -$bar-buttons-windowtitle-text: #f5c2e7; -$bar-buttons-windowtitle-icon: #f5c2e7; -$bar-buttons-media-background: #242438; -$bar-buttons-media-hover: #45475a; -$bar-buttons-media-text: #b4befe; -$bar-buttons-media-icon: #b4befe; -$bar-buttons-volume-background: #242438; -$bar-buttons-volume-hover: #45475a; -$bar-buttons-volume-text: #eba0ac; -$bar-buttons-volume-icon: #eba0ac; -$bar-buttons-network-background: #242438; -$bar-buttons-network-hover: #45475a; -$bar-buttons-network-text: #cba6f7; -$bar-buttons-network-icon: #cba6f7; -$bar-buttons-bluetooth-background: #242438; -$bar-buttons-bluetooth-hover: #45475a; -$bar-buttons-bluetooth-text: #89dceb; -$bar-buttons-bluetooth-icon: #89dceb; -$bar-buttons-systray-background: #242438; -$bar-buttons-systray-hover: #45475a; -$bar-buttons-battery-background: #242438; -$bar-buttons-battery-hover: #45475a; -$bar-buttons-battery-text: #f9e2af; -$bar-buttons-battery-icon: #f9e2af; -$bar-buttons-clock-background: #242438; -$bar-buttons-clock-hover: #45475a; -$bar-buttons-clock-text: #f5c2e7; -$bar-buttons-clock-icon: #f5c2e7; -$bar-buttons-notifications-background: #242438; -$bar-buttons-notifications-hover: #45475a; -$bar-buttons-notifications-icon: #b4befe; -$bar-buttons-notifications-total: #b4befe; -$bar-menus-monochrome: false; -$bar-menus-background: #11111b; -$bar-menus-cards: #1e1e2e; -$bar-menus-card_radius: 0.4em; -$bar-menus-border-size: 0.13em; -$bar-menus-border-radius: 0.7em; -$bar-menus-border-color: #313244; -$bar-menus-text: #cdd6f4; -$bar-menus-dimtext: #585b70; -$bar-menus-feinttext: #313244; -$bar-menus-label: #b4befe; -$bar-menus-listitems-passive: #cdd6f4; -$bar-menus-listitems-active: #b4befe; -$bar-menus-icons-passive: #585b70; -$bar-menus-icons-active: #b4befe; -$bar-menus-switch-enabled: #b4befe; -$bar-menus-switch-disabled: #313244; -$bar-menus-switch-puck: #6c7086; -$bar-menus-buttons-default: #b4befe; -$bar-menus-buttons-active: #f5c2e7; -$bar-menus-buttons-disabled: #585b70; -$bar-menus-buttons-text: #11111b; -$bar-menus-iconbuttons-passive: #cdd6f4; -$bar-menus-iconbuttons-active: #b4befe; -$bar-menus-progressbar-foreground: #b4befe; -$bar-menus-progressbar-background: #45475a; -$bar-menus-slider-primary: #b4befe; -$bar-menus-slider-background: #585b70; -$bar-menus-slider-backgroundhover: #45475a; -$bar-menus-slider-puck: #6c7086; -$bar-menus-dropdownmenu-background: #11111b; -$bar-menus-dropdownmenu-text: #cdd6f4; -$bar-menus-dropdownmenu-divider: #1e1e2e; -$bar-menus-tooltip-background: #11111b; -$bar-menus-tooltip-text: #cdd6f4; -$bar-menus-menu-media-song: #b4befe; -$bar-menus-menu-media-artist: #94e2d5; -$bar-menus-menu-media-album: #f5c2e7; -$bar-menus-menu-media-background-color: #11111b; -$bar-menus-menu-media-border-color: #313244; -$bar-menus-menu-media-buttons-inactive: #585b70; -$bar-menus-menu-media-buttons-enabled: #94e2d5; -$bar-menus-menu-media-buttons-background: #b4befe; -$bar-menus-menu-media-buttons-text: #11111b; -$bar-menus-menu-media-slider-primary: #f5c2e7; -$bar-menus-menu-media-slider-background: #585b70; -$bar-menus-menu-media-slider-backgroundhover: #45475a; -$bar-menus-menu-media-slider-puck: #6c7086; -$bar-menus-menu-volume-card-color: #1e1e2e; -$bar-menus-menu-volume-background-color: #11111b; -$bar-menus-menu-volume-border-color: #313244; -$bar-menus-menu-volume-label-color: #eba0ac; -$bar-menus-menu-volume-text: #cdd6f4; -$bar-menus-menu-volume-listitems-passive: #cdd6f4; -$bar-menus-menu-volume-listitems-active: #eba0ac; -$bar-menus-menu-volume-iconbutton-passive: #cdd6f4; -$bar-menus-menu-volume-iconbutton-active: #eba0ac; -$bar-menus-menu-volume-icons-passive: #9399b2; -$bar-menus-menu-volume-icons-active: #eba0ac; -$bar-menus-menu-volume-audio_slider-primary: #eba0ac; -$bar-menus-menu-volume-audio_slider-background: #585b70; -$bar-menus-menu-volume-audio_slider-backgroundhover: #45475a; -$bar-menus-menu-volume-audio_slider-puck: #6c7086; -$bar-menus-menu-volume-input_slider-primary: #eba0ac; -$bar-menus-menu-volume-input_slider-background: #585b70; -$bar-menus-menu-volume-input_slider-backgroundhover: #45475a; -$bar-menus-menu-volume-input_slider-puck: #6c7086; -$bar-menus-menu-network-card-color: #1e1e2e; -$bar-menus-menu-network-background-color: #11111b; -$bar-menus-menu-network-border-color: #313244; -$bar-menus-menu-network-label-color: #cba6f7; -$bar-menus-menu-network-text: #cdd6f4; -$bar-menus-menu-network-status-color: #6c7086; -$bar-menus-menu-network-listitems-passive: #cdd6f4; -$bar-menus-menu-network-listitems-active: #cba6f7; -$bar-menus-menu-network-icons-passive: #9399b2; -$bar-menus-menu-network-icons-active: #cba6f7; -$bar-menus-menu-network-iconbuttons-passive: #cdd6f4; -$bar-menus-menu-network-iconbuttons-active: #cba6f7; -$bar-menus-menu-bluetooth-card-color: #1e1e2e; -$bar-menus-menu-bluetooth-background-color: #11111b; -$bar-menus-menu-bluetooth-border-color: #313244; -$bar-menus-menu-bluetooth-label-color: #89dceb; -$bar-menus-menu-bluetooth-text: #cdd6f4; -$bar-menus-menu-bluetooth-status: #6c7086; -$bar-menus-menu-bluetooth-switch_divider: #45475a; -$bar-menus-menu-bluetooth-switch-enabled: #89dceb; -$bar-menus-menu-bluetooth-switch-disabled: #313244; -$bar-menus-menu-bluetooth-switch-puck: #6c7086; -$bar-menus-menu-bluetooth-listitems-passive: #cdd6f4; -$bar-menus-menu-bluetooth-listitems-active: #89dceb; -$bar-menus-menu-bluetooth-icons-passive: #9399b2; -$bar-menus-menu-bluetooth-icons-active: #89dceb; -$bar-menus-menu-bluetooth-iconbutton-passive: #cdd6f4; -$bar-menus-menu-bluetooth-iconbutton-active: #89dceb; -$bar-menus-menu-systray-dropdownmenu-background: #11111b; -$bar-menus-menu-systray-dropdownmenu-text: #cdd6f4; -$bar-menus-menu-systray-dropdownmenu-divider: #1e1e2e; -$bar-menus-menu-battery-card-color: #1e1e2e; -$bar-menus-menu-battery-background-color: #11111b; -$bar-menus-menu-battery-border-color: #313244; -$bar-menus-menu-battery-label-color: #f9e2af; -$bar-menus-menu-battery-text: #cdd6f4; -$bar-menus-menu-battery-listitems-passive: #cdd6f4; -$bar-menus-menu-battery-listitems-active: #f9e2af; -$bar-menus-menu-battery-icons-passive: #9399b2; -$bar-menus-menu-battery-icons-active: #f9e2af; -$bar-menus-menu-battery-slider-primary: #f9e2af; -$bar-menus-menu-battery-slider-background: #585b70; -$bar-menus-menu-battery-slider-backgroundhover: #45475a; -$bar-menus-menu-battery-slider-puck: #6c7086; -$bar-menus-menu-clock-card-color: #1e1e2e; -$bar-menus-menu-clock-background-color: #11111b; -$bar-menus-menu-clock-border-color: #313244; -$bar-menus-menu-clock-text: #cdd6f4; -$bar-menus-menu-clock-time-time: #f5c2e7; -$bar-menus-menu-clock-time-timeperiod: #94e2d5; -$bar-menus-menu-clock-calendar-yearmonth: #94e2d5; -$bar-menus-menu-clock-calendar-weekdays: #f5c2e7; -$bar-menus-menu-clock-calendar-paginator: #f5c2e7; -$bar-menus-menu-clock-calendar-currentday: #f5c2e7; -$bar-menus-menu-clock-calendar-days: #cdd6f4; -$bar-menus-menu-clock-calendar-contextdays: #585b70; -$bar-menus-menu-clock-weather-icon: #f5c2e7; -$bar-menus-menu-clock-weather-temperature: #cdd6f4; -$bar-menus-menu-clock-weather-status: #94e2d5; -$bar-menus-menu-clock-weather-stats: #f5c2e7; -$bar-menus-menu-clock-weather-thermometer-extremelyhot: #f38ba8; -$bar-menus-menu-clock-weather-thermometer-hot: #fab387; -$bar-menus-menu-clock-weather-thermometer-moderate: #b4befe; -$bar-menus-menu-clock-weather-thermometer-cold: #89b4fa; -$bar-menus-menu-clock-weather-thermometer-extremelycold: #89dceb; -$bar-menus-menu-clock-weather-hourly-time: #f5c2e7; -$bar-menus-menu-clock-weather-hourly-icon: #f5c2e7; -$bar-menus-menu-clock-weather-hourly-temperature: #f5c2e7; -$bar-menus-menu-dashboard-card-color: #1e1e2e; -$bar-menus-menu-dashboard-background-color: #11111b; -$bar-menus-menu-dashboard-border-color: #313244; -$bar-menus-menu-dashboard-profile-name: #f5c2e7; -$bar-menus-menu-dashboard-powermenu-shutdown: #f38ba8; -$bar-menus-menu-dashboard-powermenu-restart: #fab387; -$bar-menus-menu-dashboard-powermenu-logout: #a6e3a1; -$bar-menus-menu-dashboard-powermenu-sleep: #89dceb; -$bar-menus-menu-dashboard-powermenu-confirmation-card: #1e1e2e; -$bar-menus-menu-dashboard-powermenu-confirmation-background: #11111b; -$bar-menus-menu-dashboard-powermenu-confirmation-border: #313244; -$bar-menus-menu-dashboard-powermenu-confirmation-label: #b4befe; -$bar-menus-menu-dashboard-powermenu-confirmation-body: #cdd6f4; -$bar-menus-menu-dashboard-powermenu-confirmation-confirm: #a6e3a1; -$bar-menus-menu-dashboard-powermenu-confirmation-deny: #f38ba8; -$bar-menus-menu-dashboard-powermenu-confirmation-button_text: #11111b; -$bar-menus-menu-dashboard-shortcuts-background: #b4befe; -$bar-menus-menu-dashboard-shortcuts-text: #11111b; -$bar-menus-menu-dashboard-shortcuts-recording: #a6e3a1; -$bar-menus-menu-dashboard-controls-disabled: #585b70; -$bar-menus-menu-dashboard-controls-wifi-background: #cba6f7; -$bar-menus-menu-dashboard-controls-wifi-text: #11111b; -$bar-menus-menu-dashboard-controls-bluetooth-background: #89dceb; -$bar-menus-menu-dashboard-controls-bluetooth-text: #11111b; -$bar-menus-menu-dashboard-controls-notifications-background: #f9e2af; -$bar-menus-menu-dashboard-controls-notifications-text: #11111b; -$bar-menus-menu-dashboard-controls-volume-background: #eba0ac; -$bar-menus-menu-dashboard-controls-volume-text: #11111b; -$bar-menus-menu-dashboard-controls-input-background: #f5c2e7; -$bar-menus-menu-dashboard-controls-input-text: #11111b; -$bar-menus-menu-dashboard-directories-left-top-color: #f5c2e7; -$bar-menus-menu-dashboard-directories-left-middle-color: #f9e2af; -$bar-menus-menu-dashboard-directories-left-bottom-color: #eba0ac; -$bar-menus-menu-dashboard-directories-right-top-color: #94e2d5; -$bar-menus-menu-dashboard-directories-right-middle-color: #cba6f7; -$bar-menus-menu-dashboard-directories-right-bottom-color: #b4befe; -$bar-menus-menu-dashboard-monitors-bar_background: #45475a; -$bar-menus-menu-dashboard-monitors-cpu-icon: #eba0ac; -$bar-menus-menu-dashboard-monitors-cpu-bar: #eba0ac; -$bar-menus-menu-dashboard-monitors-cpu-label: #eba0ac; -$bar-menus-menu-dashboard-monitors-ram-icon: #f9e2af; -$bar-menus-menu-dashboard-monitors-ram-bar: #f9e2af; -$bar-menus-menu-dashboard-monitors-ram-label: #f9e2af; -$bar-menus-menu-dashboard-monitors-gpu-icon: #a6e3a1; -$bar-menus-menu-dashboard-monitors-gpu-bar: #a6e3a1; -$bar-menus-menu-dashboard-monitors-gpu-label: #a6e3a1; -$bar-menus-menu-dashboard-monitors-disk-icon: #f5c2e7; -$bar-menus-menu-dashboard-monitors-disk-bar: #f5c2e7; -$bar-menus-menu-dashboard-monitors-disk-label: #f5c2e7; -$bar-menus-menu-notifications-label: #b4befe; -$bar-menus-menu-notifications-no_notifications_label: #313244; -$bar-menus-menu-notifications-background: #11111b; -$bar-menus-menu-notifications-card: #1e1e2e; -$bar-menus-menu-notifications-border: #313244; -$bar-menus-menu-notifications-switch_divider: #45475a; -$bar-menus-menu-notifications-clear: #f38ba8; -$bar-menus-menu-notifications-switch-enabled: #b4befe; -$bar-menus-menu-notifications-switch-disabled: #313244; -$bar-menus-menu-notifications-switch-puck: #6c7086; \ No newline at end of file