Customize Waybar with Catppuccin theme

This commit is contained in:
Fabio Scotto di Santolo
2024-08-01 14:47:24 +02:00
parent 8cf790ebbe
commit f7b6b15431
6 changed files with 291 additions and 161 deletions

View File

@@ -1,92 +1,158 @@
{
"layer": "top",
"position": "top",
"height": 32,
"spacing": 4,
"exclusive": true,
"gtk-layer-shell": true,
"passthrough": false,
"fixed-center": true,
"layer": "top", // Waybar at top layer
"position": "top", // Waybar position (top|bottom|left|right)
// "width": 1280, // Waybar width
// Choose the order of the modules
"modules-left": [
"hyprland/workspaces",
"hyprland/window"
],
"modules-center": [
"custom/spotify"
"clock"
],
"modules-right": [
"cpu",
"memory",
"pulseaudio",
"clock",
"clock#simpleclock",
"tray",
"bluetooth",
"battery",
"custom/power"
],
"custom/spotify": {
"format": "{}",
"return-type": "json",
"on-click": "playerctl -p spotify play-pause",
"on-click-right": "spotifatius toggle-liked",
"on-click-middle": "playerctl -p spotify next",
"exec": "spotifatius monitor"
},
"wlr/workspaces": {
"on-click": "activate",
"format": "{name}",
"hyprland/workspaces": {
"disable-scroll": true,
"disable-markup": false,
"all-outputs": true,
"disable-scroll": false,
"active-only": false
"format": " {icon} ",
"on-click": "activate",
"sort-by-number": true,
"format-icons": {
"1": "",
"2": "",
"3": "",
"4": "",
"5": "",
"urgent": "",
"active": "",
"default": ""
},
"persistent-workspaces": {
"1": [
"HDMI-A-1"
],
"2": [
"HDMI-A-1"
],
"3": [
"HDMI-A-1"
],
"4": [
"HDMI-A-1"
],
"5": [
"HDMI-A-1"
],
"6": [
"HDMI-A-1"
],
"7": [
"HDMI-A-1"
],
"8": [
"HDMI-A-1"
],
"9": [
"HDMI-A-1"
],
"10": [
"eDP-1"
]
}
},
"tray": {
"show-passive-items": true,
"spacing": 10
"icon-size": 24,
"spacing": 5
},
"clock#simpleclock": {
"custom/spotify": {
"format": " {}",
"escape": true,
"interval": 5,
"tooltip": false,
"format": " {:%H:%M}"
"exec": "playerctl metadata --format='{{ title }}'",
"on-click": "playerctl play-pause",
"max-length": 50
},
"clock": {
"format": " {:L%a %d %b}",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
"timezone": "Europe/Rome",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": "{:%d/%m/%Y}",
"format": "{:%a %b %d %I:%M %p}"
},
"cpu": {
"format": " {usage}%",
"tooltip": true,
"interval": 1
"backlight": {
"device": "intel_backlight",
"format": "{icon} {percent}%",
"format-icons": [
"",
"",
"",
"",
"",
"",
"",
"",
""
]
},
"memory": {
"format": " {used:0.2f}G"
"battery": {
"states": {
"warning": 30,
"critical": 15
},
"format": "{icon} {capacity}%",
"format-charging": "󰂄",
"format-plugged": "󰂄",
"format-alt": "{icon}",
"format-icons": [
"󰁺",
"󰁻",
"󰁼",
"󰁽",
"󰁾",
"󰁿",
"󰂀",
"󰂁",
"󰂂"
]
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{icon} {volume}%",
"format-muted": " muted",
"format-muted": "",
"format-icons": {
"headphone": " ",
"hands-free": "󰂑",
"headset": "󰂑",
"phone": "",
"portable": "",
"car": "",
"default": [
" ",
" ",
"",
"",
" "
]
},
"on-click": "pavucontrol"
},
"custom/logo": {
"format": "",
"tooltip": false
},
"custom/sep": {
"format": "|",
"tooltip": false
"custom/lock": {
"tooltip": false,
"on-click": "sh -c '(sleep 0.5s; swaylock --grace 0)' & disown",
"format": ""
},
"custom/power": {
"tooltip": false,
"on-click": "wlogout -p layer-shell &",
"format": ""
"on-click": "wlogout &",
"format": ""
},
"bluetooth": {
"format": " {status}",
"format-connected": " {device_alias}",
"format-connected-battery": " {device_alias} {device_battery_percentage}%",
"format-off": "󰂲", // "format-device-preference": [ "device1", "device2" ], // preference list deciding the displayed device
"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-enumerate-connected": "{device_alias}\t{device_address}",
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%"
}
}

View File

@@ -1,143 +1,103 @@
@import "themes/frappe.css";
* {
font-family: FiraCode Nerd Font;
font-size: 17px;
min-height: 0;
font-family: Lexend, "Font Awesome 6 Free Solid";
font-size: 16px;
font-weight: 500;
}
window#waybar {
transition-property: background-color;
transition-duration: 0.5s;
/* background-color: #1e1e2e; */
/* background-color: #181825; */
background-color: rgba(24, 24, 37, 0.6);
}
window#waybar.hidden {
opacity: 0.5;
#waybar {
background: transparent;
color: @text;
margin: 5px 5px;
}
#workspaces {
background-color: transparent;
border-radius: 1rem;
margin: 5px;
background-color: @surface0;
margin-left: 1rem;
}
#workspaces button {
all: initial;
min-width: 0;
box-shadow: inset 0 -3px transparent;
padding: 2px 10px;
min-height: 0;
margin: 4px 4px;
border-radius: 8px;
background-color: #181825;
color: #cdd6f4;
}
#workspaces button:hover {
box-shadow: inherit;
text-shadow: inherit;
color: #1e1e2e;
background-color: #cdd6f4;
color: @lavender;
border-radius: 1rem;
padding: 0.4rem;
}
#workspaces button.active {
color: #1e1e2e;
background-color: #89b4fa;
color: @sky;
border-radius: 1rem;
}
#workspaces button.urgent {
background-color: #f38ba8;
#workspaces button:hover {
color: @sapphire;
border-radius: 1rem;
}
#clock,
#pulseaudio,
#custom-logo,
#custom-power,
#custom-spotify,
#cpu,
#custom-music,
#tray,
#memory,
#window {
min-height: 0;
padding: 2px 10px;
border-radius: 8px;
margin: 4px 4px;
background-color: #181825;
}
#custom-sep {
padding: 0px;
color: #585b70;
}
#custom-spotify.playing {
color: #cdd6f4;
}
#custom-spotify.liked {
color: #f9e2af;
}
#custom-spotify.added {
color: #cba6f7;
}
#custom-spotify.removed {
color: #f38ba8;
}
#custom-spotify.paused {
color: #9399b2;
}
window#waybar.empty #window {
background-color: transparent;
}
#cpu {
color: #94e2d5;
}
#memory {
color: #cba6f7;
#backlight,
#bluetooth,
#clock,
#battery,
#pulseaudio,
#custom-lock,
#custom-power {
background-color: @surface0;
padding: 0.5rem 1rem;
margin: 5px 0;
}
#clock {
color: #74c7ec;
color: @blue;
border-radius: 0px 1rem 1rem 0px;
margin-right: 1rem;
}
#clock.simpleclock {
color: #89b4fa;
#battery {
color: @green;
}
#window {
color: #a6e3a1;
#battery.charging {
color: @green;
}
#battery.warning:not(.charging) {
color: @red;
}
#bluetooth {
color: @blue;
}
#bluetooth, #battery {
border-radius: 0;
}
#pulseaudio {
color: #b4befe;
color: @maroon;
border-radius: 1rem 0px 0px 1rem;
margin-left: 1rem;
}
#pulseaudio.muted {
color: #a6adc8;
#clock, #custom-music {
color: @mauve;
border-radius: 1rem;
}
#custom-logo {
color: #89b4fa;
#custom-lock {
border-radius: 1rem 0px 0px 1rem;
color: @lavender;
}
#custom-power {
color: #f38ba8;
padding-right: 5px;
font-size: 14px;
margin-right: 1rem;
border-radius: 0px 1rem 1rem 0px;
color: @red;
}
@keyframes blink {
to {
background-color: #f38ba8;
color: #181825;
}
}
tooltip {
border-radius: 8px;
#tray {
margin-right: 1rem;
border-radius: 1rem;
}

