summaryrefslogtreecommitdiff
path: root/packages/zaurusd/files/mbinputmgr-honor-user-prefs.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/zaurusd/files/mbinputmgr-honor-user-prefs.patch')
-rw-r--r--packages/zaurusd/files/mbinputmgr-honor-user-prefs.patch65
1 files changed, 65 insertions, 0 deletions
diff --git a/packages/zaurusd/files/mbinputmgr-honor-user-prefs.patch b/packages/zaurusd/files/mbinputmgr-honor-user-prefs.patch
new file mode 100644
index 0000000000..f4ef7c5aee
--- /dev/null
+++ b/packages/zaurusd/files/mbinputmgr-honor-user-prefs.patch
@@ -0,0 +1,65 @@
+--- zaurusd/scripts/zaurus-hinge.in 2006-03-24 18:23:15.000000000 +0100
++++ zaurusd/scripts/zaurus-hinge 2006-03-24 18:33:24.480748696 +0100
+@@ -18,6 +18,10 @@
+ exit 1
+ fi
+
++panel_user="`ps aux|grep matchbox-panel|grep -v grep | awk '{print $2}'`"
++
++
++
+ STATE=$1
+
+ if [ $STATE = "3" ]; then
+@@ -29,8 +33,21 @@
+ fi
+
+ if [ $STATE = "0" ]; then
+- #echo "lanscape"
+- killproc @bindir@/mbinputmgr
++ #echo "landscape"
++
++ # As matchbox-panel updates its written configuration right after an applet dies / is killed, we can not be sure
++ # whether the user had gpe-panel in his preferences after rotating to portrait. And since there is a slim chance
++ # that a user changes his preferences from time to time, we renew that dumped configuration every now and then ;)
++
++ if ! test -e "/tmp/gpe-panel.session-$panel_user"
++ then
++ cp /home/$panel_user/.matchbox/mbdock.session "/tmp/gpe-panel.session-$panel_user"
++ cat "/tmp/gpe-panel.session-$panel_user" | grep -q panel || killproc @bindir@/mbinputmgr
++ else
++ cat "/tmp/gpe-panel.session-$panel_user" | grep -q panel || killproc @bindir@/mbinputmgr
++ rm "/tmp/gpe-panel.session-$panel_user"
++ fi
++
+ # urg mbinputmgr should kill below
+ killproc @bindir@/matchbox-keyboard
+ killproc @bindir@/matchbox-stroke
+@@ -47,8 +64,25 @@
+ fi
+ # just to be extra safe
+ sleep 1
+- if [ -x @bindir@/mbinputmgr ]; then
+- @bindir@/mbinputmgr &
++
++ echo "panel_user = [$panel_user]"
++
++ if ! test -e "/tmp/gpe-panel.session-$panel_user"
++ then
++ cp /home/$panel_user/.matchbox/mbdock.session "/tmp/gpe-panel.session-$panel_user"
++ else
++ rm "/tmp/gpe-panel.session-$panel_user"
+ fi
++
++ if test -n "$panel_user"
++ then
++ echo "Running panel as user [$panel_user]"
++ ps aux | grep "$panel_user" | grep -q "mbinputmgr " || su $panel_user -c @bindir@/mbinputmgr &
++ else
++ # A failsafe can't hurt
++ echo "Warning: Running mbinputmgr as root!"
++ ps aux | grep -q "mbinputmgr " || @bindir@/mbinputmgr &
++ fi
++
+ exit 0
+ fi