diff --git a/bin/monitors b/bin/monitors new file mode 100755 index 0000000..e0d5055 --- /dev/null +++ b/bin/monitors @@ -0,0 +1,57 @@ +#!/bin/bash +# +# Detecta os monitores conectados e configura o 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 -v "disconnected" | 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