Give your terminal a makeover

I decided to give my laptop a virtual makeover recently. One thing that stuck out was the terminal.

A terminal is a dark rectangle with text. It’s utilitarian. There isn’t a wide array of options for personalization.

The 3 major things you can do i…


This content originally appeared on DEV Community and was authored by Rob O'Leary

I decided to give my laptop a virtual makeover recently. One thing that stuck out was the terminal.

A terminal is a dark rectangle with text. It's utilitarian. There isn't a wide array of options for personalization.

The 3 major things you can do is:

  1. Change the colour scheme: I made my own colour scheme. If you are searching, this repo is a great source for colour schemes for many different terminal apps.
  2. Pick a font: I installed a nerd font. Nerd fonts add icons to popular monospace fonts. These icons can be used in your text prompt and are used by some command-line applications to give more of a modern UI-feel. JetBrainsMono Nerd Font is my favourite.
  3. Modify the prompt text: I installed Starship to make a custom prompt that works in a few different shells. It's got it's own config with a wide array of options to customize the text in every conceivable way. I use it to add git info, low battery indication, and package and versioning info for some languages.

I guess these 3 things are what most people do in some shape or form.

custom terminal

And this is how my terminal looks! Simple and minimal is my preference.

Beyond that, you can make tweaks to use colours in more places. You can makes aliases which have the --colors=auto option included. These are the most common ones:

alias ls='ls --color=auto'
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'

You can install command-line applications if you want to augment the appearance of some standard applications. You can use lsd or exa instead of ls. You can use bat instead of cat.

You can see that lsd uses a folder icon from the nerd font for folders, and breaks the list into columns. These applications offer some visual tweaks, but vary on the amount of styling you can do. I chose lsd because it offers a bit more control over appearance than exa.

lsd output

Overall, this feels more personal as it is closer to my taste, but it lacks personality. What can I do to add more personality?

Some people like to make the terminal slightly transparent and show their desktop wallpaper. I don't! I love photography but I find it distracting!

transparent terminal

I noticed that some people use neofetch to flash their specs when they open a terminal. It's kind of badge of honour for some Linux enthusiasts.

neofetch

Seeing specs as kind of a greeting when I open a terminal is not my thing. But the ASCII art for the logo got me thinking. Some of the logos included in neofetch are quite stylish and colourful. And there is a palette to play with (them colorful boxes in the bottom right).

Could I create something like the logo but with a more polished appearance? Why do people say ASCII art? Don't we have unicode almost everywhere now? So, shouldn't there be more symbols to choose from now to make "better" text art?

The net result of my experimentation is fetching.

fetching logo

You can use it to fetch random unicode art. I wanted it to be a bit playful. I want to remind myself that this computer stuff is fun, and to enjoy myself while I'm doing it!

fetching mario example

The art is colored based on your terminal color scheme. Here are some examples side-by-side using different themes: the top-left theme is Dracula, the top-right is Solarized, the other two are just me playing around with colors - maybe I'm the first one to make an ultra high contrast Mario! ?I think the output has a different personality depending on your color scheme.

mario theme examples

I noticed that neofetch squashes the output if your terminal window is a bit narrow. I was able to make my scripts responsive to the terminal window. ✨

garbled output

The included image scripts were mostly inspired by:

  • abstract art, particularly the De Stijl movement with its simplified form and limited palette

mondrian

  • computer games, particularly from the 1980's and 1990's
    space invaders

  • street art
    obey

  • star wars

groku

I add the command fetching -r to my .zshrc to show a random image every time I open a terminal.

You can run it as a slideshow too if you want with fetching -s 2 , which shows a new image every 2 seconds!

slideshow

I think I have just scratched the surface. Unicode has approxmiately 143,859 unicode characters. These different forms and shapes have the potential for creating very different things.

I mostly used the Block Elements character set (as below). It facilitates creating blocky compositions with a smooth texture. As I practice and try out more characters, I think the output will be better and more variable.

█ ▉ ▊ ▋ ▌ ▍ ▎ ▏▐ ▕ ▇ ▆ ▅ ▄ ▃ ▂ ▁  ■ ▄ ▀  ▬ ▓ ▒ ░ 

Check out the repo for more in-depth info. You need to have the Bash shell on your system installed to use it. There is an installation script to make it quick and easy to try it out. So, try it out!

GitHub logo robole / fetching

A collection of *fetching* unicode art for the terminal.


Fetching

A collection of fetching unicode art for the terminal.

You have to be in a state of play to design. If you're not in a state of play, you can't make anything.

- Paula Scher

The goal is to add a touch of beauty to your terminal, and trigger a sense of play.

mario example

The art is colored according to your terminal color scheme. Here are some examples side-by-side using different themes: uglythe top-left theme is Dracula,the top-right is Solarized, the other two are just me playing around with colors! The output can have a different personality depending on your color scheme.

mario colored

The included scripts are responsive to the terminal window. This prevents distorted output in the random and slideshow modes. ?️

garbled output

The included scripts are inspired by:

  • abstract art, particularly the De Stijl movement with its simplified forms and limited palette

    mondrian

  • computer games, particularly from the…

There is info on making your own images in there. I outline my "process". I don't know how sane or repeatable it is really! I enjoy this type of thing, it may be drudgery to you!

Let me know what you think. ?

Got any style tips?

If you have customized your terminal, share a screenshot as a comment! ?

You can subscribe to my RSS feed to get my latest posts.


This content originally appeared on DEV Community and was authored by Rob O'Leary


Print Share Comment Cite Upload Translate Updates
APA

Rob O'Leary | Sciencx (2021-06-09T10:48:28+00:00) Give your terminal a makeover. Retrieved from https://www.scien.cx/2021/06/09/give-your-terminal-a-makeover/

MLA
" » Give your terminal a makeover." Rob O'Leary | Sciencx - Wednesday June 9, 2021, https://www.scien.cx/2021/06/09/give-your-terminal-a-makeover/
HARVARD
Rob O'Leary | Sciencx Wednesday June 9, 2021 » Give your terminal a makeover., viewed ,<https://www.scien.cx/2021/06/09/give-your-terminal-a-makeover/>
VANCOUVER
Rob O'Leary | Sciencx - » Give your terminal a makeover. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2021/06/09/give-your-terminal-a-makeover/
CHICAGO
" » Give your terminal a makeover." Rob O'Leary | Sciencx - Accessed . https://www.scien.cx/2021/06/09/give-your-terminal-a-makeover/
IEEE
" » Give your terminal a makeover." Rob O'Leary | Sciencx [Online]. Available: https://www.scien.cx/2021/06/09/give-your-terminal-a-makeover/. [Accessed: ]
rf:citation
» Give your terminal a makeover | Rob O'Leary | Sciencx | https://www.scien.cx/2021/06/09/give-your-terminal-a-makeover/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.