All Projects → lemnos → Theme.sh

lemnos / Theme.sh

A script which lets you set your $terminal theme.

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Theme.sh

Jmxterm
Interactive command line JMX client
Stars: ✭ 389 (+34.14%)
Mutual labels:  command-line-tool, terminal, command-line
Google Images Download
Python Script to download hundreds of images from 'Google Images'. It is a ready-to-run code!
Stars: ✭ 7,815 (+2594.83%)
Mutual labels:  command-line-tool, terminal, command-line
Tsukae
🧑‍💻📊 Show off your most used shell commands
Stars: ✭ 345 (+18.97%)
Mutual labels:  command-line-tool, terminal, command-line
Asciigraph
Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies.
Stars: ✭ 1,805 (+522.41%)
Mutual labels:  terminal, command-line, command-line-tool
Tooling
Advancing Node.js as a framework for writing great tools
Stars: ✭ 98 (-66.21%)
Mutual labels:  command-line-tool, terminal, command-line
Zoxide
A smarter cd command. Supports all major shells.
Stars: ✭ 4,422 (+1424.83%)
Mutual labels:  command-line-tool, terminal, command-line
Sultan
Sultan: Command and Rule over your Shell
Stars: ✭ 625 (+115.52%)
Mutual labels:  command-line-tool, terminal, command-line
Ed
A modern UNIX ed (line editor) clone written in Go
Stars: ✭ 44 (-84.83%)
Mutual labels:  command-line-tool, terminal, command-line
Sampler
Tool for shell commands execution, visualization and alerting. Configured with a simple YAML file.
Stars: ✭ 9,203 (+3073.45%)
Mutual labels:  command-line-tool, terminal, command-line
Mocha Chrome
☕️ Run Mocha tests using headless Google Chrome
Stars: ✭ 66 (-77.24%)
Mutual labels:  command-line-tool, terminal, command-line
Desktoppr
Simple command line tool to set the desktop picture on macOS
Stars: ✭ 127 (-56.21%)
Mutual labels:  command-line-tool, terminal, command-line
Typin
Declarative framework for interactive CLI applications
Stars: ✭ 126 (-56.55%)
Mutual labels:  command-line-tool, terminal, command-line
Hyper Site
The official website for the Hyper terminal
Stars: ✭ 289 (-0.34%)
Mutual labels:  terminal, command-line, themes
Zsh Vi Mode
💻 A better and friendly vi(vim) mode plugin for ZSH.
Stars: ✭ 181 (-37.59%)
Mutual labels:  command-line-tool, terminal
Tq
Perform a lookup by CSS selector on an HTML input
Stars: ✭ 193 (-33.45%)
Mutual labels:  command-line-tool, command-line
Dry Cli
General purpose Command Line Interface (CLI) framework for Ruby
Stars: ✭ 210 (-27.59%)
Mutual labels:  command-line-tool, command-line
You Dont Need Gui
Stop relying on GUI; CLI **ROCKS**
Stars: ✭ 4,766 (+1543.45%)
Mutual labels:  command-line-tool, command-line
Miniserve
🌟 For when you really just want to serve some files over HTTP right now!
Stars: ✭ 2,894 (+897.93%)
Mutual labels:  command-line-tool, command-line
Micro
A modern and intuitive terminal-based text editor
Stars: ✭ 18,526 (+6288.28%)
Mutual labels:  terminal, command-line
Klog
A plain-text file format and command line tool for time tracking
Stars: ✭ 222 (-23.45%)
Mutual labels:  command-line-tool, command-line

What

One theme script to rule them all.

Features

  • 270+ preloaded themes.
  • Works on any terminal with OSC 4/11 support (e.g kitty, osx term)
  • Small, self contained and POSIX compliant.
  • Interactive theme selection (requires fzf)

Demo

Why?

  • Lets you easily switch themes inside of an open terminal.
  • Lets you configure st's colour theme without recompiling it :P
  • Lets you keep your shell's init file as the single source of truth.
  • Lets you script theme changes

Usage

Put theme.sh somewhere in your $PATH

Then:

> theme.sh -l
  
  zenburn
  gruvbox
  solarized-dark
  ...

> theme.sh zenburn

or

> theme.sh -i #Interactive theme selection (requires fzf)

Once you find something you like simply put

theme.sh <theme>

in your ~/.bashrc

Configuration

If $THEME_HISTFILE is set then the path is contains will be used to store recently selected themes.

Recommended ~/.bashrc

To load the most recently selected theme automatically you can put

if command -v theme.sh > /dev/null; then
	export THEME_HISTFILE=~/.theme_history
	[ -e "$THEME_HISTFILE" ] && theme.sh "$(theme.sh -l|tail -n1)"

	# Optional  

	bind -x '"\x0f":"theme.sh $(theme.sh -l|tail -n2|head -n1)"' #Binds C-o to the previously active theme.
	alias th='theme.sh -i'
fi

in your ~/.bashrc.

Recommended ~/.vimrc

colorscheme default
set notermguicolors
highlight Search ctermfg=0

The above makes vim play nicely with the stock terminal theme.

Supported Terminals

Below is a list of terminals on which theme.sh is known to work:

  • kitty (not KiTTY)
  • gnome-terminal
  • terminator
  • st with the appropriate patch
  • Terminal.app (osx)
  • iTerm2
  • alacritty
  • urxvt (non interactively unless the truecolor patch is applied)
  • any libvte based terminal

Caveats

  • Requires a shell that properly implements OSC 4/11.
  • Interactive mode also requires TRUECOLOR support (though the theme can still be set without it.)
  • May cause an imperceptible flash when you start your terminal.
  • Will not help you achieve enlightenment or improve your marriage.
  • May cause epilepsy.

Known issues

  • Will not work in screen (tmux uses the same TERM variable)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].