{ ... }:
{
programs.waybar.settings.mainBar = {
position= "top";
layer= "top";
height= 30;
margin-top= 4;
margin-bottom= 0;
margin-left= 4;
margin-right= 4;
modules-left= [
"custom/icon"
"custom/separator"
"custom/separator"
"custom/separator"
"custom/separator"
"clock"
"custom/separator"
"custom/swaync"
];
modules-center= [
"hyprland/workspaces"
];
modules-right= [
#"hyprland/window"
"custom/cava_mviz"
"network"
"pulseaudio#audio"
"pulseaudio#mic"
"battery"
"custom/power"
"custom/separator"
];
"hyprland/window" = {
format = "{}";
exec = "hyprctl activewindow | grep class | awk '{print $2}'";
separate-outputs = true;
max-length = 35;
};
# clock= {
# calendar = {
# format = { today = "{}"; };
# };
# # format = " {:%H:%M}";
# format = "{:%H:%M}";
# tooltip= "true";
# tooltip-format= "{:%Y %B}\n{calendar}";
# format-alt= " {:%d/%m}";
# };
#
clock = {
format = "{:%H:%M}";
tooltip = true;
tooltip-format = "{:%Y %B}\n{calendar}";
on-click = "$HOME/.local/share/bin/open-calendar-floating.sh";
};
"hyprland/workspaces" = {
format = "{icon}";
format-icons = {
active = ""; # filled circle
default = ""; # empty circle
};
persistent-workspaces = {
"*" = 2; # always show exactly 3 workspaces
};
sort-by-number = true;
on-scroll-up = "hyprctl dispatch workspace e-1";
on-scroll-down = "hyprctl dispatch workspace e+1";
on-click = "activate";
};
memory= {
format= " {}%";
interval= 2;
};
cpu= {
format= " {usage}%";
format-alt= " {avg_frequency} GHz";
interval= 2;
};
network = {
format-wifi = " ";
format-ethernet = "";
tooltip-format = "Connected to {essid} {ifname} via {gwaddr}";
format-linked = "{ifname} (No IP)";
format-disconnected = " ";
on-click = "bash $HOME/.dotfiles/scripts/rofi-network.sh";
};
# network = {
# format-wifi = " ";
# format-ethernet = "";
# tooltip-format = "Connected to {essid} {ifname} via {gwaddr}";
# format-linked = "{ifname} (No IP)";
# format-disconnected = " ";
# };
#
backlight = {
format = "{icon} {percent}%";
format-icons = [
""
""
""
""
""
""
""
""
""
];
interval = 2;
};
"custom/right-arr" = {
format = " ";
};
battery = {
format = "{icon} {capacity}% ";
format-alt = "{icon} {time}";
format-charging = " {capacity}% ";
format-icons = [" " " " " " " "];
};
tray= {
icon-size= 20;
spacing= 8;
};
"pulseaudio#audio" = {
format = "{format_source}";
format-source = " {volume} ";
format-source-muted = " {volume} ";
on-click = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
on-scroll-up = "wpctl set-volume @DEFAULT_AUDIO_SINK@ -1%";
on-scroll-down = "wpctl set-volume @DEFAULT_AUDIO_SINK@ +1%";
scroll-step = 5;
tooltip = false;
};
"pulseaudio#mic" = {
format = "{format_source}";
format-source = " {volume} ";
format-source-muted = " {volume} ";
on-click = "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle";
on-scroll-up = "wpctl set-volume @DEFAULT_AUDIO_SOURCE@ -1%";
on-scroll-down = "wpctl set-volume @DEFAULT_AUDIO_SOURCE@ +1%";
scroll-step = 5;
tooltip = true;
};
"pulseaudio/slider" = {
min = 0;
max = 100;
orientation = "horizontal";
};
# pulseaudio= {
# format= "{icon} {volume} {format_source}";
# format-source = " {volume} ";
# format-source-muted = " ";
# format-bluetooth = " ᛒ {volume} ";
# format-bluetooth-muted = " ";
# format-muted= " {format_source}";
# format-icons= {
# default= ["" "" ""];
# };
# scroll-step= 5;
#
# };
#
"custom/cava_mviz" = {
exec = "~/.local/share/bin/waybar-cava.sh";
format = " {} ";
tooltip = false;
};
"custom/swaync" = {
tooltip = true;
"tooltip-format" = "Left Click: Launch Notification Center\nRight Click: Do not Disturb";
format = " {icon} ";
"format-icons" = {
notification = "";
none = "";
"dnd-notification" = "";
"dnd-none" = "";
"inhibited-notification" = "";
"inhibited-none" = "";
"dnd-inhibited-notification" = "";
"dnd-inhibited-none" = "";
};
"return-type" = "json";
"exec-if" = "which swaync-client";
exec = "swaync-client -swb";
"on-click" = "systemctl --user start swaync.service; swaync-client -t";
"on-click-right" = "systemctl --user start swaync.service; swaync-client -d";
escape = true;
};
"custom/icon"= {
format= "";
on-click= "sh -c 'rofi -show drun -theme fullscreen-grid &'";
tooltip= "App Launcher";
};
"custom/separtor" = {
format = " ";
};
"custom/browser" = {
format = " ";
};
"custom/window-icon" = {
# to be added
};
"custom/power" = {
format = " ";
tooltip = "Power menu";
on-click = "sh -c 'wlogout &'";
};
};
}