/bar

bar ain't recursive - A lightweight xcb based bar

Primary LanguageCMIT LicenseMIT

NAME

bar - bar ain't recursive

SYNOPSIS

bar [-h | -g widthxheight+x+y | -b | -d | -f font | -p | -u pixel | -B color | -F color]

DESCRIPTION

bar is a lightweight bar entirely based on XCB. Provides full UTF-8 support, basic formatting, RandR and Xinerama support and EWMH compliance without wasting your precious memory.

OPTIONS

-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.

-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

Comma separated list of fonts, bar supports a maximum of two fonts.

-p

Make bar permanent, don't exit after the standard input is closed.

-u pixel

Sets the underline width in pixels. The default is 1.

-B color/image

Set the background color or image of the bar. color might be either in hex format (#aarrggbb) or in the symbolic name format (eg. white, brightred, darkgray). If the argument ends in .png it will be loaded as an image. 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.

FORMATTING

bar 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.

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.

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.

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.

Abutton:command:

Create a clickable area starting from the current position, when the area is clicked command is executed. 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 down and scroll up movements. Your mileage may vary.

I:filename:

Load an image. By default the images are cached (for icon use), but in the case of dynamic updates (such as album art), use '|' instead of ':'. Currently only PNG files are supported.

Eg. %{I:battery.png:}

Sdir

Change the monitor bar is rendering to. dir can be either

+/-

Next/previous monitor.

f/l

First/last monitor.

0-9

Nth monitor.

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.

OUTPUT

Clicking on an area makes bar 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.

WWW

git repository

AUTHOR

2012-2014 (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