diff --git a/waybar/config.jsonc b/waybar/config.jsonc
old mode 100755
new mode 100644
index fd36fb1..7ce721a
--- a/waybar/config.jsonc
+++ b/waybar/config.jsonc
@@ -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": "{:%Y %B}\n{calendar}",
- "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": "{:%Y %B}\n{calendar}",
+ "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} {dynamic}",
+ "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": "⬤",
+ "none": " ",
+ "dnd-notification": "⬤",
+ "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": "⬤",
- "none": " ",
- "dnd-notification": "⬤",
- "dnd-none": " "
- }
- },
- "custom/swww": {
- "format": "{icon}",
- "tooltip": false,
- "tooltip-format": "Change Wallpaper",
- "on-click": "bash ~/.config/waybar/modules/switch-wallpaper.sh &",
- "format-icons": {
- "default": " "
- }
- }
+ },
}
-
diff --git a/waybar/style.css b/waybar/style.css
old mode 100755
new mode 100644
index d0bb862..403758e
--- a/waybar/style.css
+++ b/waybar/style.css
@@ -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;
+}
diff --git a/waybar/styles/waybar.css b/waybar/styles/waybar.css
old mode 100755
new mode 100644
index 738597d..3a7e09d
--- a/waybar/styles/waybar.css
+++ b/waybar/styles/waybar.css
@@ -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;
+}