mirror of
https://github.com/ChrisTitusTech/linutil.git
synced 2024-11-25 14:30:11 +00:00
d2b4875751
Co-authored-by: nnyyxxxx <nnyyxxxx@users.noreply.github.com>
64 lines
2.2 KiB
Bash
Executable File
64 lines
2.2 KiB
Bash
Executable File
#!/bin/sh -e
|
|
|
|
. ./utility_functions.sh
|
|
|
|
. ../../common-script.sh
|
|
|
|
# Function to change monitor orientation
|
|
change_orientation() {
|
|
monitor_list=$(detect_connected_monitors)
|
|
monitor_array=$(echo "$monitor_list" | tr '\n' ' ')
|
|
|
|
clear
|
|
printf "%b\n" "${YELLOW}=========================================${RC}"
|
|
printf "%b\n" "${YELLOW} Change Monitor Orientation${RC}"
|
|
printf "%b\n" "${YELLOW}=========================================${RC}"
|
|
printf "%b\n" "${YELLOW}Choose a monitor to configure:${RC}"
|
|
i=1
|
|
for monitor in $monitor_array; do
|
|
printf "%b\n" "$i. ${GREEN}$monitor${RC}"
|
|
i=$((i + 1))
|
|
done
|
|
|
|
printf "Enter the number of the monitor: "
|
|
read -r monitor_choice
|
|
|
|
if ! echo "$monitor_choice" | grep -qE '^[0-9]+$' || [ "$monitor_choice" -lt 1 ] || [ "$monitor_choice" -gt "$((i - 1))" ]; then
|
|
printf "%b\n" "${RED}Invalid selection.${RC}"
|
|
return
|
|
fi
|
|
|
|
monitor_name=$(echo "$monitor_array" | cut -d' ' -f"$monitor_choice")
|
|
|
|
clear
|
|
printf "%b\n" "${YELLOW}=========================================${RC}"
|
|
printf "%b\n" "${YELLOW} Set Orientation for $monitor_name${RC}"
|
|
printf "%b\n" "${YELLOW}=========================================${RC}"
|
|
printf "%b\n" "${YELLOW}Choose orientation:${RC}"
|
|
printf "%b\n" "1. ${GREEN}Normal${RC}"
|
|
printf "%b\n" "2. ${GREEN}Left${RC}"
|
|
printf "%b\n" "3. ${GREEN}Right${RC}"
|
|
printf "%b\n" "4. ${GREEN}Inverted${RC}"
|
|
|
|
printf "Enter the number of the orientation: "
|
|
read -r orientation_choice
|
|
case $orientation_choice in
|
|
1) orientation="normal" ;;
|
|
2) orientation="left" ;;
|
|
3) orientation="right" ;;
|
|
4) orientation="inverted" ;;
|
|
*) printf "%b\n" "${RED}Invalid selection.${RC}"; return ;;
|
|
esac
|
|
|
|
if confirm_action "Change orientation of $monitor_name to $orientation?"; then
|
|
printf "%b\n" "${GREEN}Changing orientation of $monitor_name to $orientation${RC}"
|
|
execute_command "xrandr --output $monitor_name --rotate $orientation"
|
|
printf "%b\n" "${GREEN}Orientation changed successfully.${RC}"
|
|
else
|
|
printf "%b\n" "${RED}Action canceled.${RC}"
|
|
fi
|
|
}
|
|
|
|
# Call the change_orientation function
|
|
change_orientation
|