/bar

bar ain't recursive - A lightweight xcb based bar.

Primary LanguageCMIT LicenseMIT

=head1 NAME

lemonbar - Featherweight lemon-scented bar

=for HTML <a href="https://travis-ci.org/LemonBoy/bar"><img src="https://travis-ci.org/LemonBoy/bar.svg?branch=master"></a>

=head1 SYNOPSIS

I<lemonbar> [-h | -g I<width>B<x>I<height>B<+>I<x>B<+>I<y> | -b | -d | -f I<font> | -p | -n I<name> | -u I<pixel> | -B I<color> | -F I<color> | -r I<size> | -o I<offset> | -l I<path> | -s | -S ]

=head1 DESCRIPTION

B<lemonbar> (formerly known as B<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.

=head1 OPTIONS

=over

=item B<-h>

Display the help and exit.

=item B<-g> I<width>B<x>I<height>B<+>I<x>B<+>I<y>

Set the window geometry. If a parameter is omitted it's filled with the default value. If the I<y> parameter is specified along with the B<-b> switch then the position is relative to the bottom of the screen.

=item B<-b>

Dock the bar at the bottom of the screen.

=item B<-d>

Force docking without asking the window manager. This is needed if the window manager isn't EWMH compliant.

=item B<-f> I<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).

=item B<-a> I<number>

Set number of clickable areas (default is 10)

=item B<-p>

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

=item B<-n> I<name>

Set the WM_NAME atom value for the bar.

=item B<-u> I<pixel>

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

=item B<-B> I<color>

Set the background color of the bar. I<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.

=item B<-F> I<color>

Set the foreground color of the bar. Accepts the same color formats as B<-B>.

=item B<-R> I<color>

Set the border color of the bar. Accepts the same color formats as B<-B>.

=item B<-r> I<size>

Add a border with the specified size. I<size> must be a number in pixels.

=item B<-s>

Rotate text 90deg to the right

=item B<-S>

Rotate text 90deg to the left

=item B<-o> I<offset>

Add a vertical offset to the text. I<offset> must be a number and can be negative. I<-o -3> will push the text 3 pixels up.

=item B<-l> I<path>

Set the path of the file to read text from

=back

=head1 FORMATTING

lemonbar provides a screenrc-inspired formatting syntax to allow full customization at runtime. Every formatting block is opened with B<%{> and closed by B<}> and accepts the following commands, the parser tries it's best to handle malformed input.

=over

=item B<R>

Swap the current background and foreground colors.

=item B<l>

Aligns the following text to the left side of the screen.

=item B<c>

Aligns the following text to the center of the screen.

=item B<r>

Aligns the following text to the right side of the screen.

=item B<B>I<color>

Set the text background color. The parameter I<color> can be I<-> or a color in one of the formats mentioned before. The special value I<-> resets the color to the default one.

=item B<F>I<color>

Set the text foreground color. The parameter I<color> can be I<-> or a color in one of the formats mentioned before. The special value I<-> resets the color to the default one.

=item B<T>I<index>

Set the font used to draw the following text. The parameter I<index> can either be I<-> or the 1-based index of the slot which contains the desired font. If the parameter is I<-> 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

=item B<U>I<color>

Set the text underline color. The parameter I<color> can be I<-> or a color in one of the formats mentioned before. The special value I<-> resets the color to the default one.

=item B<A>I<button>:I<command>:

Create a clickable area starting from the current position, when the area is clicked I<command> is executed. The area is closed when a B<A> token, not followed by : is encountered.

Eg. I<%{A:reboot:} Click here to reboot %{A}>

The I<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. I<%{A:reboot:}%{A3:halt:} Left click to reboot, right click to shutdown %{A}%{A}>

=item B<S>I<dir>

Change the monitor the bar is rendered to. I<dir> can be either

=over

=item B<+>/B<->

Next/previous monitor.

=item B<f>/B<l>

First/last monitor.

=item I<0-9>

Nth monitor.

=back

=back

B<Attribute modifiers>

=over

=item B<+>I<attribute>

Set the attribute I<attribute> for the following text.

=item B<->I<attribute>

Unset the attribute I<attribute> for the following text.

=item B<!>I<attribute>

Toggle the attribute I<attribute> for the following text.

=back

Where I<attribute> is one of the following

=over

=item B<o>

Draw a line over the text.

=item B<u>

Draw a line under the text.

=back

=head1 OUTPUT

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.

=head1 WWW

Original (LemonBoy) L<git repository|https://github.com/LemonBoy/bar>

=head1 AUTHOR

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

Xft support was added by krypt-n

Borders support was added by dark-yux

Rotatable text was added by venam