Add .config/waybar/_modules/dualsense-notifier.sh

Add .config/waybar/_modules/storage.sh
Add .config/waybar/_modules/wittr.sh
Add .config/waybar/dracula/colors.css
Add .config/waybar/dracula/config
Add .config/waybar/dracula/style.css
Add .config/waybar/geo/config
Add .config/waybar/geo/weather.sh
Add .config/waybar/geo/style.css
Add .config/waybar/jinks/bak.css
Add .config/waybar/jinks/colors.css
Add .config/waybar/jinks/config
Add .config/waybar/jinks/style.css
Add .config/waybar/siren/config
Add .config/waybar/siren/style.css
Add .config/waybar/sway/config
Add .config/waybar/sway/config.save
Add .config/waybar/sway/style.css
This commit is contained in:
Jinks 2025-01-02 03:08:16 +01:00
parent 9fc7bf8ecb
commit c2f4366fd0
18 changed files with 2122 additions and 0 deletions

View file

@ -0,0 +1,35 @@
#!/bin/bash
notify_id=0
#icon="/usr/share/icons/breeze-dark/devices/64/input-gamepad.svg"
icon="/usr/share/icons/Arc/devices/64/input-gaming.png"
dev=$(echo $DS_DEV | tr '[:lower:]' '[:upper:]')
case "$1" in
add)
notify_id=$(notify-send -r $notify_id -i $icon "$dev" "Controller connected")
while true; do
class=""
battery=$(dualsensectl battery 2> /dev/null)
perc=$(echo $battery | cut -d' ' -f1)
state=$(echo $perc | cut -d' ' -f2)
if [ -z "$perc" -o -z "$state" ]; then
exit;
fi
if [ $perc -lt 15 -a "$state" != "charging" ]; then
notify_id=$(notify-send -r $notify_id -i $icon "$dev" "Low battery ${perc}%")
fi
echo "{\"class\": \"$class\", \"text\": \" ${perc}%\"}"
sleep 5m
done
;;
remove)
notify_id=$(notify-send -r $notify_id -i $icon "$dev" "Controller disconnected")
echo "{\"text\": \"\"}"
;;
*)
echo "{\"text\": \"\"}"
exec dualsensectl monitor add "${BASH_SOURCE[0]} add" remove "${BASH_SOURCE[0]} remove"
;;
esac

View file

@ -0,0 +1,25 @@
#!/bin/sh
mount="/"
warning=20
critical=10
df -h -P -l "$mount" | awk -v warning=$warning -v critical=$critical '
/\/.*/ {
text=$4
tooltip="Filesystem: "$1"\rSize: "$2"\rUsed: "$3"\rAvail: "$4"\rUse%: "$5"\rMounted on: "$6
use=$5
exit 0
}
END {
class=""
gsub(/%$/,"",use)
if ((100 - use) < critical) {
class="critical"
} else if ((100 - use) < warning) {
class="warning"
}
print "{\"text\":\""text"\", \"percentage\":"use",\"tooltip\":\""tooltip"\", \"class\":\""class"\"}"
}
'

View file

@ -0,0 +1,6 @@
#!/usr/bin/sh
#req=$(curl -s wttr.in/CITY?format="%t|%l+(%c%f)+%h,+%C")
req=$(curl -s wttr.in/?format="%t|%l+(%c%f)+%h,+%C") # Use GeoIP
bar=$(echo $req | awk -F "|" '{print $1}')
tooltip=$(echo $req | awk -F "|" '{print $2}')
echo "{\"text\":\"$bar\", \"tooltip\":\"$tooltip\"}"

View file

@ -0,0 +1,12 @@
@define-color background-darker rgba(30, 31, 41, 230);
@define-color background #282a36;
@define-color selection #44475a;
@define-color foreground #f8f8f2;
@define-color comment #6272a4;
@define-color cyan #8be9fd;
@define-color green #50fa7b;
@define-color orange #ffb86c;
@define-color pink #ff79c6;
@define-color purple #bd93f9;
@define-color red #ff5555;
@define-color yellow #f1fa8c;

View file

@ -0,0 +1,53 @@
{
"layer": "top",
"position": "top",
"height": 24,
"spacing": 4,
"modules-left": [
"hyprland/workspaces",
"wlr/taskbar"
],
"modules-center": [
"hyprland/window"
],
"modules-right": [
"tray",
"hyprland/language",
"custom/weather",
"clock"
],
"wlr/taskbar": {
"on-click": "activate",
"on-click-middle": "close",
"ignore-list": [
"foot"
]
},
"hyprland/workspaces": {
"on-click": "activate",
"on-scroll-up": "hyprctl dispatch workspace e-1",
"on-scroll-down": "hyprctl dispatch workspace e+1"
},
"hyprland/window": {
"max-length": 128
},
"clock": {
"format": "{:%c}",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
},
"tray": {
"spacing": 4
},
"custom/weather": {
"exec": "~/.config/waybar/_modules/wittr.sh",
"return-type": "json",
"format": "{}",
"tooltip": true,
"interval": 900
},
"hyprland/language": {
"format-pl": "[pl]",
"format-en": "[us]",
"on-click": "hyprctl switchxkblayout at-translated-set-2-keyboard next"
}
}

View file

@ -0,0 +1,37 @@
@import url("./colors.css");
* {
border: none;
border-radius: 0;
font-family: Iosevka;
font-size: 11pt;
min-height: 0;
}
window#waybar {
opacity: 0.9;
background: @background-darker;
color: @foreground;
border-bottom: 2px solid @background;
}
#workspaces button {
padding: 0 10px;
background: @background;
color: @foreground;
}
#workspaces button:hover {
box-shadow: inherit;
text-shadow: inherit;
background-image: linear-gradient(0deg, @selection, @background-darker);
}
#workspaces button.active {
background-image: linear-gradient(0deg, @purple, @selection);
}
#workspaces button.urgent {
background-image: linear-gradient(0deg, @red, @background-darker);
}
#taskbar button.active {
background-image: linear-gradient(0deg, @selection, @background-darker);
}
#clock {
padding: 0 4px;
background: @background;
}

View file

