diff --git a/.config/waybar/config b/.config/waybar/config
index f164a10..a42a5ec 100644
--- a/.config/waybar/config
+++ b/.config/waybar/config
@@ -1,13 +1,46 @@
{
"layer": "top",
"position": "top",
- "height": 28,
- "modules-left": ["sway/workspaces"],
- "modules-center": ["sway/window"],
- "modules-right": ["tray", "cpu", "memory", "network", "pulseaudio", "clock"],
+ "height": 31,
+
+ "modules-left": [
+ "sway/mode",
+ "sway/workspaces",
+ "custom/arrowworkspaces",
+ "sway/window"
+ ],
+
+ "modules-right": [
+ "custom/arrowtray",
+ "tray",
+ "custom/arrowpackages",
+ "custom/packages",
+ "custom/arrowcpu",
+ "cpu",
+ "custom/arrowmemory",
+ "memory",
+ "custom/arrownetwork",
+ "network",
+ "custom/arrowpulseaudio",
+ "pulseaudio",
+ "custom/arrowdate",
+ "clock#date",
+ "custom/arrowtime",
+ "clock#time",
+ ],
+
+ "sway/mode": {
+ "format": " {}", // Icon: expand-arrows-alt
+ "tooltip": false,
+ },
"sway/workspaces": {
"disable-scroll": true,
"disable-click": true,
+ "format-icons": {
+ "urgent": "",
+ "focused": "",
+ "default": "",
+ },
},
"sway/window": {
"format": "{}",
@@ -18,18 +51,33 @@
"icon-size": 20,
"spacing": 10,
},
- "clock": {
- "format": "{:%a %d-%b-%Y %R}",
+ "clock#date": {
+ "interval": 60,
+ "format": "{:%a %e.%b.%Y}",
+ "tooltip": false,
+ },
+ "clock#time": {
+ "interval": 10,
+ "format": "{:%R}",
"tooltip": false,
},
"cpu": {
"interval": 5,
"format": " {usage}%",
"tooltip": false,
+ "states": {
+ "warning": 70,
+ "critical": 90
+ },
},
"memory": {
+ "interval": 5,
"format": " {}%",
"tooltip": false,
+ "states": {
+ "warning": 70,
+ "critical": 90
+ },
},
"network": {
"format-wifi": " {essid}",
@@ -37,7 +85,7 @@
"tooltip": false,
},
"pulseaudio": {
- "format": "{volume}% {icon} {format_source}",
+ "format": "{volume}% {icon} {format_source}",
"format-source": "{volume}%",
"format-muted": " {format-source}",
"format-icons": {
@@ -50,5 +98,52 @@
},
"tooltip": false,
},
+ "custom/packages": {
+ "format": " {}",
+ "interval": 3600,
+ "exec": "checkupdates | wc -l",
+ "exec-if": "exit 0",
+ "signal": 8,
+ "states": {
+ "warning": 1,
+ },
+ },
+
+ "custom/arrowtime": {
+ "format": "",
+ "tooltip": false
+ },
+ "custom/arrowdate": {
+ "format": "",
+ "tooltip": false
+ },
+ "custom/arrowpulseaudio": {
+ "format": "",
+ "tooltip": false
+ },
+ "custom/arrownetwork": {
+ "format": "",
+ "tooltip": false
+ },
+ "custom/arrowmemory": {
+ "format": "",
+ "tooltip": false
+ },
+ "custom/arrowcpu": {
+ "format": "",
+ "tooltip": false
+ },
+ "custom/arrowpackages": {
+ "format": "",
+ "tooltip": false
+ },
+ "custom/arrowtray": {
+ "format": "",
+ "tooltip": false
+ },
+ "custom/arrowworkspaces": {
+ "format": "",
+ "tooltip": false
+ },
}
diff --git a/.config/waybar/style.css b/.config/waybar/style.css
new file mode 100644
index 0000000..3a7ee27
--- /dev/null
+++ b/.config/waybar/style.css
@@ -0,0 +1,257 @@
+/*
+ * Ref.: https://git.sr.ht/~begs/dotfiles/tree/1c92a56187a56c8531f04dea17c5f96acd9e49c4/item/.config/waybar/style.css
+*/
+
+/* =============================================================================
+ *
+ * Waybar configuration
+ *
+ * Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration
+ *
+ * =========================================================================== */
+
+/* -----------------------------------------------------------------------------
+ * Keyframes
+ * -------------------------------------------------------------------------- */
+
+@keyframes blink-warning {
+ 70% {
+ color: @light;
+ }
+
+ to {
+ color: @light;
+ background-color: @warning;
+ }
+}
+
+@keyframes blink-critical {
+ 70% {
+ color: @light;
+ }
+
+ to {
+ color: @light;
+ background-color: @critical;
+ }
+}
+
+
+/* -----------------------------------------------------------------------------
+ * Styles
+ * -------------------------------------------------------------------------- */
+
+/* COLORS */
+
+/* Nord */
+/*@define-color light #eceff4;
+@define-color dark #2e3440;
+@define-color warning #ebcb8b;
+@define-color critical #d08770;
+@define-color mode #4c566a;
+@define-color workspaces #5e81ac;
+@define-color workspacesfocused #81a1c1;
+@define-color sound #d8dee9;
+@define-color network #4c566a;
+@define-color memory #88c0d0;
+@define-color cpu #434c5e;
+@define-color temp #d8dee9;
+@define-color layout #5e81ac;
+@define-color battery #88c0d0;
+@define-color date #2e3440;
+@define-color time #eceff4;*/
+
+/* Gruvbox */
+@define-color light #ebdbb2;
+@define-color dark #282828;
+@define-color warning #fabd2f;
+@define-color critical #cc241d;
+@define-color mode #a89984;
+@define-color workspaces #458588;
+@define-color workspacesfocused #83a598;
+@define-color sound #d3869b;
+@define-color network #b16286;
+@define-color memory #8ec07c;
+@define-color cpu #98971a;
+@define-color packages #b8bb26;
+@define-color layout #689d6a;
+@define-color tray #282828;
+@define-color date #282828;
+@define-color time #ebdbb2;
+
+/* Reset all styles */
+* {
+ border: none;
+ border-radius: 0;
+ min-height: 0;
+ margin: 0;
+ padding: 0;
+}
+
+/* The whole bar */
+#waybar {
+ /*background: transparent;*/
+ color: @light;
+ font-family: Iosevka, Terminus, Siji;
+ font-size: 10pt;
+ /*font-weight: bold;*/
+}
+
+/* Each module */
+#battery,
+#clock,
+#cpu,
+#memory,
+#mode,
+#network,
+#pulseaudio,
+#tray,
+#custom-packages {
+ padding-left: 10px;
+ padding-right: 10px;
+}
+
+/* Each module that should blink */
+#mode,
+#memory {
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+
+/* Each critical module */
+#memory.critical,
+#cpu.critical {
+ color: @critical;
+}
+
+/* Each critical that should blink */
+#mode,
+#memory.critical {
+ animation-name: blink-critical;
+ animation-duration: 2s;
+}
+
+/* Each warning */
+#network.disconnected,
+#memory.warning,
+#cpu.warning,
+#custom-packages.warning {
+ color: @warning;
+}
+
+/* And now modules themselves in their respective order */
+
+#mode { /* Shown current Sway mode (resize etc.) */
+ color: @light;
+ background: @mode;
+}
+
+/* Workspaces stuff */
+#workspaces button {
+ padding-left: 4px;
+ padding-right: 4px;
+ color: @dark;
+ background: @workspaces;
+}
+
+#workspaces button.focused {
+ background: @workspacesfocused;
+}
+
+#window {
+ margin-right: 40px;
+ margin-left: 40px;
+}
+
+#pulseaudio {
+ background: @sound;
+ color: @dark;
+}
+
+#network {
+ background: @network;
+ color: @dark;
+}
+
+#memory {
+ background: @memory;
+ color: @dark;
+}
+
+#cpu {
+ background: @cpu;
+ color: @dark;
+}
+
+#tray {
+ background: @tray;
+}
+
+#clock.date {
+ background: @date;
+ color: @light;
+}
+
+#clock.time {
+ background: @time;
+ color: @dark;
+}
+
+#custom-packages {
+ background: @packages;
+ color: @dark;
+}
+
+#custom-arrowtray {
+ font-size: 24px;
+ color: @tray;
+}
+
+#custom-arrowpackages {
+ font-size: 24px;
+ color: @packages;
+ background: @tray;
+}
+
+#custom-arrowcpu {
+ font-size: 24px;
+ color: @cpu;
+ background: @packages;
+}
+
+#custom-arrowmemory {
+ font-size: 24px;
+ color: @memory;
+ background: @cpu;
+}
+
+#custom-arrownetwork {
+ font-size: 24px;
+ color: @network;
+ background: @memory;
+}
+
+#custom-arrowpulseaudio {
+ font-size: 24px;
+ color: @sound;
+ background: @network;
+}
+
+#custom-arrowdate {
+ font-size: 24px;
+ color: @date;
+ background: @sound;
+}
+
+#custom-arrowtime {
+ font-size: 24px;
+ color: @time;
+ background: @date;
+}
+
+#custom-arrowworkspaces {
+ font-size: 24px;
+ color: @workspaces;
+}
+