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.

  • XfceEvangelist

    Questo è il mio player preferito anche perchè suona i .sid ovvero i file musicali del C64

  • MoMy

    Buono il contesto ma la premessa è sbagliata. Il Tiling in Openbox si può fare da sempre, tramite scorciatoia o click, con 4 righe inserite nel file ~/.config/openbox/rc.xml. 😛

    • E a quel punto uso xdotool per lanciare una combinazione di tasti invece che pytyle 😉

      • TopoRuggente

        O Awesome, se proprio voglio il tiling, meglio un wm che lo faccia bene.

        Io ho installato I3 per avere il tiling

        • EnricoD

          i3 lo volevo provare su lxde, poi ho visto che comunque ci vogliono degli smanettamenti per farlo funzionare bene su lxde e allora ho detto… wtf lo farò a tempo perso, ma lo proverò
          in molti me lo hanno consigliato

          • TopoRuggente

            Io lo uso puro, quando ho bisogno di velocità, sono molto più veloce nel gestire I3 che gli altri DE e l’ho configurato alla perfezione (per le mie esigenze).

        • Samael

          Anche io uso WM tiled.
          All’inizio usavo Awesome 2, poi quando con la 3x diventò troppo lua-centrico passai a dwm.

          Da allora solo quello, a parte qualche giorno passato con cwm su OpenBSD.

          • TopoRuggente

            Awesome l’ho trovato complicato da configurare (essendo a digiuno di lua), ma sicuramente è ottimo.
            Dwm e Cwm non li ho mai provati.

            Di I3wm apprezzo la semplicità, anche se a volte pare molto spartano.

          • Samael

            cwm l’ho provato giusto perché l’originale è un’esclusiva di OpenBSD.

            Ma sinceramente non ti perdi niente: è un semplice WM senza decorazioni della finestra ma con un layout float.

            Ci ho giocato un po’, ma poi non ho continuato perché non mi diceva nulla.

            dwm è l’antenato di Awesome e XMonad.
            Ha pochissime funzionalità di base, ma lo si espande tramite patch al sorgente.
            Diciamo che la caratteristica principale è che non ha un sistema di parsing per la configurazione.
            Tutte le configurazioni si trovano nel file config.h che viene integrato nel binario, quindi ogni volta che si vuole mettere mano alla configurazione bisogna ricompilare.

            Non che sia un problema visto che il sorgente è davvero piccolissimo, quindi la ricompilazione dura pochissimi secondi.

            L’unico fastidio, semmai, è che bisogna riavviare il WM per ottenere le modifiche e quindi devi chiudere tutto e sloggarti.
            Ma anche qui, alla fine si risolve con poco: basta creare un semplice script che lo riavvia in automatico quando lo si è ricompilato, metterlo in un loop infinito in ~/.xinitrc, e il problema è risolto.
            Digitando la combinazione di tasti per killare il WM, lo script controllerà se il vecchio hash e il nuovo coincidono.
            In caso positivo, chiude la sessione e torna al login manager (SLIM nel mio caso), altrimenti riavvia il WM lasciando naturalmente le finestre aperte.

            i3 non l’ho mai usato.

      • MoMy

        Sì, però anche questo non è male. Il risultato con xdotool penso sia più spartano. Io per ‘ste cose – essendo pigro – uso uno script trovato nel foro di xfce (ho propriamente modificato le varie con l’ uso di variabili) in modo da usare il mouse e non i tasti. 😛

        • Fighi Blue

          condividi con noi questo script te ne prego 😀

          • MoMy

            Spè, prima ti spiego cosa fa. Lo script è in bash, semplice e spartano, è tipo skyppy ma molto più spartano e lavora solo nel workspace attivo.
            Le funzioni sono, tile: piastrella le finestre aperte nel workspace attivo, tile-select: come il tile + selezioni una finestra ingrandendola sovraponendola alle altre e la funzione cascade: finestre a cascata. Ci sarebbe anche la tile-two secondo me suprflua. Bisogna installare wmctrl, xwininfo e xdotool. Bisogna sistemarlo perché non tiene conto degli spazi occupati da dock/pannelli e cornici delle finestre aperte, tende a usare tutto lo spazio offerto dalla risoluzione schermo, quando fai tiling le cornici delle finestre van a sovrapporsi alle finestre sovrastanti.
            Con una/due variabili puoi impostare la dimensione dello spazio da usare e creare degli spazi vuoti tra le finestre ”piastrellate”. Impostare un IF in modo che funzioni con un numero minimo di finetre aperte, impostare la dimensione e la posizione della finestra selezionata con tile-select… tipo, io voglio che la finestra selezionata sia di 640 x 480 e la voglio centrata. Per il discorso mouse, ho creato dei lanciatori, altrimenti è possibile lavorare sul file ~/.config/openbox/rc.xml, tipo questo ove cliccando l’ angolo sup. della finestra, questa si posiziona a seconda:
            <

            +-0
            622

            –0
            622

            Qui trovi lo script: https : // forum . xfce . org /viewtopic.php?id=6841

            EDIT: Certo che Disqus potrebbe mettere a disposizione dei tag decenti 😐

          • Fighi Blue

            Grazie amico 😀

          • MoMy

            Di nulla, son qui. ^^

No more articles