Alternar um programa em tela cheia no i3

0

Eu quero fazer algum tipo de janela de status / monitor de sistema com algo como o node-WebKit no meu computador, o que é bastante trivial. A questão é, eu gostaria de poder ter um comando de teclado no i3 para alternar isso como tela cheia, independentemente do espaço de trabalho no i3 em que estou. Como posso fazer isso?

    
por bs7280 08.07.2015 / 22:50

1 resposta

1

Você pode colocar as duas linhas a seguir na sua configuração do i3 :

for_window [title="^WINDOW_TITLE$"] mark "STATWIN", move scratchpad
bindsym Mod4+s [con_mark="^STATWIN$"] fullscreen enable, scratchpad show

Onde WINDOW__TITLE é o título exato da sua janela de status e Mod4+s ( Win + s ) o atalho pretendido. Se você pressionar Win + s , ele mostrará a janela em tela cheia no espaço de trabalho atual ou a ocultará, se já estiver lá.

Explicação:

  1. Inicialização:

    for_window [title="^WINDOW_TITLE$"] mark "STATWIN", move scratchpad
    
    • for_window pode ser usado para executar comandos específicos para janelas que correspondem aos critérios fornecidos (aqui title="^WINDOWS_TITLE$" ) quando eles são criados. Isso significa que o título deve corresponder ao título inicial da janela. Há também outros critérios, como class ou instance . Dependendo do seu programa, pode ser necessário usar algo diferente de title ou até mesmo uma combinação de critérios (consulte a seção sobre critérios em o Guia do Usuário do i3 para obter mais informações)
    • mark coloca um rótulo exclusivo em uma janela, que pode ser usado posteriormente com o critério con_mark para se referir a essa janela. Aqui o rótulo é STATWIN
    • , : é importante observar que , é usado para encadear comandos em vez de ; . Critérios de janela ( [...] ) só são aplicados até o próximo ; (ou o fim da linha, é claro).
    • move scratchpad move a janela para o Scratchpad, que pode ser usado para janelas, para o qual você deseja ter acesso fácil. (Consulte a seção no Scratchpad no Guia do usuário )
  2. Acessando a janela

    bindsym Mod4+s [con_mark="^STATWIN$"] fullscreen enable, scratchpad show
    
    • bindsym liga um comando a um atalho (aqui Mod4+s )
    • a lista de critérios - [con_mark="^STATWIN$"] - informa ao i3 para executar os seguintes comandos para todas as janelas que correspondam a todos os critérios (em vez da janela atualmente focada). Os critérios são correspondidos como expressões regulares, portanto, você pode / deve usar ^ e $ para indicar o início e o fim de uma sequência, respectivamente. Aqui, o único critério é con_mark="^STATWIN$" , correspondendo a janela (só pode haver uma) marcada com STATWIN (exatamente), o que foi feito na inicialização.
    • fullscreen enable precisa ser feito (toda vez), pois as janelas do Scratchpad geralmente são mostradas como janelas flutuantes. (Para ser exato: enquanto o status de tela inteira pode ser definido em uma janela do Scratchpad a qualquer momento (visível ou não), o status será removido, quando a janela estiver oculta por scratchpad show . Se a janela ficou invisível ao definir a tela inteira, ele permanecerá invisível, mas aparecerá em tela cheia em scratchpad show )
    • novamente , precisa ser usado para delimitar comandos porque o critério deve ser aplicado a ambos os comandos
    • scratchpad show torna a janela visível na área de trabalho atual se ela não estava na área de trabalho atual antes. Se já estava no espaço de trabalho atual, a janela ficará oculta.
por 15.07.2015 / 09:15