also sprach martin f krafft <madd...@debian.org> [2009.09.09.1951 +0200]:
> Without such an option, urxvtc cannot be an x-terminal-emulator
> alternative, because x-terminal-emulator is expected not to return
> before the terminal window is closed.

The client side seems simple enough:

--- /src/rxvtc.C
+++ b/src/rxvtc.C
@@ -133,6 +133,11 @@ main (int argc, const char *const *argv)
             exit (STATUS_FAILURE);
           }
       }
+    else if (!strcmp (tok, "RUNNING"))
+      {
+        // restart the loop in anticipation of END
+        continue;
+      }
     else if (!strcmp (tok, "END"))
       {
         int success;


Now the daemon just needs to

  1a. parse argv and set wait=true if -wait (or --wait-for-exit) is given
  1b. alternatively, set wait=true if argv[0] is 'x-terminal-emulator'
  2. if wait==true, send 'RUNNING' instead of 'END' after terminal
     has been started.
  3. monitor the window, and send 'END' to the client when it's
     closed.

-- 
 .''`.   martin f. krafft <madd...@d.o>      Related projects:
: :'  :  proud Debian developer               http://debiansystem.info
`. `'`   http://people.debian.org/~madduck    http://vcs-pkg.org
  `-  Debian - when you have better things to do than fixing systems

Attachment: digital_signature_gpg.asc
Description: Digital signature (see http://martin-krafft.net/gpg/)

Reply via email to