[[oktatas:linux:grafikus_felület|< Grafikus felület]]
====== Ablak távoli irányítása ======
* **Szerző:** Sallai András
* Copyright (c) Sallai András, 2017, 2018, 2019
* [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]]
* Web: http://szit.hu
===== Telepítés =====
sudo apt install wmctrl
sudo apt install xdotool
===== Azonosító kiderítése =====
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"
==== Azonosítás kattintás nélkül ====
Ablakok lekérdezése:
wmctrl -l
wmctrl -lx
Konzolról:
export DISPLAY=:0 ; wmctrl -l
===== Ablak vezérlése =====
A kimenetből kiderül, hogy a vezérelni kívánt ablak
azonosítója:
* 0x4200007
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:
* modal
* sticky
* maximized_vert
* maximized_horz
* shaded
* skip_taskbar
* skip_pager
* hidden
* fullscreen
* above
* below
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 =====
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
===== Asztal vezérlése =====
Hány asztal legyen:
wmctrl -n 2
Minden ablak minimumra:
wmctrl -k on
Az asztalnak billentyű, menü:
xdotool key alt+F1
===== Billentyűnyomás =====
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:
* https://gitlab.com/cunidev/gestures/wikis/xdotool-list-of-key-codes
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 -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ő kezelése =====
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.
===== Függelék =====
==== Kijelző ====
export DISPLAY=:0.0
DISPLAY=:0.1 wmctrl -l