explaingit

erikw/tmux-powerline

3,781ShellAudience · developerComplexity · 2/5Setup · moderate

TLDR

A tmux plugin that replaces the plain status bar with a styled, information-packed bar showing system stats, weather, music, Git branch, and more, all in the Powerline visual style.

Mindmap

mindmap
  root((tmux-powerline))
    What it does
      Styled status bar
      Powerline arrows
      Auto-hide empty segments
    Segments
      Date and time
      Battery and CPU
      Git branch
      Now playing
      Weather
    Customisation
      Choose segments
      Custom themes
      Write own segments
    Requirements
      tmux 2.9+
      Bash 3.2+
      Nerd Font
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Replace your tmux status bar with one that shows battery level, CPU load, and the current Git branch at a glance.

USE CASE 2

Display the currently playing Spotify or MPD track in your terminal status bar without leaving the terminal.

USE CASE 3

Show live network upload/download speeds and your external IP address in your tmux session.

USE CASE 4

Create a custom status bar segment in any language to surface any information you want in tmux.

Tech stack

BashShelltmux

Getting it running

Difficulty · moderate Time to first run · 30min

Requires a Nerd Font installed in your terminal to render arrow separators, some segments need extra tools like jq, curl, or wget.

Open-source, check the repository for the exact license terms.

In plain English

tmux-powerline is a plugin for tmux, which is a terminal multiplexer: a program that lets you run multiple terminal sessions inside a single window, split into panes, and keep sessions running when you disconnect. This plugin replaces tmux's plain status bar (the line of text at the bottom of the screen) with a more informative, visually styled bar made up of configurable segments separated by arrow-shaped dividers in the Powerline visual style. Each segment in the status bar shows one piece of information, and you choose which segments to include and in what order. The list of available segments is long: current date and time, system load and CPU usage, battery level, weather, network speeds, new mail counts from Gmail or local mailboxes, the song currently playing in several music players including Spotify and MPD, the current Git branch in your working directory, your local and external IP addresses, and more. Segments that have nothing to show, like a now-playing segment when no music is running, disappear automatically rather than taking up space. The plugin is written entirely in Bash, so it requires no compiled code or unusual runtime dependencies. The base installation needs tmux version 2.9 or later and Bash 3.2 or later. Some individual segments have their own dependencies: for example, the weather segment needs the jq and curl command-line tools, and the Gmail segment needs wget. You also need a Nerd Font installed in your terminal so that the arrow separator symbols and any icon glyphs render correctly. Installation uses a tmux plugin manager called tpm. You add one line to your tmux configuration file pointing to this repository, then press a key combination to install it. After that you generate a personal configuration file and edit it to choose which segments to show on the left and right sides of the status bar. Custom themes are supported, and you can write your own segments in any language as long as they output the right format. The project has been around for many years and is actively maintained with help from a co-maintainer.

Copy-paste prompts

Prompt 1
Help me install tmux-powerline using tpm and configure it to show date, battery, Git branch, and currently playing Spotify track on my status bar.
Prompt 2
How do I write a custom tmux-powerline segment in Bash that displays my current Kubernetes context?
Prompt 3
Walk me through setting up a custom theme in tmux-powerline, I want a dark background with coloured arrow dividers.
Prompt 4
The weather segment in tmux-powerline isn't showing, what dependencies do I need and how do I configure my location?
Open on GitHub → Explain another repo

← erikw on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.