update waybar from nixos branch

This commit is contained in:
Benjamin Palko 2024-10-10 22:13:34 -04:00
parent d0d2fa9b28
commit c9a092f3b6
3 changed files with 275 additions and 143 deletions

243
waybar/config.jsonc Executable file → Normal file
View file

@ -1,125 +1,140 @@
// -*- mode: jsonc -*-
{
"layer": "top", // Waybar at top layer
// "position": "bottom", // Waybar position (top|bottom|left|right)
"height": 36, // Waybar height (to be removed for auto height)
// "width": 1280, // Waybar width
"spacing": 8, // Gaps between modules (4px)
// Choose the order of the modules
"modules-left": [
"hyprland/workspaces",
"tray",
"hyprland/window"
],
"modules-center": [
"custom/spotify"
],
"modules-right": [
"custom/swww",
"wireplumber",
"network",
"cpu",
"memory",
"temperature",
"idle_inhibitor",
"clock",
"custom/swaync"
],
"idle_inhibitor": {
"format": "{icon}",
"tooltip-format-activated": "On",
"tooltip-format-deactivated": "Off",
"format-icons": {
"activated": "󱫗",
"deactivated": "󰔛"
}
"layer": "top", // Waybar at top layer
// "position": "bottom", // Waybar position (top|bottom|left|right)
"height": 36, // Waybar height (to be removed for auto height)
// "width": 1280, // Waybar width
"spacing": 8, // Gaps between modules (4px)
// Choose the order of the modules
"modules-left": [
"custom/os",
"hyprland/workspaces",
"tray",
"hyprland/window",
],
"modules-center": ["mpris"],
"modules-right": [
"custom/swww",
"wireplumber",
"network",
"cpu",
"memory",
"temperature",
"idle_inhibitor",
"clock",
"custom/swaync",
],
"custom/os": {
"format": "󱄅",
"on-click": "~/.config/rofi/scripts/powermenu_t1",
},
"idle_inhibitor": {
"format": "{icon}",
"tooltip-format-activated": "On",
"tooltip-format-deactivated": "Off",
"format-icons": {
"activated": "󱫔",
"deactivated": "󱫐",
},
"hyprland/workspaces": {
"active-only": false,
"format": "{icon}",
"format-icons": {
"default": ""
}
},
"hyprland/workspaces": {
"active-only": false,
"format": "{icon}",
"format-icons": {
"default": "",
"1": "󰭹",
"2": "󰈹",
"3": "",
"4": "",
},
"hyprland/window": {
"format": "{}",
"rewrite": {
"(.*) — Mozilla Firefox": "󰈹 $1",
"(.*) - fish": "> [$1]",
"nv": " neovim"
},
"separate-outputs": true,
"max-length": "40"
"persistent-workspaces": {
"*": 4, // 5 workspaces by default on every monitor
},
"tray": {
"icon-size": 18,
"spacing": 10
},
"hyprland/window": {
"format": "{}",
"rewrite": {
"(.*) — Mozilla Firefox": "󰈹 $1",
"~(.*)": "󰅬 $1",
"nv": " neovim",
},
"clock": {
"timezone": "America/New_York",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": "{:%Y-%m-%d}",
"on-click": ""
"separate-outputs": true,
"max-length": "40",
},
"tray": {
"icon-size": 18,
"spacing": 10,
},
"clock": {
"timezone": "America/New_York",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": "{:%Y-%m-%d}",
"on-click": "",
},
"cpu": {
"format": "󰻠 {usage}%",
"tooltip": true,
},
"memory": {
"format": " {}%",
},
"temperature": {
// "thermal-zone": 2,
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
"critical-threshold": 80,
// "format-critical": "{temperatureC}°C {icon}",
"format": "{icon} {temperatureC}°C",
"format-icons": ["", "", ""],
},
"wireplumber": {
"format": " {volume}%",
"format-mute": " {volume}%",
"on-click": "~/.config/rofi/applets/bin/volume.sh",
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"tooltip-format": "{essid}",
"format-wifi": " {signalStrength}%",
"format-ethernet": "󰈀",
"format-linked": "{ifname} (No IP) ",
"format-disconnected": "󰖪",
//"format-alt": "{ifname}: {ipaddr}/{cidr}"
},
"mpris": {
"format": "{player_icon} {dynamic}",
"format-paused": "{status_icon} <i>{dynamic}</i>",
"player-icons": {
"default": "▶",
"mpv": "🎵",
"spotify": "",
"firefox": "󰈹",
},
"cpu": {
"format": "󰻠 {usage}%",
"tooltip": true
"interval": 1,
"status-icons": {
"paused": "⏸",
},
"memory": {
"format": "{}% 󰍛"
"dynamic-len": 36,
"on-click-middle": "playerctld shift",
},
"custom/swaync": {
"format": "{icon}",
"exec": "swaync-client -swb",
"return-type": "json",
"on-click": "sleep 0.1 && swaync-client -t -sw",
"format-icons": {
"notification": "<span foreground='red'><small><sup>⬤</sup></small></span>",
"none": " ",
"dnd-notification": "<span foreground='red'><small><sup>⬤</sup></small></span>",
"dnd-none": " ",
},
"temperature": {
// "thermal-zone": 2,
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
"critical-threshold": 80,
// "format-critical": "{temperatureC}°C {icon}",
"format": "{icon} {temperatureC}°C",
"format-icons": ["", "", ""]
},
"custom/swww": {
"format": "{icon}",
"tooltip": false,
"tooltip-format": "Change Wallpaper",
"on-click": "pywal",
"format-icons": {
"default": "",
},
"wireplumber": {
"format": " {volume}%",
"format-mute": " {volume}%"
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"tooltip-format": "{essid}",
"format-wifi": " {signalStrength}%",
"format-ethernet": "󰈀",
"format-linked": "{ifname} (No IP) ",
"format-disconnected": "󰖪"
//"format-alt": "{ifname}: {ipaddr}/{cidr}"
},
"custom/spotify": {
"format": "{}",
"on-click": "playerctl --player=spotify play-pause",
"exec": "/usr/bin/python3 $HOME/.config/waybar/modules/mediaplayer.py --player spotify",
"return-type": "json",
"max-length": 40,
"format-icons": {
"spotify": " ",
"default": "🎜 "
}
},
"custom/swaync": {
"format": "{icon}",
"exec": "swaync-client -swb",
"return-type": "json",
"on-click": "sleep 0.1 && swaync-client -t -sw",
"format-icons": {
"notification": "<span foreground='red'><small><sup>⬤</sup></small></span>",
"none": " ",
"dnd-notification": "<span foreground='red'><small><sup>⬤</sup></small></span>",
"dnd-none": " "
}
},
"custom/swww": {
"format": "{icon}",
"tooltip": false,
"tooltip-format": "Change Wallpaper",
"on-click": "bash ~/.config/waybar/modules/switch-wallpaper.sh &",
"format-icons": {
"default": " "
}
}
},
}

134
waybar/style.css Executable file → Normal file
View file

@ -1,37 +1,121 @@
* {
/* `otf-font-awesome` is required to be installed for icons */
font-family: "JetBrains Mono", "Iosevka Nerd Font", FontAwesome, Roboto, Helvetica, Arial, sans-serif;
text-shadow: none;
transition: color 0.5s ease-in-out;
transition: background-color 0.5s ease-in-out;
}
/*
* Color Palette
*/
@import url('../../.cache/wal/colors-waybar.css');
@import url("../../.cache/wal/colors-waybar.css");
* {
/* `otf-font-awesome` is required to be installed for icons */
font-family: "JetBrains Mono", "Iosevka Nerd Font", FontAwesome, Roboto,
Helvetica, Arial, sans-serif;
text-shadow: none;
transition: color 0.5s ease-in-out;
transition: background-color 0.5s ease-in-out;
font-size: 16px;
}
@define-color button @color1;
@define-color button-hover @color3;
@define-color button-active @color2;
/*
* General
*/
@import url('./styles/module-groups.css');
@import url('./styles/modules.css');
@import url('./styles/waybar.css');
@import url("./styles/waybar.css");
/*
* Workspaces
*/
#workspaces {
border-radius: 9999px;
background: @button;
}
#workspaces button {
padding: 0 9px 0 4px;
box-shadow: none;
border: none;
border-radius: 9999px;
color: @color7;
font-size: 24px;
}
#workspaces button.active {
color: @button-active;
}
#workspaces button:hover {
background: transparent;
color: @button-hover;
}
#workspaces button.focused {
color: @button-active;
}
#workspaces button.urgent {
color: #bf616a;
}
/*
* Modules
*/
@import url('./styles/modules/clock.css');
@import url('./styles/modules/cpu.css');
@import url('./styles/modules/idle.css');
@import url('./styles/modules/memory.css');
@import url('./styles/modules/network.css');
@import url('./styles/modules/spotify.css');
@import url('./styles/modules/swaync.css');
@import url('./styles/modules/swww.css');
@import url('./styles/modules/temperature.css');
@import url('./styles/modules/tray.css');
@import url('./styles/modules/window.css');
@import url('./styles/modules/wireplumber.css');
@import url('./styles/modules/workspaces.css');
#cpu,
#memory,
#network,
#temperature {
color: @color7;
}
#clock,
#idle_inhibitor,
#mpris,
#custom-swaync,
#wireplumber,
#custom-swww,
#custom-os {
background: @button;
}
#clock:hover,
#idle_inhibitor:hover,
#mpris:hover,
#custom-swaync:hover,
#wireplumber:hover,
#custom-swww:hover,
#custom-os:hover {
background: @button-hover;
}
#idle_inhibitor.activated {
background-color: @button-active;
}
#idle_inhibitor {
padding: 0 16px 0 12px;
}
#mpris.spotify {
background-color: #1db954;
}
#network.disconnected {
color: #f53c3c;
}
#temperature.critical {
color: #bf616a;
}
#wireplumber.muted {
color: #f53c3c;
}
#custom-swww {
padding: 0 16px 0 8px;
font-size: 18px;
}
#custom-os {
padding: 0 12px 0 6px;
font-size: 24px;
}

41
waybar/styles/waybar.css Executable file → Normal file
View file

@ -1,10 +1,12 @@
window#waybar {
background: linear-gradient(90deg, mix(@color0, transparent, 0.5), mix(@color1, transparent, 0.5), mix(@color0, transparent, 0.5));
background: @background;
animation: fadeIn 2.5s;
padding: 2px 0 2px 0;
border-radius: 0 0 20px 20px;
}
button {
text-shadow: none;
text-shadow: 2px 2px;
}
window#waybar.hidden {
@ -12,7 +14,38 @@ window#waybar.hidden {
}
@keyframes fadeIn {
0% { opacity: 0; }
100% { opacity: 1; }
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.module {
border-radius: 9999px;
margin: 8px 0;
}
label.module {
padding: 0 10px;
/* box-shadow: inset 0 -2px; */
}
box.module {
padding: 0 10px;
}
.modules-left {
padding: 0 3px;
margin-left: 10px;
}
.modules-center {
padding: 0 3px;
}
.modules-right {
padding: 0 3px;
margin-right: 10px;
}