Merge branch 'master' into xft-port
* master: Minor spelling errors Change the project name to lemonbar Remove the now useless palette.pl script
This commit is contained in:
		
							
								
								
									
										35
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								Makefile
									
									
									
									
									
								
							@@ -1,12 +1,19 @@
 | 
			
		||||
CC	?= gcc
 | 
			
		||||
STRIP ?= strip
 | 
			
		||||
CFLAGS = -Wall -std=c99 -I/usr/include/freetype2 -Os
 | 
			
		||||
LDFLAGS = -lxcb -lxcb-xinerama -lxcb-randr -lX11 -lX11-xcb -lXft -lfreetype -lz -lfontconfig
 | 
			
		||||
CFDEBUG = -g3 -pedantic -Wall -Wunused-parameter -Wlong-long\
 | 
			
		||||
		  -Wsign-conversion -Wconversion -Wimplicit-function-declaration
 | 
			
		||||
# This snippet has been shmelessly stol^Hborrowed from thestinger's repose Makefile
 | 
			
		||||
VERSION = 1.1
 | 
			
		||||
GIT_DESC=$(shell test -d .git && git describe --always 2>/dev/null)
 | 
			
		||||
 | 
			
		||||
EXEC = bar
 | 
			
		||||
SRCS = bar.c
 | 
			
		||||
ifneq "$(GIT_DESC)" ""
 | 
			
		||||
	VERSION=$(GIT_DESC)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
CC	?= gcc
 | 
			
		||||
CFLAGS += -Wall -std=c99 -Os -DVERSION="\"$(VERSION)\"" -I/usr/include/freetype2
 | 
			
		||||
LDFLAGS += -lxcb -lxcb-xinerama -lxcb-randr -lX11 -lX11-xcb -lXft -lfreetype -lz -lfontconfig
 | 
			
		||||
CFDEBUG = -g3 -pedantic -Wall -Wunused-parameter -Wlong-long \
 | 
			
		||||
          -Wsign-conversion -Wconversion -Wimplicit-function-declaration
 | 
			
		||||
 | 
			
		||||
EXEC = lemonbar
 | 
			
		||||
SRCS = lemonbar.c
 | 
			
		||||
OBJS = ${SRCS:.c=.o}
 | 
			
		||||
 | 
			
		||||
PREFIX?=/usr
 | 
			
		||||
@@ -15,7 +22,7 @@ BINDIR=${PREFIX}/bin
 | 
			
		||||
all: ${EXEC}
 | 
			
		||||
 | 
			
		||||
doc: README.pod
 | 
			
		||||
	pod2man --section=1 --center="bar Manual" --name "bar" --release="bar $(shell git describe --always)" README.pod > bar.1
 | 
			
		||||
	pod2man --section=1 --center="lemonbar Manual" --name "lemonbar" --release="lemonbar $(VERSION)" README.pod > lemonbar.1
 | 
			
		||||
 | 
			
		||||
.c.o:
 | 
			
		||||
	${CC} ${CFLAGS} -o $@ -c $<
 | 
			
		||||
