feat(waybar): fancier waybar, pywal colors

This commit is contained in:
João Dias
2024-09-04 22:36:25 -03:00
parent f98c3b26d8
commit 302d0e5a97
4 changed files with 83 additions and 151 deletions
-32
View File
@@ -1,32 +0,0 @@
@define-color rosewater #f5e0dc;
@define-color flamingo #f2cdcd;
@define-color pink #f5c2e7;
@define-color mauve #cba6f7;
@define-color red #f38ba8;
@define-color maroon #eba0ac;
@define-color peach #fab387;
@define-color yellow #f9e2af;
@define-color green #a6e3a1;
@define-color teal #94e2d5;
@define-color sky #89dceb;
@define-color sapphire #74c7ec;
@define-color blue #89b4fa;
@define-color lavender #b4befe;
@define-color subtext1 #bac2de;
@define-color subtext0 #a6adc8;
@define-color overlay2 #9399b2;
@define-color overlay1 #7f849c;
@define-color overlay0 #6c7086;
@define-color surface2 #585b70;
@define-color surface1 #45475a;
@define-color surface0 #313244;
@define-color base #1e1e2e;
@define-color mantle #181825;
@define-color crust #11111b;
@define-color highlight shade(@blue, .67);
@define-color bar alpha(shade(@highlight, .8), .3);
@define-color hover shade(@highlight, .6);
@define-color active shade(@highlight, .58);
@define-color text rgb(245, 245, 245);
@define-color text_dark rgb(30, 30, 30);
+30 -46
View File
@@ -1,6 +1,8 @@
{ {
"position": "top",
"spacing": 4, "spacing": 4,
"margin": 5, "margin": 5,
"reload_style_on_change": true,
"modules-left": [ "modules-left": [
"custom/logo", "custom/logo",
"hyprland/workspaces", "hyprland/workspaces",
@@ -13,13 +15,12 @@
"modules-right": [ "modules-right": [
"tray", "tray",
"pulseaudio", "pulseaudio",
"bluetooth",
"custom/notifications" "custom/notifications"
], ],
"hyprland/workspaces": { "hyprland/workspaces": {
"disable-scroll": false,
"all-outputs": true, "all-outputs": true,
"warp-on-scroll": true,
"format": "{icon}", "format": "{icon}",
"format-icons": { "format-icons": {
"urgent": "", "urgent": "",
@@ -30,14 +31,16 @@
"persistent-workspaces": { "persistent-workspaces": {
"1": [], "1": [],
"2": [] "2": []
} },
"on-scroll-down": "hyprctl dispatch workspace e-1",
"on-scroll-up": "hyprctl dispatch workspace e+1"
}, },
"bluetooth": { "bluetooth": {
"format": " {status}", "format": "",
"format-connected": " {device_alias}", "format-on": "󰂯",
"format-connected-battery": " {device_alias} {device_battery_percentage}%", "format-connected": "󰂱",
// "format-device-preference": [ "device1", "device2" ], // preference list deciding the displayed device "tooltip-format": "{controller_alias}{controller_address}\n\n{num_connections} connected",
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}", "tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}", "tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%" "tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%"
@@ -52,14 +55,17 @@
} }
}, },
"hyprland/window": { "hyprland/window": {
"format": "{class}: {title}", "format": "{class}",
"show-empty": false, "show-empty": false,
"icon": true,
"rewrite": { "rewrite": {
": ": "", "zen-alpha": "Zen Browser",
"firefox(.*)": "Firefox", "firefox": "Firefox",
"(.*)kitty(.*)": "Kitty", "kitty": "Kitty",
"Spotify(.*)": "Spotify", "spotify": "Spotify",
"discord(.*) - Discord": "Discord$1", "(.*)spotube": "Spotube",
"(.*)discord": "Discord",
"(.*)vesktop": "Vesktop",
"org.gnome.(.*)": "$1" "org.gnome.(.*)": "$1"
}, },
@@ -91,33 +97,11 @@
"on-click-right": "swaync-client -d -sw", "on-click-right": "swaync-client -d -sw",
"escape": true "escape": true
}, },
"mpd": { "custom/control-center": {
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", "format": "loading control center...",
"format-disconnected": "Disconnected ", "return-type": "json",
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", "exec": "sh $HOME/.config/waybar/modules/control-center.sh"
"unknown-tag": "N/A", },
"interval": 5,
"consume-icons": {
"on": ""
},
"random-icons": {
"off": "<span color=\"#f53c3c\"></span> ",
"on": ""
},
"repeat-icons": {
"on": ""
},
"single-icons": {
"on": "1"
},
"state-icons": {
"paused": "",
"playing": ""
},
"tooltip-format": "MPD (connected)",
"tooltip-format-disconnected": "MPD (disconnected)",
"exec": "mpd"
},
"idle_inhibitor": { "idle_inhibitor": {
"format": "{icon}", "format": "{icon}",
"format-icons": { "format-icons": {
@@ -136,19 +120,19 @@
"format-alt": "{:%Y-%m-%d}" "format-alt": "{:%Y-%m-%d}"
}, },
"cpu": { "cpu": {
"format": "{usage}%", "format": "{usage}%",
"tooltip": true, "tooltip": true,
"escape": true "escape": true
}, },
"memory": { "memory": {
"format": "{}%" "format": "{}%"
}, },
"temperature": { "temperature": {
// "thermal-zone": 2, // "thermal-zone": 2,
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
"critical-threshold": 80, "critical-threshold": 80,
// "format-critical": "{temperatureC}°C {icon}", // "format-critical": "{temperatureC}°C {icon}",
"format": "{temperatureC}°C {icon}", "format": "{icon} {temperatureC}°C",
"format-icons": ["", "", ""] "format-icons": ["", "", ""]
}, },
"backlight": { "backlight": {
@@ -192,8 +176,8 @@
}, },
"pulseaudio": { "pulseaudio": {
"format": "{volume}% {icon} {format_source}", "format": "{volume}% {icon} {format_source}",
"format-bluetooth": "{volume}% {icon} {format_source}", "format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon}", "format-bluetooth-muted": " {icon}",
"format-muted": " {format_source}", "format-muted": " {format_source}",
"format-source": "{icon} {volume}%", "format-source": "{icon} {volume}%",
"format-icons": { "format-icons": {
+9
View File
@@ -0,0 +1,9 @@
# Default return
CONTROL_CENTER_JSON="{ \"text\": \"\", \"bluetooth\": \"$BLUETOOTH_ACTIVE\" }"
$BLUETOOTH_ACTIVE=false
if [[ $(systemctl is-active bluetooth) =~ "active" ]]
then
$BLUETOOTH_ACTIVE=true
fi
+44 -73
View File
@@ -1,39 +1,48 @@
@import "_colors.css"; @import "../../.cache/wal/colors-waybar.css";
* { * {
color: @text; color: @foreground;
border-radius: 14px; border-radius: 14px;
transition: 120ms ease-in; transition: 120ms ease-in;
} }
window {
font-family: "Cantarell", "Font Awesome", sans-serif;
font-size: 12px;
color: @text;
border-radius: 16px;
}
window > * {
padding: 2px;
}
window#waybar { window#waybar {
background: @bar; font-family: "Noto Sans", "Font Awesome", sans-serif;
font-size: 12px;
color: @foreground;
border-radius: 16px;
background: transparent;
} }
window#waybar.hidden { window#waybar.hidden {
opacity: 0; opacity: 0;
} }
button { window > * > * {
border: none; padding: 2px;
background: @background; }
transition: 120ms ease-in;
.modules-left, .modules-center, .modules-right {
background: alpha(@background, .65);
}
.module, .widget {
padding: 0 10px;
font-weight: 500;
}
widget > * {
padding-top: 1px;
padding-bottom: 1px;
}
widget > *:hover:not(#window):not(#workspaces):not(#tray):not(#custom-media) {
background: @color1;
} }
button:hover { button:hover {
background-color: @hover; background: @color1;
} }
#workspaces { #workspaces {
@@ -43,13 +52,13 @@ button:hover {
} }
#workspaces button { #workspaces button {
color: @text;
background: transparent; background: transparent;
font-size: 19px; font-size: 19px;
border-radius: 16px; border-radius: 16px;
} }
#workspaces button label { #workspaces button label {
color: @foreground;
margin-top: .2px; margin-top: .2px;
margin-left: .1px; margin-left: .1px;
} }
@@ -62,52 +71,10 @@ button:hover {
background: @active; background: @active;
} }
#workspaces button.active label {
margin-right: 1px;
}
#workspaces button.urgent { #workspaces button.urgent {
background-color: alpha(shade(@orange, 0.6), .3); background-color: @color1;
} }
widget > * {
padding-top: 1px;
padding-bottom: 1px;
}
widget > *:hover:not(#window):not(#workspaces):not(#tray):not(#custom-media) {
background: @hover;
}
#clock,
#battery,
#cpu,
#memory,
#disk,
#temperature,
#backlight,
#network,
#pulseaudio,
#wireplumber,
#custom-media,
#tray,
#mode,
#idle_inhibitor,
#scratchpad,
#window,
#power-profiles-daemon,
#custom-notifications,
#custom-logo,
#mpd {
padding: 0 10px;
font-weight: 500;
}
/*
#window,
#workspaces {}
*/
@keyframes blink { @keyframes blink {
to { to {
background-color: alpha(@crust, .3); background-color: alpha(@crust, .3);
@@ -140,8 +107,8 @@ widget > *:hover:not(#window):not(#workspaces):not(#tray):not(#custom-media) {
/* Using steps() instead of linear as a timing function to limit cpu usage */ /* Using steps() instead of linear as a timing function to limit cpu usage */
#battery.critical:not(.charging) { #battery.critical:not(.charging) {
background-color: alpha(shade(@orange, 0.5), .3); background-color: @color1;
color: @text; color: @foreground;
animation-name: blink; animation-name: blink;
animation-duration: 0.5s; animation-duration: 0.5s;
animation-timing-function: steps(12); animation-timing-function: steps(12);
@@ -149,19 +116,27 @@ widget > *:hover:not(#window):not(#workspaces):not(#tray):not(#custom-media) {
animation-direction: alternate; animation-direction: alternate;
} }
#bluetooth {
font-size: 14px;
}
#bluetooth.connected {
padding-right: 12px;
}
#custom-media { #custom-media {
border: 2px solid @highlight; border: 2px solid @color1;
font-weight: 500; font-weight: 500;
transition: 200ms ease-in; transition: 200ms ease-in;
} }
#custom-media:hover { #custom-media:hover {
border: 2px solid transparent; border: 2px solid transparent;
background: @hover; background: @color2;
} }
#temperature.critical { #temperature.critical {
background-color: alpha(@red, .3); background-color: @color1;
} }
#tray > .passive { #tray > .passive {
@@ -170,9 +145,5 @@ widget > *:hover:not(#window):not(#workspaces):not(#tray):not(#custom-media) {
#tray > .needs-attention { #tray > .needs-attention {
-gtk-icon-effect: highlight; -gtk-icon-effect: highlight;
background: alpha(@orange, .3); background: @color1;
}
#scratchpad.empty {
background-color: transparent;
} }