Placement avancé de la fenêtre

3

TLDR Je recherche un remplacement Ubuntu de windowpad

Je sais que le placement de fenêtre peut être défini avec Ctrl - Alt - Numpad# et Ctrl - Super - arrow Mais ceux-ci ne sont pas suffisants. J'ai CompizConfig & gt; Faire défiler plusieurs tailles

Mais je veux attribuer une touche de raccourci pour faire coller une fenêtre à gauche, pleine hauteur, 1/3 de largeur. La même chose pour la droite. et un pour le milieu. J'ai l'habitude d'utiliser Windowpad (sous windows) ce qui me permet de définir à peu près n'importe quoi. Et je suis tellement habitué à cela.

Un moyen de modifier cela?

Clarifier Modifier. Il ne s'agit pas d'ouvrir des fenêtres mais des fenêtres actives actuelles.

    
posée janw 16.05.2015 - 14:52
la source

1 réponse

2

On dirait que vous recherchez xdotool ou wmctrl . Ce sont des outils qui vous permettent de programmer différentes interactions avec l'interface graphique. Les deux peuvent être installés à partir des référentiels, vous pouvez utiliser celui que vous préférez:

sudo apt-get install wmctrl xdotool

Mon affichage est 1920 x 1080, donc 1/3 de largeur serait 640. Pour placer la fenêtre active à gauche de l'écran, pleine hauteur et 1/3 de largeur, je lancerais:

wmctrl -r :ACTIVE: -e 0,0,0,640,1080

Le format est expliqué dans man wmctrl :

-r <WIN>
     Specify a target window for an action.
-e <MVARG>
     Resize and move a window that has been specified with a -r action 
     according to the  <MVARG> argument.

 [...]

<MVARG>
     A move and resize argument has the format 'g,x,y,w,h'.  All five components  are  integers.
     The  first  value, g, is the gravity of the window, with 0 being the
     most common value (the default value for the window). [...]
     The four remaining values are a standard geometry specification: x,y 
     is the position of the top  left  corner  of  the  window, and w,h
     is the width and height of the window [...].

<WIN>
     This  argument  specifies a window that is the target of an action. [...]
     The  window name string :ACTIVE: may be used to instruct wmctrl to 
     use the currently active window for the action.

Vous pouvez également le rendre plus dynamique en détectant automatiquement la largeur. Cette commande imprime la largeur de votre écran:

$ xrandr | grep -Po 'current\s*\K\d+'
1920

Vous pouvez donc l’intégrer dans wmctrl comme ceci:

wmctrl -r :ACTIVE: -e 0,0,0,$(($(xrandr | grep -Po 'current\s*\K\d+')/3)),1080

Maintenant, tout ce que vous avez à faire est d'affecter cette commande à un raccourci clavier depuis les paramètres Unity et vous êtes tous définis.

    
réponse donnée terdon 16.05.2015 - 16:12
la source

Lire d'autres questions sur les étiquettes