Skip to content

Latest commit

 

History

History
554 lines (394 loc) · 13.9 KB

powerline.rst

File metadata and controls

554 lines (394 loc) · 13.9 KB

Powerline Theme

The included themes/powerline/powerline.theme file includes two themes:

Powerline

The powerline theme is a clone of the Powerline prompt. It copies the default segments of the Powerline prompt for Shell.

This prompt is a proof of (a specific) concept: that Liquidprompt can do what Powerline does, but faster. That said, this is a fully usable theme.

2.0

Preview

If there is nothing special about the current context, the appearance of Powerline might be as simple as this:

 user  ~  

If you are running a background command and are also in the "main" branch of a Git repository on a server:

  server  user  ~  liquidprompt  1   main  

When Liquidprompt is displaying nearly everything, it may look like this:

  server  user  (e) pyenv  ~   …   liquidprompt   …   theme  3   main  ST 1  125  

Note

The above "everything" image looks like it is missing some parts because this theme does not implement all data sources of Liquidprompt. This is by design to clone basic Powerline. For a Powerline theme that does show all data sources, see Powerline Full <powerline_full> below.

Setup

By default, the dividers and markers used are the Powerline private characters. You will either need a compatible font, or to configure the dividers and markers to use other characters.

See the Powerline Fonts installation docs for help.

Configuration

Liquidprompt Configuration

The following Liquidprompt config options are respected:

  • LP_DISABLED_VCS_PATHS
  • LP_ENABLE_BZR
  • LP_ENABLE_COLOR
  • LP_ENABLE_ERROR
  • LP_ENABLE_FOSSIL
  • LP_ENABLE_FQDN
  • LP_ENABLE_GIT
  • LP_ENABLE_HG
  • LP_ENABLE_JOBS
  • LP_ENABLE_RUNTIME_BELL
  • LP_ENABLE_SCREEN_TITLE
  • LP_ENABLE_SHORTEN_PATH
  • LP_ENABLE_SVN
  • LP_ENABLE_TITLE
  • LP_ENABLE_VCS_ROOT
  • LP_ENABLE_VIRTUALENV
  • LP_HOSTNAME_ALWAYS
  • LP_PATH_CHARACTER_KEEP
  • LP_PATH_KEEP
  • LP_PATH_LENGTH
  • LP_PATH_METHOD
  • LP_PATH_VCS_ROOT
  • LP_RUNTIME_BELL_THRESHOLD
  • LP_USER_ALWAYS

Theme Configuration

Powerline adds these config options:

Markers

POWERLINE_HARD_DIVIDER

The divider character between sections, defaults to the private character used in Powerline fonts that looks like a solid right arrow.

POWERLINE_PYTHON_ENV_MARKER

The marker string used to indicate the following string is a Python environment.

POWERLINE_ROOT_MARKER

The marker character used to indicate a root session.

POWERLINE_SECURE_MARKER

The marker character used to indicate a SSH session, defaults to the private character used in Powerline fonts that looks like a lock.

POWERLINE_SOFT_DIVIDER

The divider character between similar sections, defaults to the private character used in Powerline fonts that looks like a thin right arrow.

POWERLINE_SPACER

The marker character used to pad sections, defaults to the non-breaking space character.

To add more padding, add more spaces to this string.

A non-breaking space is needed in some fonts to prevent multiple spaces from collapsing to one space, loosing the padding.

POWERLINE_STASH_MARKER

The marker string used to indicate stashes exist in the VCS repository.

POWERLINE_VCS_MARKER

The marker character used to indicate a VCS repository, defaults to the private character used in Powerline fonts that looks like a branching commit history.

Colors

These color config options take an array of integers, which are arguments to lp_terminal_format.

Note

Arrays are set without commas (,). The default values are displayed with commas for clarity.

POWERLINE_ERROR_COLOR

Color for the error code section.

POWERLINE_HOST_COLOR

Color for the hostname section.

POWERLINE_JOBS_COLOR

Color for the shell jobs section.

POWERLINE_PATH_COLOR

Color for the current working directory section.

POWERLINE_PATH_LAST_COLOR

Color for the current working directory last subsection.

POWERLINE_PATH_SEPARATOR_COLOR

Color for the current working directory subsection separator.

POWERLINE_PATH_SHORTENED_COLOR

Color for any sections in the current working directory that are shortened to make the path fit in LP_PATH_LENGTH.

POWERLINE_PATH_VCS_COLOR

Color for the current working directory segment corresponding to the current VCS repository root directory.

LP_PATH_VCS_ROOT must be enabled to have any effect.

POWERLINE_PYTHON_ENV_COLOR

Color for the Python environment section.

POWERLINE_USER_COLOR

Color for the username section.

POWERLINE_VCS_CLEAN_COLOR

Color for the VCS section if the repository is clean.

POWERLINE_VCS_DIRTY_COLOR

Color for the VCS section if the repository is not clean.

POWERLINE_VCS_STASH_COLOR

Color for the VCS stash subsection.

Powerline Full

An extension of the powerline theme, powerline_full includes all data sources that Liquidprompt provides. The ordering is the same as the default theme.

2.0

Preview

If there is nothing special about the current context, the appearance of Powerline might be as simple as this:

 user  ~  

If you are running a background command and are also in the "main" branch of a Git repository on a server:

 1&  user   server  ~  liquidprompt  main  

