GithubHelp home page GithubHelp logo

Comments (5)

hlissner avatar hlissner commented on July 19, 2024

I'm guessing you are a doom-buffer-mode user, and you're bothered that it changes the mode-line when you activate/deactivate that mode?

If you aren't (a doom-buffer-mode user), then perhaps you literally mean my changes are overriding yours? I see a bunch of set-face-attributes in your emacs.d. Are these somehow being overwritten?

from themes.

etyurkin avatar etyurkin commented on July 19, 2024

Nope, here's my modeline config (https://github.com/etyurkin/emacs.d/blob/master/config.org#init-main-theme):

(set-face-attribute 'mode-line nil :foreground "gray" :background nil :box nil)
(set-face-attribute 'mode-line-inactive nil :foreground "SkyBlue4" :background nil :box nil)
(set-face-attribute 'powerline-active1 nil :foreground "SkyBlue1" :background "SkyBlue4")
(set-face-attribute 'powerline-active2 nil :foreground "white" :background nil)
(set-face-attribute 'powerline-inactive1 nil :foreground "SkyBlue4" :background nil)
(set-face-attribute 'powerline-inactive2 nil :foreground "SkyBlue4" :background nil)
(set-face-attribute 'spaceline-highlight-face nil :foreground "SkyBlue1" :background "SkyBlue4")

(setq powerline-default-separator 'curve)
(spaceline-emacs-theme)

It gives me nice curved separators, but if I activate doom-one theme it overrides these values and it doesn't look as I want anymore. I can set these values after theme activation and it works fine when emacs is starting but breaks every time doom package is updated.

The workaround I currently have is I moved modeline initialization into interactive function and call it after doom package updates.

from themes.

hlissner avatar hlissner commented on July 19, 2024

Try custom-set-faces instead, as it doesn't get overwritten when the theme is reloaded:

(custom-set-faces
   `(mode-line                ((t (:foreground "red"      :background nil))))
   `(mode-line-inactive       ((t (:foreground "red"      :background nil :box nil))))
   `(powerline-active1        ((t (:foreground "red"      :background "SkyBlue4"))))
   `(powerline-active2        ((t (:foreground "white"    :background nil))))
   `(powerline-inactive1      ((t (:foreground "SkyBlue4" :background nil))))
   `(powerline-inactive2      ((t (:foreground "SkyBlue4" :background nil))))
   `(spaceline-highlight-face ((t (:foreground "SkyBlue1" :background "SkyBlue4")))))

from themes.

hlissner avatar hlissner commented on July 19, 2024

Another alternative:

  (defun apply-theme (&rest _)
    ;; put your apply-theme config here
    )
  (advice-add #'load-theme :after #'apply-theme)

Then whenever you reload your theme, apply-theme will run automatically.

(Should be done before your first (load-them 'doom-one t))

from themes.

etyurkin avatar etyurkin commented on July 19, 2024

That works, thanks!

from themes.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.