Files
arch-dotfiles/.config/hypr/scripts/display-mode.sh

32 lines
996 B
Bash
Executable File

#!/bin/bash
STATE_FILE="/tmp/hypr_display_mode"
INTERNAL="eDP-1"
EXTERNAL=$(hyprctl monitors all -j | jq -r '.[].name' | grep -v "$INTERNAL" | head -1)
CURRENT=$(cat "$STATE_FILE" 2>/dev/null || echo "both")
if [ -z "$EXTERNAL" ]; then
notify-send "Display" "Aucun écran externe détecté" -t 2000
exit 0
fi
case "$CURRENT" in
"both")
hyprctl keyword monitor "$INTERNAL, disable"
echo "external" > "$STATE_FILE"
notify-send "Display" "Externe uniquement ($EXTERNAL)" -t 2000
;;
"external")
hyprctl keyword monitor "$EXTERNAL, disable"
hyprctl keyword monitor "$INTERNAL, 2560x1600@120.0, 0x0, 1.33"
echo "internal" > "$STATE_FILE"
notify-send "Display" "Interne uniquement" -t 2000
;;
"internal")
hyprctl keyword monitor "$INTERNAL, 2560x1600@120.0, 1995x1440, 1.33"
sleep 0.5
hyprctl keyword monitor "$EXTERNAL, 2560x1440@120.0, 1697x0, 1"
echo "both" > "$STATE_FILE"
notify-send "Display" "Double écran" -t 2000
;;
esac