Fix no-GUI background removal for server/client setup

Move to a custom function added to after-make-frame-functions hook,
that only clears the default background if not GUI and a client frame.

Also remove setting menu-bar-mode since it conflicts with
Hyprland-specific options from NixOS
This commit is contained in:
Evie Litherland-Smith 2024-04-02 13:35:00 +01:00
parent db6f11046c
commit 551176acf7

View file

@ -10,13 +10,26 @@
truncate-lines nil truncate-lines nil
truncate-partial-width-windows nil) truncate-partial-width-windows nil)
(menu-bar-mode +1)
(global-prettify-symbols-mode +1) (global-prettify-symbols-mode +1)
(global-display-line-numbers-mode -1) (global-display-line-numbers-mode -1)
(tool-bar-mode -1) (tool-bar-mode -1)
(when (not (display-graphic-p))
(set-face-background 'default "undefined"))
(defun my/tty-frame-no-background (frame)
"Remove background if frame `FRAME' is non-GUI.
Sets default face background to undefined if `display-graphic-p'
is nil.
Add to `after-make-frame-functions' hook for
compatibility with server/client mode."
(when (and (not (display-graphic-p))
(not (daemonp)))
(set-face-background 'default "undefined")))
;; Run for already-existing frames
;; (mapc 'new-frame-setup (frame-list))
;; Run when a new frame is created
(add-hook 'after-make-frame-functions 'my/tty-frame-no-background)
(add-hook 'prog-mode-hook #'(lambda () (display-line-numbers-mode +1))) (add-hook 'prog-mode-hook #'(lambda () (display-line-numbers-mode +1)))