updated waybar for laptop

This commit is contained in:
2025-09-19 18:25:11 +02:00
parent ce2eb2dd79
commit 80b3f7e68b
7 changed files with 91 additions and 7 deletions

View File

@@ -181,6 +181,39 @@
"format": "{text}",
"tooltip": true
},
// --- NEW: Mic (PipeWire/WirePlumber) ---
"custom/mic": {
"exec": "$HOME/.config/waybar/scripts/mic_status.sh",
"return-type": "json",
"interval": 2,
"on-click": "$HOME/.config/waybar/scripts/mic_toggle.sh",
"tooltip": true
},
// --- NEW: Touchpad toggle ---
"custom/touchpad": {
"exec": "$HOME/.config/waybar/scripts/touchpad_status.sh",
"return-type": "json",
"interval": 5,
"on-click": "$HOME/.config/waybar/scripts/touchpad_toggle.sh",
"tooltip": true
},
// --- NEW: Temperatures (built-in waybar temperature) ---
"temperature": {
"critical-threshold": 90,
"format": " {temperatureC}°C",
"hwmon-path": "/sys/class/thermal/thermal_zone0/temp",
"tooltip": true
},
// --- NEW: Backlight ---
"backlight": {
"format": " {percent}%",
"on-scroll-up": "brightnessctl set +5%",
"on-scroll-down": "brightnessctl set 5%-",
"tooltip": true
},
// Performance (same concept as desktop)
"custom/performance": {

View File

@@ -4,10 +4,12 @@
"height": 32,
"spacing": 8,
"modules-left": ["hyprland/workspaces", "hyprland/window"],
"modules-center": ["privacy", "mpris"],
"modules-left": ["hyprland/workspaces", "hyprland/window", "privacy"],
"modules-center": [],
"modules-right": [
"group/sys",
"custom/mic",
"temperature",
"network",
"backlight",
"custom/kbdlight",
@@ -17,10 +19,7 @@
"custom/bt",
"custom/airplane",
"battery",
"custom/batteryhealth",
"power-profiles-daemon",
"custom/performance",
"custom/hyprsunset",
"custom/touchpad",
"tray",
"clock"
],
@@ -35,7 +34,7 @@
"click-to-reveal": true,
"transition-left-to-right": false
},
"modules": ["custom/sys", "cpu", "memory", "custom/temps", "disk#root"]
"modules": ["custom/sys", "cpu", "memory", "custom/temps", "disk#root", "custom/batteryhealth", "power-profiles-daemon", "custom/performance", "custom/hyprsunset"]
}
}

View File

@@ -0,0 +1,12 @@
#!/usr/bin/env bash
# Prints JSON for Waybar showing mic muted/unmuted
set -euo pipefail
is_muted=$(wpctl get-mute @DEFAULT_AUDIO_SOURCE@ | awk '{print $2}')
vol=$(wpctl get-volume @DEFAULT_AUDIO_SOURCE@ | awk '{printf("%.0f", $2*100)}' || echo 0)
if [[ "$is_muted" == "true" ]]; then
echo '{"text":"","tooltip":"Mic: muted","class":"muted"}'
else
echo "{\"text\":\" ${vol}%\",\"tooltip\":\"Mic: ${vol}%\",\"class\":\"live\"}"
fi

View File

@@ -0,0 +1,4 @@
#!/usr/bin/env bash
set -euo pipefail
wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle

View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
set -euo pipefail
dev="$(hyprctl -j devices | jq -r '.touchpads[0].name')"
if [[ -z "$dev" || "$dev" == "null" ]]; then
echo '{"text":"󰍽","tooltip":"No touchpad detected","class":"absent"}'
exit 0
fi
state=$(hyprctl getoption "device:$dev:enabled" -j | jq -r '.int')
if [[ "$state" -eq 1 ]]; then
echo '{"text":"󰍿","tooltip":"Touchpad: enabled","class":"on"}'
else
echo '{"text":"󰜭","tooltip":"Touchpad: disabled","class":"off"}'
fi

View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Toggles touchpad using Hyprland device keyword.
set -euo pipefail
dev="$(hyprctl -j devices | jq -r '.touchpads[0].name')"
[[ -z "$dev" || "$dev" == "null" ]] && exit 0
state=$(hyprctl getoption "device:$dev:enabled" -j | jq -r '.int')
if [[ "$state" -eq 1 ]]; then
hyprctl keyword "device:$dev:enabled" 0
notify-send -a waybar "Touchpad" "Disabled"
else
hyprctl keyword "device:$dev:enabled" 1
notify-send -a waybar "Touchpad" "Enabled"
fi

View File

@@ -180,4 +180,12 @@ window#waybar.bar-hdmi .module {
color: @warning_color;
}
/* Mic / Touchpad state tinting */
#custom-mic.muted { opacity: 0.6; }
#custom-touchpad.off { opacity: 0.6; }
#temperature.critical { color: #FFCC33; font-weight: 600; }
/* Backlight spacing */
#backlight { padding: 0 6px; border-right: 1px solid @border_main; }
#custom-mic, #custom-touchpad { padding: 0 6px; }