#!/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