- 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
Distributions normally have their preferred set of CFLAGS so the
binaries are optimized and include debug symbols to create a debuginfo
package. For this we need to be able to set the CFLAGS via the
commandline and the setup.py should forward them to the compiler.
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
- 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).
Now imports follow the following structure:
1. __future__ line: exactly one line allowed:
from __future__ import (unicode_literals, division, absolute_import, print_function)
(powerline.shell is the only exception due to problems with argparse).
2. Standard python library imports in a form `import X`.
3. Standard python library imports in a form `from X import Y`.
4. and 5. 2. and 3. for third-party (non-python and non-powerline imports).
6. 3. for powerline non-test imports.
7. and 8. 2. and 3. for powerline testing module imports.
Each list entry is separated by exactly one newline from another import. If
there is module docstring it goes between `# vim:` comment and `__future__`
import. So the structure containing all items is the following:
#!/usr/bin/env python
# vim:fileencoding=utf-8:noet
'''Powerline super module'''
import sys
from argparse import ArgumentParser
import psutil
from colormath.color_diff import delta_e_cie2000
from powerline.lib.unicode import u
import tests.vim as vim_module
from tests import TestCase
.
Minor changes have been applied:
- Removed copyright info and GPL 3 license since Powerline is MIT (needs
confirmation from kovidgoyal before merge)
- The `powerline-client` script is renamed to `powerline`, and calls the
daemon or `powerline-render` (the previous `powerline`) to render
a statusline
- Minor coding style corrections to match the rest of the project
- Python 3 support is removed for now due to setuptools failing with
binary scripts
Todo:
- Automatically attempt to launch powerline-daemon the first time
powerline is run if the daemon isn't already running?
- pip install -e fails with binary files (it appears that pip recodes
the powerline binary to ASCII, the compiled powerline script must be
copied manually to ~/.local/bin after pip install -e has been run)
Changes:
- Add main configuration, colors.json, almost full themes and colorschemes
checks
- Make powerline.lint.check return whether it had problems
- Make powerline-lint fail if .check reported problems
- Make tests run powerline-lint
- Add the script to the list of the installed scripts
Fixes#278
Support for unicode literals was reintroduced in Python 3.3 which makes
supporting both Python 2 and Python 3 much easier, so this will be the
minimum supported Python 3 version.
Closes#8.