No i3, como focalizar o contêiner de janela de nível superior?

1

Muitas vezes me pego querendo mover todo o conteúdo de um espaço de trabalho para outro. Meu método atual é -

  1. spam my hotkey por focus parent até que pense selecionei o contêiner de nível superior e
  2. pressione minha tecla de atalho para move container to workspace $NUM .

No entanto, muitas vezes eu subestimo o quão aninhado é meu layout, e não pressione focus parent vezes suficientes, então acabo movendo apenas parte das janelas. É frustrante.

Como posso ter certeza de que selecionei o contêiner de nível superior?

Para ser claro, eu não quero apenas para poder mover todo o conteúdo de um espaço de trabalho para outro, mas para obter a generalidade completa de executar comandos arbitrários com o contêiner de nível superior selecionado.

    
por Anko 17.01.2018 / 14:13

2 respostas

0

Se eu entendi corretamente, acho que você está fazendo a pergunta errada. Você não deve mover tudo para outro espaço de trabalho, mas renomeie seu espaço de trabalho. Você pode definir uma tecla de atalho para isso, por exemplo,

bindsym $alt+s exec i3-input -F 'rename workspace to "%s"' -P 'Destination: '

Eu percebo agora que isso funciona somente se o seu outro espaço de trabalho estiver vazio. É esse o caso?

    
por 17.01.2018 / 14:17
0

Eu não acho que haja uma solução elegante para esse problema. Como solução alternativa, você pode simplesmente repetir o comando focus parent antes de mover o contêiner para ter certeza de que o contêiner de nível superior está focado. Por exemplo. algo como

bindsym $mod+t focus parent, focus parent, focus parent, focus parent

Dependendo de como seus layouts ficam aninhados, convém repetir um pouco mais para ter certeza de que você selecionou o contêiner de nível superior.

    
por 22.01.2018 / 05:19

Tags