When Liquidprompt is displaying nearly everything, it may look like this:

 🕤  ⌁24%  ⌂1.68  θ90°  3d/2&/1z  user   server  ~   …   liquidprompt   …   theme  ⚞3  (e) pyenv  main(+10/-5,+3/-1)+*  20s  125  

Setup

Like the powerline theme, you will need a compatible font. See the Powerline Fonts installation docs for help.

Configuration

Liquidprompt Configuration

All Liquidprompt config options are respected, except for:

  • LP_COLOR_AWS_PROFILE
  • LP_COLOR_CONTAINER
  • LP_COLOR_DIRSTACK
  • LP_COLOR_ERR
  • LP_COLOR_HOST
  • LP_COLOR_IN_MULTIPLEXER
  • LP_COLOR_JOB_D
  • LP_COLOR_JOB_R
  • LP_COLOR_JOB_Z
  • LP_COLOR_KUBECONTEXT
  • LP_COLOR_MARK_ROOT
  • LP_COLOR_MARK_SUDO
  • LP_COLOR_MARK
  • LP_COLOR_NODE_VENV
  • LP_COLOR_NOWRITE
  • LP_COLOR_PATH_ROOT
  • LP_COLOR_PATH
  • LP_COLOR_PROXY
  • LP_COLOR_RUBY_VENV
  • LP_COLOR_RUNTIME
  • LP_COLOR_SHLVL
  • LP_COLOR_SSH
  • LP_COLOR_SU
  • LP_COLOR_TELNET
  • LP_COLOR_TERRAFORM
  • LP_COLOR_TIME
  • LP_COLOR_USER_ALT
  • LP_COLOR_USER_LOGGED
  • LP_COLOR_USER_ROOT
  • LP_COLOR_VIRTUALENV
  • LP_COLOR_WRITE
  • LP_COLOR_X11_OFF
  • LP_COLOR_X11_ON
  • LP_ENABLE_PERM
  • LP_ENABLE_SSH_COLORS
  • LP_ENABLE_SUDO
  • LP_MARK_BRACKET_CLOSE
  • LP_MARK_BRACKET_OPEN
  • LP_MARK_BZR
  • LP_MARK_DEFAULT
  • LP_MARK_DISABLED
  • LP_MARK_FOSSIL
  • LP_MARK_GIT
  • LP_MARK_HG
  • LP_MARK_PERM
  • LP_MARK_PREFIX
  • LP_MARK_PROXY
  • LP_MARK_SVN
  • LP_MARK_VCSH

Theme Configuration

Powerline Full uses all the config options of the above Powerline theme, except for:

  • POWERLINE_STASH_MARKER
  • POWERLINE_VCS_DIRTY_COLOR
  • POWERLINE_VCS_MARKER
  • POWERLINE_VCS_STASH_COLOR

Powerline Full adds these config options:

Markers

POWERLINE_AWS_PROFILE_MARKER

The marker string used to indicate the following string is the name of an AWS profile.

2.1

POWERLINE_CHROOT_MARKER

The marker string used to indicate the following string is a chroot.

POWERLINE_KUBECONTEXT_MARKER

The marker string used to indicate the following string is the name of a kubectl context.

2.1

POWERLINE_NODE_ENV_MARKER

The marker string used to indicate the following string is a Node.js environment.

2.1

POWERLINE_PROXY_MARKER

The marker string used to indicate the following string is a HTTP proxy.

POWERLINE_RUBY_ENV_MARKER

The marker string used to indicate the following string is a Ruby environment.

2.1

POWERLINE_SOFTWARE_COLLECTION_MARKER

The marker string used to indicate the following string is a Red Hat Software Collection.

POWERLINE_TERRAFORM_ENV_MARKER

The marker string used to indicate the following string is a Terraform workspace.

2.1

Colors

POWERLINE_AWS_PROFILE_COLOR

Color for the AWS profile section.

2.1

POWERLINE_BATTERY_COLOR

Color for the battery section.

POWERLINE_CHROOT_COLOR

Color for the chroot section.

POWERLINE_CONTAINER_COLOR

Color for the container indicator section.

2.1

POWERLINE_DIRSTACK_COLOR

Color for the directory stack section.

POWERLINE_KUBECONTEXT_COLOR

Color for the Kubernetes context section.

2.1

POWERLINE_LOAD_COLOR

Color for the CPU load section.

POWERLINE_NEUTRAL_COLOR

Color for all neutral sections, LP_PS1_PREFIX and LP_PS1_POSTFIX.

POWERLINE_NODE_ENV_COLOR

Color for the Node.js environment section.

2.1

POWERLINE_PROXY_COLOR

Color for the HTTP proxy section.

POWERLINE_RUBY_ENV_COLOR

Color for the Ruby environment section.

2.1

POWERLINE_RUNTIME_COLOR

Color for the command runtime section.

POWERLINE_SHLVL_COLOR

Color for the nested shell level section.

2.1

POWERLINE_SOFTWARE_COLLECTIONS_COLOR

Color for the Red Hat Software Collections section.

POWERLINE_TEMPERATURE_COLOR

Color for the temperature section.

POWERLINE_TERRAFORM_ENV_COLOR

Color for the Terraform workspace.

2.1

POWERLINE_TIME_COLOR

Color for the current time section.

POWERLINE_WIFI_STRENGTH_COLOR

Color for the wireless signal strength section.

2.1