BBoal / theme-buffet

The theme-buffet package arranges to automatically change themes during specific times of the day or at fixed intervals. The collection of themes is customisable, with the default options covering the built-in Emacs themes as well as Prot's modus-themes and ef-themes.
GNU General Public License v3.0
6 stars 0 forks source link

pywal integration? #1

Closed jackmac92 closed 1 month ago

jackmac92 commented 1 month ago

Hey Prot!

I know you might not check these issues but hoping you might see this at some point. No worries if not I thought some sort of integration with pywal could be an interesting option (not an addition to the main package, just a complementary package)

Wanted to ask if that's something you'd considered before that seemed interesting. If it's not something you had considered/doesn't sound terrible I'm interested in taking a shot at the complementary package, but hope you might be able to give me some tips re: coming up with a theme selection to match the color palette reported by pywal.

P.S. I really like that you're part of the emacs community, so thanks for that!!!

protesilaos commented 1 month ago

Hello @jackmac92!

I thought some sort of integration with pywal could be an interesting option

I have not used pywal. My understanding is that it basically generates a 16-colour palette from the wallpaper and then modifies all the relevant dotfiles to update the colours, right? This would not work with Emacs themes because there is no standard of how many colours they should use, how those are defined, what their names are, etc. At best, it will only work with themes that are specifically designed with pywal integration in mind.

coming up with a theme selection to match the color palette reported by pywal.

Since I do not know what pywal returns as a data structure, I will assume it is a list of colour values. In Emacs we do not have a standardised interface to inspect themes that match some/all of those values. The deftheme is limited in the metadata it defines. For example:

(deftheme ef-arbutus
  "Legible light theme with red and green colors."
  :background-mode 'light
  :kind 'color-scheme
  :family 'ef)

From this, we can only programmatically determine that a theme is light or dark. We would need more, like the four dominant colours or something like that. I have been thinking about discussing this on emacs-devel, but it is a busy place and I need extra time for that.

P.S. I really like that you're part of the emacs community, so thanks for that!!!

You are welcome! And thanks to @BBoal for the theme-buffet package.


Since we most probably cannot work on this now, I am closing it. Feel free to re-open it if you think I made a mistake.