diff --git a/waybar/config.jsonc b/waybar/config.jsonc index 1783dac..daef1a9 100644 --- a/waybar/config.jsonc +++ b/waybar/config.jsonc @@ -1,33 +1,29 @@ // -*- mode: jsonc -*- { - // "layer": "top", // Waybar at top layer + "layer": "top", // Waybar at top layer // "position": "bottom", // Waybar position (top|bottom|left|right) "height": 30, // Waybar height (to be removed for auto height) // "width": 1280, // Waybar width "spacing": 4, // Gaps between modules (4px) // Choose the order of the modules "modules-left": [ - "hyprland/workspaces", - "sway/mode", - "sway/scratchpad", - "custom/media" + "hyprland/workspaces" + //"sway/scratchpad" + //"custom/media" + //"hyprland/window" ], "modules-center": [ - "hyprland/window" + "clock" ], "modules-right": [ //"mpd", - "idle_inhibitor", - "pulseaudio", + "tray", + "wireplumber", "network", "cpu", "memory", "temperature", - "backlight", - "keyboard-state", - "hyprland/language", - "clock", - "tray" + "idle_inhibitor" ], // Modules configuration // "sway/workspaces": { @@ -46,18 +42,6 @@ // "default": "" // } // }, - "keyboard-state": { - "numlock": true, - "capslock": true, - "format": "{name} {icon}", - "format-icons": { - "locked": "", - "unlocked": "" - } - }, - "sway/mode": { - "format": "{}" - }, "sway/scratchpad": { "format": "{icon} {count}", "show-empty": false, @@ -94,8 +78,8 @@ "idle_inhibitor": { "format": "{icon}", "format-icons": { - "activated": "", - "deactivated": "" + "activated": "󰒳", + "deactivated": "󰒲" } }, "tray": { @@ -108,11 +92,11 @@ "format-alt": "{:%Y-%m-%d}" }, "cpu": { - "format": "{usage}% ", - "tooltip": false + "format": "{usage}% 󰻠", + "tooltip": true }, "memory": { - "format": "{}% " + "format": "{}% 󰍛" }, "temperature": { // "thermal-zone": 2, @@ -122,56 +106,18 @@ "format": "{temperatureC}°C {icon}", "format-icons": ["", "", ""] }, - "backlight": { - // "device": "acpi_video1", - "format": "{percent}% {icon}", - "format-icons": ["", "", "", "", "", "", "", "", ""] - }, - "battery": { - "states": { - // "good": 95, - "warning": 30, - "critical": 15 - }, - "format": "{capacity}% {icon}", - "format-full": "{capacity}% {icon}", - "format-charging": "{capacity}% ", - "format-plugged": "{capacity}% ", - "format-alt": "{time} {icon}", - // "format-good": "", // An empty format will hide the module - // "format-full": "", - "format-icons": ["", "", "", "", ""] - }, - "battery#bat2": { - "bat": "BAT2" + "wireplumber": { + "format": " {volume}%", + "format-mute": " {volume}%" }, "network": { // "interface": "wlp2*", // (Optional) To force the use of this interface - "format-wifi": "{essid} ({signalStrength}%) ", - "format-ethernet": "{ipaddr}/{cidr} ", - "tooltip-format": "{ifname} via {gwaddr} ", + "tooltip-format": "{essid} ({signalStrength}%)", + "format-wifi": "", + "format-ethernet": "󰈀", "format-linked": "{ifname} (No IP) ", - "format-disconnected": "Disconnected ⚠", - "format-alt": "{ifname}: {ipaddr}/{cidr}" - }, - "pulseaudio": { - // "scroll-step": 1, // %, can be a float - "format": "{volume}% {icon} {format_source}", - "format-bluetooth": "{volume}% {icon} {format_source}", - "format-bluetooth-muted": " {icon} {format_source}", - "format-muted": " {format_source}", - "format-source": "{volume}% ", - "format-source-muted": "", - "format-icons": { - "headphone": "", - "hands-free": "", - "headset": "", - "phone": "", - "portable": "", - "car": "", - "default": ["", "", ""] - }, - "on-click": "pavucontrol" + "format-disconnected": "󰖪" + //"format-alt": "{ifname}: {ipaddr}/{cidr}" }, "custom/media": { "format": "{icon} {}", diff --git a/waybar/style.css b/waybar/style.css index 7b7d5d7..0561e51 100644 --- a/waybar/style.css +++ b/waybar/style.css @@ -1,20 +1,28 @@ * { /* `otf-font-awesome` is required to be installed for icons */ font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; - font-size: 13px; + font-size: 12px; } -window#waybar { - background-color: rgba(43, 48, 59, 0.5); - border-bottom: 3px solid rgba(100, 114, 125, 0.5); - color: #ffffff; - transition-property: background-color; - transition-duration: 0.5s; -} +/* +* General +*/ +@import url('./styles/waybar.css'); +@import url('./styles/animations.css'); -window#waybar.hidden { - opacity: 0.2; -} +/* +* 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/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'); /* window#waybar.empty { @@ -25,71 +33,34 @@ window#waybar.solo { } */ -window#waybar.termite { - background-color: #3f3f3f; -} - -window#waybar.chromium { - background-color: #000000; - border: none; -} - button { /* Use box-shadow instead of border so the text isn't offset */ box-shadow: inset 0 -3px transparent; /* Avoid rounded borders under each button name */ border: none; - border-radius: 0; + border-radius: 4px; } /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ button:hover { background: inherit; - box-shadow: inset 0 -3px #ffffff; + /*box-shadow: inset 0 -1px #5e81ac;*/ } -#workspaces button { - padding: 0 5px; - background-color: transparent; - color: #ffffff; -} - -#workspaces button:hover { - background: rgba(0, 0, 0, 0.2); -} - -#workspaces button.focused { - background-color: #64727d; - box-shadow: inset 0 -3px #ffffff; -} - -#workspaces button.urgent { - background-color: #eb4d4b; -} - -#mode { - background-color: #64727d; - box-shadow: inset 0 -3px #ffffff; -} #clock, -#battery, #cpu, #memory, -#disk, #temperature, -#backlight, #network, -#pulseaudio, #wireplumber, #custom-media, #tray, -#mode, #idle_inhibitor, #scratchpad, #mpd { padding: 0 10px; - color: #ffffff; + color: #ddd; } #window, @@ -99,7 +70,7 @@ button:hover { /* If workspaces is the leftmost module, omit left margin */ .modules-left > widget:first-child > #workspaces { - margin-left: 0; + margin-left: 8px; } /* If workspaces is the rightmost module, omit right margin */ @@ -107,21 +78,6 @@ button:hover { margin-right: 0; } -#clock { - background-color: #64727d; -} - -#battery { - background-color: #ffffff; - color: #000000; -} - -#battery.charging, -#battery.plugged { - color: #ffffff; - background-color: #26a65b; -} - @keyframes blink { to { background-color: #ffffff; @@ -129,109 +85,10 @@ button:hover { } } -/* Using steps() instead of linear as a timing function to limit cpu usage */ -#battery.critical:not(.charging) { - background-color: #f53c3c; - color: #ffffff; - animation-name: blink; - animation-duration: 0.5s; - animation-timing-function: steps(12); - animation-iteration-count: infinite; - animation-direction: alternate; -} - label:focus { background-color: #000000; } -#cpu { - background-color: #2ecc71; - color: #000000; -} - -#memory { - background-color: #9b59b6; -} - -#disk { - background-color: #964b00; -} - -#backlight { - background-color: #90b1b1; -} - -#network { - background-color: #2980b9; -} - -#network.disconnected { - background-color: #f53c3c; -} - -#pulseaudio { - background-color: #f1c40f; - color: #000000; -} - -#pulseaudio.muted { - background-color: #90b1b1; - color: #2a5c45; -} - -#wireplumber { - background-color: #fff0f5; - color: #000000; -} - -#wireplumber.muted { - background-color: #f53c3c; -} - -#custom-media { - background-color: #66cc99; - color: #2a5c45; - min-width: 100px; -} - -#custom-media.custom-spotify { - background-color: #66cc99; -} - -#custom-media.custom-vlc { - background-color: #ffa000; -} - -#temperature { - background-color: #f0932b; -} - -#temperature.critical { - background-color: #eb4d4b; -} - -#tray { - background-color: #2980b9; -} - -#tray > .passive { - -gtk-icon-effect: dim; -} - -#tray > .needs-attention { - -gtk-icon-effect: highlight; - background-color: #eb4d4b; -} - -#idle_inhibitor { - background-color: #2d3436; -} - -#idle_inhibitor.activated { - background-color: #ecf0f1; - color: #2d3436; -} - #mpd { background-color: #66cc99; color: #2a5c45; @@ -249,30 +106,6 @@ label:focus { background-color: #51a37a; } -#language { - background: #00b093; - color: #740864; - padding: 0 5px; - margin: 0 5px; - min-width: 16px; -} - -#keyboard-state { - background: #97e1ad; - color: #000000; - padding: 0 0px; - margin: 0 5px; - min-width: 16px; -} - -#keyboard-state > label { - padding: 0 5px; -} - -#keyboard-state > label.locked { - background: rgba(0, 0, 0, 0.2); -} - #scratchpad { background: rgba(0, 0, 0, 0.2); } diff --git a/waybar/styles/animations.css b/waybar/styles/animations.css new file mode 100644 index 0000000..e69de29 diff --git a/waybar/styles/common.css b/waybar/styles/common.css new file mode 100644 index 0000000..7efec79 --- /dev/null +++ b/waybar/styles/common.css @@ -0,0 +1,4 @@ +.module-base { + padding: 0 10px; + color: #ddd +} diff --git a/waybar/styles/modules/clock.css b/waybar/styles/modules/clock.css new file mode 100644 index 0000000..c565877 --- /dev/null +++ b/waybar/styles/modules/clock.css @@ -0,0 +1,10 @@ +@import url('../common.css'); + +#clock { + border: solid 1px #5e81ac; + border-radius: 9999px; + padding: 0 10px; + color: #eee; + background: linear-gradient(144deg, #8fbcbb 0%, #5e81ac 100%); +} + diff --git a/waybar/styles/modules/cpu.css b/waybar/styles/modules/cpu.css new file mode 100644 index 0000000..1bad14e --- /dev/null +++ b/waybar/styles/modules/cpu.css @@ -0,0 +1,6 @@ +#cpu { + padding: 0 10px; + background-color: #2ecc71; + color: #333; +} + diff --git a/waybar/styles/modules/idle.css b/waybar/styles/modules/idle.css new file mode 100644 index 0000000..e316fd7 --- /dev/null +++ b/waybar/styles/modules/idle.css @@ -0,0 +1,9 @@ +#idle_inhibitor { + background-color: #2d3436; +} + +#idle_inhibitor.activated { + background-color: #ecf0f1; + color: #2d3436; +} + diff --git a/waybar/styles/modules/memory.css b/waybar/styles/modules/memory.css new file mode 100644 index 0000000..e0168a3 --- /dev/null +++ b/waybar/styles/modules/memory.css @@ -0,0 +1,6 @@ +#memory { + padding: 0 10px; + color: #ddd; + background-color: #9b59b6; +} + diff --git a/waybar/styles/modules/network.css b/waybar/styles/modules/network.css new file mode 100644 index 0000000..d3452ea --- /dev/null +++ b/waybar/styles/modules/network.css @@ -0,0 +1,10 @@ +#network { + padding: 10px; + color: #ddd; + background-color: #2980b9; +} + +#network.disconnected { + background-color: #f53c3c; +} + diff --git a/waybar/styles/modules/temperature.css b/waybar/styles/modules/temperature.css new file mode 100644 index 0000000..bb1db34 --- /dev/null +++ b/waybar/styles/modules/temperature.css @@ -0,0 +1,10 @@ +#temperature { + padding: 0 10px; + color: #ddd; + background-color: #f0932b; +} + +#temperature.critical { + background-color: #eb4d4b; +} + diff --git a/waybar/styles/modules/tray.css b/waybar/styles/modules/tray.css new file mode 100644 index 0000000..25d82ec --- /dev/null +++ b/waybar/styles/modules/tray.css @@ -0,0 +1,13 @@ +#tray { + background-color: #2980b9; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} + diff --git a/waybar/styles/modules/window.css b/waybar/styles/modules/window.css new file mode 100644 index 0000000..139597f --- /dev/null +++ b/waybar/styles/modules/window.css @@ -0,0 +1,2 @@ + + diff --git a/waybar/styles/modules/wireplumber.css b/waybar/styles/modules/wireplumber.css new file mode 100644 index 0000000..792c9a9 --- /dev/null +++ b/waybar/styles/modules/wireplumber.css @@ -0,0 +1,10 @@ +#wireplumber { + background-color: #fff0f5; + padding: 0 10px; + color: #000000; +} + +#wireplumber.muted { + background-color: #f53c3c; +} + diff --git a/waybar/styles/modules/workspaces.css b/waybar/styles/modules/workspaces.css new file mode 100644 index 0000000..b63d242 --- /dev/null +++ b/waybar/styles/modules/workspaces.css @@ -0,0 +1,28 @@ + +#workspaces { + padding-right: 5px; +} + +#workspaces button { + padding: 0 5px; + background-color: transparent; + color: #ddd; +} + +#workspaces button.active { + color: #5e81ac; +} + +#workspaces button:hover { + background: rgba(0, 0, 0, 0.2); +} + +#workspaces button.focused { + background-color: #64727d; + box-shadow: inset 0 -3px #ffffff; +} + +#workspaces button.urgent { + background-color: #eb4d4b; +} + diff --git a/waybar/styles/waybar.css b/waybar/styles/waybar.css new file mode 100644 index 0000000..efe6b4b --- /dev/null +++ b/waybar/styles/waybar.css @@ -0,0 +1,21 @@ +window#waybar { + background-color: rgba(43, 48, 59, 0.5); + border-bottom: 2px solid rgba(100, 114, 125, 0.5); + color: #ffffff; + transition-property: background-color; + transition-duration: 0.5s; +} + +window#waybar.hidden { + opacity: 0.2; +} + +window#waybar.termite { + background-color: #3f3f3f; +} + +window#waybar.chromium { + background-color: #000000; + border: none; +} +