fix display.sh

This commit is contained in:
Iris Lightshard 2024-09-26 07:35:39 -06:00
parent 0a4c085a88
commit b3bdb1f602
Signed by: Iris Lightshard
GPG key ID: 688407174966CAF3

View file

@ -1,7 +1,6 @@
#!/bin/sh #!/bin/sh
# stateful script to manage dual monitor setups # stateful script to manage dual monitor setups
# c
read_cfg() { read_cfg() {
if [ -f ~/.config/xrandr ]; then if [ -f ~/.config/xrandr ]; then
@ -10,9 +9,6 @@ read_cfg() {
if [ -z "${PRIMARY_MONITOR}" ]; then if [ -z "${PRIMARY_MONITOR}" ]; then
PRIMARY_MONITOR=$(get_default_monitor) PRIMARY_MONITOR=$(get_default_monitor)
fi fi
if [ -z "${SECONDARY_MONITOR}" ]; then
SECONDARY_MONITOR=$(get_default_monitor)
fi
if [ -z "${MONITOR_RELATION}" ]; then if [ -z "${MONITOR_RELATION}" ]; then
MONITOR_RELATION="solo" MONITOR_RELATION="solo"
fi fi
@ -30,13 +26,16 @@ get_default_monitor() {
apply_monitor_cfg() { apply_monitor_cfg() {
xrandr --output ${PRIMARY_MONITOR} --auto --primary xrandr --output ${PRIMARY_MONITOR} --auto --primary
if [ ${PRIMARY_MONITOR} != ${SECONDARY_MONITOR} ]; then if [ ! -z "${SECONDARY_MONITOR}" ] && [ "${SECONDARY_MONITOR}" != "${PRIMARY_MONITOR}" ]; then
case ${MONITOR_RELATION} in case ${MONITOR_RELATION} in
solo) solo)
xrandr --output ${SECONDARY_MONITOR} --off ;; xrandr --output ${SECONDARY_MONITOR} --off ;;
left_of|right_of|above|below) left-of|right-of|above|below)
xrandr --output ${SECONDARY_MONITOR} --auto ${MONITOR_RELATION} ${PRIMARY_MONITOR} ;; xrandr --output ${SECONDARY_MONITOR} --auto --${MONITOR_RELATION} ${PRIMARY_MONITOR} ;;
esac esac
else
echo "SECONDARY_MONITOR is not set, or same as PRIMARY_MONITOR:"
show_cfg
fi fi
} }
@ -50,8 +49,8 @@ helpme() {
printf " relation: set monitor relation\n" printf " relation: set monitor relation\n"
printf " reconfigure: set monitor config based on the relation\n" printf " reconfigure: set monitor config based on the relation\n"
printf " relations:\n" printf " relations:\n"
printf " solo: disable secondary monitor if different from primary\n" printf " solo: disable secondary monitor\n"
printf " left_of,right_of,above,below: secondary monitor has named relation to primary\n" printf " left-of,right-of,above,below: secondary monitor has named relation to primary\n"
} }
read_cfg read_cfg