@ -0,0 +1,175 @@
{
// "layer": "top", // Waybar at top layer
// "position": "bottom", // Waybar position (top|bottom|left|right)
// "height": 14, // Waybar height (to be removed for auto height)
// "width": 1280, // Waybar width
// Choose the order of the modules
"modules-left": ["sway/workspaces", "sway/mode"],
// "modules-center": ["sway/window"],
"modules-right": ["custom/arch_update", "custom/disk_home", "custom/disk_root","temperature", "cpu", "memory", "custom/mail", "network", "backlight", "pulseaudio", "clock", "battery", "idle_inhibitor", "tray"],
// Modules configuration
// "sway/workspaces": {
// "disable-scroll": true,
// "all-outputs": true,
// "format": "{name}: {icon}",
// "format-icons": {
// "1": "",
// "2": "",
// "3": "",
// "4": "",
// "5": "",
// "urgent": "",
// "focused": "",
// "default": ""
// }
// },
"sway/mode": {
"format": "{}"
},
"custom/arch_update": {
"format": "<span color='#589df6'></span>{}",
"interval": 30,
"exec": "~/.config/i3blocks/bin/arch_update.py -b '#e4e4e4' -u '#e4e4e4' -q"
},
"custom/disk_home": {
"format": "🏠 {} ",
"interval": 30,
"exec": "df -h --output=avail $HOME | tail -1 | tr -d ' '"
},
"custom/disk_root": {
"format": "💽 {} ",
"interval": 30,
"exec": "df -h --output=avail / | tail -1 | tr -d ' '"
},
"temperature": {
// "thermal-zone": 2,
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
"critical-threshold": 80,
// "format-critical": "{temperatureC}°C {icon}",
"format": "<span color='#e88939'>{icon}</span> {temperatureC}°C",
"format-icons": ["", "", ""]
},
"cpu": {
"format": "🏭 {usage}%",
"tooltip": false
},
"memory": {
"format": "💾 {used:0.1f}G"
},
"custom/mail": {
"format": "📩{}",
"interval": 30,
"exec": "notmuch count tag:flagged OR tag:inbox AND NOT tag:killed"
},
"network": {
"family": "ipv4",
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": "<span color='#589df6'></span> <span color='gray'>{essid}</span> {frequency} <span color='#589df6'>{signaldBm} dB</span> <span color='#589df6'>⇵</span> {bandwidthUpBits}/{bandwidthDownBits}",
"format-ethernet": "{ifname}: {ipaddr}/{cidr} ",
"format-linked": "{ifname} (No IP) ",
"format-disconnected": "Disconnected ⚠",
"format-alt": "{ifname}: {ipaddr}/{cidr}",
"interval": 5
},
"backlight": {
// "device": "acpi_video1",
"format": "{icon} {percent}%",
"format-icons": ["🔅", "🔆"]
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{icon} {volume}% {format_source}",
"format-muted": "🔇 {format_source}",
"format-bluetooth": "{icon} {volume}% {format_source}",
"format-bluetooth-muted": "🔇 {format_source}",
"format-source": " {volume}%",
"format-source-muted": "",
"format-icons": {
"headphones": "",
"handsfree": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["🔈", "🔉", "🔊"]
},
"on-click": "ponymix -N -t sink toggle",
"on-click-right": "ponymix -N -t source toggle"
},
"clock": {
"interval": 1,
"format": "⏰ {:%H:%M:%S}",
"tooltip-format": "{:%Y-%m-%d | %H:%M:%S}"
// "format-alt": "{:%Y-%m-%d}"
},
"battery": {
"states": {
// "good": 95,
"warning": 20,
"critical": 10
},
"format": "<span color='#e88939'>{icon}</span> {capacity}% ({time})",
"format-charging": "<span color='#e88939'> </span> {capacity}%",
"format-plugged": "<span color='#e88939'>{icon} </span> {capacity}% ({time})",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": ["", "", "", "", ""]
},
"battery#bat2": {
"bat": "BAT2"
},
"idle_inhibitor": {
"format": "<span color='#589df6'>{icon}</span>",
"format-icons": {
"activated": "",
"deactivated": ""
},
"on-click-right": "swaylock -eFfki ~/.config/lockscreen-origin.png"
},
"tray": {
// "icon-size": 21,
"spacing": 10
},
"custom/media": {
"format": "{icon} {}",
"return-type": "json",
"max-length": 40,
"format-icons": {
"spotify": "",
"default": "🎜"
},
"escape": true,
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
},
"mpd": {
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ",
"format-disconnected": "Disconnected ",
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
"unknown-tag": "N/A",
"interval": 2,
"consume-icons": {
"on": " "
},
"random-icons": {
"off": "<span color=\"#f53c3c\"></span> ",
"on": " "
},
"repeat-icons": {
"on": " "
},
"single-icons": {
"on": "1 "
},
"state-icons": {
"paused": "",
"playing": ""
},
"tooltip-format": "MPD (connected)",
"tooltip-format-disconnected": "MPD (disconnected)"
}
}

View file

@ -0,0 +1,12 @@
#!/bin/bash
LOC="$1"
# HTML encode string as %20
LOCATION=$(sed -e "s/ /%20/g" <<<"$LOC")
content=$(curl -sS "https://thisdavej.azurewebsites.net/api/weather/current?loc=$LOCATION&deg=C")
ICON=$(curl 'https://wttr.in/?format=1' | sed 's/[+0-9a-cA-Z°]//g' )
# echo $ICON
TEMP=$(echo $content | jq -r '. | "\(.temperature)°\(.degType)"' | sed 's/"//g')
TOOLTIP=$(echo $content | jq -r '. | "\(.temperature)°\(.degType)\n\(.skytext)"' | sed 's/"//g')
CLASS=$(echo $content | jq .skytext)
echo '{"text": "'$TEMP'", "tooltip": "'$ICON $TOOLTIP'", "class": '$CLASS' }'

View file

