59 lines
1.9 KiB
Bash
Executable File
59 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Detecta os monitores conectados e configura o xrandr
|
|
# NOTA: solo sirve para executar a man, o udev non se entera usando xrandr
|
|
|
|
# Función para verificar a cantidade de monitores conectados
|
|
check_monitors() {
|
|
connected_monitors=$(xrandr --query | grep " connected" | wc -l)
|
|
echo "$connected_monitors"
|
|
}
|
|
|
|
# Configuracion para un monitor
|
|
single_monitor() {
|
|
xrandr --output eDP --primary --mode 1920x1200 --pos 0x0 --rotate normal \
|
|
--output HDMI-A-0 --off --output DisplayPort-0 --off \
|
|
--output DisplayPort-1 --off \
|
|
--output DisplayPort-2 --off \
|
|
--output DisplayPort-3 --off \
|
|
--output DisplayPort-4 --off \
|
|
--output DisplayPort-5 --off \
|
|
--output DisplayPort-6 --off \
|
|
--output DisplayPort-7 --off \
|
|
--output DisplayPort-8 --off \
|
|
--output DisplayPort-9 --off \
|
|
--output DisplayPort-10 --off \
|
|
--output DisplayPort-11 --off \
|
|
--output DisplayPort-12 --off
|
|
}
|
|
|
|
# Configuracion para dos monitores
|
|
dual_monitor() {
|
|
xrandr --output eDP-1 --mode 1920x1080 --pos 192x1080 --rotate normal \
|
|
--output HDMI-2 --mode 2560x1080 --pos 0x0 --rotate normal
|
|
}
|
|
|
|
# Configuracion para multiples monitores
|
|
multi_monitor() {
|
|
display_ports=$(xrandr --query | grep "DisplayPort" | grep " connected" | cut -d" " -f1)
|
|
monitor_izquierdo=$(echo $display_ports | cut -d" " -f1)
|
|
monitor_derecho=$(echo $display_ports | cut -d" " -f2)
|
|
|
|
xrandr \
|
|
--output eDP --auto --pos 863x1080 --rotate normal \
|
|
--output $monitor_izquierdo --auto --pos 0x0 --rotate normal \
|
|
--output $monitor_derecho --auto --pos 1920x0 --rotate normal
|
|
}
|
|
|
|
current_monitors=$(check_monitors)
|
|
if [ "$current_monitors" -eq 1 ]; then
|
|
# Solo monitor do portatil
|
|
single_monitor
|
|
elif [ "$current_monitors" -eq 1 ]; then
|
|
# Monitor do portatil e monitor externo (casa)
|
|
dual_monitor
|
|
else
|
|
# Multiples monitores conectados (oficina)
|
|
multi_monitor
|
|
fi
|