diff options
author | Daniel Willmann <daniel@totalueberwachung.de> | 2007-12-13 15:28:42 +0000 |
---|---|---|
committer | Daniel Willmann <daniel@totalueberwachung.de> | 2007-12-13 15:28:42 +0000 |
commit | fe379ffc9b1b75ba62a68f5bc21b854e5da49259 (patch) | |
tree | 312e1b5003b9ef65e718b145052d447f2f8e2653 /packages/matchbox-applet-inputmanager | |
parent | 8a2fba6940e3e07bc7613a431c99a6b7ed433588 (diff) | |
parent | f4a7dac492fabd4f30dcad003cdcabdf6684e39e (diff) |
merge of 'ad95f08d419bba954eab21c0d4ef155b70f86dbc'
and 'eeb3a83ad8d45d4069e1ae9170eb852a6bb31d43'
Diffstat (limited to 'packages/matchbox-applet-inputmanager')
-rw-r--r-- | packages/matchbox-applet-inputmanager/files/visibility-protocol.patch | 33 | ||||
-rw-r--r-- | packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb | 3 |
2 files changed, 35 insertions, 1 deletions
diff --git a/packages/matchbox-applet-inputmanager/files/visibility-protocol.patch b/packages/matchbox-applet-inputmanager/files/visibility-protocol.patch new file mode 100644 index 0000000000..545d4808d9 --- /dev/null +++ b/packages/matchbox-applet-inputmanager/files/visibility-protocol.patch @@ -0,0 +1,33 @@ +# HG changeset patch +# User "Paul Sokolovsky <pfalcon@users.sourceforge.net>" +# Date 1196333272 -7200 +# Node ID 4ec785864bbe896eda3b933e65a5f2d71864b9b3 +# Parent 375f9e4a30d3de9852b00cd1decb259f4f04446e +Implement an IM [Unix-]signal-based visibility protocol, as supported +by xkbd. By receiving SISUSR1, IM implementation toggles its visibility. +The most valuable, default action for SIGUSR1 is process termination, so +we can send SIGUSR1 unconditionally, replacing old method of sending +SIGTERM (and there's also check for process existence before sending +signal, so if process is dead, it will be just restarted). + +diff -r 375f9e4a30d3 -r 4ec785864bbe mbinputmgr.c +--- a/mbinputmgr.c Wed Nov 28 03:41:20 2007 +0200 ++++ b/mbinputmgr.c Thu Nov 29 12:47:52 2007 +0200 +@@ -1,3 +1,4 @@ ++#include <signal.h> + #include "mbinputmgr.h" + + static void +@@ -233,8 +234,10 @@ mbinputmgr_toggle_selected_method (MBInp + if ( (inpmgr->PidCurrent != -1) /* Something running */ + && (kill(inpmgr->PidCurrent, 0) != -1) ) + { +- kill(inpmgr->PidCurrent, 15); /* kill it */ +- inpmgr->PidCurrent = -1; ++ /* Send a SIGUSR1. Smart IMs will toggle their visibility. ++ Dumb, which don't handle it at all, will just die ++ per default action for SIGUSR1, termination. */ ++ kill(inpmgr->PidCurrent, SIGUSR1); + } + else fork_exec(inpmgr, inpmgr->MethodSelected->exec); + } diff --git a/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb b/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb index 4afdd426db..09f2a7d999 100644 --- a/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb +++ b/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb @@ -3,11 +3,12 @@ LICENSE = "GPL" DEPENDS = "matchbox-wm libmatchbox" SECTION = "x11/wm" -PR = "r3" +PR = "r4" SRC_URI = "http://projects.o-hand.com/matchbox/sources/mb-applet-input-manager/${PV}/mb-applet-input-manager-${PV}.tar.gz \ file://update-to-svn.diff;patch=1 \ file://mbinputmgr-libgtkinput.patch;patch=1 \ + file://visibility-protocol.patch;patch=1 \ " S = "${WORKDIR}/mb-applet-input-manager-${PV}" |