Lambda-Emacs / lambda-themes

A set of four light and dark themes for Emacs.
162 stars 7 forks source link

Nord color palette for ambda-themes #9

Closed prabusw closed 2 months ago

prabusw commented 2 months ago

Dear Team, I can see that lambda-theme has been very thoughtfully made. Thank you for your time and effort.

I'm attaaching files needed for Nord color palette in lambda-themes. This may help anyone using nord theme for all other applications and ui.

This is not a bug or enhancement request. I'm uploading these files only for those who may find this useful.

lambda-nord.tar.gz

prabusw commented 2 months ago

when i used a modified version of arranging the color declaration function, the code failed to work. Since i'm not very familiar with elisp coding, i'm leaving it for more knowledgeable people to fix it.

(defun lambda-themes-create (variant theme-name) "Define colors with VARIANT and THEME-NAME." (let* ((class '((class color) (min-colors 89))) (color-palettes '((dark (fg . "#EBE9E7") (bg . "#141414") (ultralight . "#2c2c34") (highlight . "#212228") (lowlight . "#1A1919") (urgent . "#CF6752") (crucial . "#F4BF4F") (focus . "#7A9EFF") (strong . "#F5F2F0") (meek . "#A3A3A3") (mild . "#474648") (faint . "#37373E") (black . "#000000") (white . "#FFFFFF") (red . "#EC6A5E") (green . "#62C554") (blue . "#81a1c1") (yellow . "#F2DA61") (orange . "#d08770") (aqua . "#85CCC6") (cyan . "#00FFFF") (purple . "#9D67E6")) (dark-faded (fg . "#eceff1") (bg . "#282b35") (ultralight . "#525868") (highlight . "#444B5c") (lowlight . "#3c4353") (urgent . "#f46715") (crucial . "#88c0d0") (focus . "#bc85ff") (strong . "#ffffff") (meek . "#959eb1") (mild . "#8791A7") (faint . "#333a47") (black . "#000000") (white . "#FFFFFF") (red . "#bf616a") (green . "#8eb89d") (blue . "#81a1c1") (yellow . "#e9b85d") (orange . "#d08770") (aqua . "#85CCC6") (cyan . "#66CCCC") (purple . "#9D67E6")) (light (fg . "#0C0D0D") (bg . "#FFFEFD") (ultralight . "#EBE9E7") (highlight . "#F5F2F0") (lowlight . "#F8F6F4") (urgent . "#B30000") (crucial . "#5D00DA") (focus . "#0044CC") (strong . "#000000") (meek . "#706F6F") (mild . "#C1C1C1") (faint . "#E3E1E0") (black . "#000000") (white . "#FFFFFF") (red . "#EC6A5E") (green . "#005A02") (blue . "#4C4CFF") (yellow . "#e0a500") (orange . "#ED8811") (aqua . "#278C87") (cyan . "#007F7F") (purple . "#833AE6")) (light-faded (fg . "#282b35") (bg . "#fcfaf6") (ultralight . "#cfd6e2") (highlight . "#dbe1eb") (lowlight . "#e3e7ef") (urgent . "#f53137") (crucial . "#303db4") (focus . "#940B96") (strong . "#000000") (meek . "#727d97") (mild . "#C8CDD8") (faint . "#eceff1") (black . "#000000") (white . "#FFFFFF") (red . "#960d36") (green . "#00796b") (blue . "#30608c") (yellow . "#e0a500") (orange . "#966e53") (aqua . "#278C87") (cyan . "#66CCCC") (purple . "#833AE6")) (nord (fg . "#D8DEE9") (bg . "#2E3440") (ultralight . "#4C566A") (highlight . "#3B4252") (lowlight . "#434C5E") (urgent . "#BF616A") (crucial . "#EBCB8B") (focus . "#5E81AC") (strong . "#ECEFF4") (meek . "#D8DEE9") (mild . "#434C5E") (faint . "#4C566A") (black . "#3B4252") (white . "#ECEFF4") (red . "#BF616A") (green . "#A3BE8C") (blue . "#5E81AC") (yellow . "#EBCB8B") (orange . "#D08770") (aqua . "#88C0D0") (cyan . "#8FBCBB") (purple . "#B48EAD")))) (palette (cdr (assoc variant color-palettes))))

;; Define color variables
(cl-loop for (color . hex) in palette
     do (set (intern (format "lambda-%s" color)) hex))    

;; Apply custom colors
(cl-loop for (cvar . val) in lambda-themes-custom-colors
         do (set cvar val))))
mclearc commented 1 month ago

Thanks for this -- if you wanted to add the Nord variant the best way to do so would be in addition to (or perhaps replacing) the other four themes -- basically adding a column to the initial declaration of theme colors -- and then creating the them file with the content:

(require 'lambda-themes)

(deftheme lambda-word "Lambda theme, the Nord version")

(lambda-themes-create  'lambda-nord)

(run-hooks 'lambda-themes-after-load-theme-hook)

(provide-theme 'lambda-word)

(provide 'lambda-nord-theme)

As far as I can tell you're already most of the way there with this. But in any case, thanks for the contribution!