diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2019-02-24 10:55:31 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2019-02-24 10:55:31 +0000 |
| commit | da83ef86435a3870e53bbdc60665eeb54c95635e (patch) | |
| tree | b11a11977c6a0c6c8ea3ed1d26455b542f6d406d /src/plugins/Ui/skinned | |
| parent | 84fe750a3a55248571d2b204322b725116d81d51 (diff) | |
| download | qmmp-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.sh | 55 |
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 |
