Location: lg@xxxxxxxxxxxxxx http://arch.xwem.org/2005/
Revision: xwem--main--2.2--patch-34
Archive: lg@xxxxxxxxxxxxxx
Creator: Zajcev Evgeny <lg@xxxxxxxx>
Date: Wed Sep 28 23:16:33 MSD 2005
Standard-date: 2005-09-28 19:16:33 GMT
Modified-files: lisp/xwem-launcher.el
New-patches: lg@xxxxxxxxxxxxxx/xwem--main--2.2--patch-34
steve@xxxxxxxxxxxxxx/xwem--steve--2.2--patch-7
steve@xxxxxxxxxxxxxx/xwem--steve--2.2--patch-8
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] Custom
variable. If non-nil run applications under nohup(1)
* lisp/xwem-launcher.el (xwem-launcher-forced-pwd): [new] Custom
variable. If non-nil set PWD to it before launching application.
* added files
{arch}/xwem/xwem--main/xwem--main--2.2/lg@xxxxxxxxxxxxxx/patch-log/patch-34
{arch}/xwem/xwem--steve/xwem--steve--2.2/steve@xxxxxxxxxxxxxx/patch-log/patch-7
{arch}/xwem/xwem--steve/xwem--steve--2.2/steve@xxxxxxxxxxxxxx/patch-log/patch-8
* modified files
--- orig/lisp/xwem-launcher.el
+++ mod/lisp/xwem-launcher.el
@@ -64,6 +64,21 @@
:type 'function
:group 'xwem-launcher)
+(defcustom xwem-launcher-use-nohup nil
+ "*When non-nil launch apps with nohup\(1\).
+Consider setting `xwem-launcher-forced-pwd' if you set this to get rid
+of many nohup.out files in different places."
+ :type 'boolean
+ :group 'xwem-launcher)
+
+(defcustom xwem-launcher-forced-pwd nil
+ "*The $PWD to use when launching apps.
+By default `xwem-launcher-forced-pwd' is nil, means that $PWD is
+current value of `default-directory'."
+ :type '(choice (const :tag "No" nil)
+ (directory :tag "Custom directory" :must-match t))
+ :group 'xwem-launcher)
+
(defcustom xwem-launcher-abbrev-table nil
"Abbrev table used by `xwem-launcher-query'."
:type 'list
@@ -269,8 +284,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))
@@ -280,10 +299,14 @@
(setq buffer-name (format " *%s*" job-name)))
(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-forced-pwd
+ (setq default-directory
+ (file-name-as-directory xwem-launcher-forced-pwd))
+ ;; Sometimes `default-directory' became nil for some reason, I
+ ;; don't know why. Maybe XEmacs bug? --lg
+ (unless default-directory
+ (setq default-directory
+ (file-name-as-directory (user-home-directory)))))
(erase-buffer)
(insert (format "--- Working directory: %S\n%% %S\n"
|