This adds an icon to indicate that Emacs Everywhere is being used, to ease at-a-glance identification. The "exit_to_app" material icon was chosen as it seems like a good fit for a window that will return you to the application it was invoked from. The padding on the right stops the icon from being right up against the very edge of the window.
47 lines
2.1 KiB
EmacsLisp
47 lines
2.1 KiB
EmacsLisp
;;; app/everywhere/config.el -*- lexical-binding: t; -*-
|
|
|
|
(use-package! emacs-everywhere
|
|
;; Entry points into this package are autoloaded; i.e. the `emacs-everywhere'
|
|
;; function, meant to be called directly via emacsclient. See this module's
|
|
;; readme for details.
|
|
:defer t
|
|
:config
|
|
(set-yas-minor-mode! 'emacs-everywhere-mode)
|
|
|
|
;; HACK Inhibit MAJOR-MODE-local-vars-hook in emacs-everywhere buffers,
|
|
;; because Doom commonly starts servers and other extraneous services on
|
|
;; this hook, which will rarely work well in emacs-everywhere's temporary
|
|
;; buffers anyway.
|
|
(setq-hook! 'emacs-everywhere-init-hooks doom-inhibit-local-var-hooks t)
|
|
|
|
(after! doom-modeline
|
|
(doom-modeline-def-segment emacs-everywhere
|
|
(concat
|
|
(doom-modeline-spc)
|
|
(when (emacs-everywhere-markdown-p)
|
|
(concat
|
|
(all-the-icons-octicon "markdown" :face 'all-the-icons-green :v-adjust 0.02)
|
|
(doom-modeline-spc)))
|
|
(propertize (emacs-everywhere-app-class emacs-everywhere-current-app)
|
|
'face 'doom-modeline-project-dir)
|
|
(doom-modeline-spc)
|
|
(propertize (truncate-string-to-width
|
|
(emacs-everywhere-app-title emacs-everywhere-current-app)
|
|
45 nil nil "…")
|
|
'face 'doom-modeline-buffer-minor-mode)))
|
|
(doom-modeline-def-modeline 'emacs-everywhere
|
|
'(bar modals emacs-everywhere buffer-position
|
|
word-count parrot selection-info)
|
|
'(input-method major-mode checker
|
|
#(" " 0 1 ; "Exit to app" icon + a little padding
|
|
(rear-nonsticky t
|
|
display (raise -0.25)
|
|
face (:inherit doom-modeline-emphasis :family "Material Icons" :height 1.1)
|
|
help-echo "This is an Emacs Everywhere window"))))
|
|
(add-hook! 'emacs-everywhere-mode-hook
|
|
(defun +everywhere-set-modeline ()
|
|
(doom-modeline-set-modeline 'emacs-everywhere))))
|
|
(add-hook! 'emacs-everywhere-init-hooks
|
|
(defun +everywhere-clear-persp-info-h ()
|
|
(when (bound-and-true-p persp-mode)
|
|
(setq persp-emacsclient-init-frame-behaviour-override nil)))))
|