@ -0,0 +1,121 @@
* {
border: none;
border-radius: 0;
font-family: "monospace";
font-size: 12px;
min-height: 16px;
margin: 0px;
}
window#waybar {
/*background: #000000;*/
background: rgba(0, 0, 0, 0.7);
color: gray;
color: #ffffff;
}
#window {
color: #e4e4e4;
font-weight: bold;
}
#workspaces {
padding: 0px;
margin: 0px;
}
#workspaces button {
padding: 0 2px;
margin: 0px;
background: transparent;
color: #ff8700;
/*
color: #00afd7;
color: #ffffff;
border: 1px solid #00afd7;
*/
border: 1px solid #1b1d1e;
font-weight: bold;
}
#workspaces button:hover {
box-shadow: inherit;
text-shadow: inherit;
}
#workspaces button.focused {
background: #e88939;
background: #00afd7;
color: #1b1d1e;
}
#workspaces button.urgent {
background: #af005f;
color: #1b1d1e;
}
#mode {
background: #af005f;
color: #1b1d1e;
}
#clock, #battery, #cpu, #memory, #network, #pulseaudio, #custom-spotify, #tray, #mode {
padding: 0 3px;
margin: 0 2px;
}
#clock {
}
#battery {
}
#battery icon {
color: red;
}
#battery.charging {
}
@keyframes blink {
to {
background-color: #af005f;
}
}
#battery.warning:not(.charging) {
background-color: #ff8700;
color: #1b1d1e;
}
#battery.critical:not(.charging) {
color: white;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#cpu {
}
#memory {
}
#network {
}
#network.disconnected {
background: #f53c3c;
}
#pulseaudio {
}
#pulseaudio.muted {
}
#custom-spotify {
color: rgb(102, 220, 105);
}
#tray {
}

View file

@ -0,0 +1,81 @@
@import url("./colors.css");
* {
border: none;
border-radius: 0;
font-family: InputSans Nerd Font;
font-size: 12px;
min-height: 0;
}
window#waybar {
opacity: 0.9;
background: transparent;
color: @foreground;
border-bottom: 2px solid @background;
}
#workspaces {
margin-top: 0px;
margin-left: 0px;
margin-bottom: 0;
border-radius: 26px;
background: @background;
transition: none;
}
#workspaces button {
padding: 0 10px;
background: transparent;
color: @foreground;
}
#workspaces button:hover {
box-shadow: inherit;
text-shadow: inherit;
}
#workspaces button.active {
/*background-image: linear-gradient(0deg, @purple, @selection);*/
background-image: -gtk-gradient (linear,
0.5 0, 0.5 1,
color-stop(0.2, #313c54),
color-stop(1, #556892)
);
}
#workspaces button.urgent {
background-image: linear-gradient(0deg, @red, @background-darker);
}
#taskbar button.active {
background-image: linear-gradient(0deg, @selection, @background-darker);
}
#clock,
#battery,
#cpu,
#memory,
#disk,
#temperature,
#network,
#pulseaudio,
#wireplumber,
#bluetooth,
#tray,
#idle_inhibitor,
#mpris,
#keyboard-state,
#battery,
#custom-swaync,
#custom-storage,
#custom-power
{
padding: 0 7px;
opacity: 0.75;
background: @background;
}
#temperature.critical {
color: @red;
}
#tray > .passive {
-gtk-icon-effect: dim;
}
#tray > .needs-attention {
-gtk-icon-effect: highlight;
background-color: @red;
}

View file

@ -0,0 +1,12 @@
@define-color background-darker rgba(30, 31, 41, 230);
@define-color background #282a36;
@define-color selection #44475a;
@define-color foreground #f8f8f2;
@define-color comment #6272a4;
@define-color cyan #8be9fd;
@define-color green #50fa7b;
@define-color orange #ffb86c;
@define-color pink #ff79c6;
@define-color purple #bd93f9;
@define-color red #ff5555;
@define-color yellow #f1fa8c;

View file

