Add idle lock indicator
This commit is contained in:
@@ -7,3 +7,5 @@ else
|
|||||||
uwsm-app -- hypridle >/dev/null 2>&1 &
|
uwsm-app -- hypridle >/dev/null 2>&1 &
|
||||||
notify-send "Now locking computer when idle"
|
notify-send "Now locking computer when idle"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
pkill -RTMIN+9 waybar
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"spacing": 0,
|
"spacing": 0,
|
||||||
"height": 26,
|
"height": 26,
|
||||||
"modules-left": ["custom/omarchy", "hyprland/workspaces"],
|
"modules-left": ["custom/omarchy", "hyprland/workspaces"],
|
||||||
"modules-center": ["clock", "custom/update", "custom/voxtype", "custom/screenrecording-indicator"],
|
"modules-center": ["clock", "custom/update", "custom/voxtype", "custom/screenrecording-indicator", "custom/idle-indicator"],
|
||||||
"modules-right": [
|
"modules-right": [
|
||||||
"group/tray-expander",
|
"group/tray-expander",
|
||||||
"bluetooth",
|
"bluetooth",
|
||||||
@@ -142,6 +142,12 @@
|
|||||||
"signal": 8,
|
"signal": 8,
|
||||||
"return-type": "json"
|
"return-type": "json"
|
||||||
},
|
},
|
||||||
|
"custom/idle-indicator": {
|
||||||
|
"on-click": "omarchy-toggle-idle",
|
||||||
|
"exec": "$OMARCHY_PATH/default/waybar/indicators/idle.sh",
|
||||||
|
"signal": 9,
|
||||||
|
"return-type": "json"
|
||||||
|
},
|
||||||
"custom/voxtype": {
|
"custom/voxtype": {
|
||||||
"exec": "omarchy-voxtype-status",
|
"exec": "omarchy-voxtype-status",
|
||||||
"return-type": "json",
|
"return-type": "json",
|
||||||
|
|||||||
@@ -34,7 +34,6 @@
|
|||||||
#battery,
|
#battery,
|
||||||
#pulseaudio,
|
#pulseaudio,
|
||||||
#custom-omarchy,
|
#custom-omarchy,
|
||||||
#custom-screenrecording-indicator,
|
|
||||||
#custom-update {
|
#custom-update {
|
||||||
min-width: 12px;
|
min-width: 12px;
|
||||||
margin: 0 7.5px;
|
margin: 0 7.5px;
|
||||||
@@ -72,9 +71,11 @@ tooltip {
|
|||||||
opacity: 0;
|
opacity: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-screenrecording-indicator {
|
#custom-screenrecording-indicator,
|
||||||
|
#custom-idle-indicator {
|
||||||
min-width: 12px;
|
min-width: 12px;
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
|
margin-right: 0;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
padding-bottom: 1px;
|
padding-bottom: 1px;
|
||||||
}
|
}
|
||||||
@@ -83,6 +84,10 @@ tooltip {
|
|||||||
color: #a55555;
|
color: #a55555;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#custom-idle-indicator.active {
|
||||||
|
color: #a55555;
|
||||||
|
}
|
||||||
|
|
||||||
#custom-voxtype {
|
#custom-voxtype {
|
||||||
min-width: 12px;
|
min-width: 12px;
|
||||||
margin: 0 0 0 7.5px;
|
margin: 0 0 0 7.5px;
|
||||||
|
|||||||
Executable
+7
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if pgrep -x hypridle >/dev/null; then
|
||||||
|
echo '{"text": ""}'
|
||||||
|
else
|
||||||
|
echo '{"text": "", "tooltip": "Idle lock disabled", "class": "active"}'
|
||||||
|
fi
|
||||||
Executable
+39
@@ -0,0 +1,39 @@
|
|||||||
|
echo "Add idle lock indicator to Waybar"
|
||||||
|
|
||||||
|
STYLE_FILE=~/.config/waybar/style.css
|
||||||
|
CONFIG_FILE=~/.config/waybar/config.jsonc
|
||||||
|
|
||||||
|
# Add idle-indicator to modules-center if not present
|
||||||
|
if ! grep -q "custom/idle-indicator" "$CONFIG_FILE"; then
|
||||||
|
sed -i 's/"custom\/screenrecording-indicator"]/"custom\/screenrecording-indicator", "custom\/idle-indicator"]/' "$CONFIG_FILE"
|
||||||
|
|
||||||
|
sed -i '/"tray": {/i\ "custom/idle-indicator": {\n "on-click": "omarchy-toggle-idle",\n "exec": "$OMARCHY_PATH/default/waybar/indicators/idle.sh",\n "signal": 9,\n "return-type": "json"\n },' "$CONFIG_FILE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Add idle-indicator CSS if not present
|
||||||
|
if ! grep -q "#custom-idle-indicator" "$STYLE_FILE"; then
|
||||||
|
# Remove screenrecording-indicator from shared margin block and pair it with idle-indicator instead
|
||||||
|
sed -i 's/^#custom-screenrecording-indicator,$//' "$STYLE_FILE"
|
||||||
|
|
||||||
|
# Add shared rule for both indicators and idle-indicator active state
|
||||||
|
sed -i '/#custom-screenrecording-indicator.active {/i\#custom-screenrecording-indicator,\n#custom-idle-indicator {\n min-width: 12px;\n margin-left: 5px;\n margin-right: 0;\n font-size: 10px;\n padding-bottom: 1px;\n}\n' "$STYLE_FILE"
|
||||||
|
|
||||||
|
# Remove the now-duplicated properties from the standalone screenrecording block
|
||||||
|
sed -i '/#custom-screenrecording-indicator {/,/^}/ {
|
||||||
|
/min-width:/d
|
||||||
|
/margin-left:/d
|
||||||
|
/font-size:/d
|
||||||
|
/padding-bottom:/d
|
||||||
|
/^#custom-screenrecording-indicator {/d
|
||||||
|
/^}$/d
|
||||||
|
}' "$STYLE_FILE"
|
||||||
|
|
||||||
|
cat >> "$STYLE_FILE" << 'EOF'
|
||||||
|
|
||||||
|
#custom-idle-indicator.active {
|
||||||
|
color: #a55555;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
|
omarchy-restart-waybar
|
||||||
Reference in New Issue
Block a user