@@ -30,12 +37,12 @@ clean:
 | 
			
		||||
	rm -f ./*.o ./*.1
 | 
			
		||||
	rm -f ./${EXEC}
 | 
			
		||||
 | 
			
		||||
install: bar doc
 | 
			
		||||
	install -D -m 755 bar ${DESTDIR}${BINDIR}/bar
 | 
			
		||||
	install -D -m 644 bar.1 ${DESTDIR}${PREFIX}/share/man/man1/bar.1
 | 
			
		||||
install: lemonbar doc
 | 
			
		||||
	install -D -m 755 lemonbar ${DESTDIR}${BINDIR}/lemonbar
 | 
			
		||||
	install -D -m 644 lemonbar.1 ${DESTDIR}${PREFIX}/share/man/man1/lemonbar.1
 | 
			
		||||
 | 
			
		||||
uninstall:
 | 
			
		||||
	rm -f ${DESTDIR}${BINDIR}/bar
 | 
			
		||||
	rm -f $(DESTDIR)$(PREFIX)/share/man/man1/bar.1
 | 
			
		||||
	rm -f ${DESTDIR}${BINDIR}/lemonbar
 | 
			
		||||
	rm -f $(DESTDIR)$(PREFIX)/share/man/man1/lemonbar.1
 | 
			
		||||
 | 
			
		||||
.PHONY: all debug clean install
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										22
									
								
								README.pod
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								README.pod
									
									
									
									
									
								
							@@ -1,16 +1,16 @@
 | 
			
		||||
=head1 NAME
 | 
			
		||||
 | 
			
		||||
bar - bar ain't recursive
 | 
			
		||||
lemonbar - Featherweight lemon-scented bar
 | 
			
		||||
 | 
			
		||||
=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>]
 | 
			
		||||
I<lemonbar> [-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.
 | 
			
		||||
B<lemonbar> (formerly known as 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
 | 
			
		||||
 | 
			
		||||
@@ -34,11 +34,11 @@ 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 five fonts (the limit can be tweaked by changing the MAX_FONT_COUNT parameter in the source).
 | 
			
		||||
Comma separated list of fonts, lemonbar 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.
 | 
			
		||||
Make the bar permanent, don't exit after the standard input is closed.
 | 
			
		||||
 | 
			
		||||
=item B<-u> I<pixel>
 | 
			
		||||
 | 
			
		||||
@@ -56,7 +56,7 @@ Set the foreground color of the bar. Accepts the same color formats as B<-B>.
 | 
			
		||||
 | 
			
		||||
=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.
 | 
			
		||||
lemonbar 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
 | 
			
		||||
 | 
			
		||||
@@ -86,7 +86,7 @@ Set the text foreground color. The parameter I<color> can be I<-> or a color in
 | 
			
		||||
 | 
			
		||||
=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.
 | 
			
		||||
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 the 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, lemonbar will fall back to normal behaviour for that character.
 | 
			
		||||
 | 
			
		||||
=item B<U>I<color>
 | 
			
		||||
 | 
			
		||||
@@ -98,7 +98,7 @@ Create a clickable area starting from the current position, when the area is cli
 | 
			
		||||
 | 
			
		||||
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. 
 | 
			
		||||
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.
 | 
			
		||||
 | 
			
		||||
@@ -106,7 +106,7 @@ Eg. I<%{A:reboot:}%{A3:halt:} Left click to reboot, right click to shutdown %{A}
 | 
			
		||||
 | 
			
		||||
=item B<S>I<dir>
 | 
			
		||||
 | 
			
		||||
Change the monitor bar is rendering to. I<dir> can be either
 | 
			
		||||
Change the monitor the bar is rendered to. I<dir> can be either
 | 
			
		||||
 | 
			
		||||
=over
 | 
			
		||||
 | 
			
		||||
@@ -160,7 +160,7 @@ Draw a line under the text.
 | 
			
		||||
 | 
			
		||||
=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.
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
@@ -168,7 +168,7 @@ L<git repository|https://github.com/LemonBoy/bar>
 | 
			
		||||
 | 
			
		||||
=head1 AUTHOR
 | 
			
		||||
 | 
			
		||||
2012-2014 (C) The Lemon Man
 | 
			
		||||
2012-2015 (C) The Lemon Man
 | 
			
		||||
 | 
			
		||||
Xinerama support was kindly contributed by Stebalien
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -355,7 +355,7 @@ parse_color (const char *str, char **end, const rgba_t def)
 | 
			
		||||
    nc_reply = xcb_alloc_named_color_reply(c, xcb_alloc_named_color(c, colormap, string_len, str), NULL);
 | 
			
		||||
 | 
			
		||||
    if (!nc_reply)
 | 
			
		||||
        fprintf(stderr, "Could not alloc color \"%.*s\"\n", string_len, str);
 | 
			
		||||
        fprintf(stderr, "Could not allocate the color \"%.*s\"\n", string_len, str);
 | 
			
		||||
 | 
			
		||||
    ret = nc_reply?
 | 
			
		||||
        (rgba_t)nc_reply->pixel:
 | 
			
		||||
@@ -524,7 +524,7 @@ select_drawable_font (const uint16_t c)
 | 
			
		||||
    if (font_index != -1 && font_has_glyph(font_list[font_index - 1], c))
 | 
			
		||||
        return font_list[font_index - 1];
 | 
			
		||||
 | 
			
		||||
    // If the end is reached without finding an apropriate font, return NULL.
 | 
			
		||||
    // If the end is reached without finding an appropriate font, return NULL.
 | 
			
		||||
    // If the font can draw the character, return it.
 | 
			
		||||
    for (int i = 0; i < font_count; i++) {
 | 
			
		||||
        if (font_has_glyph(font_list[i], c))
 | 
			
		||||
@@ -997,7 +997,7 @@ get_randr_monitors (void)
 | 
			
		||||
            continue;
 | 
			
		||||
 | 
			
		||||
        for (j = 0; j < num; j++) {
 | 
			
		||||
            // Does I countain J ?
 | 
			
		||||
            // Does I contain J ?
 | 
			
		||||
 | 
			
		||||
            if (i != j && rects[j].width) {
 | 
			
		||||
                if (rects[j].x >= rects[i].x && rects[j].x + rects[j].width <= rects[i].x + rects[i].width &&
 | 
			
		||||
@@ -1072,7 +1072,7 @@ get_visual (void)
 | 
			
		||||
	return scr->root_visual;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Parse an X-styled geometry string, we don't support signed offsets tho.
 | 
			
		||||
// Parse an X-styled geometry string, we don't support signed offsets though.
 | 
			
		||||
bool
 | 
			
		||||
parse_geometry_string (char *str, int *tmp)
 | 
			
		||||
{
 | 
			
		||||
@@ -1220,7 +1220,7 @@ init (void)
 | 
			
		||||
    // Generate a list of screens
 | 
			
		||||
    const xcb_query_extension_reply_t *qe_reply;
 | 
			
		||||
 | 
			
		||||
    // Initialiaze monitor list head and tail
 | 
			
		||||
    // Initialize monitor list head and tail
 | 
			
		||||
    monhead = montail = NULL;
 | 
			
		||||
 | 
			
		||||
    // Check if RandR is present
 | 
			
		||||
@@ -1372,10 +1372,11 @@ main (int argc, char **argv)
 | 
			
		||||
    while ((ch = getopt(argc, argv, "hg:bdf:a:pu:B:F:")) != -1) {
 | 
			
		||||
        switch (ch) {
 | 
			
		||||
            case 'h':
 | 
			
		||||
                printf ("lemonbar version %s\n", VERSION);
 | 
			
		||||
                printf ("usage: %s [-h | -g | -b | -d | -f | -a | -p | -u | -B | -F]\n"
 | 
			
		||||
                        "\t-h Show this help\n"
 | 
			
		||||
                        "\t-g Set the bar geometry {width}x{height}+{xoffset}+{yoffset}\n"
 | 
			
		||||
                        "\t-b Put bar at the bottom of the screen\n"
 | 
			
		||||
                        "\t-b Put the bar at the bottom of the screen\n"
 | 
			
		||||
                        "\t-d Force docking (use this if your WM isn't EWMH compliant)\n"
 | 
			
		||||
                        "\t-f Bar font list, comma separated\n"
 | 
			
		||||
                        "\t-p Don't close after the data ends\n"
 | 
			
		||||
@@ -1423,7 +1424,7 @@ main (int argc, char **argv)
 | 
			
		||||
                parse(input);
 | 
			
		||||
                redraw = true;
 | 
			
		||||
            }
 | 
			
		||||
            if (pollin[1].revents & POLLIN) { // Xserver broadcasted an event
 | 
			
		||||
            if (pollin[1].revents & POLLIN) { // The event comes from the Xorg server
 | 
			
		||||
                while ((ev = xcb_poll_for_event(c))) {
 | 
			
		||||
                    expose_ev = (xcb_expose_event_t *)ev;
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										36
									
								
								palette.pl
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								palette.pl
									
									
									
									
									
								
							@@ -1,36 +0,0 @@
 | 
			
		||||
#!/usr/bin/env perl
 | 
			
		||||
#
 | 
			
		||||
# palette.pl
 | 
			
		||||
#
 | 
			
		||||
# Converts your .Xdefault/.Xresources colors into a ready to paste palette
 | 
			
		||||
# for bar. It takes your foreground/background settings into account and if
 | 
			
		||||
# it cant find them it leaves COLOR0/COLOR1 undefined.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
use strict;
 | 
			
		||||
use warnings;
 | 
			
		||||
 | 
			
		||||
open (F, "<".$ARGV[0]) || die "Can't open!";
 | 
			
		||||
 | 
			
		||||
our %vars = ();
 | 
			
		||||
 | 
			
		||||
while (<F>) {
 | 
			
		||||
    # Don't match comments
 | 
			
		||||
    if ($_ !~ m/^\s*!/) {
 | 
			
		||||
        # It's a define!
 | 
			
		||||
        if ($_ =~ m/^\s*#define\s+(\w+)\s+#([0-9A-Fa-f]{1,6})/) {
 | 
			
		||||
            $vars{"$1"} = hex($2);
 | 
			
		||||
        }
 | 
			
		||||
        elsif ($_ =~ m/^\s*\w*\*(background|foreground|color\d)\s*:\s*([\w\d#]+)/) {
 | 
			
		||||
            my ($name, $value) = (uc $1, $2); 
 | 
			
		||||
            # Check if it's a color
 | 
			
		||||
            if (substr($value, 0, 1) eq '#') {
 | 
			
		||||
                $value = hex(substr($value, 1));
 | 
			
		||||
            } else {
 | 
			
		||||
                $value = $vars{"$value"};
 | 
			
		||||
            }
 | 
			
		||||
            printf "#define $name 0x%06x\n", $value;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user