Sonho theme

Sonho is a medium-to-high contrast theme that conveys a relaxed, rather playful mood. It comes in light and dark variants, while using a single 16-colour palette.

Packages or ports of it are available for the Atom text editor, Vim, the Vim Airline plugin, Jekyll websites using the Rouge gem, as well as the Xfce4, Terminator, iTerm2, urxvt, and Hyper terminal emulators.

Palette

Dark base

4a3638 5a4648 8A7668 99aabc

Light base

fff0f2 efe0e2 8896bb 677468

Accent values

cd4679 d9766d 11bf8c 479cb5
dd619f d9a652 38a8b9 a77ccf

Base values from left to right: background, background highlight, secondary text, primary text.

Atom text editor packages

Sonho light available at

Atom GitHub Or run the command apm install sonho-syntax

Sonho dark available at

Atom GitHub Or run the command apm install sonho-dark-syntax

Vim and Vim Airline

All Prot16 themes (including Sonho) are available as plugins for Vim and Vim Airline. To install them, use your favourite plugin manager. With vim-plug:

Plug 'protesilaos/prot16-vim'
Plug 'protesilaos/prot16-vim-airline'

Then specify your choice in .vimrc. Use either the light or dark variant:

colorscheme sonho_light
let g:airline_theme='sonho_light'

" or use these instead
colorscheme sonho_dark
let g:airline_theme='sonho_dark'

Atom and Vim colour mapping

Primary

Secondary

Tertiary


Primary: Class names, variables, functions, etc.
Secondary: Measurement units, strings, support functions, etc.
Tertiary: Cursor, support classes, etc.

Terminal emulators

Based on my current tests with a variety of terminal emulators for Arch Linux, Debian 9, and Linux Mint 17.3 and 18.x, I have settled on the following colour mapping (which you have to implement manually if none of the options below suits your needs).

5a4648 cd4679 11bf8c d9a652 479cb5 dd619f 38a8b9 efe0e2 4a3638 d9766d 677468 8A7668 8896bb a77ccf 99aabc fff0f2

For Sonho, the following terminal emulators are supported thus far:

Jekyll blog with Rouge for highlighting

To use Sonho on your Rouge-enabled Jekyll site, go ahead and implement either the the light or the the dark variant.

This demo makes use of the Rouge gem to create the markup. It is a lightweight solution for highlighting code on the web. Bear in mind that it is not a perfect representation of the Atom packages or terminal ports.

// Random Mixin
@mixin tablet {
  @media screen and (min-width: #{$tablet}) {
    @content;
  }
}

// TODO Write something
.social-share {
  font-family: $fontui;

  @include radius(3%);

  div {
    a {
      color: $lbg;
      display: block;
      margin: ($sone / 2) 0;

      @include tablet {
        float: left;
        display: inline-block;
        margin: 0 $sone 0 0;
      }

      &[href*="example.com"] {
        background: #1DA1F3;
      }

      &:hover {
        opacity: .8;
      }
    }
  }
}

div + div:not(.some-class) {
  border-top: 2px solid #123456;
}

// Random Mixin
@mixin tablet {
  @media screen and (min-width: #{$tablet}) {
    @content;
  }
}

// TODO Write something
.social-share {
  font-family: $fontui;

  @include radius(3%);

  div {
    a {
      color: $lbg;
      display: block;
      margin: ($sone / 2) 0;

      @include tablet {
        float: left;
        display: inline-block;
        margin: 0 $sone 0 0;
      }

      &[href*="example.com"] {
        background: #1DA1F3;
      }

      &:hover {
        opacity: .8;
      }
    }
  }
}

div + div:not(.some-class) {
  border-top: 2px solid #123456;
}

#!/bin/bash
mkdir -p $HOME/.local/share/xfce4/terminal/colorschemes

for filename in $(ls $HOME/prot16-builder/db/schemes)
do
  name=$(echo $filename | cut -f 1 -d '.')

  prot16-builder -s ${name} -t xfce4-terminal -b light > $HOME/.local/path/${name}-light.theme
  tput setaf 9; echo "Preparing ${name} light for \n\/escape\/ XFCE4-Terminal"
done
#!/bin/bash
mkdir -p $HOME/.local/share/xfce4/terminal/colorschemes

for filename in $(ls $HOME/prot16-builder/db/schemes)
do
  name=$(echo $filename | cut -f 1 -d '.')

  prot16-builder -s ${name} -t xfce4-terminal -b light > $HOME/.local/path/${name}-light.theme
  tput setaf 9; echo "Preparing ${name} light for \n\/escape\/ XFCE4-Terminal"
done

Related git repositories

Wish to contribute? Check out these repos:

Protesilaos profile photo

Protesilaos Stavrou

EU policy analyst. Philosopher. Web developer.
Full profile