@ -0,0 +1,262 @@
{
"layer": "bottom", // (top|bottom|overlay)
"position": "top", // (top|bottom|left|right)
"height": 16, // leave blank for a dynamic value
"spacing": 0, // Gaps between modules
"fixed-center": false,
"modules-left": [
"hyprland/workspaces",
],
"modules-center": [
"hyprland/window"
],
"modules-right": [
"custom/swaync",
"idle_inhibitor",
"cpu",
"memory",
"temperature#cpu",
"temperature#gpu",
"custom/storage",
"network",
"bluetooth",
"battery",
"pulseaudio",
"tray",
"clock",
"custom/weather",
"custom/power",
],
// Module Config
"hyprland/workspaces": {
"format": "{id}",
"smooth-scrolling-threshold": 1.0,
"on-scroll-up": "hyprctl dispatch workspace m-1",
"on-scroll-down": "hyprctl dispatch workspace m+1",
"on-click": "activate"
},
"hyprland/window": {
"max-length": 200,
"on-scroll-up": "hyprctl dispatch workspace m-1",
"on-scroll-down": "hyprctl dispatch workspace m+1",
"separate-outputs": true
},
"tray": {
"icon-size": 15,
"spacing": 4
},
"custom/swaync": {
"tooltip": false,
"format": "{icon}",
"format-icons": {
"notification": "<span foreground='red'> </span>",
"none": " ",
"dnd-notification": "<span foreground='red'> </span>",
"dnd-none": " ",
"inhibited-notification": "<span foreground='red'> </span>",
"inhibited-none": " ",
"dnd-inhibited-notification": "<span foreground='red'> </span>",
"dnd-inhibited-none": " "
},
"return-type": "json",
"exec-if": "which swaync-client",
"exec": "swaync-client -swb",
"on-click": "swaync-client -t -sw",
"on-click-right": "swaync-client -d -sw",
"escape": true
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"cpu": {
"format": " {max_frequency}GHz | {usage}%" ,
},
"memory": {
"format": "󰮌 {}%",
"on-click": "missioncenter"
},
"temperature#gpu": {
"hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:03.1/0000:05:00.0/0000:06:00.0/0000:07:00.0/hwmon",
"input-filename": "temp2_input",
"critical-threshold": 110,
"interval": 5,
"format": "{icon} {temperatureC}°C",
"format-icons": [
"", // Icon: temperature-empty
"", // Icon: temperature-quarter
"", // Icon: temperature-half
"", // Icon: temperature-three-quarters
"" // Icon: temperature-full
],
"tooltip": true
},
"temperature#cpu": {
"hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:18.3/hwmon/",
"input-filename": "temp1_input",
"critical-threshold": 90,
"interval": 5,
"format": "{icon} {temperatureC}°C",
"format-icons": [
"", // Icon: temperature-empty
"", // Icon: temperature-quarter
"", // Icon: temperature-half
"", // Icon: temperature-three-quarters
"" // Icon: temperature-full
],
"tooltip": true,
"on-click": "xsensors"
},
"custom/storage": {
"format": " {}",
"format-alt": "{percentage}% ",
"format-alt-click": "click-right",
"return-type": "json",
"interval": 60,
"exec": "~/.config/waybar/_modules/storage.sh"
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-ethernet": "󰌗 {bandwidthUpBytes} {bandwidthDownBytes}",
"format-wifi": " {bandwidthUpBytes} {bandwidthDownBytes}",
"tooltip-format": "[{ipaddr}/{cidr}] {ifname} via {gwaddr}",
"tooltip-format-wifi": "{essid} {frequency}MHz\nStrength: {signaldBm}dBm ({signalStrength}%)\n[{ipaddr}/{cidr}] {ifname} via {gwaddr}",
"format-linked": "󰌗 {ifname} (No IP)",
"format-disconnected": "⚠ Disconnected",
"interval": 10,
"on-click": "nm-connection-editor",
"on-click-right": "rfkill toggle wlan"
},
"battery": {
"interval": 2,
"states": {
"good": 85,
"warning": 30,
"critical": 15
},
"format": "{icon} {capacity}%",
"format-charging": "󱐋 {capacity}%",
"format-plugged": " {capacity}%",
"format-icons": [
"", "", "", "", ""
]
},
"bluetooth": {
// "controller": "controller1", // specify the alias of the controller if there are more than 1 on the system
"format-on": "",
"format-off": "",
"format-disabled": "󰂲", // an empty format will hide the module
"format-connected": " 󰾰 {num_connections}",
"tooltip-format": "{controller_alias}\t[{controller_address}]",
"tooltip-format-connected": "{controller_alias}\t[{controller_address}]\n\n{device_enumerate}",
"tooltip-format-enumerate-connected": "{device_alias}\t[{device_address}]",
"tooltip-format-enumerate-connected-battery": "{device_alias}\t {device_battery_percentage}%\t[{device_address}]",
"on-click": "blueman-manager",
"on-click-right": "rfkill toggle bluetooth"
},
"wireplumber": {
"format": "{icon} {volume}%",
"format-muted": "󰖁 MUTE",
"on-click": "pulsecontrol",
"format-icons": ["󰕿", "󰖀", "󰕾"]
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": " {icon} {volume}% {format_source}",
"format-bluetooth": "{icon} {volume}% {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": "pulsecontrol"
},
"clock": {
"format": " {:%H:%M %Z}",
"tooltip-format": "<big>{:%B %d %Y}</big>\n<tt>{calendar}</tt>",
"format-alt": " {:%a, %d %b, W%V %Y} ",
"calendar": {
"mode" : "month",
"weeks-pos" : "right",
"format": {
"months": "<span color='#475060'><b>{}</b></span>",
"days": "<span color='#ecc6d9'><b>{}</b></span>",
"weeks": "<span color='#99ffdd'><b>W{}</b></span>",
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
"today": "<span color='#ff6699'><b><u>{}</u></b></span>"
}
},
"on-click-right": "gsimplecal"
},
"custom/power": {
"format": "",
"tooltip": false,
"on-click": "wlogout"
},
"custom/weather": {
"exec": "~/.config/waybar/_modules/wittr.sh",
"return-type": "json",
"format": "{}",
"tooltip": true,
"interval": 900
},
// Unused modules
// "keyboard-state": {
// "numlock": true,
// "capslock": true,
// "format": "{name} {icon}",
// "format-icons": {
// "locked": "",
// "unlocked": ""
// }
// },
// "disk": {
// "format": " {percentage_used}%",
// "tooltip-format": "{used} of {total} on {path}",
// "path": "/"
// },
// "mpris": {
// "format": "{player_icon} {artist} - {title}",
// "format-paused": "{status_icon} {artist} - {title}",
// "player-icons": {
// "default": "⏵",
// "mpv": "󰝚"
// },
// "status-icons": {
// "paused": "⏯"
// },
// "ignored-players": ["firefox"]
// },
}

View file

@ -0,0 +1,108 @@
* {
border: none;
font-family: InputSans Nerd Font;
font-size: 12px;
color: #ffffff;
border-radius: 20px;
}
window {
/*font-weight: bold;*/
}
window#waybar {
background: rgba(0, 0, 0, 0);
}
/*-----module groups----*/
.modules-left {
margin: 1px 0 1px 5px;
background-color: #282a36;
}
.modules-center {
background-color: rgba(0,43,51,0.85);
background: rgba(0, 0, 0, 0);
margin: 2px 0 0 0;
}
.modules-right {
background-color: rgba(0,43,51,0.85);
margin: 1px 10px 1px 0;
}
/*-----modules indv----*/
#workspaces button {
margin: -5px 0;
padding: 0px 5px;
background-color: transparent;
}
#workspaces button:hover {
box-shadow: inherit;
background-color: #44475a;
}
#workspaces button.active {
box-shadow: inherit;
background-image: -gtk-gradient (linear,
0.5 0, 0.5 1,
color-stop(0.2, #313c54),
color-stop(1, #556892)
);
}
#workspaces button.urgent {
box-shadow: inherit;
background-image: -gtk-gradient (linear,
0.5 0, 0.5 1,
color-stop(0.2, #313c54),
color-stop(1, #eb4d4b)
);
}
#clock,
#battery,
#cpu,
#memory,
#temperature,
#network,
#pulseaudio,
#custom-media,
#tray,
#mode,
#custom-power,
#custom-menu,
#idle_inhibitor {
padding: 0 10px;
}
#mode {
color: #cc3436;
font-weight: bold;
}
#custom-power {
background-color: rgba(0,119,179,0.6);
border-radius: 100px;
margin: 0px 5px;
padding: 1px 1px 1px 6px;
}
/*-----Indicators----*/
#idle_inhibitor.activated {
color: #2dcc36;
}
#pulseaudio.muted {
color: #cc3436;
}
#battery.charging {
color: #2dcc36;
}
#battery.warning:not(.charging) {
color: #e6e600;
}
#battery.critical:not(.charging) {
color: #cc3436;
}
#temperature.critical {
color: #cc3436;
}
/*-----Colors----*/
/*
*rgba(0,85,102,1),#005566 --> Indigo(dye)
*rgba(0,43,51,1),#002B33 --> Dark Green
*rgba(0,153,153,1),#009999 --> Persian Green
*
*/

