Learn and Discover Open Source with Daily Genuine Experience. From Coding, Front End, Back End, Database, and Static Site Generator.
 
 

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, keyboard binding and multiplexer. Terminal ricing along with CLI application, are part of desktop ricing.

This guidance applied for most distribution.

Screenshot

Terminal for Dummies

Table of Content

There are few 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

  • Pixel Art


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

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.

windows:
  - name: sample-four-panes
    root: /media/Works/githublab/epsi-rns.github.io
    layout: tiled
    panes:
      - vim -M ./_config.yml
      - jekyll-blog
      - git status
      - exa --long
Config Path
teamocil ~/.teamocil/jekyll.yml

This is the configuration:


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 &

compton configuration

# Opacity
menu-opacity = 0.9;
#inactive-opacity = 0.7;
frame-opacity = 0.7;
inactive-opacity-override = false;
alpha-step = 0.06;
Config Path
compton ~/.config/compton.conf

Source


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:

VteTerminal, vte-terminal {
	padding: 5px 24px 24px 24px;
}
Config Path
gtk.css ~/.config/gtk-3.0/gtk.css

Source

A more complete config can be seen here:


Conclusion

That is all.

Thank you for reading and visiting.