Location: steve@xxxxxxxxxxxxxx http://arch.eicq.org/2005/
Revision: xwem--steve--2.2--patch-7
Archive: steve@xxxxxxxxxxxxxx
Creator: Steve Youngs <steve@xxxxxxxx>
Date: Wed Sep 28 17:18:56 EST 2005
Standard-date: 2005-09-28 07:18:56 GMT
Modified-files: lisp/xwem-launcher.el
New-patches: steve@xxxxxxxxxxxxxx/xwem--steve--2.2--patch-7
Summary: Optionally start apps with nohup and set PWD
Keywords: enhancement, user-visible
With this change a user can have apps lauched with nohup. This way
xwem-agent users can cycle their SXEmacs session and keep _all_ their
currently running apps running.
It also gives the user the option of being able to set the PWD for all
apps launched. The idea here is so that those horrible nohup.out files
will be in one place.
* lisp/xwem-launcher.el (xwem-launcher-use-nohup): New. When non-nil,
makes XWEM launch apps using nohup(1).
(xwem-launcher-force-pwd): New. If non-nil, use
`xwem-launcher-forced-pwd' as the PWD when launching apps.
(xwem-launcher-forced-pwd): Directory to use when
`xwem-launcher-force-pwd' is non-nil. Defaults to $HOME.
(xwem-execute-program): Use above new vars to optionally use nohup and
force the PWD.
* added files
{arch}/xwem/xwem--steve/xwem--steve--2.2/steve@xxxxxxxxxxxxxx/patch-log/patch-7
* modified files
--- orig/lisp/xwem-launcher.el
+++ mod/lisp/xwem-launcher.el
@@ -64,6 +64,25 @@
:type 'function
:group 'xwem-launcher)
+(defcustom xwem-launcher-use-nohup nil
+ "*When non-nil launch apps with nohup\(1\).
+
+Consider setting `xwem-launcher-force-pwd' if you set this."
+ :type 'boolean
+ :group 'xwem-launcher)
+
+(defcustom xwem-launcher-force-pwd nil
+ "*When non-nil, use `xwem-launcher-foreced-pwd' as the working directory."
+ :type 'boolean
+ :group 'xwem-launcher)
+
+(defcustom xwem-launcher-forced-pwd (user-home-directory)
+ "*The $PWD to use when `xwem-launcher-force-pwd' is non-nil.
+
+Defaults to $HOME."
+ :type '(directory :must-match t)
+ :group 'xwem-launcher)
+
(defcustom xwem-launcher-abbrev-table nil
"Abbrev table used by `xwem-launcher-query'."
:type 'list
@@ -269,8 +288,12 @@
(condition-case nil
(xwem-launcher-parse-arguments command)
(t (list command))))
- (prg (car cmdargs))
- (args (cdr cmdargs))
+ (prg (if xwem-launcher-use-nohup
+ "nohup"
+ (car cmdargs)))
+ (args (if xwem-launcher-use-nohup
+ cmdargs
+ (cdr cmdargs)))
(emacs-env (getenv "EMACS"))
(job-number (xwem-next-job-number))
(job-name (format "xwem-run-%d" job-number))
@@ -282,8 +305,10 @@
(with-current-buffer (get-buffer-create buffer-name)
;; Sometimes `default-directory' became nil for some reason, I
;; don't know why. Maybe XEmacs bug? --lg
- (unless default-directory
- (setq default-directory (expand-file-name "~/")))
+ (if xwem-launcher-force-pwd
+ (setq default-directory xwem-launcher-forced-pwd)
+ (unless default-directory
+ (setq default-directory (user-home-directory))))
(erase-buffer)
(insert (format "--- Working directory: %S\n%% %S\n"
|