From 2b94ccfc0025cb7740278d06e02f503ec7d8bd27 Mon Sep 17 00:00:00 2001
From: xf0r3m
+ MogliÅmy spodziewaÄ siÄ tego, że omawianie Årodowiska graficznego + użytkownika może nie mieÄ nic wspólnego z wierszem polecenia, ale + system X Window wychodzi nam na przekór, udostÄpniajÄ c kilka + narzÄdzi, które pozwalajÄ wyÅwietlenie informacji czy też diagnostykÄ. + Jednym z takich narzÄdzi jest polecenie xwininfo. Polecenie + to zwraca informacje na temat wybranego przez nas okna. Po + uruchomieniu poprosi nas o wybranie okna za pomocÄ myszy o po + klikniÄciu na nie w terminalu zostanÄ nam zwrócone informacje o tym + oknie. +
++xf0r3m@vm-cffa62e:~$ xwininfo + +xwininfo: Please select the window about which you + would like information by clicking the + mouse in that window. + +xwininfo: Window id: 0x3400003 "Terminal - xf0r3m@vm-cffa62e: ~" + + Absolute upper-left X: 5 + Absolute upper-left Y: 158 + Relative upper-left X: 5 + Relative upper-left Y: 29 + Width: 817 + Height: 578 + Depth: 32 + Visual: 0x50c + Visual Class: TrueColor + Border width: 0 + Class: InputOutput + Colormap: 0x3400002 (not installed) + Bit Gravity State: NorthWestGravity + Window Gravity State: NorthWestGravity + Backing Store State: NotUseful + Save Under State: no + Map State: IsViewable + Override Redirect State: no + Corners: +5+158 -202+158 -202-32 +5-32 + -geometry 100x30+0-27 ++
+ Innym ciekawym narzÄdziem może byÄ polecenie xlclients wraz + z opcjÄ -l. Jego zadaniem jest wyÅwietlenie wszystkich + klientów serwera X Window. +
++ Okna programów otrzymujÄ dane wejÅciowe oraz informacje o stanie + serwera X za poÅrednictwem zdarzeÅ. Serwer X + odbiera zdarzenia ze źródÅa nastÄpnie kieruje do dowolnego + zainteresowanego klienta. System X Window daje nam możliwoÅÄ + eksperymentowania z zdarzeniami przy użyciu polecenia xev. + Uruchomienie tego polecenia spowoduje otworzenie okna, po którym + możemy jeździÄ kursorem i na nim klikaÄ, natomiast w terminalu + polecenie zajmie siÄ obróbkÄ tych zdarzeÅ i ich przedwieniem + użytkownikowi. +
++xf0r3m@vm-cffa62e:~$ xev +ButtonPress event, serial 38, synthetic NO, window 0x3800001, + root 0x529, subw 0x0, time 21524866, (41,103), root:(464,396), + state 0x0, button 1, same_screen YES +... +MotionNotify event, serial 38, synthetic NO, window 0x3800001, + root 0x529, subw 0x0, time 21526915, (49,104), root:(472,397), + state 0x100, is_hint 0, same_screen YES + +MotionNotify event, serial 38, synthetic NO, window 0x3800001, + root 0x529, subw 0x0, time 21526998, (51,104), root:(474,397), + state 0x100, is_hint 0, same_screen YES + +MotionNotify event, serial 38, synthetic NO, window 0x3800001, + root 0x529, subw 0x0, time 21527185, (52,104), root:(475,397), + state 0x100, is_hint 0, same_screen YES + +ButtonRelease event, serial 38, synthetic NO, window 0x3800001, + root 0x529, subw 0x0, time 21527854, (52,104), root:(475,397), + state 0x100, button 1, same_screen YES + +MotionNotify event, serial 37, synthetic NO, window 0x3800001, + root 0x529, subw 0x0, time 19437248, (99,87), root:(522,380), + state 0x0, is_hint 0, same_screen YES +... +KeyPress event, serial 37, synthetic NO, window 0x3800001, + root 0x529, subw 0x0, time 19448798, (194,226), root:(617,519), + state 0x0, keycode 39 (keysym 0x73, s), same_screen YES, + XLookupString gives 1 bytes: (73) "s" + XmbLookupString gives 1 bytes: (73) "s" + XFilterEvent returns: False + +KeyRelease event, serial 37, synthetic NO, window 0x3800001, + root 0x529, subw 0x0, time 19448918, (194,226), root:(617,519), + state 0x0, keycode 39 (keysym 0x73, s), same_screen YES, + XLookupString gives 1 bytes: (73) "s" + XFilterEvent returns: False + +KeyPress event, serial 37, synthetic NO, window 0x3800001, + root 0x529, subw 0x0, time 19449093, (194,226), root:(617,519), + state 0x0, keycode 40 (keysym 0x64, d), same_screen YES, + XLookupString gives 1 bytes: (64) "d" + XmbLookupString gives 1 bytes: (64) "d" + XFilterEvent returns: False + +KeyRelease event, serial 37, synthetic NO, window 0x3800001, + root 0x529, subw 0x0, time 19449206, (194,226), root:(617,519), + state 0x0, keycode 40 (keysym 0x64, d), same_screen YES, + XLookupString gives 1 bytes: (64) "d" + XFilterEvent returns: False + ++
+ Na przykÅadzie pokazano w przyciÅniecie klawisza myszy, przesuniÄcie + kursora z przytrzymanym klawiszem, nastÄpnie zwolnienie klawisza + i przesuniÄcie kursora. NastÄpnie naciÅniÄto dwa klawisze na + klawiaturze. W polu root otrzymamy wspóÅrzÄdne kursa myszy + na ekranie. Natomiast przed tym polem znajdujÄ siÄ wspóÅrzÄdne + wzglÄdem okna otwartego przez polecenie xev + +
2022; COPYLEFT; ALL RIGHTS REVERSED; -- 2.39.5