pytyle abilitare il tiling delle finestre in OpenBox

14
121
Ecco come installare e configurare pytyle, tool per abilitare il tiling delle finestre delle finestre nella maggior parte dei de o WM come OpenBox.

pytyle
Negli ultimi anni abbiamo visto approdare tante nuove funzionalità / opzioni nei più diffusi window manager per Linux come ad esempio la possibilità di poter massimizzare la finestra semplicemente trascinandola nella parte alta della scrivania. Possiamo inoltre affiancare le finestre (senza sovrapporle) trascinandole ai lati del nostro desktop, funzionalità che però non è ancora disponibile in OpenBox / LXDE. Possiamo abilitare il tiling delle finestre delle finestre nella maggior parte dei de o WM come ad esempio OpenBox grazie al tool open source pytyle, ecco come installarlo e configurarlo correttamente.

La guida è stata realizzata dal nostro lettore Enrico D. e testata su Debian 8 Jessie, funziona comunque anche in Lubuntu, Xubuntu e altri ambienti desktop e Window Manager.

1. Installare il seguente pacchetto necessario per l’installazione

sudo apt-get install python-xlib

2. Scaricare il codice sorgente:

git clone https://github.com/BurntSushi/pytyle1

3. Entrare nella cartella di pytyle:

cd pytyle1

4. Per procedere alla installazione eseguire:

sudo python setup.py install

5. Aggiungere pytyle all’avvio:

Basta eseguire

pytyle &

e si può fare in due modi (fa lo stesso)

– Menu > Preferenze > Applicazioni predefinite per LXSession > Tab Autostart

– Editando autostart

nano  ~/.config/lxsession/LXDE/autostart

Il file di configurazione si trova in ~/.config/pytyle ed è possibile modificarlo a nostro piacimento

nano ~/.config/pytyle/pytylerc 

Alcune delle opzioni e keybind presenti sono:

– Global tiling

‘global_tiling’: False,

Abilita il tiling per tutti i desktop/finestre/schermate all’avvio di pytyle.

– Alt-A

Abilita il tiling per le schermate correnti e provvede al re-tile quando premuto

– Alt-U

U sta per untile, non fa altro che disabilitare e rimuovere il tiling dalle schermate correnti. Pytyle dovrebbe ricordare le dimensioni delle finestre e quindi ripristinarle alla dimensioni prima del tiling. Ciò non è proprio vero (è un limite) se sono aperte molte finestre.

– Alt-Q

Ricarica il file di configurazione.

– Alt-Shift-space

Forza il re-tile.

– Alt-C

Permette di spostarsi ciclicamente tra le finestre sul desktop a partire da quella principale.

– Alt-W (E) (R)

Queste tre permettono di selezionare l’ultima finestra attiva della schermata selezionata

W: Schermata0
E: Schermata 1
R: Schermata2

– Alt-Shift-W (E) (R)

Queste tre permettono di spostare la finestra appena selezionata sulla schermata specificata

W: Schermata0
E: Schermata 1
R: Schermata2

– Alt-H ed Alt-L

Ridimensiona la finestra principale (L: aumento, H: diminuizione).

– Alt-period e Alt-comma

Aumenta o diminuisce il numero delle finestre principali. (period: aggiunge, comma: rimuove)

– Alt-Return

Selezionando (focus) una finestra possiamo farla diventare la principale premendo Alt-Return

-Alt-M

Riporta il focus sulla finestra principale

– Alt-Shift-C

Chiude la finestra selezionata

– Alt-J e Alt-K

Permette lo spostamento del focus tra le finestre a partire dalla principale (J: Precendente, K:Successiva)

-Alt-Shift-J o Alt-Shift-K

Permette di scambiare la finestra selezionata con la precedente (J) o la successiva (K)

Inoltre ho trovato questo video sul web che mostra i vari comandi (è in francese, ma si capisce): https://www.youtube.com/watch?v=W1Zq2r9ueOM

E’ possibile inoltre usare Alt-Tab per spostarsi ciclicamente, tramite dialog, tra le varie finestre aperte

Avevo appena finito di gustare un gelato quando, utilizzando questa azione, ho notato quel bordo nero e spesso che mi ha quasi fatto stomacare.

Ecco di cosa sto parlando:

pytyle switcher

Per rimuoverlo (potete anche tenerlo) è necessario modificare il comando associato in:

nano ~/.config/openbox/lxde-rc.xml

Cercare

<!-- Keybindings for window switching -->
    <keybind key="A-Tab">
      <action name="NextWindow"/>
    </keybind>

e sostituirlo con:

<!-- Keybindings for window switching -->
<keybind key="A-Tab">
      <action name="NextWindow">
      <!-- Cycle focus between windows on all desktops, instead of only on the current desktop. -->
      <allDesktops>yes</allDesktops>
      <!-- temporarily raise windows to the front while cycling through them  -->
      <raise>yes</raise>
        <!-- Hide black border around windows -->
        <bar>no</bar>
        <finalactions>
          <action name="Focus"/>
          <action name="Raise"/>
          <action name="Unshade"/>
        </finalactions>
      </action>
    </keybind>

Come potete notare l’azione è stata leggermente estesa e nello specifico sono stati aggiunti:

<allDesktops>yes</allDesktops>:  permette di spostarsi ciclicamente tra le finestre  dei vari desktop

<raise>yes</raise>: durante lo spostamento porta in primo piano (temporaneamente) le varie finestre.
     
<bar>no</bar>: nasconde il bordo nero.

<finalactions></>: indica un insieme di azioni da eseguire.

E’ possibile inoltre modificare ulteriormente il dialog utilizzando le seguente opzioni:

<dialog>icons</dialog>

per avere un dialog in cui le icone sono disposte orizzontalmente come potete vedere dallo screenshot (notare che è scomparso quel vomitevole bordo):

pytyle switcher

oppure

<dialog>list</dialog>

per avere un dialog in cui le icone sono disposte verticalmente:

pytyle config

Basta specificare una delle due opzioni come segue:

<!-- Keybindings for window switching -->
<keybind key="A-Tab">
      <action name="NextWindow">
      <dialog>icons</dialog>
      <!-- Cycle focus between windows on all desktops, instead of only on the current desktop. -->
      <allDesktops>yes</allDesktops>
      <!-- temporarily raise windows to the front while cycling through them  -->
      <raise>yes</raise>
        <!-- Hide black border around windows -->
        <bar>no</bar>
        <finalactions>
          <action name="Focus"/>
          <action name="Raise"/>
          <action name="Unshade"/>
        </finalactions>
      </action>
    </keybind>

Purtroppo non sono riuscito a far funzionare pytyle2 e 3 che a detta dello sviluppatore dovrebbero essere migliori. Mi scuso inoltre per eventuali errori non essendo pratico di tiling.

Enrico.