Waybar improvements + app drawer for touchscreen

This commit is contained in:
Aleksandr Lebedev 2025-07-13 17:36:41 +02:00
parent 084dc0c72b
commit af5b392286
6 changed files with 132 additions and 77 deletions

54
flake.lock generated
View file

@ -720,11 +720,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1751810233, "lastModified": 1752208517,
"narHash": "sha256-kllkNbIqQi3VplgTMeGzuh1t8Gk8TauvkTRt93Km+tQ=", "narHash": "sha256-aRY1cYOdVdXdNjcL/Twpa27CknO7pVHxooPsBizDraE=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "9b0873b46c9f9e4b7aa01eb634952c206af53068", "rev": "c6a01e54af81b381695db796a43360bf6db5702f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -856,11 +856,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable" "xwayland-satellite-unstable": "xwayland-satellite-unstable"
}, },
"locked": { "locked": {
"lastModified": 1752078530, "lastModified": 1752341624,
"narHash": "sha256-TrRmlYdhWcadWvBpDjB9Xlry4uT4ZUIO46d+o5tjtCQ=", "narHash": "sha256-TL45QOCt1+RSrRzVca3KeMjhZgkCaI585AjKUTCj3Jc=",
"owner": "sodiboo", "owner": "sodiboo",
"repo": "niri-flake", "repo": "niri-flake",
"rev": "d231d92313192d4d0c78d6ef04167fed9dee87cf", "rev": "b658155b3c10d32c62fad3bde0097b87b47d2d08",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1027,11 +1027,11 @@
"nixpkgs": "nixpkgs_10" "nixpkgs": "nixpkgs_10"
}, },
"locked": { "locked": {
"lastModified": 1752137032, "lastModified": 1752285931,
"narHash": "sha256-+vIBaUg9XysV2eUTEwLAJQSSLEZHnguHCfS1SHrFYuQ=", "narHash": "sha256-6jawOVAYX+hgFQgJb6+Ll7vKPGUwrNsNl3n6ThSBKW4=",
"owner": "fufexan", "owner": "fufexan",
"repo": "nix-gaming", "repo": "nix-gaming",
"rev": "7bd0cbccbb3a1c0d407b189c6b3cf1243a5c2b40", "rev": "a5bdc5faada1290ad6ca0b91d5ca87bbfbde474a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1125,11 +1125,11 @@
"nixpkgs": "nixpkgs_11" "nixpkgs": "nixpkgs_11"
}, },
"locked": { "locked": {
"lastModified": 1752138162, "lastModified": 1752199438,
"narHash": "sha256-ClgAN2eyqlkRjpnU9y0AL+Rg3ICs5k2sJvCjuSit57A=", "narHash": "sha256-xSBMmGtq8K4Qv80TMqREmESCAsRLJRHAbFH2T/2Bf1Y=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NixOS-WSL", "repo": "NixOS-WSL",
"rev": "11500b1ad1c01f7ade38b487924ae89f69f3d022", "rev": "d34d9412556d3a896e294534ccd25f53b6822e80",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1216,11 +1216,11 @@
}, },
"nixpkgs-master": { "nixpkgs-master": {
"locked": { "locked": {
"lastModified": 1752155833, "lastModified": 1752342658,
"narHash": "sha256-bFgBh1ILsr4Af6H0oul+BvuK4AYFF17JzSSW4KHLt/o=", "narHash": "sha256-XxVDYRIdK6inipblWav1ghHd25ciEoUXGg71LdN0uz8=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "2bc8941d52e3ca07e46ecd4ef56777f9895113e4", "rev": "58d0845753a666a9e5e7ad1538db39643f7469b5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1248,11 +1248,11 @@
}, },
"nixpkgs-stable_2": { "nixpkgs-stable_2": {
"locked": { "locked": {
"lastModified": 1751943650, "lastModified": 1752162966,
"narHash": "sha256-7orTnNqkGGru8Je6Un6mq1T8YVVU/O5kyW4+f9C1mZQ=", "narHash": "sha256-3MxxkU8ZXMHXcbFz7UE4M6qnIPTYGcE/7EMqlZNnVDE=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "88983d4b665fb491861005137ce2b11a9f89f203", "rev": "10e687235226880ed5e9f33f1ffa71fe60f2638a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1312,11 +1312,11 @@
}, },
"nixpkgs_12": { "nixpkgs_12": {
"locked": { "locked": {
"lastModified": 1751943650, "lastModified": 1752162966,
"narHash": "sha256-7orTnNqkGGru8Je6Un6mq1T8YVVU/O5kyW4+f9C1mZQ=", "narHash": "sha256-3MxxkU8ZXMHXcbFz7UE4M6qnIPTYGcE/7EMqlZNnVDE=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "88983d4b665fb491861005137ce2b11a9f89f203", "rev": "10e687235226880ed5e9f33f1ffa71fe60f2638a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -3800,11 +3800,11 @@
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1752084754, "lastModified": 1752251601,
"narHash": "sha256-JorlZGCWxlYV01lXmUuDeKOZoLPdoN3fAKJv8YIuavs=", "narHash": "sha256-QnhCeqR9DTYWu5ZN+WfVJcfDy8efeVODjUreRldj4oU=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "2df042576646d012d15637f43d6075995e785ce3", "rev": "4d5e38f041f70725b1ef47b704f7a1944783001f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -3997,11 +3997,11 @@
"xwayland-satellite-unstable": { "xwayland-satellite-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1751228685, "lastModified": 1752338000,
"narHash": "sha256-MENtauGBhJ+kDeFaawvWGXaFG3Il6qQzjaP0RmtfM0k=", "narHash": "sha256-Fxlp/yKtynug0jyuauAmvZU2SzHCfwlwWf85j+IvQ0U=",
"owner": "Supreeeme", "owner": "Supreeeme",
"repo": "xwayland-satellite", "repo": "xwayland-satellite",
"rev": "557ebeb616e03d5e4a8049862bbbd1f02c6f020b", "rev": "ba78881a68182ce338041846164cbfed0d70935c",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -160,7 +160,7 @@ in
comma #run nix run nixpkgs#nix-index to init comma #run nix run nixpkgs#nix-index to init
llvmPackages_19.clang-tools clang-tools
gdb gdb
dotnet-sdk_9 dotnet-sdk_9
csharp-ls csharp-ls

View file

@ -15,7 +15,7 @@
./hyprlock.nix ./hyprlock.nix
]; ];
home.packages = with pkgs;[ home.packages = with pkgs;[
eww nwg-drawer
wlogout wlogout
brightnessctl brightnessctl
fuzzel fuzzel

View file

@ -13,12 +13,7 @@ in
#} #}
#${builtins.readFile "${pkgs.waybar}/etc/xdg/waybar/style.css"} #${builtins.readFile "${pkgs.waybar}/etc/xdg/waybar/style.css"}
style = '' style = ''
${builtins.readFile ./waybarstyle.css} ${builtins.readFile ./waybarstyle.css}'';
* {
font-size: 15px;
}
'';
settings = [{ settings = [{
height = 36; height = 36;
layer = "top"; layer = "top";
@ -29,9 +24,10 @@ in
"clock" "clock"
]; ];
modules-left = [ modules-left = [
"custom/drawer"
"wlr/taskbar" "wlr/taskbar"
"niri/workspaces" "niri/workspaces"
# "hyprland/window" "niri/window"
]; ];
modules-right = lib.optional hwconfig.isLaptop "backlight" modules-right = lib.optional hwconfig.isLaptop "backlight"
++ [ ++ [
@ -73,6 +69,7 @@ in
tooltip = true; tooltip = true;
}; };
clock = { clock = {
format = "{:%a %d | %H:%M}";
format-alt = "{:%d.%m.%Y}"; format-alt = "{:%d.%m.%Y}";
tooltip-format = "{:%d.%m.%Y | %H:%M}"; tooltip-format = "{:%d.%m.%Y | %H:%M}";
}; };
@ -80,11 +77,18 @@ in
format = "{usage}% "; format = "{usage}% ";
tooltip = false; tooltip = false;
}; };
"custom/drawer" = {
format = "<span foreground='white'>󱄅</span>";
tooltip = false;
on-click = ''nwg-drawer -fm "dolphin" -closebtn "right" -nocats -term "kitty" -ovl -wm "niri" -s "${./drawerstyle.css}" '';
};
"niri/language" = { "niri/language" = {
format = " {}"; format = "{}";
format-en = "EN"; format-en = "EN";
format-ru = "RU"; format-ru = "RU";
format-de = "DE"; format-de = "DE";
on-click = "niri msg action switch-layout next";
on-click-right = "niri msg action switch-layout prev";
}; };
"wlr/taskbar" = { "wlr/taskbar" = {
format = "{icon}"; format = "{icon}";
@ -120,9 +124,9 @@ in
phone = ""; phone = "";
portable = ""; portable = "";
}; };
format-muted = " {format_source}"; format-muted = " {format_source}";
format-source = " {volume}%"; format-source = " {volume}%";
format-source-muted = ""; format-source-muted = " ";
on-click = "${pkgs.pwvucontrol}/bin/pwvucontrol"; on-click = "${pkgs.pwvucontrol}/bin/pwvucontrol";
}; };
"hyprland/submap" = { format = ''<span style="italic">{}</span>''; }; "hyprland/submap" = { format = ''<span style="italic">{}</span>''; };
@ -148,16 +152,8 @@ in
}; };
"custom/power" = { "custom/power" = {
format = " "; format = "";
tooltip = false; 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"; on-click = "wlogout";
}; };
@ -165,10 +161,10 @@ in
tooltip = false; tooltip = false;
format = "{icon}"; format = "{icon}";
format-icons = { format-icons = {
notification = " <span foreground='red'><small><sup></sup></small></span>"; notification = "<span foreground='red'></span>";
none = " "; none = "";
dnd-notification = " <span foreground='red'><small><sup></sup></small></span>"; dnd-notification = "<span foreground='red'></span>";
dnd-none = " "; dnd-none = "";
}; };
return-type = "json"; return-type = "json";
exec-if = "which swaync-client"; exec-if = "which swaync-client";

View file

@ -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
}

View file

@ -1,16 +1,16 @@
* { * {
border: none; border: none;
font-family: Font Awesome, Roboto, Arial, sans-serif; font-family: Font Awesome, Roboto, Arial, sans-serif;
font-size: 13px; font-size: 16px;
color: #B9826A;/*#ffffff;*/ color: #B9826A;
border-radius: 20px; border-radius: 10px;
} }
window { window {
/*font-weight: bold;*/ font-weight: bold;
} }
window#waybar { window#waybar {
background: transparent;/*rgba(0, 0, 0, 0);*/ background: transparent;
} }
/*-----module groups----*/ /*-----module groups----*/
.modules-right { .modules-right {
@ -23,7 +23,7 @@ window#waybar {
} }
.modules-left { .modules-left {
margin: 2px 0 0 5px; margin: 2px 0 0 5px;
background-color: rgba(0,119,179,0.6); background-color: rgba(0,43,51,0.85);
} }
/*-----modules indv----*/ /*-----modules indv----*/
#workspaces button { #workspaces button {
@ -36,7 +36,7 @@ window#waybar {
} }
#workspaces button.focused { #workspaces button.focused {
background-color: rgba(0,43,51,0.85); background-color: rgba(0,119,179,0.6);
} }
#clock, #clock,
@ -49,21 +49,40 @@ window#waybar {
#custom-media, #custom-media,
#tray, #tray,
#mode, #mode,
#niri-language,
#language,
#custom-power, #custom-power,
#custom-menu, #custom-menu,
#custom-battery,
#custom-notification,
#custom-drawer,
#backlight,
#workspaces,
#window,
#taskbar,
#idle_inhibitor { #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 { #mode {
color: #cc3436; color: #cc3436;
font-weight: bold; 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----*/ /*-----Indicators----*/
#idle_inhibitor.activated { #idle_inhibitor.activated {
color: #2dcc36; color: #2dcc36;
@ -83,10 +102,3 @@ window#waybar {
#temperature.critical { #temperature.critical {
color: #cc3436; 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
*
*/