54 Commits
v1.0 ... xbm

Author SHA1 Message Date
LemonBoy
a116c04ed9 p 2015-02-28 17:29:37 +01:00
LemonBoy
9dd806b9fc pppp 2015-02-15 23:49:33 +01:00
LemonBoy
fa9cfcbbd7 pew 2015-02-14 16:43:45 +01:00
LemonBoy
8351859593 Support colors in #rrggbb form 2015-02-14 00:32:16 +01:00
LemonBoy
2778c81699 Make bar compile with -Wall and no warning 2015-02-14 00:20:46 +01:00
LemonBoy
d8443785a8 Treat getopt return value as int instead of char. Avoids bar getting stuck in an endless loop on PPC platforms. (Thanks to @electro7) 2015-02-14 00:09:34 +01:00
LemonBoy
704ba652d9 Clean up the code doing color parsing and handling. Implement gradients as a bonus feature (not yet exposed) 2015-02-14 00:06:43 +01:00
LemonBoy
392f23ef36 Strip all the unnecessary stuff when parsing the font list 2015-02-13 14:23:05 +01:00
Giuseppe
7f1f722965 Merge pull request #102 from mrshankly/fix-typo
Fix typo in README.pod about the scroll up/down buttons
2015-02-11 21:15:26 +01:00
João Marques
927c05604c Fix typo in README.pod about the scroll up/down buttons 2015-02-11 20:03:31 +00:00
Giuseppe
0affee3d2f Merge pull request #97 from otommod/stacking-clicks
Allow having clickable areas one inside another
2015-02-11 15:05:33 +01:00
Otto Modinos
8492309a88 change comment style 2015-02-11 14:54:47 +02:00
Otto Modinos
a313800686 move a declaration to the top of the function 2015-02-11 14:53:13 +02:00
Otto Modinos
4ad9cbd823 remove duplicate test 2015-02-11 14:53:12 +02:00
Otto Modinos
bb466a8c16 area_add: Use str directly
I don't why p was used, if there was a reason, please don't merge.
2015-02-11 14:52:44 +02:00
Otto Modinos
3483f1b083 typo, whitin -> within 2015-02-11 14:51:32 +02:00
Otto Modinos
7d2c7ab438 Allow having clickable areas inside another
Previously, if you started several areas, one inside another, only the
inermost one would get registered and eventually triggered. This patch
fixes that, allowing you to use multiple areas around text to respond to
several different buttons, for example, both scroll-up and scroll-down.

