Hello community, here is the log from the commit of package jgmenu for openSUSE:Factory checked in at 2020-01-20 22:53:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/jgmenu (Old) and /work/SRC/openSUSE:Factory/.jgmenu.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jgmenu" Mon Jan 20 22:53:37 2020 rev:12 rq:765698 version:4.0.1 Changes: -------- --- /work/SRC/openSUSE:Factory/jgmenu/jgmenu.changes 2020-01-13 22:22:09.610535923 +0100 +++ /work/SRC/openSUSE:Factory/.jgmenu.new.26092/jgmenu.changes 2020-01-20 22:53:44.907304363 +0100 @@ -1,0 +2,10 @@ +Mon Jan 20 08:18:18 UTC 2020 - Michael Vetter <mvet...@suse.com> + +- Update to 4.0.1: + * Issue #108. Show menu on correct monitor in IPC mode (position_mode=ipc) + Before this fix, the menu would always appear on the monitor from which + it was first launched. + * Fix segfault bug in jgmenu-apps on OpenBSD. + * Update lithium theme to reflect introduction of apps module + +------------------------------------------------------------------- Old: ---- v4.0.tar.gz New: ---- v4.0.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ jgmenu.spec ++++++ --- /var/tmp/diff_new_pack.6Ozlav/_old 2020-01-20 22:53:45.511304595 +0100 +++ /var/tmp/diff_new_pack.6Ozlav/_new 2020-01-20 22:53:45.515304597 +0100 @@ -17,7 +17,7 @@ Name: jgmenu -Version: 4.0 +Version: 4.0.1 Release: 0 Summary: Small X11 menu intended to be used with openbox and tint2 License: GPL-2.0-only ++++++ v4.0.tar.gz -> v4.0.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jgmenu-4.0/NEWS.md new/jgmenu-4.0.1/NEWS.md --- old/jgmenu-4.0/NEWS.md 2020-01-05 16:19:37.000000000 +0100 +++ new/jgmenu-4.0.1/NEWS.md 2020-01-19 22:10:32.000000000 +0100 @@ -8,6 +8,7 @@ ### 2020 +[v4.0.1](docs/relnotes/4.0.1.txt) [v4.0](docs/relnotes/4.0.txt) ### 2019 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jgmenu-4.0/contrib/compton/jgmenu-compton.sh new/jgmenu-4.0.1/contrib/compton/jgmenu-compton.sh --- old/jgmenu-4.0/contrib/compton/jgmenu-compton.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/jgmenu-4.0.1/contrib/compton/jgmenu-compton.sh 2020-01-19 22:10:32.000000000 +0100 @@ -0,0 +1,10 @@ +#!/bin/sh + +value=$(grep "^menu-opacity" ~/.config/compton.conf) +value=${value#*=} +value=${value%;} + +: $(( value *= 100 )) + +printf '%b\n' "Set menu background to 000000 $value" +jgmenu_run config -s ~/.config/jgmenu/jgmenurc -k color_menu_bg -v "000000 $value" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jgmenu-4.0/debian/changelog new/jgmenu-4.0.1/debian/changelog --- old/jgmenu-4.0/debian/changelog 2020-01-05 16:19:37.000000000 +0100 +++ new/jgmenu-4.0.1/debian/changelog 2020-01-19 22:10:32.000000000 +0100 @@ -1,3 +1,9 @@ +jgmenu (4.0.1-1) unstable; urgency=medium + + * New upstream release + + -- Johan Malm <jgm...@gmail.com> Sun, 19 Jan 2020 21:08:29 +0000 + jgmenu (4.0-1) unstable; urgency=medium * New upstream release diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jgmenu-4.0/docs/relnotes/4.0.1.txt new/jgmenu-4.0.1/docs/relnotes/4.0.1.txt --- old/jgmenu-4.0/docs/relnotes/4.0.1.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/jgmenu-4.0.1/docs/relnotes/4.0.1.txt 2020-01-19 22:10:32.000000000 +0100 @@ -0,0 +1,15 @@ +jgmenu v4.0.1 release notes +=========================== + +Updates since v4.0 +------------------ + + * Issue #108. Show menu on correct monitor in IPC mode (position_mode=ipc) + Before this fix, the menu would always appear on the monitor from which + it was first launched. Thanks @atmenta for identifying the bug and + providing a solution. + + * Fix segfault bug in jgmenu-apps on OpenBSD. Thanks Scott H for helping + resolve this. + + * Update lithium theme to reflect introduction of apps module diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jgmenu-4.0/scripts/version-gen.sh new/jgmenu-4.0.1/scripts/version-gen.sh --- old/jgmenu-4.0/scripts/version-gen.sh 2020-01-05 16:19:37.000000000 +0100 +++ new/jgmenu-4.0.1/scripts/version-gen.sh 2020-01-19 22:10:32.000000000 +0100 @@ -8,7 +8,7 @@ # Change "default_version" before doing a `git tag -a ...` # -default_version="4.0" +default_version="4.0.1" v=$(git describe --dirty --abbrev=1 2>/dev/null) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jgmenu-4.0/src/desktop.c new/jgmenu-4.0.1/src/desktop.c --- old/jgmenu-4.0/src/desktop.c 2020-01-05 16:19:37.000000000 +0100 +++ new/jgmenu-4.0.1/src/desktop.c 2020-01-19 22:10:32.000000000 +0100 @@ -39,16 +39,6 @@ static void parse_line(char *line, struct app *app, int *is_desktop_entry) { char *key, *value; - static char *name_ll, *name_ll_cc, *gname_ll, *gname_ll_cc; - - /* - * Set to "Name[<ll>]", "Name[<ll_CC>]" and the equivalent for - * GenericName - */ - if (!name_ll) { - lang_localized_name_key(&name_ll, &name_ll_cc); - lang_localized_gname_key(&gname_ll, &gname_ll_cc); - } /* We only read the [Desktop Entry] section of a .desktop file */ if (line[0] == '[') { @@ -81,15 +71,15 @@ } /* localized name */ - if (!strcmp(key, name_ll_cc)) + if (!strcmp(key, lang_name_llcc())) app->name_localized = xstrdup(value); - if (!app->name_localized && !strcmp(key, name_ll)) + if (!app->name_localized && !strcmp(key, lang_name_ll())) app->name_localized = xstrdup(value); /* localized generic name */ - if (!strcmp(key, gname_ll_cc)) + if (!strcmp(key, lang_gname_llcc())) app->generic_name_localized = xstrdup(value); - if (!app->generic_name_localized && !strcmp(key, gname_ll)) + if (!app->generic_name_localized && !strcmp(key, lang_gname_ll())) app->generic_name_localized = xstrdup(value); } @@ -247,6 +237,6 @@ xfree(s.buf); /* NULL terminate vector */ - (void *)grow_vector_by_one_app(); + grow_vector_by_one_app(); return apps; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jgmenu-4.0/src/dirs.c new/jgmenu-4.0.1/src/dirs.c --- old/jgmenu-4.0/src/dirs.c 2020-01-05 16:19:37.000000000 +0100 +++ new/jgmenu-4.0.1/src/dirs.c 2020-01-19 22:10:32.000000000 +0100 @@ -40,11 +40,6 @@ static void process_key_value_pair(char *key, char *value) { static struct dir *dir; - static char *name_ll, *name_ll_cc; - - /* Set to "Name[<ll>]" and "Name[<ll_CC>]" */ - if (!name_ll) - lang_localized_name_key(&name_ll, &name_ll_cc); /* The keyword 'Name' starts a new directory section */ if (!strcmp("Name", key)) { @@ -59,11 +54,11 @@ else if (!strcmp("Icon", key)) dir->icon = xstrdup(value); - if (!strcmp(key, name_ll_cc)) + if (!strcmp(key, lang_name_llcc())) dir->name_localized = xstrdup(value); if (dir->name_localized) return; - if (!strcmp(key, name_ll)) + if (!strcmp(key, lang_name_ll())) dir->name_localized = xstrdup(value); } @@ -138,6 +133,6 @@ xfree(schema_filename.buf); /* NULL terminate vector *dirs */ - (void *)add_dir(); + add_dir(); *vector = dirs; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jgmenu-4.0/src/ipc.c new/jgmenu-4.0.1/src/ipc.c --- old/jgmenu-4.0/src/ipc.c 2020-01-05 16:19:37.000000000 +0100 +++ new/jgmenu-4.0.1/src/ipc.c 2020-01-19 22:10:32.000000000 +0100 @@ -124,6 +124,7 @@ static void align_to_horizontal_panel(struct rect panel, struct rect button) { + geo_update_monitor_coords(); if (button.x1 >= geo_get_screen_x0() + geo_get_screen_width() || button.x1 < geo_get_screen_x0()) { warn("pointer outside IPC varable range"); @@ -149,6 +150,7 @@ static void align_to_vertical_panel(struct rect panel, struct rect button) { + geo_update_monitor_coords(); if (button.y1 >= geo_get_screen_y0() + geo_get_screen_height() || button.y1 < geo_get_screen_y0()) { warn("pointer outside IPC varable range"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jgmenu-4.0/src/jgmenu-themes.sh new/jgmenu-4.0.1/src/jgmenu-themes.sh --- old/jgmenu-4.0/src/jgmenu-themes.sh 2020-01-05 16:19:37.000000000 +0100 +++ new/jgmenu-4.0.1/src/jgmenu-themes.sh 2020-01-19 22:10:32.000000000 +0100 @@ -123,7 +123,8 @@ bunsenlabs_lithium_config () { cat <<'EOF' tint2_look = 0 -at_pointer = 1 +csv_cmd = apps +position_mode = pointer menu_width = 134 menu_padding_top = 24 menu_padding_right = 0 @@ -151,7 +152,9 @@ color_title_bg = #22373f 100 color_title_border = #74998B 8 color_sep_fg = #535353 100 -sep_markup = +sep_markup = +hover_delay = 30 +csv_name_format = %n EOF } @@ -165,27 +168,27 @@ ^sep() Run Program,gmrun ^sep() -Terminal,x-terminal-emulator -Web Browser,x-www-browser -File Manager,bl-file-manager -Text Editor,bl-text-editor -Media Player,bl-media-player +Terminal,x-terminal-emulator,utilities-terminal +Web Browser,x-www-browser,web-browser +File Manager,bl-file-manager,system-file-manager +Text Editor,bl-text-editor,text-editor +Media Player,bl-media-player,multimedia-player ^sep() Applications,^checkout(apps) ^sep() -BL Utilities,^checkout(bl-utilities) -Places,^pipe(jgmenu_run ob --cmd="bl-places-pipemenu" --tag="bl-places-pipemenu") +BL Utilities,^checkout(bl-utilities),applications-utilities +Places,^pipe(jgmenu_run ob --cmd="bl-places-pipemenu" --tag="bl-places-pipemenu"),folder Recent Files,^pipe(jgmenu_run ob --cmd="bl-recent-files-pipemenu -rl15" --tag="bl-recent-files-pipemenu") ^sep() -Preferences,^checkout(bl-preferences) -System,^checkout(bl-system) +Preferences,^checkout(bl-preferences),preferences-system +System,^checkout(bl-system),applications-system ^sep() #Help & Resources,^pipe(jgmenu_run ob --cmd="bl-help-pipemenu" --tag="bl-help-pipemenu") -Help & Resources,^checkout(bl-help-menu) +Help & Resources,^checkout(bl-help-menu),help-contents Display Keybinds,^pipe(jgmenu_run ob --cmd="bl-kb-pipemenu" --tag="bl-kb-pipemenu") ^sep() -Lock Screen,bl-lock -Exit,bl-exit +Lock Screen,bl-lock,system-lock-screen +Exit,bl-exit,system-shutdown . /usr/share/bunsen/configs/menu-includes/help-menu @@ -194,8 +197,12 @@ Take Screenshot,^pipe(bl-scrot-pipemenu) SSH,^pipe(jgmenu_run ob --cmd="bl-sshconfig-pipemenu" --tag="bl-sshconfig-pipemenu") Remote Desktop,^pipe(jgmenu_run ob --cmd="bl-remote-desktop-pipemenu" --tag="bl-remote-desktop-pipemenu") -#Dropbox,^pipe(jgmenu_run ob --cmd="bl-dropbox-pipemenu" --tag="bl-dropbox-pipemenu") BLOB Themes Manager,bl-obthemes +# These two utilities are available if you uncomment the line. +# Pipe menu to install and use Dropbox: +#Dropbox,^pipe(jgmenu_run ob --cmd="bl-dropbox-pipemenu" --tag="bl-dropbox-pipemenu") +# Utility to set language if login greeter does not offer that option: +#Choose Language,bl-setlocale ^tag(bl-preferences) Back,^back() @@ -204,13 +211,13 @@ jgmenu,^checkout(bl-jgmenuConfig) Keybinds,^checkout(bl-xbindkeysConfig) Compositor,^pipe(jgmenu_run ob --cmd="bl-compositor" --tag="bl-compositor") -Conky,^pipe(jgmenu_run ob --cmd="bl-conky-pipemenu" --tag="bl-conky-pipemenu") -Tint2,^pipe(jgmenu_run ob --cmd="bl-tint2-pipemenu" --tag="bl-tint2-pipemenu") -Appearance,lxappearance -Font configuration,bl-text-editor ~/.config/fontconfig/fonts.conf -Wallpaper,nitrogen -Notifications,xfce4-notifyd-config -Power Management,xfce4-power-manager-settings +Conky,^pipe(jgmenu_run ob --cmd="bl-conky-pipemenu" --tag="bl-conky-pipemenu"),conky-manager +Tint2,^pipe(jgmenu_run ob --cmd="bl-tint2-pipemenu" --tag="bl-tint2-pipemenu"),tint2 +Appearance,lxappearance,preferences-desktop-theme +Font configuration,bl-text-editor ~/.config/fontconfig/fonts.conf,preferences-desktop-font +Wallpaper,nitrogen,preferences-desktop-wallpaper,wallpaper +Notifications,xfce4-notifyd-config,notifyconf +Power Management,xfce4-power-manager-settings,xfce4-power-manager-settings dmenu,^checkout(bl-dmenuconfig) gmrun,^checkout(bl-gmrunconfig) Display,^checkout(bl-DisplaySettings) @@ -223,7 +230,7 @@ bunsenlabs-session,x-terminal-emulator -T 'man bunsenlabs-session' -e man bunsenlabs-session xdg-autostart,x-terminal-emulator -T 'man bl-xdg-autostart' -e man bl-xdg-autostart -Openbox,^tag(bl-obConfig) +Openbox,^tag(bl-obConfig),openbox Back,^back() Edit bl-rc.xml,bl-text-editor ~/.config/openbox/bl-rc.xml ^sep() @@ -249,7 +256,6 @@ ^sep() # Next entry requires tk #Show Keybinds,xbindkeys_show -GUI Keybinds editor,xbindkeys-config ^sep(Help) man page,x-terminal-emulator -T 'man xbindkeys' -e man xbindkeys @@ -273,18 +279,17 @@ System,^tag(bl-system) Back,^back() -Printers,^pipe(jgmenu_run ob --cmd="bl-printing-pipemenu" --tag="bl-printing-pipemenu") -Task Manager (htop),x-terminal-emulator -T 'htop task manager' -e htop +Printers,^pipe(jgmenu_run ob --cmd="bl-printing-pipemenu" --tag="bl-printing-pipemenu"),printer +Task Manager (htop),x-terminal-emulator -T 'htop task manager' -e htop,htop Install Selected Packages,^pipe(bl-install-pipemenu) -Synaptic Package Manager,pkexec synaptic -Login Settings,pkexec bl-text-editor /etc/lightdm/lightdm-gtk-greeter.conf /etc/lightdm/lightdm.conf -Login Interface,lightdm-gtk-greeter-settings-pkexec -GParted,pkexec gparted -Set Default Browser,"""x-terminal-emulator -T 'Select Default Browser' -e sh -c 'sudo update-alternatives --config x-www-browser; sleep 5'""" -Edit Debian Alternatives,galternatives +Synaptic Package Manager,pkexec synaptic,synaptic +Login Settings,pkexec bl-text-editor /etc/lightdm/lightdm-gtk-greeter.conf /etc/lightdm/lightdm.conf,lightdm-settings +Login Interface,lightdm-gtk-greeter-settings-pkexec,lightdm-settings +GParted,pkexec gparted,gparted +Set Default Browser,"""x-terminal-emulator -T 'Select Default Browser' -e sh -c 'sudo update-alternatives --config x-www-browser; sleep 5'""",web-browser +Edit Debian Alternatives,galternatives,galternatives ^sep() -About Bunsen Alternatives,yad --button="OK":0 --center --window-icon=distributor-logo-bunsenlabs --text-info --title="About Bunsen Alternatives" --filename="/usr/share/bunsen/docs/helpfile-bl-alternatives.txt" --width=900 --height=700 --fontname=Monospace - +About Bunsen Alternatives,yad --button="OK":0 --center --window-icon=distributor-logo-bunsenlabs --text-info --title="About Bunsen Alternatives" --filename="/usr/share/bunsen/docs/helpfile-bl-alternatives.txt" --width=900 --height=700 --fontname=Monospace,distributor-logo-bunsenlabs ^tag(apps) EOF diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jgmenu-4.0/src/lang.c new/jgmenu-4.0.1/src/lang.c --- old/jgmenu-4.0/src/lang.c 2020-01-05 16:19:37.000000000 +0100 +++ new/jgmenu-4.0.1/src/lang.c 2020-01-19 22:10:32.000000000 +0100 @@ -1,61 +1,75 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> +#include <stdbool.h> #include "compat.h" +#include "util.h" -static char short_lang_code[32]; /* e.g. "sv" */ -static char long_lang_code[32]; /* e.g. "sv_SE */ -static char name_key_ll[32]; /* e.g. "Name[sv]" */ -static char name_key_ll_cc[32]; /* e.g. "Name[sv_SE]" */ -static char generic_name_key_ll[32]; /* e.g. "Name[sv]" */ -static char generic_name_key_ll_cc[32]; /* e.g. "Name[sv_SE]" */ +static char ll[24] = { 0 }; +static char llcc[24] = { 0 }; -int lang_code(char **ll, char **ll_cc) +/* + * Static name keys for GenericName[ll_CC], etc + */ +static char name_ll[64] = { 0 }; +static char name_llcc[64] = { 0 }; +static char gname_ll[64] = { 0 }; +static char gname_llcc[64] = { 0 }; + +static void lang_init(void) { + static bool has_been_initialized; char *p; + if (has_been_initialized) + return; + has_been_initialized = true; + p = getenv("LANG"); - if (!p) - return -1; + if (!p) { + warn("$LANG not set"); + return; + } /* ll_CC */ - strlcpy(long_lang_code, p, sizeof(long_lang_code)); - p = strrchr(long_lang_code, '.'); + strlcpy(llcc, p, sizeof(llcc)); + p = strrchr(llcc, '.'); if (p) *p = '\0'; /* ll */ - strlcpy(short_lang_code, long_lang_code, sizeof(short_lang_code)); - p = strrchr(short_lang_code, '_'); + strlcpy(ll, llcc, sizeof(ll)); + p = strrchr(ll, '_'); if (p) *p = '\0'; - *ll = short_lang_code; - *ll_cc = long_lang_code; - return 0; + snprintf(name_ll, sizeof(name_ll), "Name[%s]", ll); + snprintf(name_llcc, sizeof(name_llcc), "Name[%s]", llcc); + snprintf(gname_ll, sizeof(gname_ll), "GenericName[%s]", ll); + snprintf(gname_llcc, sizeof(gname_llcc), "GenericName[%s]", llcc); } -void lang_localized_name_key(char **name_ll, char **name_ll_cc) +char *lang_name_ll(void) { - char *ll, *ll_cc; + lang_init(); + return name_ll; +} - lang_code(&ll, &ll_cc); - snprintf(name_key_ll, sizeof(name_key_ll), "Name[%s]", ll); - snprintf(name_key_ll_cc, sizeof(name_key_ll_cc), "Name[%s]", ll_cc); - *name_ll = name_key_ll; - *name_ll_cc = name_key_ll_cc; +char *lang_name_llcc(void) +{ + lang_init(); + return name_llcc; } -void lang_localized_gname_key(char **gname_ll, char **gname_ll_cc) +char *lang_gname_ll(void) { - char *ll, *ll_cc; + lang_init(); + return gname_ll; +} - lang_code(&ll, &ll_cc); - snprintf(generic_name_key_ll, sizeof(generic_name_key_ll), - "GenericName[%s]", ll); - snprintf(generic_name_key_ll_cc, sizeof(generic_name_key_ll_cc), - "GenericName[%s]", ll_cc); - *gname_ll = generic_name_key_ll; - *gname_ll_cc = generic_name_key_ll_cc; +char *lang_gname_llcc(void) +{ + lang_init(); + return gname_llcc; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jgmenu-4.0/src/lang.h new/jgmenu-4.0.1/src/lang.h --- old/jgmenu-4.0/src/lang.h 2020-01-05 16:19:37.000000000 +0100 +++ new/jgmenu-4.0.1/src/lang.h 2020-01-19 22:10:32.000000000 +0100 @@ -1,22 +1,22 @@ #ifndef JGMENU_LANG_H #define JGMENU_LANG_H -/* - * lang_code - read $LANG and parse ll_CC.UTF8 format where +/** + * lang_name_ll - return "Name[ll]" + * + * Read $LANG and parse ll_CC.UTF8 format where * - ‘ll’ is an ISO 639 two-letter language code (lowercase) * - ‘CC’ is an ISO 3166 two-letter country code (uppercase) - * @ll - pointer to 'll' string - * @ll_cc - pointer to 'll_CC' string - * Return -1 if $LANG not set */ -int lang_code(char **ll, char **ll_cc); +char *lang_name_ll(void); -/* - * lang_localized_name_key - use lang_code() to produce "Name[]" keys - * @name_ll - pointer to "Name[ll]" - * @name_ll_cc - pointer to "Name[ll_CC]" - */ -void lang_localized_name_key(char **name_ll, char **name_ll_cc); -void lang_localized_gname_key(char **gname_ll, char **gname_ll_cc); +/** name_llcc - return "Name[ll_CC]" */ +char *lang_name_llcc(void); + +/** gname_ll - return "GenericName[ll]" */ +char *lang_gname_ll(void); + +/** gname_llcc - return "GenericName[ll_CC]" */ +char *lang_gname_llcc(void); #endif /* JGMENU_LANG_H */