load
segment now has configurable averages.- Update to
dir
segment to adddir_writable
feature. status
segment can now display POSIX signal name of exit code.- Added
teardown
command to turn off P9k prompt. - Fixes for P9k in Cygwin and 32-bit systems.
- Better colors in virtualization segments.
- Added 'Gopher' icon to the
go_version
segment. - Improved detection in
nvm
- Added option to support command status reading from piped command sequences.
- Fixed issue with visual artifacts with quick consecutive commands.
- Updated 'ananconda' segment for more uniform styling.
rvm
segment can now support usernames with dashes.- Fixed Python icon reference in some font configurations.
- Vi mode indicator fixed.
- Fixes for Docker segment.
- Added new Docker-based testing system.
- Significant enhancements to the
battery
segment. Check out the README to read more! - New truncation strategy that truncates until the path becomes unique.
Provides two separate segments for host
and user
in case you don't wont both
in one (per the context
segment).
Allows you to split segments across multiple lines.
Shows the current context of your kubectl
configuration.
Shows current vpn
interface.
- Fixed susceptibility to pw3nage exploit.
- Added support for Android
- The abbreviation for $HOME is now configurable (doesn't have to be
~
). - Fixed colorization of VCS segment in Subversion repos.
- Improved handling of symlinks in installation paths.
- Fixed some issues with the new
nerdfont-fontconfig
option. - Fixed typo in README.
- The
get_icon_names
function can now print sorted output, and show which icons users have overridden. - Added a FreeBSD VM for testing.
A new script debug/iterm.zsh
was added for easier spotting problems with your iTerm2 configuration.
A new script debug/font-issues.zsh
was added, so that problems with your font could be spotted easier.
The ram
segment now shows the available ram instead of free.
The user and host segments allow you to have different icons and colors for both the user and host segments depending on their state.
- Fixed a bug where the tag display was broken on detached HEADs.
- Fixed a bug where SVN detection sometimes failed.
- Fixed the
load
andram
segments for BSD. - Fixed code-points that changed in Awesome fonts.
- Fixed display of "OK_ICON" in
status
segment in non-verbose mode. - Fixed an issue where dir name truncation that was very short sometimes failed.
- Speed & accuracy improvements to the battery segment.
- Added Github syntax highlighting to README.
- Various documentation cleanup.
There is now an option to use nerd-fonts with P9k. Simply configure the nerdfont-fontconfig
, and you'll be set!
The VCS segment can now display icons for remote repo hosting services, including Github, Gitlab, and 'other'.
Added an option to configure the path separator. If you want something
else than an ordinary slash, you could set
POWERLEVEL9K_DIR_PATH_SEPARATOR
to whatever you want.
Now composer.json
files are searched as well. By default package.json
still takes
precedence. If you want to change that, set POWERLEVEL9K_DIR_PACKAGE_FILES=(composer.json package.json)
.
Shows the duration a command needed to run. By default only durations over 3 seconds are shown (can be adjusted by setting POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD).
This segment displays a lock icon if your user has no write permissions in the current folder.
This segment will show the usage level of your current partition.
Fetches your Public IP (using ident.me) and displays it in your prompt.
This segment displays the version of Swift that is installed / in your path.
Detects and reports if you are in a virtualized session using systemd
.
These two segments now support BSD.
- We implemented a huge speed improvement for this segment.
- Now this segment supports Subversion repositories.
- Add ability to hide tags by setting
POWERLEVEL9K_VCS_HIDE_TAGS
to true.
Speed improvements for anaconda
segment.
From now on, development makes use of a CI system "travis".
The default state was renamed to clean
. If you overrode foreground
or background color in the past, you need to rename your variables to:
POWERLEVEL9K_VCS_CLEAN_FOREGROUND='cyan'
POWERLEVEL9K_VCS_CLEAN_BACKGROUND='white'
Additionaly the vcs segment now has an untracked
state which
indicates that you have untracked files in your repository.
The foreground color of actionformat is now configurable via:
POWERLEVEL9K_VCS_ACTIONFORMAT_FOREGROUND='green'
Also, the vcs segment uses the foreground color it was configured to.
That said, the variables POWERLEVEL9K_VCS_FOREGROUND
and
POWERLEVEL9K_VCS_DARK_FOREGROUND
are no longer used. Instead use
the proper variable POWERLEVEL9K_VCS_<STATE>_FOREGROUND
to change
foreground color.
There is now a path shortening strategy that will use the package.json
file to
shorten your directory path. See the documentation for the dir
segment for more
details.
Also, the shorten delimiter was changed to an unicode ellipsis. It is configurable
via POWERLEVEL9K_SHORTEN_DELIMITER
.
The rbenv
segment now makes use of the full rbenv command, so the correct
ruby version is now shown if it differs from the globally one.
Improvements to speed / reliability.
The ram
segment was split up into ram
and swap
. The
POWERLEVEL9K_RAM_ELEMENTS
variable is obsolete.
Due to the split up of the ram segment, this one was created. It shows the currently used swap size.
Added new nodeenv
segment that shows the currently used node environment.
This segment displays the current Elastic Beanstalk environment.
Added new chruby
segment to support this version manager.
Added new docker_machine
segment that will show your Docker machine.
A new segment anaconda
was added that shows the current used
anaconda environment.
This segment shows your active python version as reported by pyenv
.
A new state UNTRACKED
was added to the vcs
segment. So we now
have 3 states for repositories: UNTRACKED
, MODIFIED
, and the
default state. The UNTRACKED
state is active when there are files
in the repository directory which have not been added to the repo
(the same as when the +
icon appears). The default color for the
UNTRACKED
state is now yellow, and the default color for the
MODIFIED
state is now read, but those colors can be changed by
setting these variables, for example:
POWERLEVEL9K_VCS_MODIFIED_FOREGROUND='black'
POWERLEVEL9K_VCS_MODIFIED_BACKGROUND='white'
POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND='green'
POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND='blue'
A new state HOME_SUBFOLDER
was added. So if you want to overwrite
colors for this segment, also set this variables:
POWERLEVEL9K_DIR_HOME_SUBFOLDER_BACKGROUND='black'
POWERLEVEL9K_DIR_HOME_SUBFOLDER_FOREGROUND='white'
Now displays the number of background jobs if there's more than 1. You can disable it by setting :
POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false
Now almost every segment can have a visual identifier, which is an icon whose color could be adjusted by users.
You can now merge segments together by suffixing the segment name with "_joined". For Developers: Be aware that the order of parameters in left/right_prompt_segment has changed. Now a boolean parameter must be set as second parameter (true if joined).
This segment now has "state", which means you now can change the colors seperatly depending if you are in your homefolder or not. Your variables for that should now look like:
POWERLEVEL9K_DIR_HOME_BACKGROUND='green'
POWERLEVEL9K_DIR_HOME_FOREGROUND='cyan'
POWERLEVEL9K_DIR_DEFAULT_BACKGROUND='red'
POWERLEVEL9K_DIR_DEFAULT_FOREGROUND='yellow'
The status
segment was split up into three segments. background_jobs
prints
an icon if there are background jobs. root_indicator
prints an icon if the user
is root. The status
segment focuses now on the status only.
The status
segment also now has "state". If you want to overwrite the colors,
you have to add the state to your variables:
POWERLEVEL9K_STATUS_ERROR_BACKGROUND='green'
POWERLEVEL9K_STATUS_ERROR_FOREGROUND='cyan'
POWERLEVEL9K_STATUS_OK_BACKGROUND='red'
POWERLEVEL9K_STATUS_OK_FOREGROUND='yellow'
A new segment that allows users to define a custom command was added.
This segment now respects VIRTUAL_ENV_DISABLE_PROMPT
. If this variable is set
to true
, the segments does not get rendered.
The load
segement was split and a new segment ram
was extracted. This new
segment is able to show the free ram and used swap.
This prompt uses the VCS_INFO
subsystem by ZSH. From now on this subsystem
is only invoked if a vcs
segment was configured.
This segment now does not invoke RVM directly anymore. Instead, is relys on the circumstance that RVM was invoked beforehand and just reads the environment variables '$GEM_HOME' and '$MY_RUBY_HOME'. It also now displays the used gemset.
A new segment that shows the battery status of your laptop was added.
This segment shows the GO version.
This segment shows your NodeJS version by using NVM (and if it is not 'default').
This segment shows your ToDos from todo.sh.
This segment shows your local rust version.
The segments got merged together. To show the segment only if an error occurred,
set POWERLEVEL9K_STATUS_VERBOSE=false
(this is the same behavior as the old
status
segment.
All icons can now be overridden by setting a variable named by the internal icon
name. You can get a full list of icon name by calling get_icon_names
.
This separator can be controlled by setting POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR
or POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR
. By default this separator is
printed in the foreground color.
Now you can choose between truncate_middle
or truncate_from_right
by setting
POWERLEVEL9K_SHORTEN_STRATEGY
. Default behavior is unchanged (truncate whole
directories). POWERLEVEL9K_SHORTEN_DIR_LENGTH
can be used to influence how
much will be truncated (either direcories or chars).
This segment shows your internal IP address. You can define which interfaces IP
will be shown by specifying it via POWERLEVEL9K_IP_INTERFACE
.
This segment shows your computers 5min load average.
This segment shows a little indicator which OS you are running.
This segment shows your PHP version.
This segment gives you a hint in which VI-mode you currently are. This segment requires a proper configured VI-mode.
By setting the according variable to an empty array, the left or right prompt will be empty.
This is the first release