Hello community, here is the log from the commit of package lemonbar for openSUSE:Factory checked in at 2019-06-01 09:56:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/lemonbar (Old) and /work/SRC/openSUSE:Factory/.lemonbar.new.5148 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lemonbar" Sat Jun 1 09:56:33 2019 rev:2 rq:706421 version:1.3 Changes: -------- --- /work/SRC/openSUSE:Factory/lemonbar/lemonbar.changes 2016-08-26 23:16:35.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.lemonbar.new.5148/lemonbar.changes 2019-06-01 09:56:36.647178624 +0200 @@ -1,0 +2,13 @@ +Tue May 7 23:45:42 UTC 2019 - Xaver Hellauer <[email protected]> + +- Update to version 1.3 + + Correct handling of escaped % characters. + + The WM_NAME atom is now set for all the windows. + + Fix an unsafe memory access during the argument parsing. + + Correct the coordinate calculation for the EWMH STRUT atoms. +- Version 1.2 + + The -f switch now doesn't accept comma-separated font names + anymore, use multiple -f instead. + + Named colors aren't supported anymore. + +------------------------------------------------------------------- Old: ---- v1.2.tar.gz New: ---- v1.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lemonbar.spec ++++++ --- /var/tmp/diff_new_pack.Tm9c0F/_old 2019-06-01 09:56:37.267178412 +0200 +++ /var/tmp/diff_new_pack.Tm9c0F/_new 2019-06-01 09:56:37.271178411 +0200 @@ -17,7 +17,7 @@ Name: lemonbar -Version: 1.2 +Version: 1.3 Release: 0 Summary: An X11 bar License: MIT ++++++ v1.2.tar.gz -> v1.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bar-1.2/Makefile new/bar-1.3/Makefile --- old/bar-1.2/Makefile 2016-04-23 09:06:00.000000000 +0200 +++ new/bar-1.3/Makefile 2017-11-20 11:47:43.000000000 +0100 @@ -1,5 +1,5 @@ # This snippet has been shmelessly stol^Hborrowed from thestinger's repose Makefile -VERSION = 1.1 +VERSION = 1.2 GIT_DESC=$(shell test -d .git && git describe --always 2>/dev/null) ifneq "$(GIT_DESC)" "" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bar-1.2/README.pod new/bar-1.3/README.pod --- old/bar-1.2/README.pod 2016-04-23 09:06:00.000000000 +0200 +++ new/bar-1.3/README.pod 2017-11-20 11:47:43.000000000 +0100 @@ -69,7 +69,7 @@ =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<%>). +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 @@ -185,7 +185,7 @@ =head1 AUTHOR -2012-2015 (C) The Lemon Man +2012-2017 (C) The Lemon Man Xinerama support was kindly contributed by Stebalien diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bar-1.2/lemonbar.c new/bar-1.3/lemonbar.c --- old/bar-1.2/lemonbar.c 2016-04-23 09:06:00.000000000 +0200 +++ new/bar-1.3/lemonbar.c 2017-11-20 11:47:43.000000000 +0100 @@ -1,4 +1,5 @@ // vim:sw=4:ts=4:et: +#define _POSIX_C_SOURCE 200809L #include <stdbool.h> #include <stdio.h> #include <stdlib.h> @@ -601,6 +602,10 @@ // Eat the trailing } p++; } else { // utf-8 -> ucs-2 + // Escaped % symbol, eat the first one + if (p[0] == '%' && p[1] == '%') + p++; + uint8_t *utf = (uint8_t *)p; uint16_t ucs; @@ -751,11 +756,11 @@ if (topbar) { strut[2] = bh; strut[8] = mon->x; - strut[9] = mon->x + mon->width; + strut[9] = mon->x + mon->width - 1; } else { strut[3] = bh; strut[10] = mon->x; - strut[11] = mon->x + mon->width; + strut[11] = mon->x + mon->width - 1; } xcb_change_property(c, XCB_PROP_MODE_REPLACE, mon->window, atom_list[NET_WM_WINDOW_TYPE], XCB_ATOM_ATOM, 32, 1, &atom_list[NET_WM_WINDOW_TYPE_DOCK]); @@ -1207,7 +1212,7 @@ // Set the WM_NAME atom to the user specified value if (wm_name) - xcb_change_property(c, XCB_PROP_MODE_REPLACE, monhead->window, XCB_ATOM_WM_NAME, XCB_ATOM_STRING, 8 ,strlen(wm_name), wm_name); + xcb_change_property(c, XCB_PROP_MODE_REPLACE, mon->window, XCB_ATOM_WM_NAME, XCB_ATOM_STRING, 8 ,strlen(wm_name), wm_name); } xcb_flush(c); @@ -1303,7 +1308,7 @@ exit (EXIT_SUCCESS); case 'g': (void)parse_geometry_string(optarg, geom_v); break; case 'p': permanent = true; break; - case 'n': wm_name = optarg; break; + case 'n': wm_name = strdup(optarg); break; case 'b': topbar = false; break; case 'd': dock = true; break; case 'f': font_load(optarg); break; @@ -1338,6 +1343,8 @@ // Do the heavy lifting init(wm_name); + // The string is strdup'd when the command line arguments are parsed + free(wm_name); // Get the fd to Xserver pollin[1].fd = xcb_get_file_descriptor(c);
