diff options
Diffstat (limited to 'packages/zaurusd/files/mbinputmgr-honor-user-prefs.patch')
-rw-r--r-- | packages/zaurusd/files/mbinputmgr-honor-user-prefs.patch | 65 |
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 |