View File

@@ -0,0 +1,26 @@
@define-color rosewater #f2d5cf;
@define-color flamingo #eebebe;
@define-color pink #f4b8e4;
@define-color mauve #ca9ee6;
@define-color red #e78284;
@define-color maroon #ea999c;
@define-color peach #ef9f76;
@define-color yellow #e5c890;
@define-color green #a6d189;
@define-color teal #81c8be;
@define-color sky #99d1db;
@define-color sapphire #85c1dc;
@define-color blue #8caaee;
@define-color lavender #babbf1;
@define-color text #c6d0f5;
@define-color subtext1 #b5bfe2;
@define-color subtext0 #a5adce;
@define-color overlay2 #949cbb;
@define-color overlay1 #838ba7;
@define-color overlay0 #737994;
@define-color surface2 #626880;
@define-color surface1 #51576d;
@define-color surface0 #414559;
@define-color base #303446;
@define-color mantle #292c3c;
@define-color crust #232634;

View File

@@ -0,0 +1,26 @@
@define-color rosewater #dc8a78;
@define-color flamingo #dd7878;
@define-color pink #ea76cb;
@define-color mauve #8839ef;
@define-color red #d20f39;
@define-color maroon #e64553;
@define-color peach #fe640b;
@define-color yellow #df8e1d;
@define-color green #40a02b;
@define-color teal #179299;
@define-color sky #04a5e5;
@define-color sapphire #209fb5;
@define-color blue #1e66f5;
@define-color lavender #7287fd;
@define-color text #4c4f69;
@define-color subtext1 #5c5f77;
@define-color subtext0 #6c6f85;
@define-color overlay2 #7c7f93;
@define-color overlay1 #8c8fa1;
@define-color overlay0 #9ca0b0;
@define-color surface2 #acb0be;
@define-color surface1 #bcc0cc;
@define-color surface0 #ccd0da;
@define-color base #eff1f5;
@define-color mantle #e6e9ef;
@define-color crust #dce0e8;

View File

@@ -0,0 +1,26 @@
@define-color rosewater #f4dbd6;
@define-color flamingo #f0c6c6;
@define-color pink #f5bde6;
@define-color mauve #c6a0f6;
@define-color red #ed8796;
@define-color maroon #ee99a0;
@define-color peach #f5a97f;
@define-color yellow #eed49f;
@define-color green #a6da95;
@define-color teal #8bd5ca;
@define-color sky #91d7e3;
@define-color sapphire #7dc4e4;
@define-color blue #8aadf4;
@define-color lavender #b7bdf8;
@define-color text #cad3f5;
@define-color subtext1 #b8c0e0;
@define-color subtext0 #a5adcb;
@define-color overlay2 #939ab7;
@define-color overlay1 #8087a2;
@define-color overlay0 #6e738d;
@define-color surface2 #5b6078;
@define-color surface1 #494d64;
@define-color surface0 #363a4f;
@define-color base #24273a;
@define-color mantle #1e2030;
@define-color crust #181926;

View File

@@ -0,0 +1,26 @@
@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 text #cdd6f4;
@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;