7f81f57426
* 'master' of github.com:LemonBoy/bar: (22 commits) Prevent a NULL pointer deference if monitor_create fails Fix the 'T' command parsing Put the elements of rgba_t in the right order. Thanks to @mrshankly for noticing it Document #97 - Nested clickable areas Support colors in #rrggbb form Make bar compile with -Wall and no warning Treat getopt return value as int instead of char. Avoids bar getting stuck in an endless loop on PPC platforms. (Thanks to @electro7) Clean up the code doing color parsing and handling. Implement gradients as a bonus feature (not yet exposed) Strip all the unnecessary stuff when parsing the font list Fix typo in README.pod about the scroll up/down buttons change comment style move a declaration to the top of the function remove duplicate test area_add: Use str directly typo, whitin -> within Allow having clickable areas inside another Fix a silly bound-checking error. (#101) Close a long-standing PR by configuring the window position after mapping it Set the window title Fixed two memory leaks. Don't treat unicode sequences over two bytes long as latin1 codepoints (fixes #99). Allow explicitly specifying the font with %{Tindex} Add break from main loop when X conn has error ... |
||
---|---|---|
.gitignore | ||
.travis.yml | ||
bar.c | ||
LICENSE | ||
Makefile | ||
palette.pl | ||
README.pod |
=head1 NAME bar - bar ain't recursive =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<bar> [-h | -g I<width>B<x>I<height>B<+>I<x>B<+>I<y> | -b | -d | -f I<font> | -p | -u I<pixel> | -B I<color> | -F I<color>] =head1 DESCRIPTION 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> Comma separated list of fonts, bar supports a maximum of five fonts (the limit can be tweaked by changing the MAX_FONT_COUNT parameter in the source). =item B<-p> Make bar permanent, don't exit after the standard input is closed. =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> might be either in hex format (#aarrggbb) or in the symbolic name format (eg. white, indianred, darkgray). 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>. =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<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> is a 1-based index of the font list supplied to bar. Any other value (for example I<->) resets bar to normal behaviour (matching the first font that can be used for that character). If the selected font can't be used to draw a character, bar will fall back to normal behaviour 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 bar is rendering 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 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