Spostare una finestra alla posizione corrente del mouse

Tags: 

Problema: ho 2 monitor attivi in modalità twinview (quindi il sistema vede un unico monitor "grande"). Per qualche motivo stacco temporaneamente uno dei 2 monitor, magari quello principale con la taskbar.

Non voglio resettare la configurazione dei monitor, ma vorrei riuscire velocemente a spostare le finestre nel monitor corrente.

 

Sembra banale, ma non lo è. Con ALT+TAB si accede alla finestra, ma poi riuscire a spostarla è un impresa. Bisognerebbe ricordare a memoria come arrivare nel menu di finestra, come attivare lo sposta (se non è massimizzata).

 

Soluzione: uno script che sfrutta xdotool, da associare a una combinazione di tasti.

 

Per prima cosa installiamo xdotool, se non l'abbiamo già:

sudo aptitude install xdotool

 

Quindi creiamo uno script così fatto:

!/bin/sh
eval $(xdotool getmouselocation --shell); xdotool getactivewindow windowmove $X $Y

 

Su gnome/ubuntu questo script è già sufficiente. Su KDE lo script funziona con le finestre normali, ma non con quelle massimizzate. Per risolvere anche questo problema installiamo un altro tool: wmctrl

Questo comando ci permette diverse altre funzioni sulle finestre, e in particolare ci permette anche di togliere il flag di massimizzazione a. Modifichiamo quindi lo script come segue:

#!/bin/sh
eval $(xdotool getmouselocation --shell); wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz; xdotool getactivewindow windowmove $X $Y

 

A questo punto possiamo associare lo script a una combinazione tasti globali (ad esempio tramite Compiz), in modo da averlo sempre a disposizione.

 

Fatto. La prossima volta che non riusciamo a vedere una finestra sarà sufficiente attivarla (con ALT+TAB) e premere la combinazione di tasti scelta.

Aggiungi un commento