If you define two areas that respond to the same button, only the
innermost one would get triggered. I think this makes sense.
2015-02-11 14:51:10 +02:00
LemonBoy
e197a15c3a Fix a silly bound-checking error. (#101)
Close a long-standing PR by configuring the window position after mapping it
Set the window title
2015-02-10 20:35:11 +01:00
LemonBoy
6959085f8d Fixed two memory leaks. Don't treat unicode sequences over two bytes long as latin1 codepoints (fixes #99). 2015-01-25 21:14:06 +01:00
Giuseppe
78dc0d0d21 Merge pull request #98 from flannelhead/font-selection
Font selection
2015-01-21 20:12:05 +01:00
Sakari Kapanen
3b8afc6b05 Allow explicitly specifying the font with %{Tindex} 2015-01-21 20:43:22 +02:00
Giuseppe
c39c4e4d8b Merge pull request #95 from jvvv/master
Add break from main loop when X conn has error
2015-01-07 11:32:03 +01:00
John Vogel
145c66b471 Add break from main loop when X conn has error 2015-01-06 18:44:19 -05:00
LemonBoy
5746d15cf8 Handle escaped : in clickable areas. Fixes #92 2014-12-13 12:12:34 +01:00
LemonBoy
3c2b9ff150 Fix alpha mixing as suggested in #75 2014-11-21 14:19:31 +01:00
LemonBoy
95c41381ac Fix a silly off-by-one in the font cache code. Thanks to @easysid for noticing it! 2014-11-18 23:37:43 +01:00
Giuseppe
e9cdee9701 Merge pull request #78 from rootcoma/fix_click_area
Fix the bounds checking for area_get.
2014-08-27 10:24:08 +02:00
LemonBoy
dbbdf373a3 Better alpha mixing, should produce correct results 2014-08-20 22:42:10 +02:00
rootcoma
c258d0a0fa Fix the bounds checking for area_get.
Mouse at far left (x=0) would not be able to click an area that starts at 0.
2014-08-08 08:06:33 -07:00
LemonBoy
8475ff4fdb Small documentation update 2014-08-08 13:49:45 +02:00
LemonBoy
28b0db1cfa Little documentation fix, closes #73 2014-08-08 11:15:57 +02:00
LemonBoy
69e8ac6f07 Fix #69. Thanks @matchew ! 2014-07-24 10:50:31 +02:00
Giuseppe
6df9a2dd68 Merge pull request #70 from graboy/master
Optional support for more than two fonts, fixed issue #68
2014-07-23 21:29:03 +02:00
Grayson MacKenzie
02627e7609 Minor syntax cleanup. Changed parameter of select_drawable_font() to const 2014-07-22 18:35:21 -04:00
Grayson MacKenzie
1c106dbfd0 Added font caching 2014-07-22 17:23:56 -04:00
LemonBoy
1199bcd4cb Travis integration 2014-07-22 22:55:30 +02:00
Grayson MacKenzie
128e212c14 General style cleanups. 2014-07-22 16:14:48 -04:00
Grayson MacKenzie
d22cd1561b Fixed #68 2014-07-22 15:20:21 -04:00
Grayson MacKenzie
f3e9df4a97 Added support for greater than two fonts. 2014-07-22 14:47:41 -04:00
Giuseppe
5e7b44dce9 Merge pull request #67 from LemonBoy/revert-65-no-alpha-fix
Revert "Add support for #RRGGBB sytle colors"
2014-07-02 15:58:28 +02:00
Giuseppe
b66bd0a172 Revert "Add support for #RRGGBB sytle colors" 2014-07-02 15:58:19 +02:00
Giuseppe
524593d871 Merge pull request #65 from Sprocklem/no-alpha-fix
Add support for #RRGGBB sytle colors
2014-07-02 03:37:44 +02:00
Sprocklem
939aead84d Small change to fix #64 2014-06-18 17:50:26 -06:00
LemonBoy
970332ac76 RGBA colors now should render properly. 2014-06-11 20:34:40 +02:00
LemonBoy
1ab492730b Area activation button is now configurable, aka right-clickable areas. 2014-06-11 20:05:23 +02:00
Giuseppe
eb90ab7675 Merge pull request #61 from jvvv/master
Multi-monitor geometry fix.
2014-06-09 16:23:01 +02:00
John Vogel
99e927ee70 Put geom checks after adjust for non-multi also 2014-06-01 09:21:06 -04:00
John Vogel
8a7015fce2 Add omitted variable declaration 2014-05-31 22:01:14 -04:00
John Vogel
e81c1ff8cb Put geometry checks after width/height adjust 2014-05-31 21:56:50 -04:00
John Vogel
caf14a0ec4 Don't send zero width rects to monitor_create_chain 2014-05-31 21:52:48 -04:00
John Vogel
c233646012 Consider all monitors for geometry settings/checks. 2014-05-28 21:00:58 -04:00
John Vogel
3546890578 Clear all pixmaps at start of parse, but not at each ${S} command. 2014-05-28 20:38:36 -04:00
LemonBoy
26044f210b Feed Xorg colors with the alpha channel premultiplied in 2014-05-07 20:53:10 +02:00
LemonBoy
a447500477 Y offset support thanks to z3bra 2014-04-24 23:46:00 +02:00
4 changed files with 697 additions and 273 deletions

7
.travis.yml Normal file
View File

@@ -0,0 +1,7 @@
language: c
compiler:
- clang
- gcc
before_install:
- sudo apt-get install -qq libx11-xcb-dev libxcb-randr0-dev libxcb-xinerama0-dev
script: make

View File

@@ -1,6 +1,5 @@
CC ?= gcc
STRIP ?= strip
CFLAGS = -std=c99 -Os
CFLAGS = -g -Wall -std=c99 -Os
LDFLAGS = -lxcb -lxcb-xinerama -lxcb-randr
CFDEBUG = -g3 -pedantic -Wall -Wunused-parameter -Wlong-long\
-Wsign-conversion -Wconversion -Wimplicit-function-declaration
@@ -22,7 +21,6 @@ doc: README.pod
${EXEC}: ${OBJS}
${CC} -o ${EXEC} ${OBJS} ${LDFLAGS}
${STRIP} -s ${EXEC}
debug: ${EXEC}
debug: CC += ${CFDEBUG}

View File

@@ -2,9 +2,11 @@
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 | -d | -f I<font> | -p | -u I<pixel> | -B I<color> | -F I<color>]
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
@@ -18,9 +20,9 @@ B<bar> is a lightweight bar entirely based on XCB. Provides full UTF-8 support,
Display the help and exit.
=item B<-g> I<width>B<x>I<height>B<+>I<x>
=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.
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>
@@ -32,7 +34,7 @@ Force docking without asking the window manager. This is needed if the window ma
=item B<-f> I<font>
Comma separated list of fonts, bar supports a maximum of two fonts.
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>
@@ -44,7 +46,7 @@ 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, brightred, darkgray). If no compositor such as compton or xcompmgr is running the alpha channel is silently ignored.
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>
@@ -82,16 +84,22 @@ Set the text background color. The parameter I<color> can be I<-> or a color in
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<command>:
=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.
=item B<S>I<dir>
Change the monitor bar is rendering to. I<dir> can be either
@@ -160,6 +168,6 @@ L<git repository|https://github.com/LemonBoy/bar>
Xinerama support was kindly contributed by Stebalien
RandR support was kindly contributed by jvvv
RandR support was kindly contributed by jvvv
Clickable areas support was heavily based off u-ra contribution

937
bar.c

File diff suppressed because it is too large Load Diff