bar icon indicating copy to clipboard operation
bar copied to clipboard

bar ain't recursive - A lightweight xcb based bar

=head1 NAME

bar - bar ain't recursive

=for HTML

=head1 SYNOPSIS

I [-h | -g IBIB<+>IB<+>I | -b | -d | -f I | -p | -u I | -B I | -F I]

=head1 DESCRIPTION

B 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> IBIB<+>IB<+>I

Set the window geometry. If a parameter is omitted it's filled with the default value. If the I 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

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

=item B<-p>

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

=item B<-u> I

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

=item B<-B> I<color/image>

Set the background color or image of the bar. I might be either in hex format (#aarrggbb) or in the symbolic name format (eg. white, brightred, darkgray). If the argument ends in I<.png> it will be loaded as an image. If no compositor such as compton or xcompmgr is running the alpha channel is silently ignored.

=item B<-F> I

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

=back

=head1 FORMATTING

bar 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

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

=item B

Aligns the following text to the center of the screen.

=item B

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

=item B<B>I

Set the text background color. The parameter I 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

Set the text foreground color. The parameter I 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<U>I

Set the text underline color. The parameter I 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

Create a clickable area starting from the current position, when the area is clicked I 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

=item B<I>:I:

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<%{I:battery.png:}>

=item B<S>I

Change the monitor bar is rendering to. I

can be either

=over

=item B<+>/B<->

Next/previous monitor.

=item B/B

First/last monitor.

=item I<0-9>

Nth monitor.

=back

=back

B<Attribute modifiers>

=over

=item B<+>I

Set the attribute I for the following text.

=item B<->I

Unset the attribute I for the following text.

=item B<!>I

Toggle the attribute I for the following text.

=back

Where I is one of the following

=over

=item B

Draw a line over the text.

=item B

Draw a line under the text.

=back

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

=head1 WWW

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

=head1 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