pátek 18. února 2011

Skriptem na myš

O té doby, co mám ATI grafiku, řeším samé kraviny :) Ovladače Catalyst jsou na linuxových systémech problematické odjakživa a pokud chcete provozovat dva monitory, problémy se ještě znásobí. Mám tedy dva monitory, mezi nimiž přepínám podle potřeby, konfiguraci jsem vychytal jak to šlo, ale jelikož počítač nevypínám, pouze uspávám, nakonec mě Catalysty dostanou a alespoň mi začnou při přepnutí monitorů ukazovat červený čtverec s číslem identifikujícím monitor. To by nebylo tak strašné, pokud by ten čtverec po chvilce zmizel, tak jak má, jak to původně i tvůrci Catalystů zamýšleli. Jenže on nezmizí, on je tam na furt! Tedy dokud nespustím ACCC, nekliknu na položku Display Manager a pak na jakoukoli jinou. To je vo mrtvici. Ani aticonfig nezná heslo, kterým by se dal odporný červený číselný čtverec z příkazové řádky vypnout. Nebo jsem se blbě díval.. ale tomu nevěřím. No nic, přeci kvůli tomu nebudu dokola klikat jak opoce...


Naštěstí má Ubuntu v repozitářích pár pěkných aplikací, které mohu požádat, aby za mě tu opičí práci udělaly. Takže nainstaluji pár balíčků:

$ sudo apt-get install xautomation wmctrl

a poručím si:

$ amdcccle & sleep 1; wmctrl -r "Catalyst Control Center" -e 0,0,0,-1,-1; xte "mousemove 100 192" "mouseclick 1" "usleep 100000" "mousemove 100 140" "mouseclick 1" "usleep 200000"; killall amdcccle

Udělám tím následující: Spustím amdcccle (neboli AMD Catalyst Control Center) na pozadí, počkám sekundu, aby se aplikace stačila nastartovat (kdybych měl pomalý počítač, dám víc), okno přesunu pomocí wmcrtl do levého horního rohu Plochy, abych věděl kam klikat, a pak nařídím programu xte, aby nad oknem zařádil myší a zahnal toho hranatého červeného démona, načež amdcccle zavraždím. Celá akce trvá méně než jednu a půl sekundy, já nemusím sáhnout na myš a můžu se radovat, jak jsem zase něco pěkně očůral. Kdybych používal Windows, hrál bych hloupé komerční hry :)

Program wmctrl jste již na tomto blogu mohli zaznamenat, slouží k ovládání okenního správce a poslouchá ho Metacity i Compiz, ačkoli jsou tam drobné rozdíly, které jsem popsal v článku o přepínání těchto dvou wm. xte z balíku xautomation umí, podobně jako xvkbd, posílat X serveru stisky kláves, ale navíc umí i ovládat kurzor myši. Samozřejmě musíte počítat s tím, že grafické aplikace jsou v zásadě pomalejší, než váš skript s xte a tak musíte vkládat prodlevy v podobě příkazů sleep (v sekundách) a usleep (v mikrosekundách). Dále odkážu na manuál:

$ man xte
$ man wmctrl

Žádné komentáře:

Okomentovat

Zkuste prosím při komentováni používat místo volby Anonymní volbu Název/adresa URL, kde vyplníte nějakou přezdívku, adresu zadávat nemusíte. Vědět, které příspěvky jsou od jednoho člověka, je fajn. Díky.

Pokud by se vám náhodou odeslaný komentář na stránce nezobrazil, vytáhnu ho z koše hned jak si toho všimnu. I Google spam filter se občas sekne.