summaryrefslogtreecommitdiff
path: root/.config/waybar
diff options
context:
space:
mode:
Diffstat (limited to '.config/waybar')
-rw-r--r--.config/waybar/config.jsonc145
-rw-r--r--.config/waybar/style.css301
2 files changed, 446 insertions, 0 deletions
diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc
new file mode 100644
index 0000000..abaced1
--- /dev/null
+++ b/.config/waybar/config.jsonc
@@ -0,0 +1,145 @@
+{
+ // "layer": "top", // Waybar at top layer
+ "position": "top", // Waybar position (top|bottom|left|right)
+ "height": 0, // Waybar height (to be removed for auto height)
+ "width": 0, // Waybar width (0 == auto)
+ "spacing": 0, // Gaps between modules
+ // "output": ["HDMI-A-1", "DP-2", "eDP-1"],
+ // Choose the order of the modules
+ "modules-left": [
+ "hyprland/workspaces"
+ // "hyprland/window",
+ ],
+ "modules-center" : [
+ ],
+ "modules-right": [
+ "mpd",
+ "pulseaudio",
+ "battery",
+ "cpu",
+ "memory",
+ "network",
+ "custom/date",
+ "clock",
+ "tray",
+ ],
+ // Modules configuration
+ "hyprland/workspaces": {
+ "format": "{icon}",
+ "format-icons": {
+ "1": "",
+ "2": "",
+ "3": "",
+ "4": "",
+ "5": "",
+ "6": "",
+ "7": "",
+ "8": "",
+ "9": "",
+ "10": "",
+ "11": "",
+ "12": "",
+ "13": "",
+ "14": "",
+ "15": "",
+ "16": "",
+ "17": "",
+ "18": "",
+ "19": "",
+ "20": "",
+ "urgent": "",
+ // "active": "", // focused workspace on current monitor
+ // "visible": "", // focused workspace on other monitors
+ // "default": "",
+ // "default": "", // focused workspace on current monitor
+ // "empty": "" // persistent
+ },
+ "on-scroll-up": "hyprctl dispatch workspace r-1",
+ "on-scroll-down": "hyprctl dispatch workspace r+1",
+ "all-outputs": false,
+ "show-special": false
+ },
+ "tray": {
+ "icon-size": 21,
+ "spacing": 12
+ },
+ "clock": {
+ "timezone": "Asia/Kolkata",
+ "tooltip-format": "<tt><big>{calendar}</big></tt>",
+ "format": "󰥔 {:%H:%M}",
+ "interval": 5
+ },
+ "custom/date": {
+ "timezone": "Asia/Kolkata",
+ "exec": "date +'%a %Y-%m-%d'",
+ "format": "󰃭 {}",
+ "interval": 1,
+ "tooltip": false
+ },
+ "cpu": {
+ "format": " {usage:2}%",
+ "tooltip": false,
+ "interval": 1
+ },
+ "memory": {
+ "format": " {:2}%",
+ "interval": 1
+ },
+ "network": {
+ "interval": 5,
+ "format-wifi": " {essid} ({signalStrength}%)", // Icon: wifi
+ "format-ethernet": " {ifname}: {ipaddr}/{cidr}", // Icon: ethernet
+ "format-disconnected": "⚠ Disconnected",
+ "tooltip-format": "{ifname}: {ipaddr}"
+ },
+ "battery": {
+ "states": {
+ "good": 90,
+ "warning": 30,
+ "critical": 15
+ },
+ "format": "{icon} {capacity:3}%",
+ "format-charging": "󰂄 {capacity:3}%",
+ "format-plugged": " {capacity:3}%",
+ "format-alt": "{icon} ",
+ "format-good": "{icon} {capacity:3}%",
+ "format-full": "{icon} {capacity:3}%",
+ "format-icons": [
+ "",
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
+ "pulseaudio": {
+ "scroll-step": 1, // %, can be a float
+ "format": "{volume:2}% {icon} {format_source}",
+ "format-muted": "{volume:2}% 󰝟 {format_source}",
+ "format-bluetooth": "{volume:2}% {icon}  {format_source}",
+ "format-source": "",
+ "format-source-muted": "",
+ "format-icons": {
+ "analog": "",
+ "hdmi": "󰓃",
+ "headphone": "",
+ "headset": "󰋎",
+ "default": [
+ "", // 0 - 25
+ "", // 25 - 50
+ "", // 50 - 75
+ "" // 75 - 100
+ ]
+ },
+ "on-click": "pavucontrol",
+ },
+ "mpd": {
+ "format": "Playing ",
+ "format-paused": "Paused ",
+ "format-stopped": "Stopped ",
+ "max-length": 20,
+ "tooltip": false,
+ "tooltip-format": "{title}\n{artist}\n{album}",
+ "tooltip": true
+ },
+}
diff --git a/.config/waybar/style.css b/.config/waybar/style.css
new file mode 100644
index 0000000..a2f0c3e
--- /dev/null
+++ b/.config/waybar/style.css
@@ -0,0 +1,301 @@
+* {
+ /* `otf-font-awesome` is required to be installed for icons */
+ font-family: JetBrains Mono Nerd Font, FontAwesome;
+ font-size: 13px;
+ font-weight: bold;
+}
+
+window#waybar {
+ background-color: rgba(0, 0, 0, 0);
+ color: #e3e3e3;
+ transition-property: background-color;
+ transition-duration: .5s;
+ border: none;
+ border-radius: 0;
+}
+
+/**************/
+/* Workspaces */
+/**************/
+
+#workspaces {
+ /* border-radius: 8px; */
+ padding: 0 3px 0 8px;
+ margin: 5px 5px 5px 0;
+ transition: all 0.2s ease;
+}
+
+/* non-empty workspaces */
+#workspaces button {
+ background-color: #2e3440;
+
+ border: none;
+ border-radius: 0;
+
+ color: #d8dee9;
+ transition: all 0.2s ease;
+ text-shadow: none;
+
+ /* center the icon, no clue why this is necessary */
+ padding-left: 5px;
+ padding-right: 10px;
+ padding-top: 1px;
+
+ box-shadow: inset 0 -2px #eceff4;
+}
+
+/* the first and last buttons should be rounded */
+#workspaces button:first-child {
+ border-top-left-radius: 8px;
+ border-bottom-left-radius: 8px;
+}
+#workspaces button:last-child {
+ border-top-right-radius: 8px;
+ border-bottom-right-radius: 8px;
+}
+
+#workspaces button:hover {
+ transition-duration: .2s;
+ color: #2e3440;
+ box-shadow: inset 0 -3px #ffffff;
+ /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
+ text-shadow: inherit;
+}
+
+/* non-empty persistent workspaces */
+#workspaces button.persistent {
+ background-color: #4c566a;
+}
+
+/* empty persistent workspaces */
+#workspaces button.empty {
+ background-color: #2e3440;
+ box-shadow: none;
+}
+
+/* active or visible workspaces */
+#workspaces button.active,
+#workspaces button.visible {
+ background-color: #4c566a;
+ /* box-shadow: inset 0 -4px #eceff4; */
+}
+
+#workspaces button.urgent {
+ color: #bf616a;
+}
+
+/**************/
+
+#mode {
+ background-color: #64727D;
+ border-bottom: 3px solid #ffffff;
+}
+
+#clock,
+#custom-date,
+#battery,
+#cpu,
+#memory,
+#disk,
+#temperature,
+#backlight,
+#network,
+#pulseaudio,
+#wireplumber,
+#mpris,
+#custom-media,
+#tray,
+#custom-notification,
+#mpd {
+ background-color: #2e3440;
+ border-radius: 8px;
+ padding: 0 12px 0 12px;
+ margin: 5px 5px 5px 0;
+}
+
+/* If workspaces is the leftmost module, omit left margin */
+.modules-left>widget:first-child>#workspaces {
+ margin-left: 0;
+}
+
+/* If workspaces is the rightmost module, omit right margin */
+.modules-right>widget:last-child>#workspaces {
+ margin-right: 0;
+}
+
+#clock {
+ color: #eceff4;
+}
+
+#custom-date {
+ color: #b48ead;
+}
+
+#battery {
+ color: #ebcb8b;
+}
+
+@keyframes blink {
+ to {
+ background-color: #ffffff;
+ color: black;
+ }
+}
+
+#battery.critical:not(.charging) {
+ background-color: #bf616a;
+ color: #ffffff;
+ animation-name: blink;
+ animation-duration: 0.5s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+
+label:focus {
+ background-color: black;
+}
+
+#cpu {
+ color: #bf616a;
+}
+
+#memory {
+ color: #a3be8c;
+}
+
+/* #disk {
+ background-color: #964B00;
+} */
+
+/* #backlight {
+ background-color: #90b1b1;
+} */
+
+#network {
+ color: #5e81ac;
+}
+
+#network.disconnected {
+ color: #81a1c1;
+}
+
+#network.linked {
+ color: #bf616a;
+}
+
+#pulseaudio {
+ color: #d8dee9;
+}
+
+#mpris,
+#custom-media {
+ background-color: #66cc99;
+ color: black;
+}
+
+#mpris.firefox,
+#custom-media.firefox {
+ background-color: #FF9500;
+ color: black;
+}
+
+#mpris.spotify,
+#custom-media.spotify {
+ background-color: #66cc99;
+ color: #191414;
+}
+
+#mpris.vlc,
+#custom-media.vlc {
+ background-color: #E85E00;
+ color: black;
+}
+
+#mpris.jellyfin,
+#custom-media.jellyfin {
+ /* https://jellyfin.org/docs/general/contributing/branding */
+ color: #000B25;
+ background-color: #AA5CC3;
+}
+
+
+
+#temperature {
+ color: #d08770;
+}
+
+#temperature.critical {
+ color: #bf616a;
+}
+
+#tray {
+ color: #eceff4;
+}
+
+#tray>.passive {
+ -gtk-icon-effect: dim;
+}
+
+#tray>.needs-attention {
+ -gtk-icon-effect: highlight;
+ background-color: #bf616a;
+}
+
+/* #idle_inhibitor {
+ background-color: #2d3436;
+} */
+
+/* #idle_inhibitor.activated {
+ background-color: #ecf0f1;
+ color: #2d3436;
+} */
+
+/* #mpd {
+ background-color: #66cc99;
+ color: #2a5c45;
+}
+
+#mpd.disconnected {
+ background-color: #bf616a;
+}
+
+#mpd.stopped {
+ background-color: #90b1b1;
+}
+
+#mpd.paused {
+ background-color: #51a37a;
+} */
+
+/* #language {
+ background: #00b093;
+ color: #740864;
+ padding: 0 5px;
+ margin: 0 5px;
+ min-width: 16px;
+} */
+
+/* #keyboard-state {
+ background: #97e1ad;
+ color: black;
+ 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);
+}
+
+#scratchpad.empty {
+ background-color: transparent;
+} */