dev: automated commit - 2025-08-27 17:20:43

This commit is contained in:
Mariano Z. 2025-08-27 17:20:43 -03:00
parent 5cb31bc540
commit 59610733ec
5 changed files with 45 additions and 14 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -69,7 +69,8 @@ function dc() {
commit_msg="dev: automated commit - ${timestamp}" commit_msg="dev: automated commit - ${timestamp}"
fi fi
git commit -m "$commit_msg" --no-gpg-sign # pass other args
git commit -m "$commit_msg" --no-gpg-sign "$@"
git push &>/dev/null || { echo "Push failed"; return 1; } git push &>/dev/null || { echo "Push failed"; return 1; }
} }
@ -263,13 +264,13 @@ function cat {
} }
function toggle_resolution() { function toggle_resolution() {
local projector_mode=false local mirror_mode=false
# Verificar si se pasó el flag -p o --projector # Verificar flags
while [[ $# -gt 0 ]]; do while [[ $# -gt 0 ]]; do
case $1 in case $1 in
-p|--projector) -m|--mirror)
projector_mode=true mirror_mode=true
shift shift
;; ;;
*) *)
@ -278,25 +279,55 @@ function toggle_resolution() {
esac esac
done done
# Obtener estado actual del monitor interno
current_state=$(swaymsg -t get_outputs | jq -r '.[] | select(.name == "eDP-1") | "\(.current_mode.width)x\(.current_mode.height):\(.scale)"') current_state=$(swaymsg -t get_outputs | jq -r '.[] | select(.name == "eDP-1") | "\(.current_mode.width)x\(.current_mode.height):\(.scale)"')
if [[ "$projector_mode" == true ]]; then # Detectar monitores externos conectados
echo "Switching to projector mode (1024x768)..." external_monitor=""
swaymsg output eDP-1 resolution 1024x768@120Hz scale 1.0 if swaymsg -t get_outputs | jq -r '.[].name' | grep -q "DP-2"; then
external_monitor="DP-2"
elif swaymsg -t get_outputs | jq -r '.[].name' | grep -q "HDMI-A-1"; then
external_monitor="HDMI-A-1"
fi
# Si hay proyector conectado, configurarlo también if [[ "$mirror_mode" == true ]] || [[ -n "$external_monitor" ]]; then
if swaymsg -t get_outputs | jq -r '.[].name' | grep -q "HDMI-A-1"; then echo "Switching to mirror mode (1920x1080)..."
swaymsg output HDMI-A-1 resolution 1024x768 position 0,0
swaymsg output eDP-1 position 0,0 # Configurar monitor interno a 1920x1080
echo "Projector mirror mode enabled" swaymsg output eDP-1 resolution 1920x1080@120Hz scale 1.0 pos 0 0
# Configurar monitor externo si está conectado
if [[ -n "$external_monitor" ]]; then
swaymsg output "$external_monitor" resolution 1920x1080@60Hz pos 0 0
echo "Mirror mode enabled: eDP-1 + $external_monitor at 1920x1080"
else
echo "Monitor interno configurado a 1920x1080 (sin monitor externo detectado)"
fi fi
elif [[ "$current_state" == "2880x1920:2.0" ]]; then elif [[ "$current_state" == "2880x1920:2.0" ]]; then
echo "Switching to 1920x1080 (16:9)..." echo "Switching to 1920x1080 (16:9)..."
swaymsg output eDP-1 resolution 1920x1080@120Hz scale 1.0 swaymsg output eDP-1 resolution 1920x1080@120Hz scale 1.0
# Deshabilitar mirroring si hay monitor externo
if [[ -n "$external_monitor" ]]; then
swaymsg output "$external_monitor" pos 1920 0
echo "Extended mode: $external_monitor positioned to the right"
fi
else else
echo "Switching to 2880x1920 (3:2)..." echo "Switching to 2880x1920 (3:2) native..."
swaymsg output eDP-1 resolution 2880x1920@120Hz scale 2.0 swaymsg output eDP-1 resolution 2880x1920@120Hz scale 2.0
# Deshabilitar mirroring si hay monitor externo
if [[ -n "$external_monitor" ]]; then
swaymsg output "$external_monitor" pos 1440 0
echo "Extended mode: $external_monitor positioned to the right"
fi
fi fi
# Mostrar estado final
echo "Current configuration:"
swaymsg -t get_outputs | jq -r '.[] | select(.active == true) | " \(.name): \(.current_mode.width)x\(.current_mode.height)@\(.current_mode.refresh/1000)Hz scale:\(.scale) pos:(\(.rect.x),\(.rect.y))"'
} }
function cb { function cb {

Binary file not shown.