View file

@ -0,0 +1,273 @@
{
"layer": "bottom", // (top|bottom|overlay)
"position": "top", // (top|bottom|left|right)
"height": 16, // leave blank for a dynamic value
"spacing": 0, // Gaps between modules
"fixed-center": false,
"modules-left": [
"hyprland/workspaces",
"custom/arrow8"
],
"modules-center": [
"hyprland/window"
],
"modules-right": [
"custom/arrow0",
"custom/swaync",
"idle_inhibitor",
"custom/arrow1",
"cpu",
"custom/arrow2",
"memory",
"custom/arrow3",
"temperature#cpu",
"temperature#gpu",
"custom/arrow4",
"custom/storage",
"custom/arrow5",
"network",
"custom/arrow6",
"bluetooth",
"battery",
"pulseaudio",
"custom/arrow7",
"tray",
"clock",
"custom/power"
],
// Module Config
"hyprland/workspaces": {
"format": "{id}",
"smooth-scrolling-threshold": 1.0,
"on-scroll-up": "hyprctl dispatch workspace m-1",
"on-scroll-down": "hyprctl dispatch workspace m+1",
"on-click": "activate"
},
"hyprland/window": {
"max-length": 200,
"on-scroll-up": "hyprctl dispatch workspace m-1",
"on-scroll-down": "hyprctl dispatch workspace m+1",
"separate-outputs": true
},
"tray": {
"icon-size": 15,
"spacing": 4
},
"custom/swaync": {
"tooltip": false,
"format": "{icon}",
"format-icons": {
"notification": "<span foreground='red'> </span>",
"none": " ",
"dnd-notification": "<span foreground='red'> </span>",
"dnd-none": " ",
"inhibited-notification": "<span foreground='red'> </span>",
"inhibited-none": " ",
"dnd-inhibited-notification": "<span foreground='red'> </span>",
"dnd-inhibited-none": " "
},
"return-type": "json",
"exec-if": "which swaync-client",
"exec": "swaync-client -swb",
"on-click": "swaync-client -t -sw",
"on-click-right": "swaync-client -d -sw",
"escape": true
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"cpu": {
"format": " {max_frequency}GHz | {usage}%" ,
},
"memory": {
"format": "󰮌 {}%",
"on-click": "missioncenter"
},
"temperature#gpu": {
"hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:03.1/0000:05:00.0/0000:06:00.0/0000:07:00.0/hwmon",
"input-filename": "temp2_input",
"critical-threshold": 110,
"interval": 5,
"format": "{icon} {temperatureC}°C",
"format-icons": [
"", // Icon: temperature-empty
"", // Icon: temperature-quarter
"", // Icon: temperature-half
"", // Icon: temperature-three-quarters
"" // Icon: temperature-full
],
"tooltip": true
},
"temperature#cpu": {
"hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:18.3/hwmon/",
"input-filename": "temp1_input",
"critical-threshold": 90,
"interval": 5,
"format": "{icon} {temperatureC}°C",
"format-icons": [
"", // Icon: temperature-empty
"", // Icon: temperature-quarter
"", // Icon: temperature-half
"", // Icon: temperature-three-quarters
"" // Icon: temperature-full
],
"tooltip": true,
"on-click": "xsensors"
},
"custom/storage": {
"format": " {}",
"format-alt": "{percentage}% ",
"format-alt-click": "click-right",
"return-type": "json",
"interval": 60,
"exec": "~/.config/waybar/_modules/storage.sh"
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-ethernet": "󰌗 {bandwidthUpBytes} {bandwidthDownBytes}",
"format-wifi": " {bandwidthUpBytes} {bandwidthDownBytes}",
"tooltip-format": "[{ipaddr}/{cidr}] {ifname} via {gwaddr}",
"tooltip-format-wifi": "{essid} {frequency}MHz\nStrength: {signaldBm}dBm ({signalStrength}%)\n[{ipaddr}/{cidr}] {ifname} via {gwaddr}",
"format-linked": "󰌗 {ifname} (No IP)",
"format-disconnected": "⚠ Disconnected",
"interval": 10,
"on-click": "nm-connection-editor",
"on-click-right": "rfkill toggle wlan"
},
"battery": {
"interval": 2,
"states": {
"good": 85,
"warning": 30,
"critical": 15
},
"format": "{icon} {capacity}%",
"format-charging": "󱐋 {capacity}%",
"format-plugged": " {capacity}%",
"format-icons": [
"", "", "", "", ""
]
},
"bluetooth": {
// "controller": "controller1", // specify the alias of the controller if there are more than 1 on the system
"format-on": "",
"format-off": "",
"format-disabled": "󰂲", // an empty format will hide the module
"format-connected": " 󰾰 {num_connections}",
"tooltip-format": "{controller_alias}\t[{controller_address}]",
"tooltip-format-connected": "{controller_alias}\t[{controller_address}]\n\n{device_enumerate}",
"tooltip-format-enumerate-connected": "{device_alias}\t[{device_address}]",
"tooltip-format-enumerate-connected-battery": "{device_alias}\t {device_battery_percentage}%\t[{device_address}]",
"on-click": "blueman-manager",
"on-click-right": "rfkill toggle bluetooth"
},
"wireplumber": {
"format": "{icon} {volume}%",
"format-muted": "󰖁 MUTE",
"on-click": "pulsecontrol",
"format-icons": ["󰕿", "󰖀", "󰕾"]
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": " {icon} {volume}% {format_source}",
"format-bluetooth": "{icon} {volume}% {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": "pulsecontrol"
},
"clock": {
"format": " {:%H:%M %Z}",
"tooltip-format": "<big>{:%B %d %Y}</big>\n<tt>{calendar}</tt>",
"format-alt": " {:%a, %d %b, W%V %Y} ",
"calendar": {
"mode" : "month",
"weeks-pos" : "right",
"format": {
"months": "<span color='#475060'><b>{}</b></span>",
"days": "<span color='#ecc6d9'><b>{}</b></span>",
"weeks": "<span color='#99ffdd'><b>W{}</b></span>",
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
"today": "<span color='#ff6699'><b><u>{}</u></b></span>"
}
},
"on-click-right": "gsimplecal"
},
"custom/power": {
"format": "",
"tooltip": false,
"on-click": "wlogout"
},
// Separators
"custom/arrow0": { "format": "", "tooltip": false },
"custom/arrow1": { "format": "", "tooltip": false },
"custom/arrow2": { "format": "", "tooltip": false },
"custom/arrow3": { "format": "", "tooltip": false },
"custom/arrow4": { "format": "", "tooltip": false },
"custom/arrow5": { "format": "", "tooltip": false },
"custom/arrow6": { "format": "", "tooltip": false },
"custom/arrow7": { "format": "", "tooltip": false },
"custom/arrow8": { "format": "", "tooltip": false }
// Unused modules
// "keyboard-state": {
// "numlock": true,
// "capslock": true,
// "format": "{name} {icon}",
// "format-icons": {
// "locked": "",
// "unlocked": ""
// }
// },
// "disk": {
// "format": " {percentage_used}%",
// "tooltip-format": "{used} of {total} on {path}",
// "path": "/"
// },
// "mpris": {
// "format": "{player_icon} {artist} - {title}",
// "format-paused": "{status_icon} {artist} - {title}",
// "player-icons": {
// "default": "⏵",
// "mpv": "󰝚"
// },
// "status-icons": {
// "paused": "⏯"
// },
// "ignored-players": ["firefox"]
// },
}

View file

@ -0,0 +1,329 @@
* {
/* `otf-font-awesome` is required to be installed for icons */
/* font-family: Input Mono Light, Input Mono, FontAwesome, SymbolsNerdFont, Roboto, Helvetica, Arial, sans-serif; */
/* font-family: JetBrainsMono Nerd Font, FontAwesome, SymbolsNerdFont; */
font-family: InputSans Nerd Font ;
font-size: 12px;
min-height: 0;
}
window#waybar {
background: transparent;
color: #aeafb2;
transition-property: background-color;
transition-duration: .5s;
}
window#waybar.hidden {
opacity: 0.2;
}
window#waybar.termite {
background-color: #3F3F3F;
}
window#waybar.chromium {
background-color: #000000;
border: none;
}
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
#clock,
#battery,
#cpu,
#memory,
#disk,
#temperature,
#network,
#pulseaudio,
#wireplumber,
#bluetooth,
#tray,
#idle_inhibitor,
#mpris,
#keyboard-state,
#battery,
#custom-swaync,
#custom-storage,
#custom-power
{
padding: 0 7px;
opacity: 0.75;
}
#battery,
#cpu,
#memory,
#disk,
#temperature,
#network,
#pulseaudio,
#wireplumber,
#bluetooth,
#mpris,
#idle_inhibitor
{
border: 0;
border-radius: 0px;
}
#workspaces {
background: rgba(49, 60, 84, 0.75);
border-radius: 0px;
border: 0;
margin: 0;
padding: 0 7px 0 0;
}
#workspaces button {
color: #aeafb2;
padding: 0px 4px 0px 4px;
margin: 0;
background-color: transparent;
border: 0;
border-radius: 0px;
}
#workspaces button:hover, #workspaces button.active:hover {
color: #fff;
background: #647aab;
box-shadow: inherit;
text-shadow: inherit;
border: 0;
border-radius: 0px;
}
#workspaces button.visible {
border: 0;
border-radius: 0px;
background-image: -gtk-gradient (linear,
0.5 0, 0.5 1,
color-stop(0.2, #313c54),
color-stop(1, #556892)
);
}
#workspaces button.active {
color: #fff000;
border: 0;
border-radius: 0px;
background-image: -gtk-gradient (linear,
0.5 0, 0.5 1,
color-stop(0.2, #313c54),
color-stop(1, #556892)
);
}
#workspaces button.urgent {
color: #fff;
border: 0;
border-radius: 0px;
background-image: -gtk-gradient (linear,
0.5 0, 0.5 1,
color-stop(0.2, #313c54),
color-stop(1, #eb4d4b)
);
}
#window {
padding: 0px 7px 0 7px;
opacity: 1;
color: #dcdcde;
text-shadow: 1px 1px 2px #111;
}
#idle_inhibitor {
color: #aeafb2;
}
#idle_inhibitor.activated {
color: #fff;
}
#clock,
#custom-power,
#custom-swaync,
#idle_inhibitor,
#tray {
background-color: #111;
}
#tray > .passive {
-gtk-icon-effect: dim;
}
#tray > .needs-attention {
-gtk-icon-effect: highlight;
background-color: #eb4d4b;
}
#cpu
{
background-color: #313c54;
}
#memory {
background-color: #455c8f;
}
#temperature {
background-color: #17243b;
}
#temperature.critical {
color: #cf4beb;
}
#disk,
#custom-storage
{
background-color: #38588f;
}
#network {
color: #dcdcde;
background-color: #37373f;
}
#bluetooth.disabled,
#pulseaudio.muted,
#wireplumber.muted,
#battery.critical,
#network.disconnected {
color: #f53c3c;
}
#bluetooth.off {
color: #909091;
}
#bluetooth,
#pulseaudio,
#battery,
#wireplumber
{
background-color: #112254;
}
#battery
{
color: #fff;
}
#battery.good
{
color: #aeafb2;
}
#battery.warning
{
color: #fff000;
}
/* arrows */
#custom-arrow0,
#custom-arrow1,
#custom-arrow2,
#custom-arrow3,
#custom-arrow4,
#custom-arrow5,
#custom-arrow6,
#custom-arrow7,
#custom-arrow8
{
margin: 0 0 -1px 0;
padding: 1px 0 0 0;
opacity: 0.75;
font-size: 12px;
}
#custom-arrow0 {
color: #111;
background-color: transparent;
}
#custom-arrow1 {
color: #313c54;
background-color: #111;
}
#custom-arrow2 {
color: #455c8f;
background-color: #313c54;
}
#custom-arrow3 {
color: #17243b;
background-color: #455c8f;
}
#custom-arrow4 {
color: #38588f;
background-color: #17243b;
}
#custom-arrow5 {
color: #37373f;
background-color: #38588f;
}
#custom-arrow6 {
color: #112254;
background-color: #37373f;
}
#custom-arrow7 {
color: #111;
background-color: #112254;
}
#custom-arrow8 {
color: #313c54;
background-color: transparent;
margin: 0 0 -2px 0;
padding: 0px 0 0 0;
font-size: 14px;
}
/* unused */
/*
#language {
background: #00b093;
color: #740864;
padding: 0 5px;
margin: 0 5px;
min-width: 16px;
}
#mpris {
background:#989898;
}
#keyboard-state {
background: #455c8f;
color: #aeafb2;
padding: 0;
margin: 0 0 0 5px;
min-width: 16px;
border-top: 1px solid rgba(25, 25, 25, 0.5);
border-bottom: 1px solid rgba(25, 25, 25, 0.5);
border-left: 1px solid rgba(25, 25, 25, 0.5);
border: 0;
border-radius: 20px 0 0 20px;
}
#keyboard-state > label {
padding: 0 5px;
}
#keyboard-state > label.locked {
color: #fff;
background: rgba(255, 255, 255, 0.2);
}
*/

