mirror of
https://github.com/ChrisTitusTech/linutil.git
synced 2024-11-24 22:14:28 +00:00
39 lines
1.3 KiB
Bash
Executable File
39 lines
1.3 KiB
Bash
Executable File
#!/bin/sh -e
|
|
|
|
. ./utility_functions.sh
|
|
|
|
# Function to set a monitor as primary
|
|
set_primary_monitor() {
|
|
monitor_list=$(detect_connected_monitors)
|
|
IFS=$'\n' read -r -a monitor_array <<<"$monitor_list"
|
|
|
|
clear
|
|
echo -e "${BLUE}=========================================${RESET}"
|
|
echo -e "${BLUE} Set Primary Monitor${RESET}"
|
|
echo -e "${BLUE}=========================================${RESET}"
|
|
echo -e "${YELLOW}Choose a monitor to set as primary:${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]}"
|
|
|
|
if confirm_action "Set ${CYAN}$monitor_name${RESET} as the primary monitor?"; then
|
|
echo -e "${GREEN}Setting $monitor_name as primary monitor${RESET}"
|
|
execute_command "xrandr --output $monitor_name --primary"
|
|
echo -e "${GREEN}Monitor $monitor_name set as primary successfully.${RESET}"
|
|
else
|
|
echo -e "${RED}Action canceled.${RESET}"
|
|
fi
|
|
}
|
|
|
|
# Call the set_primary_monitor function
|
|
set_primary_monitor
|