GithubHelp home page GithubHelp logo

jan-warchol / selenized Goto Github PK

View Code? Open in Web Editor NEW
728.0 21.0 55.0 537 KB

Solarized redesigned: fine-tuned color palette for programmers with focus on readability.

License: MIT License

Shell 18.12% Python 23.19% Scala 9.41% CSS 4.80% JavaScript 1.71% Emacs Lisp 35.66% Less 7.11%

selenized's Introduction

Selenized color palette

Selenized dark screenshot

After researching perceptually uniform color spaces, 4 years of testing, refining hues and fine-tuning lightness using professional grade CIE Lab color space, the task of redesigning venerable Solarized is almost finished! Results:

  • Easy on the eyes.
  • Beautiful, vibrant and easily distinguishable accent colors.
  • Great readability and better compatibility with Web Content Accessibility Guidelines.

Read more about the design and see how it improves on Solarized.

Installation

Ready-to-use config files are available for the following:

Terminal Emulators

Editors & IDEs (help wanted!)

🔥 I need your opinion! 🔥 There are some design decisions that need to be made before adding support for more editors. Your feedback would be very helpful - please comment on issue 68 and issue 74.

Other applications

Manual installation

If your application is not listed above, it's easy to set the colors manually. See this document for guidelines.

Compatibility notes

Some command-line programs may need reconfiguration to look good with Selenized, because they make assumptions about the colors configured in terminal (see this issue for details):

However, this is quite rare; vast majority of software works great out-of-the-box.

Contributing and development

See CONTRIBUTING.md.

About the name

The name of the project is derived from the greek word "selene", which means the moon - as opposed to the sun in Solarized.

selenized's People

Contributors

abalanna avatar bl1nk avatar dngray avatar jan-warchol avatar jsit avatar kkga avatar mcfrax avatar mpasternacki avatar vozhyk- avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

selenized's Issues

emacs issues

  1. Remove spaces from theme names
  2. It looks like this:
    Gtk:
    emacs-selenized-dark-gtk
    Konsole:
    emacs-selenized-dark-konsole

How to test:

  • put *.el files somewhere in the ~/.emacs.d
  • running "emacs" will pick a default UI. run "emacs-gtk" or "emacs-nox" to be sure, which one you're using.
  • in emacs type "M-x load-theme <theme-name>" (M-x = Alt+x)
  • exit by typing "C-x C-c"

Error in Neovim: Cannot find color scheme 'Selenized'

Hello! I have this error in Neovim when use "colorscheme selenized" in my init.vim (.vimrc equivalent in Neovim).

Please change in selenized.vim file:
from
let g:colors_name = "Selenized"
to
let g:colors_name = "selenized"

It solves the problem. Thank you.

Set CursorLineNr backgroud to be the same as LineNr

Having a different background for the line cursor looks weird for me. changing:

hi CursorLineNr guifg=#3a4d53 guibg=NONE guisp=NONE gui=NONE cterm=NONE

to

hi CursorLineNr guifg=#3a4d53 guibg=#e9e4d0 guisp=NONE gui=NONE cterm=NONE

would resolve the problem.

Palette instead of profile in Gnome Terminal

I've just installed Selenized in Gnome Terminal, and it looks very nice indeed. My only gripe is that the installer creates a new profile, instead of just a palette. So in order to be able to switch between the four themes, I need four profiles, each of them identical except for the colors.

