niri/waybar: now pixel perfect

Signed-off-by: unexplrd <unexplrd@linerds.us>
This commit is contained in:
2025-06-29 16:19:04 +03:00
parent 9034502635
commit f854f65029

View File

@ -11,191 +11,190 @@
enable = true;
target = "graphical-session.target";
};
settings = {
bar-0 = {
# layer = "top";
position = "bottom";
height = 24;
spacing = 6;
margin-left = 33 + 3;
margin-right = 33 + 3;
margin-bottom = 3;
reload_style_on_change = true;
modules-left = [
"niri/language"
"niri/workspaces"
"wlr/taskbar"
];
modules-center = ["clock"];
modules-right = [
(ifLaptop "group/laptop")
"wireplumber"
"tray"
"privacy"
(ifLaptop "power-profiles-daemon")
"idle_inhibitor"
"custom/notification"
];
"niri/workspaces" = {
format = "{index}";
format-icons = {
"1" = "";
"2" = "";
"3" = "";
"4" = "";
"5" = "";
"6" = "";
"7" = "";
"8" = "";
"9" = "";
"10" = "";
general = "󰘧";
web = "󰖟";
chat = "󰻞";
code = "󰅩";
uni = "󱆀";
games = "󰺶";
system = "󰢻";
media = "󱜐";
tray = "󱊖";
};
};
"niri/language" = {
format = "{}";
format-en = "🇺🇸";
format-uk = "🇺🇦";
};
"custom/separator" = {
format = "󰝠";
interval = "once";
tooltip = false;
};
"group/laptop" = {
orientation = "inherit";
modules = [
"battery"
"backlight"
];
};
"backlight" = {
format = "{icon} {percent}%";
format-icons = [
"󰃚"
"󰃛"
"󰃜"
"󰃝"
"󰃞"
"󰃟"
"󰃠"
];
};
"idle_inhibitor" = {
format = "{icon}";
format-icons = {
activated = "󰅶";
deactivated = "󰾪";
};
};
"tray" = {
icon-size = 20;
spacing = 6;
};
"clock" = {
interval = 1;
format = "{:%B %d - %H:%M - %A}";
tooltip = false;
# tooltip-format = "{%y.%m.%d - %B %d, %A}";
};
battery = {
states = {
good = 95;
warning = 30;
critical = 15;
};
format = "{icon} {capacity}%";
format-full = "󱟢 {capacity}%";
format-charging = "󰂄 {capacity}%";
format-plugged = "󰚥 {capacity}%";
format-alt = "{icon} {time}";
format-icons = ["󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹"];
};
mpris = {
format = "{player_icon} {dynamic}";
format-paused = "{status_icon} <i>{dynamic}</i>";
playing-len = 30;
playing-paused = 30;
player-icons = {
default = "";
mpv = "🎵";
};
status-icons = {paused = "";};
};
"upower" = {
icon-size = 16;
format = "{percentage}";
hide-if-empty = true;
tooltip = true;
tooltip-spacing = 20;
};
"power-profiles-daemon" = {
format = "{icon}";
tooltip-format = "Power profile: {profile}\nDriver: {driver}";
tooltip = true;
format-icons = {
default = "󱡮";
performance = "󱡮";
balanced = "";
power-saver = "";
};
};
"wireplumber" = {
scroll-step = 3;
format = "{icon} {volume}%";
format-muted = "󰖁";
format-icons = ["󰕿" "󰖀" "󰕾"];
on-click = getExe pkgs.pwvucontrol;
on-click-right = "wpctl set-mute @DEFAULT_SINK@ toggle";
};
"custom/notification" = {
tooltip = false;
format = "{icon}";
format-icons = {
notification = "󱅫";
none = "󰂚";
dnd-notification = "󰂛";
dnd-none = "󰂛";
};
return-type = "json";
exec-if = "which swaync-client";
exec = "swaync-client -swb";
on-click = "swaync-client -t -sw";
on-click-right = "swaync-client -d -sw";
escape = true;
};
"privacy" = {
icon-spacing = 2;
icon-size = 16;
transition-duration = 250;
screenshare = {
type = "screenshare";
tooltip = true;
tooltip-icon-size = 24;
};
audio-in = {
type = "audio-in";
tooltip = true;
tooltip-icon-size = 24;
};
};
"wlr/taskbar" = {
format = "{icon}";
icon-size = 20;
icon-theme = "${config.dconf.settings."org/gnome/desktop/interface".icon-theme}";
tooltip-format = "{title}";
on-click = "activate";
settings.bar-0 = {
# layer = "top";
position = "bottom";
height = 24;
spacing = 6;
margin-left = 33 + 3;
margin-right = 33 + 3;
margin-bottom = 3;
reload_style_on_change = true;
modules-left = [
"niri/language"
"niri/workspaces"
"wlr/taskbar"
];
modules-center = ["clock"];
modules-right = [
"wireplumber"
(ifLaptop "group/laptop")
"privacy"
"tray"
"idle_inhibitor"
"custom/notification"
];
"niri/workspaces" = {
format = "{index}";
format-icons = {
"1" = "";
"2" = "";
"3" = "";
"4" = "";
"5" = "";
"6" = "";
"7" = "";
"8" = "";
"9" = "";
"10" = "";
general = "󰘧";
web = "󰖟";
chat = "󰻞";
code = "󰅩";
uni = "󱆀";
games = "󰺶";
system = "󰢻";
media = "󱜐";
tray = "󱊖";
};
};
"niri/language" = {
format = "{}";
format-en = "🇺🇸";
format-uk = "🇺🇦";
};
"custom/separator" = {
format = "󰝠";
interval = "once";
tooltip = false;
};
"group/laptop" = {
orientation = "inherit";
modules = [
"backlight"
"battery"
"power-profiles-daemon"
];
};
"backlight" = {
format = "{percent}% {icon}";
format-icons = [
"󰃚"
"󰃛"
"󰃜"
"󰃝"
"󰃞"
"󰃟"
"󰃠"
];
};
"idle_inhibitor" = {
format = "{icon}";
format-icons = {
activated = "󰅶";
deactivated = "󰾪";
};
};
"tray" = {
icon-size = 20;
spacing = 6;
};
"clock" = {
interval = 1;
format = "{:%B %d - %H:%M - %A}";
tooltip = false;
# tooltip-format = "{%y.%m.%d - %B %d, %A}";
};
battery = {
states = {
good = 95;
warning = 30;
critical = 15;
};
format = "{capacity}% {icon}";
format-full = "{capacity}% 󱟢";
format-charging = "{capacity}% 󰂄";
format-plugged = "{capacity}% 󰚥";
format-alt = "{icon} {time}";
format-icons = ["󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹"];
};
mpris = {
format = "{player_icon} {dynamic}";
format-paused = "{status_icon} <i>{dynamic}</i>";
playing-len = 30;
playing-paused = 30;
player-icons = {
default = "";
mpv = "🎵";
};
status-icons = {paused = "";};
};
"upower" = {
icon-size = 16;
format = "{percentage}";
hide-if-empty = true;
tooltip = true;
tooltip-spacing = 20;
};
"power-profiles-daemon" = {
format = "{icon}";
tooltip-format = "Power profile: {profile}\nDriver: {driver}";
tooltip = true;
format-icons = {
default = "󱡮";
performance = "󱡮";
balanced = "";
power-saver = "";
};
};
"wireplumber" = {
scroll-step = 3;
format = "{volume}% {icon}";
format-muted = "󰖁";
format-icons = ["󰕿" "󰖀" "󰕾"];
on-click = getExe pkgs.pwvucontrol;
on-click-right = "wpctl set-mute @DEFAULT_SINK@ toggle";
};
"custom/notification" = {
tooltip = false;
format = "{icon}";
format-icons = {
notification = "󱅫";
none = "󰂚";
dnd-notification = "󰂛";
dnd-none = "󰂛";
};
return-type = "json";
exec-if = "which swaync-client";
exec = "swaync-client -swb";
on-click = "swaync-client -t -sw";
on-click-right = "swaync-client -d -sw";
escape = true;
};
"privacy" = {
icon-spacing = 2;
icon-size = 16;
transition-duration = 250;
screenshare = {
type = "screenshare";
tooltip = true;
tooltip-icon-size = 24;
};
audio-in = {
type = "audio-in";
tooltip = true;
tooltip-icon-size = 24;
};
};
"wlr/taskbar" = {
format = "{icon}";
icon-size = 18;
icon-theme = "${config.dconf.settings."org/gnome/desktop/interface".icon-theme}";
tooltip-format = "{title}";
on-click = "activate";
};
};
style = ''
@define-color base00 #${colors.base00};
@define-color base01 #${colors.base01};
@ -214,13 +213,12 @@
@define-color base0E #${colors.base0E};
@define-color base0F #${colors.base0F};
* {
font-family: ${config.stylix.fonts.sansSerif.name}, FontAwesome;
font-weight: 500;
font-size: 100%;
font-family: ${config.stylix.fonts.sansSerif.name}, FontAwesome;
font-weight: 500;
font-size: 18px;
}
window#waybar {
background-color: transparent;
color: @base05;
background-color: transparent;
}
.modules-center {
background-color: transparent;
@ -231,100 +229,104 @@
.modules-left,
.modules-center,
.modules-right {
/* border-bottom-left-radius: 12px;
border-bottom-right-radius: 12px;
border-top-left-radius: 0px;
border-top-right-radius: 0px; */
background-color: @base00;
border-radius: 24px;
border: 3px solid @base0D;
color: @base05;
padding: 0 0.4em;
/* border-bottom-left-radius: 12px;
border-bottom-right-radius: 12px;
border-top-left-radius: 0px;
border-top-right-radius: 0px; */
background-color: @base00;
border-radius: 24px;
border: 3px solid @base0D;
color: @base05;
padding: 0 3px;
}
tooltip {
background: @base01;
border: 1px solid @base0E;
background: @base01;
border: 1px solid @base0E;
}
tooltip label {
color: @base05;
color: @base05;
}
button {
box-shadow: inset 0 -3px transparent;
border-radius: 16px;
box-shadow: inset 0 -3px transparent;
border-radius: 16px;
}
button:hover {
background: inherit;
box-shadow: inset 0 -3px transparent;
background: inherit;
box-shadow: inset 0 -3px transparent;
}
#mode {
background-color: rgba(0, 0, 0, 0.2);
box-shadow: inset 0 -3px @base05;
background-color: rgba(0, 0, 0, 0.2);
box-shadow: inset 0 -3px @base05;
}
#battery,
#backlight,
/* #workspaces,
#taskbar,
#privacy, */
#taskbar button,
#language,
#battery,
#clock,
#battery,
#backlight,
#wireplumber,
#workspaces button,
#custom-notification,
#custom-separator,
#idle_inhibitor,
#language,
#power-profiles-daemon,
#privacy-item,
#custom-separator {
padding: 0 0.3em;
#taskbar button,
#taskbar,
#wireplumber,
#workspaces button {
padding: 0 6px;
}
#tray button {
padding: 0 0.3em;
margin: 0 0.2em;
#backlight,
#custom-notification,
#idle_inhibitor,
#tray button,
#tray {
padding: 0 6px 0 0;
margin: 0 6px 0 0;
}
#power-profiles-daemon {
padding: 0 6px;
margin: 0 6px;
}
#workspaces button.active {
color: @base0D;
}
#taskbar button:hover {
box-shadow: transparent;
box-shadow: transparent;
}
#taskbar.empty,
window#empty {
background-color: transparent;
background-color: transparent;
}
#battery.critical:not(.charging) {
color: @base09;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: steps(12);
animation-iteration-count: infinite;
animation-direction: alternate;
color: @base09;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: steps(12);
animation-iteration-count: infinite;
animation-direction: alternate;
}
#power-profiles-daemon.performance {
color: @base0D;
color: @base0D;
}
#power-profiles-daemon.balanced {
color: @base0B;
color: @base0B;
}
#power-profiles-daemon.power-saver {
color: @base0A;
color: @base0A;
}
label:focus {
background-color: #000000;
background-color: #000000;
}
#tray > .passive {
-gtk-icon-effect: dim;
-gtk-icon-effect: dim;
}
#tray > .needs-attention {
-gtk-icon-effect: highlight;
background-color: @base08;
-gtk-icon-effect: highlight;
background-color: @base08;
}
#privacy-item.screenshare {
color: @base0C;
color: @base0C;
}
#privacy-item.audio-in {
color: @base0E;
color: @base0E;
}
'';
}