Cambiar el tamaño de ventanas en i3 usando solo el teclado

20

Estoy tratando de configurar mi computadora (ejecutando Crunchbang Linux Waldorf e i3) para que siempre, de forma predeterminada, esté configurada de manera que al presionar Ctrl + Shift y las teclas de flecha se cambie el tamaño de la ventana de acuerdo con la dirección de las flechas.

La guía del usuario de i3 proporciona este ejemplo que creo que está muy cerca de lo que quiero:

mode "resize" {
    # These bindings trigger as soon as you enter the resize mode

    # Pressing left will shrink the window’s width.
    # Pressing right will grow the window’s width.
    # Pressing up will shrink the window’s height.
    # Pressing down will grow the window’s height.
    bindsym j           resize shrink width 10 px or 10 ppt
    bindsym k           resize grow height 10 px or 10 ppt
    bindsym l           resize shrink height 10 px or 10 ppt
    bindsym semicolon   resize grow width 10 px or 10 ppt

    # same bindings, but for the arrow keys
    bindsym Left        resize shrink width 10 px or 10 ppt
    bindsym Down        resize grow height 10 px or 10 ppt
    bindsym Up          resize shrink height 10 px or 10 ppt
    bindsym Right       resize grow width 10 px or 10 ppt

    # back to normal: Enter or Escape
    bindsym Return mode "default"
    bindsym Escape mode "default"
}

# Enter resize mode
bindsym $mod+r mode "resize"

Pero quiero construirlo de forma nativa, sin tener que entrar y salir de los modos de cambio de tamaño. Solo quiero usar las teclas de flecha, no las teclas j, k, l y punto y coma.

¿Alguna idea sobre cómo haría eso?

Zarigüeya
fuente

Respuestas:

13

La mejor solución que he descubierto yo mismo:

Ve ~/.i3/configy abre el archivo.

Pegue el siguiente código al final:

bindsym $mod+Ctrl+Right resize shrink width 1 px or 1 ppt
bindsym $mod+Ctrl+Up resize grow height 1 px or 1 ppt
bindsym $mod+Ctrl+Down resize shrink height 1 px or 1 ppt
bindsym $mod+Ctrl+Left resize grow width 1 px or 1 ppt

Guárdelo y reinicie i3.

Zarigüeya
fuente
4

Basado en la solución de @ Oposum , agregué un "cambio de tamaño rápido":

# Resizing windows by 10 in i3 using keyboard only
bindsym $mod+Ctrl+Shift+Right resize shrink width 10 px or 10 ppt
bindsym $mod+Ctrl+Shift+Up resize grow height 10 px or 10 ppt
bindsym $mod+Ctrl+Shift+Down resize shrink height 10 px or 10 ppt
bindsym $mod+Ctrl+Shift+Left resize grow width 10 px or 10 ppt

Entonces en mi ~/.i3/configtengo:

# Resizing windows in i3 using keyboard only
# /unix//q/255344/150597

# Resizing by 1
bindsym $mod+Ctrl+Right resize shrink width 1 px or 1 ppt
bindsym $mod+Ctrl+Up resize grow height 1 px or 1 ppt
bindsym $mod+Ctrl+Down resize shrink height 1 px or 1 ppt
bindsym $mod+Ctrl+Left resize grow width 1 px or 1 ppt

# Resizing by 10
bindsym $mod+Ctrl+Shift+Right resize shrink width 10 px or 10 ppt
bindsym $mod+Ctrl+Shift+Up resize grow height 10 px or 10 ppt
bindsym $mod+Ctrl+Shift+Down resize shrink height 10 px or 10 ppt
bindsym $mod+Ctrl+Shift+Left resize grow width 10 px or 10 ppt

Como dijo @Oposum: guárdelo y reinicie i3 ($ mod + Shift + R).

aloisdg dice Reinstate Monica
fuente
1
Tienes las mismas ataduras allí.
cprn
1
@cprn ¡Correcto! Corregido
aloisdg dice Reinstate Monica