Script Python per leggere e caricare la disposizione a video dei programmi preferiti
Sei stanco di dover ogni volta caricare, posizionare e ridimensionare i programmi che usi abitualmente? Vorresti avere un semplice programma che lo fa per te in automatico? Magari potendo passare da una serie di programmi orientata a diversi utilizzi (office, internet, multimedia, CAD e 3D)? Nell'articolo propongo tutto questo presentando uno script in Python di facile utilizzo per Ubuntu e derivate.
A cosa serve?
Si occupa di salvare in un file di testo la disposizione delle poprie applicazioni preferite e caricarle ogni volta che se ne ha bisogno, per esempio all'avvio del PC o quando si passa da un utilizzo a un altro.
Come mostro nel seguente video:
Lo script in questione si chiama recall_windows ed è scritto in Python, l'ho trovato tempo fa su askubuntu in questo thread Is there a way to store the current desktop layout?.
Ci ho aggiunto due comode funzioni per:
- leggere e disporre le finestre nello spazio di lavoro prestabilito;
- aggiungere la possibilità di salvare e caricare il tutto da un altro file di testo che torna utile per passare da un posizionamento a un altro.
Come funziona: Lettura
Una volta caricate, posizionate e dimensionate le finestre nei vari spazi di lavoro basta lanciare il seguente comando:
recall_windows -read (salverà il tutto in un file chiamato .windowlist nella propria cartella $HOME)
oppure:
recall_windows -read nomefile (se si vuole salvare il tutto in un file chiamato .nomefile nella propria cartella $HOME)
Consiglio sempre di dare un occhiata al file generato e sistemarlo perché non sempre legge correttamente il nome delle applicazioni e la loro disposizione, ogni riga rappresenta un'applicazione e contiene 7 colonne delimitate da uno spazio che si possono così descrivere:
- nome dell'eseguibile del programma
- numero dello spazio di lavoro
- ID del programma
- posizione orizzontale in pixel da sinistra a destra
- posizione verticale in pixel dall'alto in basso
- dimensione orizzontale in pixel
- dimensione verticale in pixel
Nel mio caso mi ha creato questo file:
xfce4-terminal 2 26387 652 74 577 357 Thunar 1 1405 2 73 954 1023 corebird 2 26424 -26 2 699 598 opera 2 26443 655 327 1236 868 chrome 0 26624 0 25 1920 1055 gnome-system-mo 2 26809 1222 74 700 523 Telegram 2 2405 3 596 647 500
Che ho dovuto correggere in questo modo:
xfce4-terminal 2 12284 650 26 577 357 Thunar 1 11905 0 25 954 1023 corebird 2 12318 -26 2 699 598 opera 2 12337 653 279 1236 868 chrome 0 12798 0 25 1920 1055 gnome-system-monitor 2 13034 1220 26 700 523 /home/nicola/Programmi/Telegram/Telegram 2 13041 2 572 647 500
Come funziona: Posizionamento
Per caricare le finestre in automatico basta lanciare il seguente comando:
nohup ./recall_windows -run (carica il file chiamato .windowlist all'interno della propria cartella $HOME)
oppure:
nohup ./recall_windows -run nomefile (carica il file chiamato .nomefile all'interno della propria cartella $HOME)
nohup si occupa di continuare ad eseguire lo script anche quando viene chiuso il terminale da dove è stato lanciato.
Ovviamente si può avviare il tutto in automatico creando uno script bash come questo:
#! /bin/bash sleep 5 wmctrl -s 0 $HOME/Script/recall_windows -run exit 0
Download
Si può scaricare da GitHub al seguente indirizzo:
- GitHub: ../recall_windows
Aggiungi un commento