edf37385cb
The module has a poll timeout because it needs to periodically check if it is shutting down. Otherwise, it would be stuck polling and the bar couldn't shut down until the script produces a new line. However, this causes the bar to wake up intermittently (currently ~40/s) due to the 25ms timeout. Bumping this to 250ms still gives us timely shut downs and caps the number of wake ups to 4/s. This is only a stop-gap solution, ideally the script runner is integrated into the main event loop and uses its polling handles which don't have to wake up to check for a shutdown. Ref #1778 Ref #2337 |
||
---|---|---|
.github | ||
cmake | ||
common | ||
contrib | ||
doc | ||
include | ||
lib | ||
src | ||
tests | ||
.clang-format | ||
.clang-tidy | ||
.editorconfig | ||
.gitignore | ||
.gitmodules | ||
.valgrind-suppressions | ||
build.sh | ||
CHANGELOG.md | ||
CMakeLists.txt | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md | ||
SUPPORT.md | ||
version.txt |
A fast and easy-to-use tool for creating status bars.
Documentation | Installation | Support | Donate
Polybar aims to help users build beautiful and highly customizable status bars for their desktop environment, without the need of having a black belt in shell scripting.
Table of Contents
- Introduction
- Getting Help
- Contributing
- Getting started
- Community
- Contributors
- Donations
- License
- Signatures
Introduction
The main purpose of Polybar is to help users create awesome status bars. It has built-in functionality to display information about the most commonly used services. Some of the services included so far:
- Systray icons
- Window title
- Playback controls and status display for MPD using libmpdclient
- ALSA and PulseAudio volume controls
- Workspace and desktop panel for bspwm and i3
- Workspace module for EWMH compliant window managers
- Keyboard layout and indicator status
- CPU and memory load indicator
- Battery display
- Network connection details
- Backlight level
- Date and time label
- Time-based shell script execution
- Command output tailing
- User-defined menu tree
- Inter-process messaging
- And more...
See the wiki for more details.
Getting Help
If you find yourself stuck, have a look at our Support page for resources where you can find help.
Contributing
Read our contributing guidelines for how to get started with contributing to polybar.
Getting started
Installation
Polybar is already available in the package manager for many repositories. We list some of the more prominent ones here. Also click the image on the right to see a more complete list of available polybar packages.
If you are using Debian (bullseye/11/stable) or later, you can install polybar
using sudo apt install polybar
. Newer releases of polybar are sometimes provided in the backports
repository for stable users, you need to enable backports and then install using
sudo apt -t bullseye-backports install polybar
.
If you are using Ubuntu 20.10 (Groovy Gorilla) or later, you can install polybar
using sudo apt install polybar
.
If you are using Arch Linux, you can install
polybar to get the
latest stable release using sudo pacman -S polybar
. The latest unstable
changes are also available in the
polybar-git
package in the
AUR.
If you are using Manjaro, you can install polybar to get the latest stable release using sudo pacman -S polybar
.
If you are using Void Linux, you can install polybar using xbps-install -S polybar
.
If you are using NixOS, polybar is available in both the stable and unstable channels and can be installed with the command nix-env -iA nixos.polybar
.
If you are using Slackware, polybar is available from the SlackBuilds repository.
If you are using Source Mage GNU/Linux, polybar spell is available in test grimoire and can be installed via cast polybar
.
If you are using openSUSE Leap or openSUSE Tumbleweed, polybar is available from the
official
repositories
and can be installed via zypper install polybar
.
The package is available for openSUSE Leap 15.3 and above.
If you are using FreeBSD, polybar can be installed using pkg install polybar
. Make sure you are using the latest
package branch.
If you are using Gentoo, both release and git-master versions are available in the main repository.
If you are using Fedora, you can install polybar using sudo dnf install polybar
.
If you can't find your distro here, you will have to build from source.
First Steps
See the wiki for details on how to run and configure polybar.
Community
Want to get in touch?
- Visit our Discussion page
- Join our Gitter room at
gitter.im/polybar/polybar
- We have our own subreddit at
r/polybar
- Chat with us in the
#polybar
IRC channel on theirc.libera.chat:6697
server
Contributors
Maintainers
- Patrick Ziegler @patrick96
Owner
- Michael Carlberg @jaagr
Former Maintainers
- @Lomadriel
- @NBonaparte
- Chase Geigle @skystrife
Logo Design by
All Contributors
Donations
Polybar accepts donations through open collective.
Become a backer and support polybar!
Sponsors
Backers
License
Polybar is licensed under the MIT license. See LICENSE for more information.
Signatures
Release archives and tags are signed by a maintainer using GPG. Currently
everything is signed by Patrick Ziegler
with fingerprint 1D5791352D51A228D4DDDBA4521E5E03AEBCA1A7