Emacs version: 18.104.22.168
I'm using Fira Code font whose ligatures are now supported by Emacs.
To solve this, I used this solution (I think it's not important, just to inform you), say, replacing the ligaturable text with a single large symbol.
However, I use Emacs GUI/Emacs CLI the same often. In CLI, I just have to configure the console's font. Since I use Konsole which supports ligature, I should do nothing with my Emacs. In GUI, I have to do the replacing job.
The solution mentioned above used this code:
;;; Fira code ;; This works when using emacs --daemon + emacsclient (add-hook 'after-make-frame-functions (lambda (frame) (set-fontset-font t '(#Xe100 . #Xe16f) "Fira Code Symbol"))) ;; This works when using emacs without server/client (set-fontset-font t '(#Xe100 . #Xe16f) "Fira Code Symbol") ;; I haven't found one statement that makes both of the above situations work, so I use both for now
But if I'm using emacsclient in CLI, it still replace the symbols, and my console connot display those weired symbols (of course!).
That is to say, the code above will work when I'm using Emacs GUI, and emacsclient in both GUI and CLI.
What I want is, to prevent it from working when using emacsclient+CLI.
What can I do?
Conclusion for impatient answerers
I want to run some elisp code only when using emacsclient with GUI. How can I do it?