View file

@ -0,0 +1,237 @@
// =============================================================================
//
// Waybar configuration
//
// Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration
//
// =============================================================================
{
// -------------------------------------------------------------------------
// Global configuration
// -------------------------------------------------------------------------
"layer": "top",
"position": "top",
"fixed-center": false,
// If height property would be not present, it'd be calculated dynamically
"height": 16,
"modules-left": [
"sway/workspaces",
"sway/mode"
],
"modules-center": [
"sway/window"
],
"modules-right": [
//"network",
"memory",
"cpu",
"temperature#cpu",
"temperature#gpu",
"pulseaudio",
//"battery",
"custom/dualsense",
"idle_inhibitor",
"custom/swaync",
"tray",
"clock"
],
// -------------------------------------------------------------------------
// Modules
// -------------------------------------------------------------------------
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": " ",
"deactivated": " "
}
},
"battery": {
"interval": 10,
"states": {
"warning": 30,
"critical": 15
},
// Connected to AC
"format": " {icon} {capacity}%", // Icon: bolt
// Not connected to AC
"format-discharging": "{icon} {capacity}%",
"format-icons": [
"", // Icon: battery-full
"", // Icon: battery-three-quarters
"", // Icon: battery-half
"", // Icon: battery-quarter
"" // Icon: battery-empty
],
"tooltip": true
},
"clock": {
"interval": 10,
"timezones": ["Europe/Berlin", "America/Los_Angeles", "America/Phoenix"],
"format": " {:%a %e %b, %H:%M %Z}", // Icon: calendar-alt
"tooltip-format": "<big>{:%B %Y}</big>\n<tt><small>{calendar}</small></tt>",
"today-format": "<b><u><span color=\"red\">{}</span></u></b>",
"on-click": "gsimplecal"
},
"cpu": {
"interval": 5,
"format": " {usage}% ({load})", // Icon: microchip
"states": {
"warning": 70,
"critical": 90
}
},
"custom/keyboard-layout": {
"exec": "swaymsg -t get_inputs | grep -m1 'xkb_active_layout_name' | cut -d '\"' -f4",
// Interval set only as a fallback, as the value is updated by signal
"interval": 30,
"format": " {}", // Icon: keyboard
// Signal sent by Sway key binding (~/.config/sway/key-bindings)
"signal": 1, // SIGHUP
"tooltip": false
},
"custom/dualsense": {
"tooltip": false,
"return-type": "json",
"exec": "$HOME/.config/waybar/_modules/dualsense-notifier.sh",
"on-click": "dualsensectl power-off",
},
"memory": {
"interval": 5,
"format": " {}%", // Icon: memory
"states": {
"warning": 70,
"critical": 90
}
},
"network": {
"interval": 5,
"format-wifi": " {essid} ({signalStrength}%)", // Icon: wifi
"format-ethernet": " {ifname}: {ipaddr}/{cidr}", // Icon: ethernet
"format-disconnected": "⚠ Disconnected",
"tooltip-format": "{ifname}: {ipaddr}"
},
"sway/mode": {
"format": "<span style=\"italic\"> {}</span>", // Icon: expand-arrows-alt
"tooltip": false
},
"sway/window": {
"format": "{}",
"max-length": 120
},
"sway/workspaces": {
"all-outputs": false,
"disable-scroll": false,
"format": "{name}",
"enable-bar-scroll": false,
"disable-scroll-wraparound": true,
"warp-on-scroll": true,
"format-icons": {
"1:www": "龜", // Icon: firefox-browser
"2:mail": "", // Icon: mail
"3:editor": "", // Icon: code
"4:terminals": "", // Icon: terminal
"5:portal": "", // Icon: terminal
"urgent": "",
"focused": "",
"default": ""
}
},
"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"
},
"temperature#gpu": {
"hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:03.1/0000:05:00.0/0000:06:00.0/0000:07:00.0/hwmon",
"input-filename": "temp2_input",
"critical-threshold": 110,
"interval": 5,
"format": "{icon} {temperatureC}°C",
"format-icons": [
"", // Icon: temperature-empty
"", // Icon: temperature-quarter
"", // Icon: temperature-half
"", // Icon: temperature-three-quarters
"" // Icon: temperature-full
],
"tooltip": true
},
"temperature#cpu": {
"hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:18.3/hwmon/",
"input-filename": "temp1_input",
"critical-threshold": 90,
"interval": 5,
"format": "{icon} {temperatureC}°C",
"format-icons": [
"", // Icon: temperature-empty
"", // Icon: temperature-quarter
"", // Icon: temperature-half
"", // Icon: temperature-three-quarters
"" // Icon: temperature-full
],
"tooltip": true
},
"custom/swaync": {
"tooltip": false,
"format": "{icon}",
"format-icons": {
"notification": "<span foreground='red'> </span>",
"none": " ",
"dnd-notification": "<span foreground='red'> </span>",
"dnd-none": " ",
"inhibited-notification": "<span foreground='red'> </span>",
"inhibited-none": " ",
"dnd-inhibited-notification": "<span foreground='red'> </span>",
"dnd-inhibited-none": " "
},
"return-type": "json",
"exec-if": "which swaync-client",
"exec": "swaync-client -swb",
"on-click": "swaync-client -t -sw",
"on-click-right": "swaync-client -d -sw",
"escape": true
},
"tray": {
"icon-size": 16,
"spacing": 8
}
}

