From af5b3922864cf225bfc5ce2ca324761b4251e244 Mon Sep 17 00:00:00 2001 From: Aleksandr Lebedev Date: Sun, 13 Jul 2025 17:36:41 +0200 Subject: [PATCH] Waybar improvements + app drawer for touchscreen --- flake.lock | 54 ++++++++--------- nixos/configuration.nix | 2 +- nixos/homes/kylekrein/niri.nix | 2 +- nixos/homes/kylekrein/waybar/default.nix | 42 ++++++------- nixos/homes/kylekrein/waybar/drawerstyle.css | 47 +++++++++++++++ nixos/homes/kylekrein/waybar/waybarstyle.css | 62 ++++++++++++-------- 6 files changed, 132 insertions(+), 77 deletions(-) create mode 100644 nixos/homes/kylekrein/waybar/drawerstyle.css diff --git a/flake.lock b/flake.lock index 90e7e61..c8ab268 100644 --- a/flake.lock +++ b/flake.lock @@ -720,11 +720,11 @@ ] }, "locked": { - "lastModified": 1751810233, - "narHash": "sha256-kllkNbIqQi3VplgTMeGzuh1t8Gk8TauvkTRt93Km+tQ=", + "lastModified": 1752208517, + "narHash": "sha256-aRY1cYOdVdXdNjcL/Twpa27CknO7pVHxooPsBizDraE=", "owner": "nix-community", "repo": "home-manager", - "rev": "9b0873b46c9f9e4b7aa01eb634952c206af53068", + "rev": "c6a01e54af81b381695db796a43360bf6db5702f", "type": "github" }, "original": { @@ -856,11 +856,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1752078530, - "narHash": "sha256-TrRmlYdhWcadWvBpDjB9Xlry4uT4ZUIO46d+o5tjtCQ=", + "lastModified": 1752341624, + "narHash": "sha256-TL45QOCt1+RSrRzVca3KeMjhZgkCaI585AjKUTCj3Jc=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "d231d92313192d4d0c78d6ef04167fed9dee87cf", + "rev": "b658155b3c10d32c62fad3bde0097b87b47d2d08", "type": "github" }, "original": { @@ -1027,11 +1027,11 @@ "nixpkgs": "nixpkgs_10" }, "locked": { - "lastModified": 1752137032, - "narHash": "sha256-+vIBaUg9XysV2eUTEwLAJQSSLEZHnguHCfS1SHrFYuQ=", + "lastModified": 1752285931, + "narHash": "sha256-6jawOVAYX+hgFQgJb6+Ll7vKPGUwrNsNl3n6ThSBKW4=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "7bd0cbccbb3a1c0d407b189c6b3cf1243a5c2b40", + "rev": "a5bdc5faada1290ad6ca0b91d5ca87bbfbde474a", "type": "github" }, "original": { @@ -1125,11 +1125,11 @@ "nixpkgs": "nixpkgs_11" }, "locked": { - "lastModified": 1752138162, - "narHash": "sha256-ClgAN2eyqlkRjpnU9y0AL+Rg3ICs5k2sJvCjuSit57A=", + "lastModified": 1752199438, + "narHash": "sha256-xSBMmGtq8K4Qv80TMqREmESCAsRLJRHAbFH2T/2Bf1Y=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "11500b1ad1c01f7ade38b487924ae89f69f3d022", + "rev": "d34d9412556d3a896e294534ccd25f53b6822e80", "type": "github" }, "original": { @@ -1216,11 +1216,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1752155833, - "narHash": "sha256-bFgBh1ILsr4Af6H0oul+BvuK4AYFF17JzSSW4KHLt/o=", + "lastModified": 1752342658, + "narHash": "sha256-XxVDYRIdK6inipblWav1ghHd25ciEoUXGg71LdN0uz8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2bc8941d52e3ca07e46ecd4ef56777f9895113e4", + "rev": "58d0845753a666a9e5e7ad1538db39643f7469b5", "type": "github" }, "original": { @@ -1248,11 +1248,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1751943650, - "narHash": "sha256-7orTnNqkGGru8Je6Un6mq1T8YVVU/O5kyW4+f9C1mZQ=", + "lastModified": 1752162966, + "narHash": "sha256-3MxxkU8ZXMHXcbFz7UE4M6qnIPTYGcE/7EMqlZNnVDE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "88983d4b665fb491861005137ce2b11a9f89f203", + "rev": "10e687235226880ed5e9f33f1ffa71fe60f2638a", "type": "github" }, "original": { @@ -1312,11 +1312,11 @@ }, "nixpkgs_12": { "locked": { - "lastModified": 1751943650, - "narHash": "sha256-7orTnNqkGGru8Je6Un6mq1T8YVVU/O5kyW4+f9C1mZQ=", + "lastModified": 1752162966, + "narHash": "sha256-3MxxkU8ZXMHXcbFz7UE4M6qnIPTYGcE/7EMqlZNnVDE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "88983d4b665fb491861005137ce2b11a9f89f203", + "rev": "10e687235226880ed5e9f33f1ffa71fe60f2638a", "type": "github" }, "original": { @@ -3800,11 +3800,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1752084754, - "narHash": "sha256-JorlZGCWxlYV01lXmUuDeKOZoLPdoN3fAKJv8YIuavs=", + "lastModified": 1752251601, + "narHash": "sha256-QnhCeqR9DTYWu5ZN+WfVJcfDy8efeVODjUreRldj4oU=", "owner": "danth", "repo": "stylix", - "rev": "2df042576646d012d15637f43d6075995e785ce3", + "rev": "4d5e38f041f70725b1ef47b704f7a1944783001f", "type": "github" }, "original": { @@ -3997,11 +3997,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1751228685, - "narHash": "sha256-MENtauGBhJ+kDeFaawvWGXaFG3Il6qQzjaP0RmtfM0k=", + "lastModified": 1752338000, + "narHash": "sha256-Fxlp/yKtynug0jyuauAmvZU2SzHCfwlwWf85j+IvQ0U=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "557ebeb616e03d5e4a8049862bbbd1f02c6f020b", + "rev": "ba78881a68182ce338041846164cbfed0d70935c", "type": "github" }, "original": { diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 31539bf..96e099c 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -160,7 +160,7 @@ in comma #run nix run nixpkgs#nix-index to init - llvmPackages_19.clang-tools + clang-tools gdb dotnet-sdk_9 csharp-ls diff --git a/nixos/homes/kylekrein/niri.nix b/nixos/homes/kylekrein/niri.nix index 74ef6da..926bbce 100644 --- a/nixos/homes/kylekrein/niri.nix +++ b/nixos/homes/kylekrein/niri.nix @@ -15,7 +15,7 @@ ./hyprlock.nix ]; home.packages = with pkgs;[ - eww + nwg-drawer wlogout brightnessctl fuzzel diff --git a/nixos/homes/kylekrein/waybar/default.nix b/nixos/homes/kylekrein/waybar/default.nix index 51147c3..afe4b1a 100644 --- a/nixos/homes/kylekrein/waybar/default.nix +++ b/nixos/homes/kylekrein/waybar/default.nix @@ -13,12 +13,7 @@ in #} #${builtins.readFile "${pkgs.waybar}/etc/xdg/waybar/style.css"} style = '' - ${builtins.readFile ./waybarstyle.css} - - * { - font-size: 15px; - } - ''; +${builtins.readFile ./waybarstyle.css}''; settings = [{ height = 36; layer = "top"; @@ -29,9 +24,10 @@ in "clock" ]; modules-left = [ + "custom/drawer" "wlr/taskbar" "niri/workspaces" - # "hyprland/window" + "niri/window" ]; modules-right = lib.optional hwconfig.isLaptop "backlight" ++ [ @@ -73,6 +69,7 @@ in tooltip = true; }; clock = { + format = "{:%a %d | %H:%M}"; format-alt = "{:%d.%m.%Y}"; tooltip-format = "{:%d.%m.%Y | %H:%M}"; }; @@ -80,11 +77,18 @@ in format = "{usage}% "; tooltip = false; }; + "custom/drawer" = { + format = "󱄅"; + tooltip = false; + on-click = ''nwg-drawer -fm "dolphin" -closebtn "right" -nocats -term "kitty" -ovl -wm "niri" -s "${./drawerstyle.css}" ''; + }; "niri/language" = { - format = " {}"; + format = "{}"; format-en = "EN"; format-ru = "RU"; format-de = "DE"; + on-click = "niri msg action switch-layout next"; + on-click-right = "niri msg action switch-layout prev"; }; "wlr/taskbar" = { format = "{icon}"; @@ -120,9 +124,9 @@ in phone = ""; portable = ""; }; - format-muted = " {format_source}"; + format-muted = " {format_source}"; format-source = "  {volume}%"; - format-source-muted = ""; + format-source-muted = "  "; on-click = "${pkgs.pwvucontrol}/bin/pwvucontrol"; }; "hyprland/submap" = { format = ''{}''; }; @@ -148,16 +152,8 @@ in }; "custom/power" = { - format = "⏻ "; + format = "⏻"; tooltip = false; - #menu = "on-click"; - #menu-file = ./power_menu.xml; - #menu-actions = { - # shutdown = "shutdown -h now"; - # reboot = "reboot"; - # suspend = "systemctl suspend"; - # hibernate = "systemctl hibernate"; - #}; on-click = "wlogout"; }; @@ -165,10 +161,10 @@ in tooltip = false; format = "{icon}"; format-icons = { - notification = " "; - none = " "; - dnd-notification = " "; - dnd-none = "  "; + notification = ""; + none = ""; + dnd-notification = ""; + dnd-none = ""; }; return-type = "json"; exec-if = "which swaync-client"; diff --git a/nixos/homes/kylekrein/waybar/drawerstyle.css b/nixos/homes/kylekrein/waybar/drawerstyle.css new file mode 100644 index 0000000..b92b6c1 --- /dev/null +++ b/nixos/homes/kylekrein/waybar/drawerstyle.css @@ -0,0 +1,47 @@ +* { + border: none; + font-family: Font Awesome, Roboto, Arial, sans-serif; + font-size: 16px; + color: #eeeeee; + border-radius: 10px; +} +window { + background-color: rgba(50, 63, 99, 0.718); + color: #eeeeee; +} + +/* search entry */ +entry { + background-color: rgba(0, 0, 0, 0.2) +} + +button, image { + background: none; + border: none +} + +button:hover { + background-color: rgba(255, 255, 255, 0.1) +} + +/* in case you wanted to give category buttons a different look */ +#category-button { + margin: 0 10px 0 10px +} + +#pinned-box { + padding-bottom: 5px; + border-bottom: 1px dotted gray +} + +#files-box { + padding: 5px; + border: 1px dotted gray; + border-radius: 15px +} + +/* math operation result label */ +#math-label { + font-weight: bold; + font-size: 16px +} diff --git a/nixos/homes/kylekrein/waybar/waybarstyle.css b/nixos/homes/kylekrein/waybar/waybarstyle.css index 3a19a1d..3b1cc5f 100644 --- a/nixos/homes/kylekrein/waybar/waybarstyle.css +++ b/nixos/homes/kylekrein/waybar/waybarstyle.css @@ -1,29 +1,29 @@ * { border: none; font-family: Font Awesome, Roboto, Arial, sans-serif; - font-size: 13px; - color: #B9826A;/*#ffffff;*/ - border-radius: 20px; + font-size: 16px; + color: #B9826A; + border-radius: 10px; } window { - /*font-weight: bold;*/ + font-weight: bold; } window#waybar { - background: transparent;/*rgba(0, 0, 0, 0);*/ + background: transparent; } /*-----module groups----*/ .modules-right { - background-color: rgba(0,43,51,0.85); + background-color: rgba(0,43,51,0.85); margin: 2px 10px 0 0; } .modules-center { - background-color: rgba(0,43,51,0.85); + background-color: rgba(0,43,51,0.85); margin: 2px 0 0 0; } .modules-left { margin: 2px 0 0 5px; - background-color: rgba(0,119,179,0.6); + background-color: rgba(0,43,51,0.85); } /*-----modules indv----*/ #workspaces button { @@ -32,11 +32,11 @@ window#waybar { } #workspaces button:hover { box-shadow: inherit; - background-color: rgba(0,153,153,1); + background-color: rgba(0,153,153,1); } #workspaces button.focused { - background-color: rgba(0,43,51,0.85); + background-color: rgba(0,119,179,0.6); } #clock, @@ -49,21 +49,40 @@ window#waybar { #custom-media, #tray, #mode, +#niri-language, +#language, #custom-power, #custom-menu, +#custom-battery, +#custom-notification, +#custom-drawer, +#backlight, +#workspaces, +#window, +#taskbar, #idle_inhibitor { - padding: 0 10px; + margin: 0px 0px; + padding: 0px 5px; + border-right: 1px solid rgba(255,255,255,0.2); + border-radius: 0px; +} +#clock, +#custom-power, +#window { + border-right: none; +} +#custom-drawer { + font-size: 20px; +} +#custom-power, +#custom-drawer, +#custom-notification { + padding: 0px 0.5em 0px 0.3em; } #mode { color: #cc3436; font-weight: bold; } -#custom-power { - background-color: rgba(0,119,179,0.6); - border-radius: 100px; - margin: 5px 5px; - padding: 1px 1px 1px 6px; -} /*-----Indicators----*/ #idle_inhibitor.activated { color: #2dcc36; @@ -75,7 +94,7 @@ window#waybar { color: #2dcc36; } #battery.warning:not(.charging) { - color: #e6e600; + color: #e6e600; } #battery.critical:not(.charging) { color: #cc3436; @@ -83,10 +102,3 @@ window#waybar { #temperature.critical { color: #cc3436; } -/*-----Colors----*/ -/* - *rgba(0,85,102,1),#005566 --> Indigo(dye) - *rgba(0,43,51,1),#002B33 --> Dark Green - *rgba(0,153,153,1),#009999 --> Persian Green - * - */