lemonbar - Featherweight lemon-scented bar
This fork is based on lemonbar-xft and adds the ability to select the xrandr monitor the bar should appear on. Hence, the executable always renders only a single panel, unlike upstream, where a single executable can display multiple panels.
As of 2016-01-15 also available in AUR: https://aur.archlinux.org/packages/lemonbar-sm-git/
lemonbar [-h | -g widthxheight+x+y | -b | -d | -f font | -p | -n name | -u pixel | -B color | -F color | -U color | -o offset ] MONITOR
lemonbar (formerly known as bar) is a lightweight bar entirely based on XCB. Provides full UTF-8 support, basic formatting, RandR support and EWMH compliance without wasting your precious memory.
Monitor name can be determined using e.g. xrandr -q
- -h
-
Display the help and exit.
- -g widthxheight+x+y
-
Set the window geometry. If a parameter is omitted it's filled with the default value. If the y parameter is specified along with the -b switch then the position is relative to the bottom of the screen. The offsets are always relative to the selected monitor's upper left corner.
- -b
-
Dock the bar at the bottom of the screen.
- -d
-
Force docking without asking the window manager. This is needed if the window manager isn't EWMH compliant.
- -f font
-
Define the font to load into one of the five slots (the number of slots is hardcoded and can be tweaked by changing the MAX_FONT_COUNT parameter in the source code). This version supports fontconfig font specifiers and anti-aliased fonts.
- -a number
-
Set number of clickable areas (default is 10)
- -p
-
Make the bar permanent, don't exit after the standard input is closed.
- -n name
-
Set the WM_NAME atom value for the bar.
- -u pixel
-
Sets the underline width in pixels. The default is 1.
- -B color
-
Set the background color of the bar. color must be specified in the hex format (#aarrggbb, #rrggbb, #rgb). If no compositor such as compton or xcompmgr is running the alpha channel is silently ignored.
- -F color
-
Set the foreground color of the bar. Accepts the same color formats as -B.
- -o offset
-
Add a vertical offset to the text. offset must be a number and can be negative. -o -3 will push the text 3 pixels up.
- -U color
-
Set the underline color of the bar. Accepts the same color formats as -B.
lemonbar provides a screenrc-inspired formatting syntax to allow full customization at runtime. Every formatting block is opened with %{
and closed by }
and accepts the following commands, the parser tries it's best to handle malformed input. Use %%
to get a literal percent sign (%
).
- R
-
Swap the current background and foreground colors.
- l
-
Aligns the following text to the left side of the screen.
- c
-
Aligns the following text to the center of the screen.
- r
-
Aligns the following text to the right side of the screen.
- Owidth
-
Offset the current position by width pixels in the alignment direction.
- Bcolor
-
Set the text background color. The parameter color can be - or a color in one of the formats mentioned before. The special value - resets the color to the default one.
- Fcolor
-
Set the text foreground color. The parameter color can be - or a color in one of the formats mentioned before. The special value - resets the color to the default one.
- Tindex
-
Set the font used to draw the following text. The parameter index can either be - or the 1-based index of the slot which contains the desired font. If the parameter is - lemonbar resets to the normal behavior (matching the first font that can be used for the character). If the selected font can't be used to draw a character, lemonbar will fall back to normal behavior for that character
- Ucolor
-
Set the text underline color. The parameter color can be - or a color in one of the formats mentioned before. The special value - resets the color to the default one.
-
Create a clickable area starting from the current position, when the area is clicked command is printed on stdout. The area is closed when a A token, not followed by : is encountered.
Eg. %{A:reboot:} Click here to reboot %{A}
The button field is optional, it defaults to the left button, and it's a number ranging from 1 to 5 which maps to the left, middle, right, scroll up and scroll down movements. Your mileage may vary.
Nested clickable areas can trigger different commands.
Eg. %{A:reboot:}%{A3:halt:} Left click to reboot, right click to shutdown %{A}%{A}
Attribute modifiers
- +attribute
-
Set the attribute attribute for the following text.
- -attribute
-
Unset the attribute attribute for the following text.
- !attribute
-
Toggle the attribute attribute for the following text.
Where attribute is one of the following
- o
-
Draw a line over the text.
- u
-
Draw a line under the text.
Clicking on an area makes lemonbar output the command to stdout, followed by a newline, allowing the user to pipe it into a script, execute it or simply ignore it. Simple and powerful, that's it.
2012-2015 (C) The Lemon Man
Xinerama support was kindly contributed by Stebalien
RandR support was kindly contributed by jvvv
Clickable areas support was heavily based off u-ra contribution