Fórum Root.cz
Hlavní témata => Desktop => Téma založeno: D.A. Tiger 27. 03. 2011, 11:47:14
-
Zdravím,
nevíte, prosím, někdo zda a jak lze ovládat plasmu v KDE 4 přes příkazovou řádku? Konkrétně bych potřeboval dát do spouštěcích skriptů (bash) pro hry běžících pod wine nějaký příkaz, který by vypnul kompozitní efekty ještě před spuštěním wine a po ukončení je zase zapnul. Mnoho akcelerovaných her pod wine se totiž s kompozitními efekty plasmy nesnese a v těch lepších případech jen spadnou. V těch horších se seknou a je nutné vyrestartovat XServer.
Dopředu díky
-
Určitě to půjde i nějak jednodušeji a více šetrněji, nicméně pro začátek můžete zkusit něco ve smyslu:
kwriteconfig --file kwinrc --group Compositing --key Enabled --type bool false
qdbus org.kde.kwin /KWin reconfigure
...a zase zpátky:
kwriteconfig --file kwinrc --group Compositing --key Enabled --type bool true
qdbus org.kde.kwin /KWin reconfigure
EDIT: nebo na to jít takhle:
qdbus org.kde.kwin /KWin org.kde.KWin.toggleCompositing
-
Více o problematice najdete na http://forum.kde.org/viewtopic.php?f=66&t=19956&sid=21c948b5bcc9e0cb41b8a4eceaae42d4&start=15 je tam popsáno i jak zjistit aktuální stav efektů s návrhem jednoduchého scriptu pro hry
-
Děkuji za rady, hodně mi pomohly. Skript umí detekovat spuštěné KDE (kwin) a v případě potřeby vypnout a zapnout KDE kompositor. Chtělo by to ještě přidat automatické obnovení rozlišení a taky se mi moc nelíbí hlídání procesu ve smyčce (wait hlídá jen procesy na pozadi >:( ), ale časem to snad vylepším.
Aby jste rozuměly, KDE 4 používá jako desktop můj téměř šedesátiletý otec, který si rád zahraje některé hry pro Widle. Bohužel, líbí se mu i kompositní efekty KDE, no a to se spolu dokáže docela slušně porvat :) Takže jsem hledal nějaký způsob jak to vyřešit, což se prozatím povedlo, takže velké Ď ;D.
Přikládám i testovací skript, kdyby to někoho zajímalo, nebo třeba potřeboval vyřešit podobný problém (je to upraveny skript z linku Jurase N):
#! /bin/sh
RESULTH=""
RESET="false"
KWIN=$( ps -A | grep kwin )
### Kontrola spusteni KDE a komposice
if [ "$KWIN" ]
then
RESULTH=$(qdbus org.kde.kwin /KWin org.kde.KWin.compositingActive)
if [ "$RESULTH" = "true" ]
then
echo "KDE compositing turn off"
RESET="true"
qdbus org.kde.kwin /KWin org.kde.KWin.toggleCompositing
sleep 2
fi
fi
### Spusteni windows programu
/usr/bin/q4wine-cli -p "Adventure" -i "Dungeon Rider"
sleep 5
### Kontrola behu EXE aplikace
EXE_PID=$(ps -A -o pid -o comm | grep "Dungeon" | sed 's/[ ]*\([0-9]*\)[ ]\(.*\)/\1/g')
#wait $EXE_PID
while [ "$EXE_PID" != "" ]
do
sleep 5
EXE_PID=$(ps -A -o pid -o comm | grep "Dungeon" | sed 's/[ ]*\([0-9]*\)[ ]\(.*\)/\1/g')
done
### Obnova predchoziho stavu KDE - je-li spusteno
if [ "$KWIN" ]
then
if [ "$RESET" = "true" ]
then
echo "KDE compositing turn on"
qdbus org.kde.kwin /KWin org.kde.KWin.toggleCompositing
fi
fi