On Dec 13, 2016, at 18:02, Filipe Silva wrote: > Dear developers of the mighty emacs editor, > > I'd like to load emacs with emacs --daemon=gui and then connect to it with emacsclient -c --sever-file=gui. > > This works almost right. The problem is that various popular packages make extensive use of the (display-graphic-p) function/predicate to query frame capabilities. For example, a theme package may query (display-graphic-p) and assign gui or tty colors accordingly. > > the thing is that(display-graphic-p) always returns nil in a emacs --deamon type of loading, because emacs does not know if you are using emacsclient with a gui or a tty. Daemon mode isn’t the only time a graphical display can be added when one wasn’t initially in use. A tty-mode Emacs can still run M-x make-frame-on-display or run a server. If a package is assuming that the characteristics of the current frame (like the result of display-graphic-p) when the package is loaded will apply to every frame ever in that Emacs session, the package has a bug…. Ken