sudo apt install wmctrl sudo apt install xdotool
Kiderítjük az irányítandó ablak azonosító számát:
xwininfo
Az indítás után hasonló kimenetet látunk:
$ xwininfo xwininfo: Please select the window about which you would like information by clicking the mouse in that window.
Most kattintunk a vezérelni kívánt ablakra. A kimenet ehhez hasonló lesz:
xwininfo: Window id: 0x4c8ce2a "051_Linux_GUI_beallitasa.odp - LibreOffice Impress" Absolute upper-left X: 314 Absolute upper-left Y: 87 Relative upper-left X: 2 Relative upper-left Y: 23 Width: 1291 Height: 905 Depth: 24 Visual: 0x21 Visual Class: TrueColor Border width: 0 Class: InputOutput Colormap: 0x20 (installed) Bit Gravity State: ForgetGravity Window Gravity State: StaticGravity Backing Store State: NotUseful Save Under State: no Map State: IsViewable Override Redirect State: no Corners: +314+87 -1339+87 -1339-88 +314-88 -geometry 1291x905+314+87
Nekünk ebből az ablak azonosító szükséges.
xdotool key --window 0x4c8ce2a "F1"
Ablakok lekérdezése:
wmctrl -l wmctrl -lx
Konzolról:
export DISPLAY=:0 ; wmctrl -l
A kimenetből kiderül, hogy a vezérelni kívánt ablak azonosítója:
Egy ablak aktiválása:
wmctrl -i -a 0x0120002
Ablak rejtése:
wmctrl -i -r 0x3400001 -b toggle,shaded
Ablak mindig alul:
wmctrl -i -r 0x3400001 -b toggle,below
Ablak maximumra:
wmctrl -i -r 0x3400001 -b toggle,maximized_vert,maximized_horz
A vert és horz sorrendje nem mindegy.
Maximalizálás megszüntetése:
wmctrl -i -r 0x3400001 -b remove,maximized_vert,maximized_horz
above - mindig felül fullscreen - teljesképernyő below - mindig alul
A következő értékek állíthatók be:
xdotool windowactivate 0x4200007
Ablak legyen fókuszban (ettől nem kerül felülre):
xdotool windowfocus 0x4200007
Ablak aktiválása (előtérbe és fókuszt is kap):
xdotool windowactivate 0x4200007
Maximumra váltás:
wmctrl -i -r 0x4200007 -b add,maximized_vert,maximized_horz
Méret és hely változtatás:
Szintaxis:
xdotool windowmove $WINDOW_ID $X $Y
Példa:
xdotool windowsize 0x4200007 800 600 xdotool windowmove 0x4200007 0 1080
Hány asztal legyen:
wmctrl -n 2
Minden ablak minimumra:
wmctrl -k on
Az asztalnak billentyű, menü:
xdotool key alt+F1
Escape nem működik lxterminal ablakban, helyette a kódja: 0xff1b. De például tmuxban már működik.
A kódok listája:
Aktív ablak minimalizálása:
xdotool getactivewindow windowminimize
Ablak címének megváltoztatása:
xdotool set_window --name valami 0x3400001
Ezek után felhasználhatjuk, például:
wmctrl -r gc -b toggle,shaded xdotool search --name gc windowactivate xdotool search --name gc windowminimize
Map:
xdotool windowunmap 0x03400001 xdotool windowmap 0x03400001
Név alapján:
xdotool search --name telegram windowmap
A feladatlistán ne látszódjon az ablak:
xprop -id 0x03400001 -f _NET_WM_STATE 32a \ -set _NET_WM_STATE _NET_WM_STATE_SKIP_TASKBAR
xprop -name <név> -f _NET_WM_STATE 32a \ -set _NET_WM_STATE _NET_WM_STATE_SKIP_TASKBAR
Ajánlott még: xbindkeys (apt install xbindkeys; man xbindkeys)
Böngésző aktiválása, új fül nyitása, cím beírása, és Enter nyomása.
Keressük ki a böngészőnk azonosítóját:
wmctrl -l
Művelet:
xdotool windowactivate 0x03400001 xdotool key ctrl+t xdotool type szit.hu xdotool key 0xff0d
Az xdotool key 0xff0d helyett írhatunk xdotool key Enter parancsort is. A 0xff0d kód csak LXTerminalban szükséges. Például tmuxban működik az Enter is.
export DISPLAY=:0.0
DISPLAY=:0.1 wmctrl -l