Powerline is a statusline plugin for vim, and provides statuslines and prompts for several other applications, including zsh, bash, tmux, IPython, Awesome and Qtile.
Go to file
Austin Beam f39b1dcf20 tmux: Enhance version checking for tmux
tmux configuration has become very fragmented between versions due to a
combination of new features and deprecation of older options. As such,
version checking for tmux became a requirement to allow maximum
functionality along with version-appropriate configuration. However,
wrapping nearly every line with `if-shell` is tedious and becomes
virtually unreadable.

This enhancement to tmux version-checking creates a logical
configuration file structure that reflects the development of tmux. As
additional configurations are added and tmux development continues, this
structure can be leveraged appropriately and extended as needed.

Rather than having multiple `if-shell` checks for the same version, each
version or version group with specific requirements can be checked only
once. This leads to simpler and fewer `if-shell` version checks. It also
reduces the ambiguity introduced by complex `if-shell` commands that
include an 'else' conditional.

A caveat to adding this enhancement is the additional requirement of the
end user to add a tmux variable definition (`POWERLINE_BINDINGS_DIR`) to
his/her `~/.tmux.conf` file. For existing tmux users leveraging
powerline, this may prove to be a slight one-time nuisance immediately
after upgrading. Without this definition, there is no way to determine
the location of the additional tmux powerline config files that have
been added with this enhancement. The docs have also been updated in
this commit to reflect this initial configuration requirement change.
Also added are some additional troubleshooting notes that point to
definition of this variable as a potential issue. Powerline will
continue to work without the definition of `POWERLINE_BINDINGS_DIR`, but
some of the functionality will be reduced and the appearance incomplete
(i.e. colors).

Ultimately, the caveat above is a small price to pay in exchange for a
framework that can be leveraged for proper version-appropriate
configuration of tmux going forward.
2014-05-06 00:12:10 -05:00
docs tmux: Enhance version checking for tmux 2014-05-06 00:12:10 -05:00
font Add more Droid Sans Mono families 2014-03-17 19:26:43 +04:00
powerline tmux: Enhance version checking for tmux 2014-05-06 00:12:10 -05:00
scripts Use os.path.realpath() before os.path.abspath() 2014-02-16 01:25:10 +04:00
tests Add support for omitting VALUE 2014-05-04 13:01:29 +04:00
tools Fix flake8 complaints 2014-03-13 20:41:54 +04:00
.editorconfig Move some settings from .local.vimrc to .editorconfig 2014-05-04 12:10:32 +04:00
.gitattributes ignore trailing whitespace errors in .rst files 2013-08-20 09:35:42 -04:00
.gitignore Fix problems with merging vim.Dictionary 2013-05-23 18:36:51 +04:00
.local.vimrc Move some settings from .local.vimrc to .editorconfig 2014-05-04 12:10:32 +04:00
.travis.yml Do not restrict branches to `tests` branch 2013-03-03 21:03:56 +01:00
CONTRIBUTING.rst Add initial CONTRIBUTING document 2013-03-15 15:23:41 +01:00
LICENSE Change license from CC BY-SA to the MIT license 2013-03-08 17:58:06 +01:00
MANIFEST.in Include bindings in package 2013-01-23 07:40:19 +01:00
README.rst Add links to Google Groups 2013-08-20 17:59:41 +02:00
setup.py Make author name ASCII 2013-08-20 13:07:56 +02:00

README.rst

Powerline
=========

:Author: Kim Silkebækken (kim.silkebaekken+vim@gmail.com)
:Source: https://github.com/Lokaltog/powerline
:Version: beta

**Powerline is a statusline plugin for vim, and provides statuslines and 
prompts for several other applications, including zsh, bash, tmux, IPython, 
Awesome and Qtile.**

* `Support forum`_ (powerline-support@googlegroups.com)
* `Development discussion`_ (powerline-dev@googlegroups.com)

.. image:: https://api.travis-ci.org/Lokaltog/powerline.png?branch=develop
   :target: `travis-build-status`_
   :alt: Build status

.. _travis-build-status: https://travis-ci.org/Lokaltog/powerline
.. _`Support forum`: https://groups.google.com/forum/#!forum/powerline-support
.. _`Development discussion`: https://groups.google.com/forum/#!forum/powerline-dev

Features
--------

* **Extensible and feature rich, written in Python.** Powerline was 
  completely rewritten in Python to get rid of as much vimscript as 
  possible. This has allowed much better extensibility, leaner and better 
  config files, and a structured, object-oriented codebase with no mandatory
  third-party dependencies other than a Python interpreter.
* **Stable and testable code base.** Using Python has allowed unit testing 
  of all the project code. The code is tested to work in Python 2.6+ and 
  Python 3.
* **Support for prompts and statuslines in many applications.** Originally 
  created exclusively for vim statuslines, the project has evolved to 
  provide statuslines in tmux and several WMs, and prompts for shells like 
  bash/zsh and other applications. It's simple to write renderers for any 
  other applications that Powerline doesn't yet support.
* **Configuration and colorschemes written in JSON.** JSON is 
  a standardized, simple and easy to use file format that allows for easy 
  user configuration across all of Powerline's supported applications.
* **Fast and lightweight, with daemon support for even better performance.**
  Although the code base spans a couple of thousand lines of code with no 
  goal of "less than X lines of code", the main focus is on good performance 
  and as little code as possible while still providing a rich set of 
  features. The new daemon also ensures that only one Python instance is 
  launched for prompts and statuslines, which provides excellent 
  performance.

*But I hate Python / I don't need shell prompts / this is just too much 
hassle for me / what happened to the original vim-powerline project / …*

You should check out some of the Powerline derivatives. The most lightweight
and feature-rich alternative is currently Bailey Ling's `vim-airline 
<https://github.com/bling/vim-airline>`_ project.

------

* Consult the `documentation 
  <https://powerline.readthedocs.org/en/latest/>`_ for more information and 
  installation instructions.
* Check out `powerline-fonts <https://github.com/Lokaltog/powerline-fonts>`_ 
  for pre-patched versions of popular, open source coding fonts.

Screenshots
-----------

Vim statusline
^^^^^^^^^^^^^^

**Mode-dependent highlighting**

* .. image:: https://raw.github.com/Lokaltog/powerline/develop/docs/source/_static/img/pl-mode-normal.png
     :alt: Normal mode
* .. image:: https://raw.github.com/Lokaltog/powerline/develop/docs/source/_static/img/pl-mode-insert.png
     :alt: Insert mode
* .. image:: https://raw.github.com/Lokaltog/powerline/develop/docs/source/_static/img/pl-mode-visual.png
     :alt: Visual mode
* .. image:: https://raw.github.com/Lokaltog/powerline/develop/docs/source/_static/img/pl-mode-replace.png
     :alt: Replace mode

**Automatic truncation of segments in small windows**

* .. image:: https://raw.github.com/Lokaltog/powerline/develop/docs/source/_static/img/pl-truncate1.png
     :alt: Truncation illustration
* .. image:: https://raw.github.com/Lokaltog/powerline/develop/docs/source/_static/img/pl-truncate2.png
     :alt: Truncation illustration
* .. image:: https://raw.github.com/Lokaltog/powerline/develop/docs/source/_static/img/pl-truncate3.png
     :alt: Truncation illustration

----

The font in the screenshots is `Pragmata Pro`_ by Fabrizio Schiavi.

.. _`Pragmata Pro`: http://www.fsd.it/fonts/pragmatapro.htm