- Added `short` parameter for `system_load` segment that leaves only one load
average number out of three.
- Added `powerline.segments.i3wm.scratchpad` segment used to list windows that
are currently on the scratchpad.
- Added support for multiple batteries in battery segment.
- Added `….i3wm.workspace` segment which describes single i3wm workspace and
workspaces lister. Old `….i3wm.workspaces` segment was deprecated.
- Added support for multiple monitors in lemonbar bindings.
- Added support for most recent tmux version (2.2).
- Fixed battery status support on some linux systems.
- Fixed MPD bindings: they sometimes were not able to handle names if they did
not fit ASCII.
- Fixed MPD bindings: they did not correctly get elapsed time.
- Fixed AttributeError on some systems: LC_MESSAGES is not always available.
- Fixed Mac OS-specific variant of spotify player support when Python-3 is
used.
- Fixed performance of the tabline.
- Added ability to hide domain part of the user name to common.env.user segment.
- Added ability to show conda environment to virtualenv segment.
- Added systemd service file.
- Added ability to detect internal_ip interface using default gateway.
- Added support for password-protected connections in mpd player bindings.
- Added `output` option to i3wm.workspaces segment to filter workspaces based on
their output.
- Added “charging” indicator to battery segment.
- Made tmux bindings show zoom indicator in window status.
- Fixed tmux bindings so that they support tmux-2.1.
- Fixed support for unicode characters in common.time.date segment.
- Added support for newest psutil version.
- Added support for non-SSL IMAP4 connection.
- Added support for clickable tab names in Vim.
- Added support for truncating tmux segments.
- Added support for new (i3ipc) module that interacts with i3.
- Added support for i3 modes.
- Fixed coloring of network\_load segment.
- Fixed dash bindings on OS X.
- Fixed parsing numbers starting with 2 supplied by POWERLINE\_\*\_OVERRIDES
environment variables.
- Added support for placing powerline on the left in qtile.
- Added qtile-1.9 support.
- Fixed tmux-2.0 support.
- Made it easier to run tests outside of travis.
- Added some missing highlight groups.
- Made it omit writing empty above lines.
- Fixed UnicodeEncodeError when running powerline-lint with non-ASCII characters
in error messages.
- Fixed code that replaces `&statusline` value: it now is able to replace
non-ASCII `&statusline`s as well.
- Added [BAR](https://github.com/LemonBoy/bar) support.
- Added support for pdb (Python debugger) prompt.
- Added more highlight groups to solarized colorscheme.
- Updated zpython bindings.
- Fixed C version of the client on non-Linux platforms.
- Fixed some errors in powerline-lint code.
- Fixed Python-2.6 incompatibilities in setup.py.
Added functionality:
- Added fbterm (framebuffer terminal emulator) support.
- Added theme with unicode-7.0 symbols. (Note: most software is not ready for it
yet, including all Python-2\* versions.)
- Added support for PyPy3.
- Compiler is now called with CFLAGS from environment in setup.py if present.
- Added support for pyuv-1.\*.
- Added a way to write error log to Vim global variable.
- `powerline` script now supports overrides from `$POWERLINE_CONFIG_OVERRIDES`,
`$POWERLINE_THEME_OVERRIDES` environment variables, so does `powerline-config`
script.
- `powerline` and `powerline-config` scripts now support taking paths from
`$POWERLINE_CONFIG_PATHS`.
- `powerline-lint` is now able to report dictionaries which were merged in to
form marked dictionary and what were the previous values of overridden values.
- Added support for Byron Rakitzis’ rc shell reimplementation.
- Added support for querying battery status on cygwin platform.
Fixes:
- Vim: made all mode strings have equal width.
- Vim: fixed intermediate Vim-7.3\* support.
- Fixed typo in battery segment implementation that made it not possible to fall
back to next implementation if UPower is not available, but dbus is.
- Fixed libzpython overrides and modes support.
- Fixed Python-3\* support in zpython bindings.
- Fixed checking of themes located in user configuration directories in
`powerline-lint`.
- `powerline-daemon` now allows `--foreground` argument to be used in
conjunction with `--replace`.
- Fixed outdated tmux versions support (1.6 and 1.7).
Incompatible changes:
- Removed CtrlP support. If one wants to readd it make sure to fix problems
listed in 4e6b0a7ec8.
- `highlight_group` key in segment description (both in configuration and in
function output) was renamed to `highlight_groups` (note the trailing `s`).
- `attr` key in colorschemes was renamed to `attrs` key (note the trailing `s`).
- All highlight groups looking like `foo.bar` were renamed to `foo:bar`: dot in
highlight group names is no longer allowed.
- `detect` argument value was renamed to `auto` in network segments.
- `$POWERLINE_COMMAND` is now a single path to one executable. No arguments to
the executable are allowed inside `$POWERLINE_COMMAND`. Overrides using
argument to `$POWERLINE_COMMAND` are now deprecated.
- In place of overrides being part of `$POWERLINE_COMMAND` variable all shell
and tmux bindings now support overrides from `$POWERLINE_CONFIG_OVERRIDES` and
`$POWERLINE_THEME_OVERRIDES` environment variables.
- In place of config paths specified as a part of `$POWERLINE_COMMAND` variable
paths are now taken from `$POWERLINE_CONFIG_PATHS` environment variable.
- `$POWERLINE_CONFIG` was replaced with `$POWERLINE_CONFIG_OVERRIDES` for
zpython bindings when talking about overrides.
- `$POWERLINE_THEME_CONFIG` was renamed to `$POWERLINE_THEME_OVERRIDES` in
zpython bindings.
- `$POWERLINE_CONFIG` was replaced with `$POWERLINE_CONFIG_COMMAND` in all shell
bindings when talking about path to `powerline-config` executable.
- In Vim in place of `g:powerline_theme_overrides__{theme_name}` per-theme
dictionaries `g:powerline_theme_overrides` dictionary should be used. Theme
names in this case are top-level keys in the new dictionary.
- In IPython configuration paths list can be specified via `config_paths`
option, not via `paths` option.
- Some long options that defined overrides were renamed:
- `--theme_option` was renamed to `--theme-override`.
- `--config` was renamed to `--config-override`.
Note that these options are deprecated and shall be used for testing purposes
only.
- All long options that used to have underscore in them are now using
HYPHEN-MINUS instead. I.e.
- `--config_path` was renamed to `--config-path`.
- `--last_pipe_status` was renamed to `--last-pipe-status`.
- `--renderer_arg` was renamed to `--renderer-arg`.
- `--theme_option` was renamed to `--theme-override`.
Short options were not touched.
- All segments from `powerline.segments.common` were removed. Now they live in
`powerline.segments.common` submodules: e.g.
`powerline.segments.common.weather` is now
`powerline.segments.common.wthr.weather`. List of available segments can be
found in documentation, section [Common segments][common-segments].
- Segments `powerline.segments.common.now_playing` and
`powerline.segments.common.players.now_playing` were removed. In place of them
all players should be accessed via their own segments. List of segments is
available in [Media players][media-players].
[common-segments]: http://powerline.readthedocs.org/en/master/configuration/segments/common.html
[media-players]: http://powerline.readthedocs.org/en/master/configuration/segments/common.html#module-powerline.segments.common.players
- Fixed Command-T finder labels: now `CommandT::` and `Finder::` parts are
removed because all finders were moved to `CommandT::Finder` module in place
of just `CommandT`.
- Fixed dbus players support: it is now OK not to have album title.
- Characters that form the surrogate pair that represents some character above
U+10000 in UCS-2 Python builds are no longer considered non-printable.
- Added support for calculating lengths of the characters above U+10000 in UCS-2
Python builds.
- Made linter support characters above U+10000 if they are represented as
a `\uXXXX\uXXXX` surrogate pair in JSON.
- Made linter validate that all characters in some strings are printable.
- Made `powerline-daemon` work in FreeBSD: only use abstract socket namespace on
linux systems.
- Fixed `string` and `safe_unicode` functions in Python-3.
- Added support for Command-T plugin statusline.
- Added support for csv files (displays current column and column header if
applicable).
- Added support for capslock plugin.
- Added support for `ZLE_RPROMPT_INDENT` in zsh bindings.
- Made tmux bindings respect powerline configuration (powerline colorschemes and
left dividers configuration).
- Made tagbar segment use caching.
- Fixed build in case no C compiler was found.
- Fixed old Vims support.
- Fixed non-unicode directories support in non-zpython shell bindings when using
Python-2.
- Fixed tcsh prompt escaping: also escapes the bang.
- Various improvements useful for debugging.
- Improved style of help messages.
- Added manual pages.
Changes:
- When guessing used network interface for internal_ip segment the priority of
various VM bridge interfaces was lowered.
- Added `ignore_statuses` option that makes one able to prevent certain
repository statutes (e.g. `"U"`: only modification is unknown files) from
marking repository as dirty.
- Refactored `powerline.segments.common.players` module: deprecated
`now_playing` segment, replacing it with segments with names identical to
player names (e.g. `powerline.segments.common.players.mpd`). `now_playing`
segment will continue to work until powerline-2.0 though.
- Fixed `powerline.segments.tmux.attached_clients` segment: it was not working
at all due to missing argument in one function call.
- Fixed regular expression used to detect NERDTree buffers.
Changes:
- Deprecated `powerline.segments.common`, moved all segments into deeply nested
modules (e.g. `powerline.segments.common.vcs`).
- Added support for different tag formats provided by tagbar plugin.
- Improved non-unicode locales handling.
- Improved non-unicode filenames handling.
- Improved Vim troubleshooting: it now runs powerline-lint automatically.
- Fixed weather segment: it was remembering its argument from the first run and
never allowed to change it.
- Fixed Uv watcher: it raised an exception for nonexistent files.
- Fixed zsh named directories handling when AUTO_NAME_DIRS option is set.
- Fixed --config_path handling when using daemon: in some cases it was
remembered once and never changed.
- Fixed Vim overrides when Vim is using Python-3*.
- Fixed Uv watcher on Python-3*: it used os.path.walk which was removed.
- Refactored and documented powerline.lint.
Current features include:
- Application support: vim, ipython, awesome, qtile, i3, tmux, zsh, fish, tcsh,
bash and some other shells.
- Powerline daemon that makes tmux and shell bindings work faster.
- Automatic statusline shrinking.
- Segments:
- Branch and file status segments support for git, mercurial and bazaar
version control systems.
- Battery support for linux (dbus and /sys/class/power_supply), OS X and
Windows platforms.
- Player support: CMUS, MPD, Spotify, Clementine, Rhythmobox, RDIO.
- Support for displaying weather.
- Current directory display in shells, including zsh named directories
support.
- Vim plugins support: Ctrl-P, Gundo, NerdTree, Syntastic, TagBar.
- A huge number of other segments.
- Automatic configuration reloading.
- Merging configuration from various locations.
- Filesystem watchers for configuration reloading and VCS segments:
- INotify-based watcher.
- LibUv-based watcher.
- Stat-based watcher (only files).