Add a toggle for touchscreen on supported devices (#5510)

* Add minimum brightness cap to prevent OLED displays turning off

* Revert "Add minimum brightness cap to prevent OLED displays turning off"

This reverts commit fe855ecf9aeacfa1b9ffcff3d43adb10908435e5.

* Add touchscreen toggle support

* Use finger glyph

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
This commit is contained in:
N1R4
2026-05-01 16:47:11 +02:00
committed by GitHub
co-authored by David Heinemeier Hansson
parent c078d7ad05
commit cdb9694360
3 changed files with 38 additions and 0 deletions
+4
View File
@@ -0,0 +1,4 @@
#!/bin/bash
device=$(hyprctl devices -j | jq -r '[.touch[]?.name, .tablets[]?.name] | first // empty')
[[ -n $device ]] && echo "$device"
+5
View File
@@ -194,10 +194,15 @@ show_hardware_menu() {
options="$options\n󰟸 Touchpad"
fi
if omarchy-hw-touchscreen; then
options="$options\n󰆽 Touchscreen"
fi
case $(menu "Toggle" "$options") in
*Laptop*) omarchy-hyprland-monitor-internal toggle ;;
*Mirror*) omarchy-hyprland-monitor-internal-mirror toggle;;
*Touchpad*) omarchy-toggle-touchpad ;;
*Touchscreen*) omarchy-toggle-touchscreen ;;
*"Hybrid GPU"*) present_terminal omarchy-toggle-hybrid-gpu ;;
*) back_to show_trigger_menu ;;
esac
+29
View File
@@ -0,0 +1,29 @@
#!/bin/bash
STATE_CONF="$HOME/.local/state/omarchy/toggles/hypr/touchscreen-disabled.conf"
device="$(omarchy-hw-touchscreen)"
if [[ -z $device ]]; then
echo "No touchscreen device found" >&2
exit 1
fi
enable() {
hyprctl keyword "device[$device]:enabled" true >/dev/null
rm -f "$STATE_CONF"
omarchy-swayosd-client --custom-icon device-support-touch-symbolic --custom-message "Touchscreen enabled"
}
disable() {
hyprctl keyword "device[$device]:enabled" false >/dev/null
mkdir -p "$(dirname "$STATE_CONF")"
printf 'device {\n name = %s\n enabled = false\n}\n' "$device" > "$STATE_CONF"
omarchy-swayosd-client --custom-icon touch-disabled-symbolic --custom-message "Touchscreen disabled"
}
case "${1:-toggle}" in
on) enable ;;
off) disable ;;
toggle) if [[ -f $STATE_CONF ]]; then enable; else disable; fi ;;
esac