Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/LemonBoy/bar

A featherweight, lemon-scented, bar based on xcb
https://github.com/LemonBoy/bar

Last synced: 9 days ago
JSON representation

A featherweight, lemon-scented, bar based on xcb

Awesome Lists containing this project

README

        

=head1 NAME

lemonbar - Featherweight lemon-scented bar

=for HTML

=head1 SYNOPSIS

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

=head1 DESCRIPTION

B (formerly known as B) is a lightweight statusbar based on XCB.
Provides full UTF-8 support, basic formatting, RandR and Xinerama support and
EWMH compliance without wasting your precious memory.

=head1 INPUT

The data to be parsed is read from the standard input, parsing and printing the
input data are delayed until a newline is found.

=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<-o> I

Set next output to I. May be used multiple times; order is significant. If any B<-o> options are given, only B<-o> specified monitors will be used. Invalid output names are silently ignored. (only supported on randr configurations at this time)

=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

Specifies a font to use. Can be used multiple times to load more than a single
font.

=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<-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 its 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 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 BI

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

=over

=item B<+>/B<->

Next/previous monitor.

=item B/B

First/last monitor.

=item I<0-9>

Nth monitor.

=item IB

Named monitor.
Eg. I<%{SnHDMI-0} This text will show up on the HDMI-0 output>

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

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

=head1 AUTHOR

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