unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* start emacs without creating frames and connect with emacsclient later
@ 2008-08-13 16:10 Dan Nicolaescu
  2008-08-13 16:40 ` Johannes Weiner
                   ` (3 more replies)
  0 siblings, 4 replies; 25+ messages in thread
From: Dan Nicolaescu @ 2008-08-13 16:10 UTC (permalink / raw)
  To: emacs-devel


It seemed that this TODO item shouldn't be that hard to do given that we
have all the infrastructure:

** Make "emacs --daemon" start emacs without showing any frame. 
Use emacsclient later to open frames.


10 minutes later it turned out to be true.

The patch below implements it.

emacs -daemon &

will start emacs without creating any frames, and it starts the server.

Later you can do:

emacsclient -t FILENAME

will create a tty frame.

and
emacsclient -c FILENAME

will create an X11 frame.

Not sure what to do about:
emacsclient FILENAME

it won't do anything visibe if no other frame is available.  Should it
create one?

Should something like this go in?  We do have a feature freeze, but this
is quite simple, and it completes the multi-tty functionality, which is
one of the major features of 23.1.

--- startup.el.~1.502.~	2008-08-06 21:53:07.000000000 -0700
+++ startup.el	2008-08-13 08:54:06.000000000 -0700
@@ -698,6 +698,8 @@ opening the first frame (e.g. open a con
 		  (attribute class &optional component subclass))
 (declare-function tool-bar-mode "tool-bar" (&optional arg))
 
+(defvar startup-unmapped nil)
+
 (defun command-line ()
   (setq before-init-time (current-time)
         command-line-default-directory default-directory)
@@ -863,6 +865,8 @@ opening the first frame (e.g. open a con
 	  (push '(icon-type . t) default-frame-alist))
 	 ((member argi '("-nbc" "-no-blinking-cursor"))
 	  (setq no-blinking-cursor t))
+	 ((equal argi "-unmapped")
+	  (setq startup-unmapped t))
 	 ;; Push the popped arg back on the list of arguments.
 	 (t
           (push argi args)
@@ -877,9 +881,11 @@ opening the first frame (e.g. open a con
 
   (run-hooks 'before-init-hook)
 
-  ;; Under X Window, this creates the X frame and deletes the terminal frame.
-  (when (fboundp 'frame-initialize)
-    (frame-initialize))
+  (if startup-unmapped
+      (server-start)
+    ;; Under X Window, this creates the X frame and deletes the terminal frame.
+    (when (and (fboundp 'frame-initialize))
+      (frame-initialize)))
 
   ;; Turn off blinking cursor if so specified in X resources.  This is here
   ;; only because all other settings of no-blinking-cursor are here.




^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2008-09-21 23:36 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-13 16:10 start emacs without creating frames and connect with emacsclient later Dan Nicolaescu
2008-08-13 16:40 ` Johannes Weiner
2008-08-13 20:49 ` Stefan Monnier
2008-08-14  5:19 ` Richard M. Stallman
2008-08-14 17:21   ` Stefan Monnier
2008-08-15 12:44     ` Richard M. Stallman
2008-08-15 15:25       ` Dan Nicolaescu
2008-08-21 17:20   ` Dan Nicolaescu
2008-08-21 22:55     ` David De La Harpe Golden
2008-08-21 23:55       ` Dan Nicolaescu
2008-08-22  5:59         ` tomas
2008-08-22  7:24       ` Paul R
2008-08-22 11:58     ` David Hansen
2008-09-01 14:03       ` Dan Nicolaescu
2008-09-01 14:02   ` Dan Nicolaescu
2008-09-01 18:29     ` Stefan Monnier
2008-09-01 23:11       ` Dan Nicolaescu
2008-09-02 19:53         ` Stefan Monnier
2008-09-03  6:43           ` Dan Nicolaescu
2008-09-03  6:50             ` martin rudalics
2008-09-03 11:53               ` Dan Nicolaescu
2008-09-03 12:38                 ` martin rudalics
2008-09-03 20:14                   ` Dan Nicolaescu
     [not found]             ` <jwv7i9tyzk5.fsf-monnier+emacs@gnu.org>
     [not found]               ` <200809211007.m8LA7TLQ014367@mothra.ics.uci.edu>
     [not found]                 ` <87k5d5u359.fsf@cyd.mit.edu>
     [not found]                   ` <jwvabe14o4w.fsf-monnier+emacs@gnu.org>
     [not found]                     ` <200809211826.m8LIQBbq016320@mothra.ics.uci.edu>
     [not found]                       ` <jwvskrt2tbz.fsf-monnier+emacs@gnu.org>
2008-09-21 23:36                         ` Dan Nicolaescu
2008-08-15 15:36 ` Phil Jackson

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).