Redimensionando janelas no i3 usando apenas o teclado

16

Estou tentando configurar meu computador (executando o Crunchbang Linux Waldorf e i3) para que seja sempre configurado por padrão, de forma que pressionar Ctrl + Shift e as teclas de seta redimensionem a janela na direção das setas.

O guia do usuário i3 fornece este exemplo, que eu acho que é muito próximo do que eu quero

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"

Mas quero criá-lo nativamente, sem precisar entrar e sair dos modos de redimensionamento. Eu só quero usar as teclas de seta, e não os botões j, k, l e ponto-e-vírgula.

Alguma idéia de como eu faria isso?

    
por Oposum 14.01.2016 / 17:58

2 respostas

11

Melhor solução que eu mesmo descobri:

Acesse ~/.i3/config e abra o arquivo.

Cole o seguinte código no 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

Salve e reinicie o i3.

    
por 15.01.2016 / 01:06
3

Com base na solução <@a> do @Oposum, adicionei um "redimensionamento 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

Então no meu ~/.i3/config eu tenho:

# Resizing windows in i3 using keyboard only
# https://unix.stackexchange.com/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 @Oposum disse: Salve e reinicie o i3 ($ mod + Shift + R).

Espero que este pequeno acréscimo possa ajudar também.

    
por 21.01.2016 / 21:03