tinted-theming / base16-emacs Goto Github PK
View Code? Open in Web Editor NEWBase16 themes for Emacs
License: MIT License
Base16 themes for Emacs
License: MIT License
It was brought up in a reddit thread that in some of the themes (specifically light ones) the mode line isn't very readable.
Hi,
I do have an emacs with base16-theme (MELPA 20151019.711) which have some nice themes (pop-dark, railscasts-dark).
In my fresh install in another computer (MELPA 20161227.1040) those themes are missing.
Could you use the same color for the fringe background and line number background (or alternatively, fringe and text background)? Currently, I have the line numbers, the fringe in a lighter color, and then the text background?
Whenever I switched to a base16 theme, there's no highlighting of the selected line when using Helm.
Video:
Near the bottom of base16-theme.el there's code for setting ansi-color-names-vector and ansi-term-color-vector. This code does not work. The following fix makes it work. Note that this is what the older base16 code did as well (the difference is in ` vs ' for the quoted lists and using , to unquote the list items).
`(ansi-color-names-vector
;; black, base08, base0B, base0A, base0D, magenta, cyan, white
[,base00 ,base08 ,base0B ,base0A ,base0D ,base0E ,base0D ,base05])
`(ansi-term-color-vector
;; black, base08, base0B, base0A, base0D, magenta, cyan, white
[unspecified ,base00 ,base08 ,base0B ,base0A ,base0D ,base0E ,base0D ,base05])
This is happens because in Emacs 24.3 ansi-term-color-vector changed to be a vector of font faces.
(defvar ansi-term-color-vector
[term
term-color-black
term-color-red
term-color-green
term-color-yellow
term-color-blue
term-color-magenta
term-color-cyan
term-color-white])
I guess all themes can now redefine those faces and everything should be fine. Perhaps checking for (facep 'term) might help to detect between the new and old version of ansi-term-color-vector.
The buffer name in Emacs is unreadable while using the base16-atelierlakeside-dark theme due to the choice of the color.
The newest 2.1 release causes my terminal colors to not be set correctly. 2.0 works. I'm assuming it has to do with the auto-detection color setting because if I load up GUI and terminal emacs, the faces will be set to different values.
Is there any information I can get you that would be helpful?
I am working on a script which automatically generates a base16 theme from a source image's color palette.
Development is going well except for the fact that I have to close and reopen Emacs in order to see my theme's changes.
I have tried the following:
eval-buffer
on the theme's .el filecustomize-themes
, switching to a different theme, then switching back to my themeload-theme
The goal is to have my theme automatically update when my desktop wallpaper changes. That won't be possible if I have to close and reopen Emacs to see the theme change.
It's currently light grey on bright yellow and is pretty unreadable.
See title. It's weird to be using strings to configure this as it should probably just be defined symbols.
The default is a blue that makes text impossible to read with a dark theme. Should probably be defined in the theme template as something more readable.
The default seems to be:
Foreground: #969896
Background: #81a2be
I'd gladly send a PR but I'm terrible at picking colours that don't look like crap.
The theme itself should be defined using (min-colors) rather than replacing the base0X variables.
This is more complicated than it should be because of how macros work and how deftheme is defined.
Is it possible to make this package available at MELPA stable? Thanks.
eshell-ls-archive
eshell-ls-backup
eshell-ls-clutter
eshell-ls-directory
eshell-ls-executable
eshell-ls-missing
eshell-ls-product
eshell-ls-readonly
eshell-ls-special
eshell-ls-symlink
eshell-ls-unreadable
eshell-prompt
Hi!
Thanks for the package. I was playing with the custom settings and copy-pasted
base16-distinct-fringe-backgeround
inside a (setq)
but nothing happened. After five minutes of reloading init.el
and shutting emacs down and then firing it up again, I realised it was a command typo, it should be
base16-distinct-fringe-background
Best,
af
The http://chriskempson.github.io/base16/ page provides both the light and dark versions of each theme, so far the repo only contains dark background ones.
I think it might be a good idea to provide the lighter versions, should be relatively easy to achieve and they look awesome.
solaire-mode
looks pretty cool, but requires a specific set of faces to be defined:
solaire-default-face
solaire-minibuffer-face
solaire-linum-face
solaire-linum-highlight-face
solaire-hl-line-face
solaire-org-hide-face
solaire-mode-line-face
solaire-mode-line-inactive-face
The README leaves a bit to be desired at this point. It would be nice if it documented all the options available.
Hello,
I think the solarized light modeline colours are a difficult to see https://belak.github.io/base16-emacs/#sec-1-75, especially when the frame is in focus. Though I realise this may be just my matter of taste.
It's been a while since the latest stable release, so a new one should be tested and tagged at some point
It'd be nice to have screenshots for each of the themes as it would allow one to quickly scan through the styles. Some base 16 styles are available on emacsthemes.com but that list seems incomplete.
There's a bunch of spacemacs faces that we could define. They really only stick out in base16-grayscale
because everything else is... well... grayscale. Here's a picture to show what I mean:
These apply to the cursor and spaceline. It actually overrides the spaceline colours, since spacemacs defines more evil states.
Adding (setq base16-theme-256-color-source 'colors)
to my emacs has no effect whatsoever, and I still see colors that look nothing like my theme in the GUI mode.
(use-package base16-theme
:demand
:config
(setq base16-theme-256-color-source 'colors)
(custom-set-variables '(base16-distinct-fringe-background nil))
(load-theme 'base16-elvishjerricco t))
But applying this patch makes a big difference and looks like a much better 256 color approximation of the theme.
diff --git a/base16-theme.el b/base16-theme.el
index cb65519..f5dec21 100644
--- a/base16-theme.el
+++ b/base16-theme.el
@@ -163,7 +163,7 @@ return the actual color value. Otherwise return the value unchanged."
;; use the base16-shell colors. Otherwise, we fall back to the basic
;; xresources colors.
(list face `((((type graphic)) ,(base16-transform-spec definition colors))
- (((min-colors 256)) ,(base16-transform-spec definition shell-colors-256))
+ (((min-colors 256)) ,(base16-transform-spec definition colors))
(t ,(base16-transform-spec definition base16-shell-colors))))))
(defun base16-set-faces (theme-name colors faces)
Hi, I encountered a problem when using base16 themes. When I enabled global-display-line-numbers-mode and move the cursor to the end of the file, on the left side of the frame where the line numbers displayed, there will be a black block down to the end of the frame. When using dark themes, there will be a grey block.
Is this a conflict or I just didn't do the right setting?
With the inclusion of line-number
and line-number-current-line
faces in emacs' master branch, I'm attempting to wean myself off of linum-mode
. This would be very simple if we could support these faces in themes.
Currently, I'm using the base16-gruvbox-dark-medium
theme and have this in my init.el
:
(set-face-attribute 'line-number
:foreground (plist-get base16-gruvbox-dark-medium-colors :base03)
:background (plist-get base16-gruvbox-dark-medium-colors :base01)
(set-face-attribute 'line-number-current-line
:foreground (plist-get base16-gruvbox-dark-medium-colors :base04))
This lines up with setting these faces up in base16-theme-define
and causes the fringe and line number faces to share the same background as the linum
face (and causes a nice highlight on the current line). (I also have the fringe changed to use base01 over base02, as the new line numbers show up to the RIGHT of the fringe now and I just think that it looks weird with the fringe a lighter color, but that's not really related to this - more to the discussion in #30)
I'm not sure how to do this safely for users without the new faces (ignore-errors
comes to mind, but the way the file is structured isn't conducive to doing this selectively)
Once the issue of doing this for users without these faces is solved, I'd be happy to try my hand at a PR with this functionality
I LOVE THIS SO MUCH and would like to send you money, how do I do that?
This probably means your package headers are incorrect. Please double check them, as this will affect the popularity of your package.
Because of the limited color palette (16 colors) Solaire mode cannot implemented in a straightforward way. I have an idea to implement it though so I wanted to see if you'd be open to receive a PR. My idea is to implement a base16-darken-color
function to darken the base00 color programatically and then use that for the solaire-default face. What you think?
It looks like they're now clojure-keyword-face as opposed to clojure-keyword
https://github.com/clojure-emacs/clojure-mode/blob/master/clojure-mode.el#L85
As an example, highlight-80+-mode
and clojure-test-mode
don't appear to have been in melpa for quite some time and have been deprecated a long while ago.
Can you put a border around the spaceline, as exists in the Spacemacs dark theme?
In #27 the powerline faces were added to improve how powerline looks with some themes. They look pretty good with default-dark, tomorrow, and tomorrow-night (as examples), but could use some improvement for themes like github.
I'm open to ideas and suggestions here.
There's a new builder system as described in the main base16 repo.
I've got it working in my own repo, here.
Though, that repo uses a different melpa recipe, it could easily be changed to generate all files in the main dir (update the template config to use . as opposed to build for the directory)
This is what I'm using with quelpa:
(base16-theme :fetcher github :repo "belak/base16-emacs" :files ("*.el" "build/*.el"))
I would also be willing to maintain this if you don't have the time or aren't interested any more.
I can't load-theme using use-package -- get an error in messages -- "Can't load base16-theme".
Regular M-x load-theme works.
Other non-base16 themes work with use-package.
release: emacs 26.x
OS : mac os 10.13.3
issue:
(load-theme 'base16-porple t) is not valid, which install by 'M-x package-install base16-themes'
Right now this involves checking out multiple branches and copying files over. Definitely not optimal.
As at now 07:24 (24/08/2016), there is no base16-tomorrow-dark theme which is what spacemacs looks for. So although, the base16-theme package is installed, it can't find the file. I can confirm that, indeed there is no theme called base16-tomorrow-dark
. However there is one called base16-tomorrow-night
which I assume takes the place of base16-tomorrow-dark
?
Anyway, so i change the name to base16-tomorrow-night
. When I do that, spacemacs treats the base16-theme package as orphaned and hence deletes it.
I therefore installed it manually by including it in dotspacemacs-additional-packages '(base16-theme)
. Now though, it complains that it cannot find a file named base16-tomorrow-night-theme
I have been using this theme for some time. This problem only cropped up this morning after I performed an update.
I think it should at least mention the "parent" project[0] and some basic manual installation instructions.
Could this package make the baseXX
color variables available to the user after package loading for their own further customization? I'm not sure if this is an unusual thing for an emacs theme to do, but it seems reasonable.
I stumbled upon this using company - company-preview has foreground base04 and company-preview-common inherited background base03. Probably there are more cases when this combination is used. So the question is - should it be allowed? If not, what the best way to fix it?
TL;DR: org-todo
and org-done
faces don't always stand out from the org-level-*
faces, and could be fixed by either specifying a background or by unifying the colors for org headings.
The org-level-[1-8]
faces inherit from outline-mode
faces, which in turn inherit from font-lock
faces. Because the org-todo
and org-done
faces use colors that are also used for the relevant font lock faces, there are some headings for which TODO
and DONE
keywords don't stand out. This occurs at second-level headings for TODO
keywords and eighth-level headings (admittedly rare) for DONE
keywords. This is only a minor annoyance, but the highlighting is nice when you're used to the highlighting guiding your eyes rather than the keywords themselves.
Example using the Ashes theme:
The simplest solution (and in my opinion, best) is to just add some other face attribute to org-todo
and org-done
to help demarcate the keywords. This is what I'm currently using in my init.el
as a workaround, in case anyone else finds it useful:
(let ((theme 'base16-ashes))
(load-theme theme t)
(require 'org-faces)
(let ((colors (symbol-value (intern (concat (symbol-name theme) "-colors"))))
(faces '((org-todo :background base01)
(org-done :background base01))))
(dolist (spec faces)
;; prefer set-face-attribute over base16-set-faces because it preserves
;; any existing face attributes
(apply 'set-face-attribute
`(,(car spec) nil ,@(base16-transform-spec (cdr spec) colors))))))
It's not the prettiest, but it's an improvement imo (again shown with Ashes theme):
Alternatively, you could let headings all share a color, but I suspect most people are used to org headings having their own colors, since that's the default behavior inherited from outline-mode
. You could also change the keyword foreground to something unused by the headings, but I don't think there are two appropriate unused colors.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.