nims11/bar
bar ain't recursive - A lightweight xcb based bar. This is a fork that supports fontconfig and mouse hovering
=head1 NAME
lemonbar - Featherweight lemon-scented bar
=head1 SYNOPSIS
I [-h | -g IBIB<+>IB<+>I | -b | -d | -f I | -p | -n I | -u I | -B I | -F I | -U I | -o I ]
=head1 DESCRIPTION
B (formerly known as 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
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.
=item B<-a> I
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
Set the WM_NAME atom value for the bar.
=item B<-u> I
Sets the underline width in pixels. The default is 1.
=item B<-B> I
Set the background color of the bar. I 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
Set the foreground color of the bar. Accepts the same color formats as B<-B>.
=item B<-o> I
Add a vertical offset to the text. I must be a number and can be negative. I<-o -3> will push the text 3 pixels up.
=item B<-U> I
Set the underline color of the bar. Accepts the same color formats as B<-B>.
=back
=head1 FORMATTING
lemonbar provides a screenrc-inspired formatting syntax to allow full customization at runtime. Every formatting block is opened with C<%{> and closed by C<}> and accepts the following commands, the parser tries it's best to handle malformed input. Use C<%%> to get a literal percent sign (C<%>).
=over
=item B
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 BI
Offset the current position by I pixels in the alignment direction.
=item BI
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 BI
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 BI
Set the font used to draw the following text. The parameter I 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 BI
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 BI:I:
Create a clickable area starting from the current position, when the area is clicked I is printed on stdout. The area is closed when a B token, not followed by : is encountered.
Eg. I<%{A:reboot:} Click here to reboot %{A}>
The I
field is optional, it defaults to the left button, and it's a number ranging from 0 to 5 which maps to the hover, left, middle, right, scroll up and scroll down movements. Your mileage may vary.NOTE: Using the hover option will make lemonbar generate output for every mouse movement over an area.
Nested clickable areas can trigger different commands.
Eg. I<%{A:reboot:}%{A3:halt:} Left click to reboot, right click to shutdown %{A}%{A}>
=item BI
Change the monitor the bar is rendered to. I
=over
=item B<+>/B<->
Next/previous monitor.
=item B/B
First/last monitor.
=item I<0-9>
Nth monitor.
=back
=back
B
=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 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
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