Add GPU status to waybar

This commit is contained in:
GaspardCulis 2023-11-14 15:58:32 +01:00
parent 6a27e22e9e
commit 384340ad2a
3 changed files with 198 additions and 152 deletions

View file

@ -6,9 +6,21 @@
"passthrough": false, "passthrough": false,
"gtk-layer-shell": true, "gtk-layer-shell": true,
"height": 50, "height": 50,
"modules-left": ["clock","custom/weather","hyprland/workspaces"], "modules-left": ["clock", "custom/weather", "hyprland/workspaces"],
"modules-center": ["hyprland/window"], "modules-center": ["hyprland/window"],
"modules-right": ["network", "bluetooth", "memory", "cpu", "temperature","custom/power_profile","battery","pulseaudio","pulseaudio#microphone","tray"], "modules-right": [
"network",
"bluetooth",
"memory",
"cpu",
"temperature",
"custom/power_profile",
"custom/gpu_status",
"battery",
"pulseaudio",
"pulseaudio#microphone",
"tray"
],
"hyprland/window": { "hyprland/window": {
"format": "{}" "format": "{}"
}, },
@ -16,7 +28,7 @@
"hyprland/workspaces": { "hyprland/workspaces": {
"disable-scroll": true, "disable-scroll": true,
"all-outputs": true, "all-outputs": true,
"on-click": "activate", "on-click": "activate"
/* /*
"persistent_workspaces": { "persistent_workspaces": {
"1": [], "1": [],
@ -32,7 +44,7 @@
}*/ }*/
}, },
"custom/power_profile":{ "custom/power_profile": {
//shows the current power profile and switches to next on click //shows the current power profile and switches to next on click
"exec": "~/.config/waybar/scripts/powerprofile.sh", "exec": "~/.config/waybar/scripts/powerprofile.sh",
"return-type": "json", "return-type": "json",
@ -43,13 +55,13 @@
"signal": 8 "signal": 8
}, },
"custom/weather" : { "custom/weather": {
//shows the current weather and forecast //shows the current weather and forecast
"tooltip" : true, "tooltip": true,
"format" : "{}", "format": "{}",
"interval" : 30, "interval": 120,
"exec" : "~/.config/waybar/scripts/waybar-wttr.py", "exec": "~/.config/waybar/scripts/waybar-wttr.py",
"return-type" : "json" "return-type": "json"
}, },
"tray": { "tray": {
@ -84,6 +96,15 @@
"format-icons": ["", "", "", "", ""] "format-icons": ["", "", "", "", ""]
}, },
"custom/gpu_status": {
"exec": "~/.config/waybar/scripts/gpu_status.sh",
"return-type": "json",
"interval": 2,
"tooltip": false,
"format": "{}",
"signal": 9
},
"pulseaudio": { "pulseaudio": {
"format": "{icon} {volume}%", "format": "{icon} {volume}%",
"tooltip": false, "tooltip": false,
@ -139,7 +160,7 @@
"states": { "states": {
"critical": 90, "critical": 90,
"warning": 50 "warning": 50
}, }
}, },
"memory": { "memory": {
@ -162,4 +183,3 @@
"on-click": "/usr/bin/blueman-manager" "on-click": "/usr/bin/blueman-manager"
} }
} }

View file

@ -0,0 +1,16 @@
#!/bin/bash
ACTIVE_ICON='󰍹'
SUSPENDED_ICON='󰶐'
RESUMING_ICON='󱄄'
icon=$ACTIVE_ICON
status=$(cat /sys/bus/pci/devices/0000:01:00.0/power/runtime_status)
if [ "$status" == "suspended" ]; then
icon=$SUSPENDED_ICON
elif [ "$status" == "resuming" ]; then
icon=$RESUMING_ICON
fi
echo "{\"text\": \"$icon\", \"class\": \"$status\"}"

View file

@ -28,13 +28,13 @@ tooltip {
#workspaces button.active { #workspaces button.active {
color: #a6adc8; color: #a6adc8;
background: #3F84E5; background: #3f84e5;
border-radius: 10px; border-radius: 10px;
} }
#workspaces button.urgent { #workspaces button.urgent {
color: #11111b; color: #11111b;
background: #FC6471; background: #fc6471;
border-radius: 10px; border-radius: 10px;
} }
@ -44,6 +44,7 @@ tooltip {
} }
#custom-power_profile, #custom-power_profile,
#custom-gpu_status,
#custom-weather, #custom-weather,
#window, #window,
#clock, #clock,
@ -62,7 +63,6 @@ tooltip {
padding: 0px 10px; padding: 0px 10px;
margin: 3px 0px; margin: 3px 0px;
margin-top: 10px; margin-top: 10px;
border: 1px solid #181825;
} }
#memory { #memory {
@ -71,11 +71,11 @@ tooltip {
} }
#memory.warning { #memory.warning {
color: #EDAE49; color: #edae49;
} }
#memory.critical { #memory.critical {
color: #FC6471; color: #fc6471;
} }
#cpu { #cpu {
@ -84,11 +84,11 @@ tooltip {
} }
#cpu.warning { #cpu.warning {
color: #EDAE49; color: #edae49;
} }
#cpu.critical { #cpu.critical {
color: #FC6471; color: #fc6471;
} }
#temperature { #temperature {
@ -97,7 +97,7 @@ tooltip {
} }
#temperature.critical { #temperature.critical {
color: #FC6471; color: #fc6471;
} }
#backlight { #backlight {
@ -124,11 +124,21 @@ tooltip {
} }
#custom-power_profile.Performance { #custom-power_profile.Performance {
color: #FC6471; color: #fc6471;
} }
#custom-power_profile.Balanced { #custom-power_profile.Balanced {
color: #EDAE49; color: #edae49;
}
#custom-gpu_status {
color: #a6e3a1;
padding-top: 3px;
padding-left: 3px;
}
#custom-gpu_status:not(.suspended) {
color: #edae49;
} }
#window { #window {
@ -154,7 +164,7 @@ tooltip {
#bluetooth { #bluetooth {
color: #89b4fa; color: #89b4fa;
border-radius: 0px 10px 10px 0px; border-radius: 0px 10px 10px 0px;
margin-right: 10px margin-right: 10px;
} }
#pulseaudio { #pulseaudio {