View file

@ -0,0 +1,148 @@
{
// "layer": "top", // Waybar at top layer
// "position": "bottom", // Waybar position (top|bottom|left|right)
"height": 20, // Waybar height (to be removed for auto height)
// "width": 1280, // Waybar width
// Choose the order of the modules
"modules-left": ["sway/workspaces", "sway/mode", "custom/media"],
"modules-center": ["sway/window"],
"modules-right": ["idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "sway/language", "battery", "battery#bat2", "clock", "tray"],
//"modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "sway/language", "battery", "battery#bat2", "clock", "tray"],
// Modules configuration
// "sway/workspaces": {
// "disable-scroll": true,
// "all-outputs": true,
// "format": "{name}: {icon}",
// "format-icons": {
// "1": "",
// "2": "",
// "3": "",
// "4": "",
// "5": "",
// "urgent": "",
// "focused": "",
// "default": ""
// }
// },
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"mpd": {
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ ",
"format-disconnected": "Disconnected ",
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
"unknown-tag": "N/A",
"interval": 2,
"consume-icons": {
"on": " "
},
"random-icons": {
"off": "<span color=\"#f53c3c\"></span> ",
"on": " "
},
"repeat-icons": {
"on": " "
},
"single-icons": {
"on": "1 "
},
"state-icons": {
"paused": "",
"playing": ""
},
"tooltip-format": "MPD (connected)",
"tooltip-format-disconnected": "MPD (disconnected)"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": {
// "icon-size": 16,
"spacing": 8
},
"clock": {
// "timezone": "America/New_York",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": "{:%Y-%m-%d}"
},
"cpu": {
"format": "{usage}% ",
"tooltip": false
},
"memory": {
"format": "{}% "
},
"temperature": {
// "thermal-zone": 2,
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
"critical-threshold": 80,
// "format-critical": "{temperatureC}°C {icon}",
"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-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"
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": "{essid} ({signalStrength}%) ",
"format-ethernet": "{ifname}: {ipaddr}/{cidr} ",
"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"
},
"custom/media": {
"format": "{icon} {}",
"return-type": "json",
"max-length": 40,
"format-icons": {
"spotify": "",
"default": "🎜"
},
"escape": true,
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
}
}

View file

@ -0,0 +1,196 @@
/* =============================================================================
*
* Waybar configuration
*
* Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration
*
* =========================================================================== */
/* -----------------------------------------------------------------------------
* Keyframes
* -------------------------------------------------------------------------- */
@keyframes blink-warning {
70% {
color: white;
}
to {
color: white;
background-color: orange;
}
}
@keyframes blink-critical {
70% {
color: white;
}
to {
color: white;
background-color: red;
}
}
/* -----------------------------------------------------------------------------
* Base styles
* -------------------------------------------------------------------------- */
/* Reset all styles */
* {
border: none;
border-radius: 0;
min-height: 0;
margin: 0;
padding: 0;
}
/* The whole bar */
#waybar {
background: #323232;
color: white;
/* font-family: Cantarell, Noto Sans, sans-serif; */
font-family: InputSans Nerd Font ;
font-size: 12px;
}
/* Each module */
#battery,
#clock,
#cpu,
#custom-keyboard-layout,
#memory,
#mode,
#network,
#pulseaudio,
#temperature,
#tray {
padding-left: 4px;
padding-right: 4px;
}
/* -----------------------------------------------------------------------------
* Module styles
* -------------------------------------------------------------------------- */
#battery {
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#battery.warning {
color: orange;
}
#battery.critical {
color: red;
}
#battery.warning.discharging {
animation-name: blink-warning;
animation-duration: 3s;
}
#battery.critical.discharging {
animation-name: blink-critical;
animation-duration: 2s;
}
#clock {
font-weight: bold;
min-width: 60px;
}
#cpu {
/* No styles */
}
#cpu.warning {
color: orange;
}
#cpu.critical {
color: red;
}
#memory {
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#memory.warning {
color: orange;
}
#memory.critical {
color: red;
animation-name: blink-critical;
animation-duration: 2s;
}
#mode {
background: #64727D;
border-top: 2px solid white;
/* To compensate for the top border and still have vertical centering */
padding-bottom: 2px;
}
#network {
/* No styles */
}
#network.disconnected {
color: orange;
}
#pulseaudio {
/* No styles */
}
#pulseaudio.muted {
/* No styles */
}
#custom-spotify {
color: rgb(102, 220, 105);
}
#temperature {
/* No styles */
}
#temperature.critical {
color: red;
}
#tray {
/* No styles */
}
#window {
font-weight: bold;
}
#workspaces button {
border-top: 0px solid transparent;
/* To compensate for the top border and still have vertical centering */
padding-bottom: 0px;
padding-left: 4px;
padding-right: 4px;
color: #888888;
}
#workspaces button.focused {
border-color: #4c7899;
color: white;
background-color: #285577;
}
#workspaces button.urgent {
border-color: #c9545d;
color: #c9545d;
}