This is a base16 template repository for konsole. Currently it includes two templates and corresponding output folders.
The files in colorscheme-vim
are designed to be compatible with base16-vim. The means the "intense" colors (8-15) have been repurposed (similarly to iterm2/dark.itermcolors.erb) to provide shades of grey and yellow colors needed for a good looking vim interface. Normally ansi 9 looks red, but instead it's mapped to base03 (grey) for base16-vim. To make the vim colorscheme compatible with this mapping, you must leave base16colorspace
unset in .vimrc
. Other applications like prompts and ls
will look off as a consequence - although this can be mitigated as described below.
The files in colorscheme
will not work with base16-vim, but colors will show up correctly in prompts and the colored output of ls
.
To install system-wide, copy the desired files (not the folder) into the appropriate folder. You can download and install only one file if you know what theme you want to use.
KDE Version | Available To | Location |
---|---|---|
KDE 5 | System Wide | /usr/share/konsole |
KDE 5 | User Only | ~/.local/share/konsole |
KDE 4 | System Wide | /usr/share/kde4/apps/konsole |
KDE 4 | User Only | ~/.kde4/apps/konsole/ |
NOTE: For *.schema
files designed to work with the version of konsole included with KDE3, see base16-konsole-kde3.
You must restart konsole, then you can select the theme you would like to use through the menus.
Follow the instructions for installation of base16-vim. Do not set base16colorspace!
In RHEL6, vim shows my airline status with bright yellow forground colors instead of darker colors. It's using ctermfg=10
, but 10 seems to be set correctly. I'm not sure why, but changing term=bold to term=NONE fixes the issue. The easiest way to do this is to remove bold
from the string value on this line.
If you use fzf and want colorization to look right, you'll need something like this in your .bashrc
.
if [[ $TERM =~ konsole.* ]]; then
export FZF_DEFAULT_OPTS='--color fg+:5,hl+:6'
fi
This is due to fzf using intense versions of colors. Since most are dark, the selected item winds up being hard to see. With FZF_DEFAULT_OPTS
as mentioned, the selected item will be white and matching text will be orange. Those are the only good colors to use.
With kde4-konsole-vim, ls --color
shows many items in a dark color that is hard to see. To correct this, you need to set the LS_COLORS
environment variable to not use bright intensity colors. You can do this most easily with dircolors
. See the dir_colors manpage for additional details. The process for removing intensity code (01) from LS_COLORS
is:
- Copy /etc/DIR_COLORS to ~/.dir_colors
- Edit ~/.dir_colors and modify entries to remove
01;
. For example,DIR 01;34
should become,DIR 34
. - Logout and log back in, or run
eval $(dircolors ~/.dir_colors)
A base16-vim compatible file is available for you to download if you don't need any further customization.
cd ~
curl -OL https://gist.githubusercontent.com/cskeeters/aacd10c075d3c7092a5e4e36db34e62d/raw/.dir_colors
If you use the color extension for hg, you'll need to customize the colors so that bold is not used. Add this to your ~/.hgrc
.
[color]
status.modified = blue
status.added = green
status.removed = red
status.deleted = cyan
status.unknown = magenta
status.ignored = yellow
diff.extended = cyan
diff.file_a = red
diff.file_b = green
diff.trailingwhitespace = red_background
qseries.applied = blue underline
qseries.unapplied = yellow
qseries.missing = red
If you are like me and want a single .vimrc
to function for konsole (in 16 color mode) and another terminal which supports 256 colors, you can configure konsole's environment to set TERM=konsole
and then only set base16colorspace when TERM does not start with konsole
if $TERM !~# "konsole.*"
" As a work around for the following bugs in kde4's konsole:
" use the output of 16.colorscheme.rb and don't set base16colorspace.
" base-shell script will not be called
" https://github.com/chriskempson/base16-shell/issues/31
" https://bugs.kde.org/show_bug.cgi?id=344181
let base16colorspace=256
endif
ANSI colors can be set in a terminal in two ways.
- Using the menus to load some settings file, or through
.Xresources
. - Set by sending ANSI operating system commands to the terminal.
If
- bright colors (8-15) are set to the same or similar color with the standard ansi colors (0-7),
- Colors 16-20 are set using either method above to dark/orange colors.
let base16colorspace=256
is set in.vimrc
then everything works great.
Unfortunately, most terminal's only allow you to set colors 0-15. Konsole is no exception. Since konsole doesn't support xterm's operating system command to set those colors (ala base16-shell), there is no point in using it and base16-vim can not operate in a 256 colorspace. Fortunately, base16-vim can function with base16colorspace not set if the black and orange characters are set in colors 8-15. This template repository provides colorscheme files where colors 8-15 have the black/orange colors needed.
Fortunately, base16-vim is designed to be able to To use vim with vim-base16 in konsole, we must use this 16-color pallet version and be sure to NOT set base16colorspace=256 in vimrc.
For those interested, you can check out the spec xterm's documentation on operating system commands:
OSC Ps ; Pt ST
ESC ] 4 ; <ColorNumber> ; rgb:FF/00/00 ESC \
Under Ps = 4, you can read.
This can be a name or RGB specification as per XParseColor.
man 3 xparsecolor shows under Color Names supporting the rgb:<red>/<green>/<blue>
format.
base16-shell uses this corresponding template to set the color:
printf_template='\033]4;%d;rgb:%s\033\\'