powerline/docs/source/overview.rst

258 lines
7.9 KiB
ReStructuredText
Raw Normal View History

********
2012-12-14 15:23:26 +01:00
Overview
********
2012-12-14 15:23:26 +01:00
Requirements
============
2012-12-14 15:23:26 +01:00
Powerline requires Python 3.3 or Python 2.7 to work.
2012-12-17 15:24:42 +01:00
Vim plugin requirements
-----------------------
2012-12-17 15:24:42 +01:00
The vim plugin requires a vim version with Python support compiled in. You
can check if your vim supports Python by running ``vim --version | grep
+python``.
2012-12-17 15:24:42 +01:00
If your vim version doesn't have support for Python, you'll have to compile
it with the ``--enable-pythoninterp`` flag (``--enable-python3interp`` if
you want Python 3 support instead). Note that this also requires the related
Python headers to be installed on your system. Please consult your
2012-12-21 11:19:53 +01:00
distribution's documentation for details on how to compile and install
packages.
2012-12-17 15:24:42 +01:00
Vim version 7.3.661 or newer is recommended for performance reasons.
Terminal emulator requirements
------------------------------
Powerline uses several special glyphs to get the arrow effect and some
custom symbols for developers. This requires that you either have a symbol
font or a patched font on your system. Your terminal emulator must also
support either patched fonts or fontconfig for Powerline to work properly.
You can also enable :ref:`24-bit color support <config-common-term_truecolor>`
if your terminal emulator supports it.
.. table:: Application/terminal emulator feature support matrix
:name: term-feature-support-matrix
===================== ======= ===================== ===================== =====================
Name OS Patched font support Fontconfig support 24-bit color support
===================== ======= ===================== ===================== =====================
Gnome Terminal Linux |i_yes| |i_yes| |i_no|
Gvim Linux |i_yes| |i_no| |i_yes|
iTerm2 OS X |i_yes| |i_no| |i_no|
Konsole Linux |i_yes| |i_yes| |i_yes|
lxterminal Linux |i_yes| |i_yes| |i_no|
MacVim OS X |i_yes| |i_no| |i_yes|
rxvt-unicode Linux |i_partial| [#]_ |i_no| |i_no|
st Linux |i_yes| |i_yes| |i_no|
Terminal.app OS X |i_yes| |i_no| |i_no|
Xfce Terminal Linux |i_yes| |i_yes| |i_no|
xterm Linux |i_yes| |i_no| |i_partial| [#]_
===================== ======= ===================== ===================== =====================
.. |i_yes| image:: _static/img/icons/tick.png
.. |i_no| image:: _static/img/icons/cross.png
.. |i_partial| image:: _static/img/icons/error.png
.. [#] Must be compiled with ``--enable-unicode3`` for the
patched font to work.
.. [#] Uses nearest color from 8-bit palette.
2013-01-22 14:23:21 +01:00
Optional dependencies
---------------------
2013-01-21 20:38:41 +01:00
The following software is not required by all segments, but recommended for
optimal performance and extra features:
Python packages
^^^^^^^^^^^^^^^
2013-01-21 20:38:41 +01:00
* ``pygit2``
2013-01-22 14:23:21 +01:00
* ``mercurial``
2013-01-21 20:38:41 +01:00
* ``psutil``
* ``i3-py``, `available on github <https://github.com/ziberna/i3-py>`_. Only used with i3wm bindings and segments.
Other applications
^^^^^^^^^^^^^^^^^^
* ``git`` version 1.7.2 and later. Not needed if you have ``pygit2``.
2013-01-21 20:38:41 +01:00
2012-12-13 22:43:58 +01:00
Installation
============
2012-12-13 22:43:58 +01:00
.. note:: This project is currently unavailable from PyPI due to a naming conflict
with an unrelated project. Please read the detailed instructions for your platform
below.
* :ref:`installation-linux`
* :ref:`installation-osx`
2012-12-14 15:23:26 +01:00
Usage
=====
2012-12-17 15:24:42 +01:00
2013-10-14 16:32:56 +02:00
.. _vim-vimrc:
Vim statusline
--------------
2012-12-17 15:24:42 +01:00
2013-10-14 16:32:56 +02:00
If installed using pip just add
2013-05-14 22:33:13 +02:00
.. code-block:: vim
python from powerline.vim import setup as powerline_setup
python powerline_setup()
python del powerline_setup
2013-10-14 16:32:56 +02:00
(replace ``python`` with ``python3`` if appropriate) to your :file:`vimrc`.
2013-05-14 22:33:13 +02:00
If you just cloned the repository add the following line to your :file:`vimrc`,
where ``{repository_root}`` is the absolute path to your Powerline installation
directory:
2013-01-21 10:14:21 +01:00
.. code-block:: vim
set rtp+={repository_root}/powerline/bindings/vim
If you're using Vundle or Pathogen and don't want Powerline functionality in
any other applications, simply add Powerline as a bundle and point the path
2013-04-05 05:12:25 +02:00
above to the Powerline bundle directory, e.g.
``~/.vim/bundle/powerline/powerline/bindings/vim``. For vim-addon-manager it is
even easier since you dont need to write this big path or install anything by
hand: ``powerline`` is installed and run just like any other plugin using
.. code-block:: vim
call vam#ActivateAddons(['powerline'])
2013-01-21 10:14:21 +01:00
2013-05-14 22:33:13 +02:00
Note: when using Gentoo ebuild you need to specify ``USE=vim`` to enable
powerline.
Shell prompts
-------------
Bash prompt
^^^^^^^^^^^
Add the following line to your :file:`bashrc`, where ``{repository_root}`` is
the absolute path to your Powerline installation directory:
2013-01-21 10:16:34 +01:00
.. code-block:: bash
. {repository_root}/powerline/bindings/bash/powerline.sh
Zsh prompt
^^^^^^^^^^
Add the following line to your :file:`zshrc`, where ``{repository_root}`` is the
absolute path to your Powerline installation directory:
2013-01-21 10:16:34 +01:00
.. code-block:: bash
. {repository_root}/powerline/bindings/zsh/powerline.zsh
Fish prompt
^^^^^^^^^^^
Add the following line to your :file:`config.fish`, where ``{repository_root}``
is the absolute path to your Powerline installation directory:
.. code-block:: bash
set fish_function_path $fish_function_path "{repository_root}/powerline/bindings/fish"
powerline-setup
Tmux statusline
---------------
Add the following line to your :file:`tmux.conf`, where ``{repository_root}`` is
the absolute path to your Powerline installation directory::
source '{repository_root}/powerline/bindings/tmux/powerline.conf'
2013-01-24 19:36:46 +01:00
IPython prompt
--------------
2013-01-24 19:36:46 +01:00
For IPython<0.11 add the following lines to your
:file:`.ipython/ipy_user_conf.py`::
# top
from powerline.bindings.ipython.pre_0_11 import setup as powerline_setup
# main() function (assuming you launched ipython without configuration to
# create skeleton ipy_user_conf.py file):
powerline_setup()
For IPython>=0.11 add the following line to your :file:`ipython_config.py`
file in the profile you are using::
c.InteractiveShellApp.extensions = [
'powerline.bindings.ipython.post_0_11'
]
IPython=0.11* is not supported and does not work. IPython<0.10 was not
tested (not installable by pip).
2013-01-28 12:30:11 +01:00
Awesome widget
--------------
.. note:: Powerline currently only supports awesome 3.5.
.. note:: The Powerline widget will spawn a shell script that runs in the
background and updates the statusline with ``awesome-client``.
Add the following to your :file:`rc.lua`, where ``{repository_root}`` is the
absolute path to your Powerline installation directory:
2013-01-28 12:30:11 +01:00
.. code-block:: lua
package.path = package.path .. ';{repository_root}/powerline/bindings/awesome/?.lua'
2013-01-28 12:30:11 +01:00
require('powerline')
Then add the ``powerline_widget`` to your ``wibox``:
.. code-block:: lua
right_layout:add(powerline_widget)
2013-01-30 10:35:01 +01:00
Qtile widget
------------
Add the following to your :file:`~/.config/qtile/config.py`:
.. code-block:: python
from powerline.bindings.qtile.widget import Powerline
screens = [
Screen(
top=bar.Bar([
# ...
Powerline(timeout=2),
# ...
],
),
),
]
2014-02-15 18:01:14 +01:00
I3 bar
------
2014-02-15 18:01:14 +01:00
.. note:: Until the patch is done in i3, you will need a custom ``i3bar`` build
called ``i3bgbar``. The source is available `here
<https://github.com/S0lll0s/i3bgbar>`_.
Add the following to your :file:`~/.i3/config`::
2014-02-15 18:01:14 +01:00
bar {
i3bar_command i3bgbar
status_command python /path/to/powerline/bindings/i3/powerline-i3.py
font pango:PowerlineFont 12
}
2014-02-15 18:01:14 +01:00
where ``i3bgbar`` may be replaced with the path to the custom i3bar binary and
``PowerlineFont`` is any system font with powerline support.