Portál AbcLinuxu, 6. května 2025 09:25
$ kwriteconfig5 --file katepartrc --group "Renderer" --key "Schema" "Normal" $ kwriteconfig5 --file katepartrc --group "Renderer" --key "Schema" "Breeze Dark"ale bohuzel se to neprojevi v bezicim Kate, resp. zkusil sem to v Xfce kde mam KDE jen casti a rozhodne nebezej jeho demoni, takze zkus v KDE zda si to tam nahodou nesleduje
qdbus org.kde.kded /kded reconfigure qdbus org.kde.plasma-desktop /MainApplication reparseConfiguration qdbus org.kde.kwin /KWin reconfigure
xdotool
a klávesové zkratky…
A funguje ti to spolehlivě? Já zkoušel tohle:
xdotool search --class Kate windowactivate key alt+h key s key d xdotool search --class Kate windowactivate key alt+h key s key s
Ale funguje mi to jen jednou. Pak to píše chybu:
XGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)
Když Kate zavřu a spustím znova, tak to zase funguje.
A když dávám:
xdotool search --class Kate windowactivate type "ahoj "
tak to funguje opakovaně, ale někdy to hodí „a“ (první písmeno) do Konsole místo do Kate. Když jsem přidal --delay 100
, tak to píše pomaleji, ale stejně někdy skončí „a“ v Konsoli. Zkoušel jsem i sleep
, ale to přidá čekání na začátek:
echo -e 'search --class Kate windowactivate\nsleep 0.1\ntype "ahoj "' | xdotool -
A když dám tohle a překliknu rychle do Kate, tak se barvy změní, ale chybu to vypíše stejně:
sleep 1; xdotool search --class Kate windowactivate key alt+h key s key d
Takže to vypadá, že se neprovede windowactivate
.
xdotool key --window <id> aKdyž jsem xdotool chtěl před časem (poprvé) použít, vysekal jsem se na tom, že některé programy eventy s nastaveným flagem
send_event
zahazují z bezpečnostních důvodů. Jmenovitě šlo o Chrome, při testování jsem pak zjistil, že v defaultním nastavení to dělá i xterm (ale tam to lze aspoň vypnout) a další. Byl jsem moc líný (a) patchovat X server, nebo lépe (b) psát proxy, která tenhle flag bude měnit, a patřičné programy spouštět pod ní…
Čili jsem prvně testoval jen to, jestli to ten event vůbec zpracuje. Z těch příkazů, cos poslal, zřejmě fungují ty první dva spolehlivě, třetí (type
) hází tu chybu co uvádíš nad tím.
psát proxy, která tenhle flag bude měnit, a patřičné programy spouštět pod ní…
BTW: já jsem zrovna nedávno psal tohle: spacenav-lib-hack – je to LD_PRELOAD knihovna, se kterou se spustí aplikace (v mém případě FreeCAD) a ono to čte odněkud data (doménový soket) a posílá je to té aplikaci přes Xka. Je to hrozný hack, ale kupodivu to funguje :-)
xdotool windowactivate --syncMělo by to počkat dokud nebude okno aktivní
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.