I also have Solarized installed (from some source, I don't remember where), and it only installed a palette. I think that would be the better choice for Selenized as well.

Error while installing on gnome

Hi, I am trying to install this scheme on Linux Mint 18.3 Cinnamon 18.3 64-bit and I am getting the following error message:

dirname: invalid option -- 'b'
Try 'dirname --help' for more information.
-bash: cd: /colors: No such file or directory
-bash: /src/tools.sh: No such file or directory
-bash: /src/profiles.sh: No such file or directory

Warning!
This will permanently overwrite colors in selected profile - there is no undo.
Consider creating a new profile before installing Selenized.

Please select Selenized variant:

interactive_select_profile: command not found
You have selected:

  Scheme:  Selenized 
get_profile_name: command not found
  Profile:  ()

Are you sure you want to overwrite the selected profile?
(YES to continue) YES
Confirmation received -- applying settings
-bash: /colors/: No such file or directory
to_gconf: command not found
Error setting value: Bad key or directory name: "//palette": Can't have two slashes '/' in a row
No value to set for key: `//bold_color'
No value to set for key: `//background_color'
No value to set for key: `//foreground_color'
Error setting value: Bad key or directory name: "//use_theme_colors": Can't have two slashes '/' in a row
Error setting value: Bad key or directory name: "//bold_color_same_as_fg": Can't have two slashes '/' in a row

Please let me know if you can recreate this error message.

More granular styling for common languages?

(this is about vim theme, but similar coloring rules will be used in other editors as well)

As of 76b0a15 vim theme only specifies styling for basic token groups (like solarized). I think that rather than sticking to solarized, it would be beneficial to have more detailed styling rules (e.g. highlight booleans differently than other constants, differentiate imports from other PreProc etc.). Note: it may be a good idea to use vim-polyglot.

Requires #67 to be done first.

Languages that I'm likely to work on first:

  • python
  • shell
  • vimscript

Languages that I'd like to work on but need help from people who know them better:

  • Javascript
  • ruby
  • Java

Emacs support

Please add support for Emacs.

Also, it would be nice to have a GTK theme along the lines of Numix Solarized, but this is of course not a high priority.

Tilix support

It would be great to have support for Tilix terminal.

To use this theme in Tilix, you need to do something like:

  1. dconf dump /com/gexperts/Tilix/ > tilix.conf
  2. Edit tilix.conf and replace options:
foreground-color='#374a50'
palette=['#ebe6c9', '#d5252f', '#4a9300', '#b08b00', '#0074d6', '#cd4b9a', '#009f92', '#7d8782', '#cecaad','#cc1729', '#428b00', '#a78300', '#006dce', '#c44392', '#00978a', '#192c31']
background-color='#fefadc'
  1. Load configuration again with:
    dconf load /com/gexperts/Tilix/ < tilix.conf

I don't know currently how to make it better, it's just a quick and dirty configuration that works.

Tilda

Brilliant! But I use Tilda as my main terminal. Can you work your magic there?

Add a license

Hi there, it seems like you're happy for everyone to use and re-use this code, could you add a licence to this repo to make it clear what the terms of re-use are?

Vim theme should avoid 256-color version

Selenized theme for vim is meant to be used with exact selenized color palette (this requires either truecolor-enabled terminal or configuring ANSI color palette of one's terminal). 256-color version is only an inferior approximation.

Unfortunately, when a terminal advertises itself as supporting 256 colors (e.g. when TERM=xterm-256color), Vim will try to use 256-color selenized. It is possible to work around this by setting t_Co=16, but

  • it's an ugly hack, theme files shouldn't do things like that
  • it doesn't work in neovim anyway

So, the goal is to find a way of making selenized use either true color capabilities of the terminal or ANSI color codes, avoiding 256-color version unless explicitly overridden with some option.

Selenized Black for Blinksh: Colors after bright red are green

It looks like something went wrong generating the Selenized Black colors:

t.prefs_.set('color-palette-overrides',[
"#252525", "#ed4a46", "#70b433", "#dbb32d",
 "#368aeb", "#eb6eb7", "#3fc5b7", "#777777", 
"#3b3b3b", "#ff5e56", "#83c746", "#83c746",
 "#83c746", "#83c746", "#83c746", "#83c746"]);

I checked -dark and it seemed unaffected. I'll check -white and -light and report back here.

ls coloring ideas

Though it's really a side-effect of unnatural terminal color bindings (i.e. light gray is put in light cyan color slot), I really like how the coloring in ls output looks like with solarized color palette: most filetypes are highlighted with different shades of gray instead of actual colors. This makes them look more restrained than default settings. I think it would be nice to use this consciously in selenized.

  • hidden files could be gray (i.e. lighter than foreground color)
  • directories could be bold and slightly darker than foreground
  • ...

Vim mapping colours to highlight groups

The current mapping from the colours to their highlight groups does not seem to be optimal. I would have expected Selenized to look very similar to Solarized (just with better contrast and slightly different shades of the colours), but the syntax colours are completely shuffled around.

image
(left: Solarized8, right: Selenized)

Also, something weird is going on with the status line.

invisible cursor in vim

I am using dark urxvt theme and selenized color scheme in vim.

Following pictures were taken on vanilla themes except the background color of line number column.

right_parent
Cursor on the right parentheses of main.

right_bracket

Cursor on the closing curly bracket of the main.

right_bracket_unfocused
Same as before, but window is not focused.

normal_focused
For comparison, cursor on the focused window.

normal_unfocused
Unfocused window.

I noticed that character below is turning white, but it is really hard to notice.

Add support for Intellij IDEs

Use solarized config as a base.

  • fix colors that aren't from solarized palette
    • variable definition and use instances
    • strings in python
  • create a variant of selenized with monotones based on darkula scheme
  • adjust colors that don't work well

Should selenized color syntax elements exactly like solarized?

Selenized builds on top of solarized by improving contrast and hues. What about token coloring choices? Should selenized mimic solarized as closely as possible, or could solarized choices be improved?

My opinion is that some choices in solarized are bad - in particular I dislike green keywords; to me they look ugly and also I think green is not strong enough for keywords:

image

I think that it's better to swap keywords with types:

image

However, some users (e.g. @fladd) prefer to keep original coloring. I can do that if the majority of users think the same. Please give 👍 if you want selenized to be like solarized, or 👎 if you prefer a modified version.

Do not reverse MatchParen

It is very easy to mix up the cursor and the MatchParen highlighting; especially when writing code with lots of brackets (e.g. a regex). Please make the MatchParen style bold, not reverse.

Solarized had a very similar issue, which they have fixed already. Such a fix would definitely improve Selenized.

Colorized MAN pages ie LESS_TERMCAP_so

I decided to adapt solarized-man.plugin.zsh however I am having trouble with LESS_TERMCAP_so getting that to look like the solarized theme.

I read this guide hoping it would help. Here's what I have so far:

function man() {
    env \
        LESS_TERMCAP_mb=$(printf "\e[1;31m") \
        LESS_TERMCAP_md=$(printf "\e[1;31m") \
        LESS_TERMCAP_me=$(printf "\e[0m") \
        LESS_TERMCAP_se=$(printf "\e[0m") \
        LESS_TERMCAP_so=$(printf "\e[0;39;47m") \
        LESS_TERMCAP_ue=$(printf "\e[0m") \
        LESS_TERMCAP_us=$(printf "\e[4;32m") \
        PAGER="${commands[less]:-$PAGER}" \
        _NROFF_U=1 \
        GROFF_NO_SGR=1 \
        PATH=${HOME}/bin:${PATH} \
    man "$@"
}

1565021052 Termite is on the left with Solarized and urxvt is on the right with Selenized.

evaluate_template.py syntax errors

Seems to be a problem with the evaluate_template.py script, it's stopping me from testing #31

$ python evaluate_template.py selenized_dark.py putty.template
  File "/selenized/utils/evaluate_template.py", line 63
    print '' # section separator
          ^
SyntaxError: Missing parentheses in call to 'print'. 
Did you mean print('' # section separator)?

Strange difference in LAB -> AppleRGB conversion between colormath and Photoshop

@gtaylor this might interest you.

When I switched from Photoshop to python.colormath as the tool for doing color space conversions (see commit 5189cb9), I noticed one strange discrepancy in conversion results: Photoshop converts Lab(63, 66, 44) to #f63e3d (in AppleRGB) while python.colormath yields #ff3e3d.

What's most surprising, when I converted Lab(55, 66, 44) - i.e. the same hue, just 8 units dimmer - to AppleRGB using both tools, the results were almost the same: #e0272e in Photoshop vs #e1272e in python.colormath. The coordinates of all other colors I converted were also almost the same (I've only observed some differences of 1 unit which can be attributed to rounding errors).

Who is doing the conversion right, and who is wrong?

Support for mate terminal

It is configured similarly to gnome-terminal, but config paths are different.

  1. dconf path /org/mate/terminal/profiles
  2. adding profile to list /org/mate/terminal/global/profile-list

mismatch cases

From Karol:
w Twoim repo jest selenized/vim/selenized.vim
Proponuję zmienić mu nazwę na "Selenized.vim", żeby pasowała do nazwy w pliku, bo inaczej na ubuntu wariuje - jest już schemat "selenized" i ładuje pół na pół

vim 8.0

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.