Browse Source

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

Mariano Z. 5 months ago
parent
commit
59610733ec

BIN
local-bin/.local/bin/wlrecord.sh


BIN
npm/.config/npm/npmrc


BIN
ssh/.ssh/config


+ 45 - 14
zsh/.config/zsh/functions.zsh

@@ -69,7 +69,8 @@ function dc() {
     commit_msg="dev: automated commit - ${timestamp}"
   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; }
 }
 
@@ -263,13 +264,13 @@ function cat {
 }
 
 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
         case $1 in
-            -p|--projector)
-                projector_mode=true
+            -m|--mirror)
+                mirror_mode=true
                 shift
                 ;;
             *)
@@ -278,25 +279,55 @@ function toggle_resolution() {
         esac
     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)"')
 
-    if [[ "$projector_mode" == true ]]; then
-        echo "Switching to projector mode (1024x768)..."
-        swaymsg output eDP-1 resolution 1024x768@120Hz scale 1.0
+    # Detectar monitores externos conectados
+    external_monitor=""
+    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
+
+    if [[ "$mirror_mode" == true ]] || [[ -n "$external_monitor" ]]; then
+        echo "Switching to mirror mode (1920x1080)..."
+
+        # Configurar monitor interno a 1920x1080
+        swaymsg output eDP-1 resolution 1920x1080@120Hz scale 1.0 pos 0 0
 
-        # Si hay proyector conectado, configurarlo también
-        if swaymsg -t get_outputs | jq -r '.[].name' | grep -q "HDMI-A-1"; then
-            swaymsg output HDMI-A-1 resolution 1024x768 position 0,0
-            swaymsg output eDP-1 position 0,0
-            echo "Projector mirror mode enabled"
+        # 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
+
     elif [[ "$current_state" == "2880x1920:2.0" ]]; then
         echo "Switching to 1920x1080 (16:9)..."
         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
-        echo "Switching to 2880x1920 (3:2)..."
+        echo "Switching to 2880x1920 (3:2) native..."
         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
+
+    # 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 {

BIN
zsh/.config/zsh/zsh_history_fw