Preface
Goal: Share common configuration for terminal customization.
Terminal ricing is different in with desktop ricing. While in desktop ricing we deal with: window manager, panel, notification and the most ingredient called wallpaper. Terminal ricing deal with: shell, prompt, pixel-art, and multiplexer. Terminal ricing along with CLI application, are part of desktop ricing.
This guidance applied for most distribution.
Screenshot
I intentionally use scary command with scary output to get the hackish screenshot feeling. Hackish here, I mean hack in computer context, not amateur writing context.
The terminal is using other terminal as background, not a wallpaper.
The other terminal is doing actual compilation.
Compilation give the screenshot more hackish looks.
The code is, actually just hello world
for beginner.
Not too much effort, but works for me.
Table of Content
-
Preface: Table of Content
-
Parts in terminal ricing:
-
Terminal: urxvt, xfce4-terminal, termite
-
Shell: bash, zsh, fish
-
Shell Prompt: powerline, oh-my-bash, oh-my-zsh, oh-my-fish
-
Multiplexer: tmux, gnu screen
-
Multiplexer Wrapper: teamocil, byobu
-
Compositor Decoration: Compton
-
Padding Decoration: gtk.css
-
Background Decoration: Wallpaper
-
Example CLI application: neofetch
-
Special CLI application: ViM Text Editor
-
Dofiles Source
The dotfiles are available at:
Path
Where to put the config, for each part ?
Category | Part | Path |
---|---|---|
terminal | urxvt | ~/.Xresources, ~/.Xdefaults |
terminal | termite | ~/.config/termite/config |
shell | oh-my-bash | ~/.bashrc |
shell | oh-my-zsh | ~/.zshrc |
shell | powerline | ~/.config/powerline/*, ~/.bashrc, ~/.config/fish/config.fish |
tiling | tmux | ~/.tmux.conf |
tiling | teamocil | ~/.teamocil/jekyll.yml |
decoration | compton | ~/.config/compton.conf |
decoration | gtk-3.0 | ~/.config/gtk-3.0/gtk.css |
application | vim | ~/.vim/*, ~/.vimrc |
application | neofetch | ~/.config/neofetch/config.conf |
Visual Summary
Terminal
Not all terminal emulator is suitable for ricing
There are as many choice as listed below:
The issue is, not all terinal emulator is suitable for ricing. In ricing world, less is more, no need any fancy border, scrollbar and menu. But at the same time, the terminal needs flexbility when it comes to colorscheme.
Most choices comes to these three terminals:
-
urxvt: My favorite is
rxvt unicode
, but sometimes it has trouble with font setting, such as arrow in ViM when using bold fonts. -
xfce4-terminal: It just works, and stable. It has GUI based configuration. But not many customizable colorscheme.
-
termite: I rarely use it. This emulator is now widely used in most distro. And it also have compilation time dependencies with mono.
urxvt configuration
This is a long topic, so I put it separately below.
xfce4-terminal configuration
This is GUI based config. I nevert touch the config manually.
termite configuration
Config | Path |
---|---|
termite | ~/.config/termite/config |
Source:
It was originally frtom my friend morgareth, but I cannot find the dotfiles any longer.
urxvt configuration
You can use two configs, or just one merged config:
Config | Path |
---|---|
urxvt | ~/.Xresources, ~/.Xdefaults |
You can load using xrdb
.
Source:
My config are originally grabbed from these my two friends:
colors
Using .Xdefaults
or .Xresources
.
You can grab more color from dotshare.
more resources
Using .Xdefaults
or .Xresources
.
And you can grab more .Xresources
example,
also from dotshare.
urxvt extension
I never try this, but this is seems cool.
Shell and Shell Prompt
Shell are part of operating system. There are many shells, most commonly used are:
you can switch the default shell by this command:
For each shell, it has ready to use customizable prompt configuration:
-
BASH: oh-my-bash (ohmybash.github.io)
-
FISH: oh-my-fish
-
BASH bash-it
But there are also a unique arrow prompt called powerline
.
It needs special config. An it is also highly customizable.
.bashrc prompt
This is my colorful bashrc.
You can grab more .bashrc
from dotshare.
.zshrc prompt
You can grab more .zshrc
from dotshare.
oh-my-bash configuration
With this oh-my-bash
prompt theming framework,
the code above could be transformed into simple code.
Do not forget to set the right path.
Config | Path |
---|---|
bash | ~/.bashrc |
Source:
oh-my-zsh configuration
Do not forget to set the right path.
Config | Path |
---|---|
zsh | ~/.zshrc |
Source:
Iterate Theme for oh-my-bash
One of my issue with oh-my-bash is that I cannot find preview for each theme. But do not worry, there is a workaround. Even better, we can see each theme live, in action for each theme. If you ever wonder how to get the looks of each oh-my-bash theme easily, I made a script for you to play with.
This method also applied with oh-my-zsh.
powerline configuration
There are many files that can be configured in this powerline directory:
To use powerline, add it in your .bashrc
, or .zrc
.
Or .config/fish/config.fish
.
Do not forget to set the right path.
Config | Path |
---|---|
bash | ~/.bashrc |
fish | ~/.config/fish/config.fish |
Multiplexer
There are two widely used terminal multiplexer. In fact I only know this two.
tmux configuration
tmux can have a very nice statusbar, that can be set on top or bottom of your terminal.
Do not forget to set the right path.
Config | Path |
---|---|
tmux | ~/.tmux.conf |
Source:
I like to copy the tmux config from dotshare.
gnu screen configuration
I do not use gnu screen. However you can grab the config from dotshare.
Multiplexer Wrapper
Beyond the multiplexer, there are also ready to use application that manage previous tools
-
teamocil: using tmux as backend, managing layout.
-
byobu: using either tmux or gnu screen backend, not managing layout.
byobu screenshot
I do not configure byobu. But if you widh, this is my screenshot.
teamocil configuration
Teamocil is a simple tool used to automatically create windows and panes in tmux with YAML files.
I’m using Jekyll for daily basis blogging. Instead of typing the same command over and over again, using teamocil can be helpful.
Config | Path |
---|---|
teamocil | ~/.teamocil/jekyll.yml |
This is the configuration:
And last, my screenshot for my real daily basis blogging. Well.. this not really a ricing, but more on productivity.
Compositor
compositor for transparency
You need compositor to enable transparency, shadow and such effects. There are two known compositor for ricing:
Simply run compton to enable it.
compton configuration
Config | Path |
---|---|
compton | ~/.config/compton.conf |
Source
picom configuration
gtk.css
Terminal can have padding using gtk.css Setting this padding would make your terminal way cooler. The padding config is as simply as:
Config | Path |
---|---|
gtk.css | ~/.config/gtk-3.0/gtk.css |
Source
A more complete config can be seen here:
Background
Well .. well.. well… Wallpaper is the most ingredient in ricing. You are free to use any wallpaper
But there are other trick as well.
custom wallpaper
I also make custom wallpaper at deviantart.
Or here, right to the SVG source in github:
hackish style
I like to use other terminal as background. The background terminal contain compilation.
This would make a very hackish style effect, as shown in most top picture above.
Example CLI application
There are many CLI application such as
-
Music visualizer: CAVA
-
System information: neofetch, screenfetch
-
System Monitoring: htop, gtop
-
exa: colorful rust based ls
This is not the place to explain detail for this CLI applications.
However, this is most commonly use neofetch
custom config is a must:
Config | Path |
---|---|
neofetch | ~/.config/compton.conf |
ViM as Special CLI application
Vim is an advanced text editor
This is also a must have config.
The preivous screenshot is running a cool command, that you can also for your screenhot setup.
vimrc configuration
This is my current vimrc
.
Config | Path |
---|---|
vimrc | ~/.vimrc |
Source:
I copy the config from my friend bandithijo, and strip down to suit my needs.
There are more ViM rc at dotshare.
vim path
There are two directories in this ViM directory:
Config | Path |
---|---|
vim | ~/.vim/* |
There are more ViM colors at dotshare.
Learning ViM
Beside the basic vimtutor
, you might want to
learn ViM script the hard way.
Pixel Art
You can see my pixelart repository on bitbucket here:
The repository is a compilation from this good thread:
Example of Pixelart Greeting
Conclusion
That is all.
Thank you for reading and visiting.