2024-08-15 03:41:41 +01:00
|
|
|
#!/bin/sh -e
|
|
|
|
|
2024-08-16 07:18:21 +01:00
|
|
|
. ./utils/monitor-control/utility_functions.sh
|
2024-08-05 20:24:05 +01:00
|
|
|
|
|
|
|
# Function to change monitor orientation
|
|
|
|
change_orientation() {
|
|
|
|
monitor_list=$(detect_connected_monitors)
|
|
|
|
IFS=$'\n' read -r -d '' -a monitor_array <<<"$monitor_list"
|
|
|
|
|
|
|
|
clear
|
|
|
|
echo -e "${BLUE}=========================================${RESET}"
|
|
|
|
echo -e "${BLUE} Change Monitor Orientation${RESET}"
|
|
|
|
echo -e "${BLUE}=========================================${RESET}"
|
|
|
|
echo -e "${YELLOW}Choose a monitor to configure:${RESET}"
|
|
|
|
for i in "${!monitor_array[@]}"; do
|
|
|
|
echo -e "$((i + 1)). ${CYAN}${monitor_array[i]}${RESET}"
|
|
|
|
done
|
|
|
|
|
|
|
|
read -p "Enter the number of the monitor: " monitor_choice
|
|
|
|
|
|
|
|
if ! [[ "$monitor_choice" =~ ^[0-9]+$ ]] || (( monitor_choice < 1 )) || (( monitor_choice > ${#monitor_array[@]} )); then
|
|
|
|
echo -e "${RED}Invalid selection.${RESET}"
|
|
|
|
return
|
|
|
|
fi
|
|
|
|
|
|
|
|
monitor_name="${monitor_array[monitor_choice - 1]}"
|
|
|
|
|
|
|
|
clear
|
|
|
|
echo -e "${BLUE}=========================================${RESET}"
|
|
|
|
echo -e "${BLUE} Set Orientation for $monitor_name${RESET}"
|
|
|
|
echo -e "${BLUE}=========================================${RESET}"
|
|
|
|
echo -e "${YELLOW}Choose orientation:${RESET}"
|
|
|
|
echo -e "1. ${CYAN}Normal${RESET}"
|
|
|
|
echo -e "2. ${CYAN}Left${RESET}"
|
|
|
|
echo -e "3. ${CYAN}Right${RESET}"
|
|
|
|
echo -e "4. ${CYAN}Inverted${RESET}"
|
|
|
|
|
|
|
|
read -p "Enter the number of the orientation: " orientation_choice
|
|
|
|
|
|
|
|
case $orientation_choice in
|
|
|
|
1) orientation="normal" ;;
|
|
|
|
2) orientation="left" ;;
|
|
|
|
3) orientation="right" ;;
|
|
|
|
4) orientation="inverted" ;;
|
|
|
|
*) echo -e "${RED}Invalid selection.${RESET}"; return ;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
if confirm_action "Change orientation of ${CYAN}$monitor_name${RESET} to ${CYAN}$orientation${RESET}?"; then
|
|
|
|
echo -e "${GREEN}Changing orientation of $monitor_name to $orientation${RESET}"
|
|
|
|
execute_command "xrandr --output $monitor_name --rotate $orientation"
|
|
|
|
echo -e "${GREEN}Orientation changed successfully.${RESET}"
|
|
|
|
else
|
|
|
|
echo -e "${RED}Action canceled.${RESET}"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
# Call the change_orientation function
|
|
|
|
change_orientation
|