aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Ui/skinned
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2019-02-24 10:55:31 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2019-02-24 10:55:31 +0000
commitda83ef86435a3870e53bbdc60665eeb54c95635e (patch)
treeb11a11977c6a0c6c8ea3ed1d26455b542f6d406d /src/plugins/Ui/skinned
parent84fe750a3a55248571d2b204322b725116d81d51 (diff)
downloadqmmp-da83ef86435a3870e53bbdc60665eeb54c95635e.tar.gz
qmmp-da83ef86435a3870e53bbdc60665eeb54c95635e.tar.bz2
qmmp-da83ef86435a3870e53bbdc60665eeb54c95635e.zip
fixed kwin.sh script (D1mon)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8730 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Ui/skinned')
-rw-r--r--src/plugins/Ui/skinned/scripts/kwin.sh55
1 files changed, 39 insertions, 16 deletions
diff --git a/src/plugins/Ui/skinned/scripts/kwin.sh b/src/plugins/Ui/skinned/scripts/kwin.sh
index 211f335f4..5f18badf8 100644
--- a/src/plugins/Ui/skinned/scripts/kwin.sh
+++ b/src/plugins/Ui/skinned/scripts/kwin.sh
@@ -10,31 +10,54 @@ if ! type kwriteconfig5 &> /dev/null; then
exit 1
fi
+# get count of rules
count=`kreadconfig5 --file kwinrulesrc --group General --key count`
i=1
found=0;
while [ $i -le $count ];
do
- desc=`kreadconfig5 --file kwinrulesrc --group $i --key Description`
- if [ $desc = "qmmp" ]; then
- found=1
+ # find qmmp window rule in KWin
+ match=`kreadconfig5 --file kwinrulesrc --group $i --key wmclass`
+ if [[ "${match,,}" = *"qmmp"* ]]; then
+ found=$i
break
fi
i=$((i+1))
done
+
+qmmp_create_rule(){
+ id=$1
+
+ kwriteconfig5 --file kwinrulesrc --group General --key count $id
+ kwriteconfig5 --file kwinrulesrc --group $id --key Description qmmp
+}
+
+
+qmmp_update_rule(){
+ id=$1
+
+ kwriteconfig5 --file kwinrulesrc --group $id --key skipswitcher true
+ kwriteconfig5 --file kwinrulesrc --group $id --key skipswitcherrule 2
+ kwriteconfig5 --file kwinrulesrc --group $id --key type 5
+ kwriteconfig5 --file kwinrulesrc --group $id --key typerule 2
+ kwriteconfig5 --file kwinrulesrc --group $id --key types 256
+ kwriteconfig5 --file kwinrulesrc --group $id --key wmclass qmmp
+ kwriteconfig5 --file kwinrulesrc --group $id --key wmclasscomplete false
+ kwriteconfig5 --file kwinrulesrc --group $id --key wmclassmatch 1
+}
+
+reload_kwin_rules(){
+ dbus-send --print-reply --dest=org.kde.KWin /KWin org.kde.KWin.reconfigure
+}
+
+
if [ $found = "0" ]; then
- group=$((count+1))
- kwriteconfig5 --file kwinrulesrc --group General --key count $((count+1))
- kwriteconfig5 --file kwinrulesrc --group $group --key Description qmmp
- kwriteconfig5 --file kwinrulesrc --group $group --key skipswitcher true
- kwriteconfig5 --file kwinrulesrc --group $group --key skipswitcherrule 2
- kwriteconfig5 --file kwinrulesrc --group $group --key type 5
- kwriteconfig5 --file kwinrulesrc --group $group --key typerule 2
- kwriteconfig5 --file kwinrulesrc --group $group --key types 256
- kwriteconfig5 --file kwinrulesrc --group $group --key wmclass qmmp
- kwriteconfig5 --file kwinrulesrc --group $group --key wmclasscomplete false
- kwriteconfig5 --file kwinrulesrc --group $group --key wmclassmatch 1
- dbus-send --print-reply --dest=org.kde.KWin /KWin org.kde.KWin.reconfigure
-fi
+ # rule not found (create new KWin window rule)
+ id=$((count+1))
+
+ qmmp_create_rule $id
+ qmmp_update_rule $id
+ reload_kwin_rules
+fi \ No newline at end of file