diff --git a/ChangeLog b/ChangeLog index 13e6866..4eebeac 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,5 @@ -2019-03-03 master +2019-06-02 master +- Expand leading ~ in icon paths - Fix spacing around icons in executor without text in vertical panels (issue #716) - Fix Bug: Clock Only Updates Every Minute With Format %s (issue #724) - Fix markup drawing when font shadow enabled (issue #709) diff --git a/src/config.c b/src/config.c index 944d93a..b23857c 100644 --- a/src/config.c +++ b/src/config.c @@ -794,7 +794,7 @@ void add_entry(char *key, char *value) } else if (strcmp(key, "button_icon") == 0) { if (strlen(value)) { Button *button = get_or_create_last_button(); - button->backend->icon_name = strdup(value); + button->backend->icon_name = expand_tilde(value); } } else if (strcmp(key, "button_text") == 0) { if (strlen(value)) { diff --git a/src/execplugin/execplugin.c b/src/execplugin/execplugin.c index 2181e6e..71394b1 100644 --- a/src/execplugin/execplugin.c +++ b/src/execplugin/execplugin.c @@ -891,7 +891,7 @@ gboolean read_execp(void *obj) } else { execp->backend->text = strdup(""); } - execp->backend->icon_path = strdup(execp->backend->buf_stdout); + execp->backend->icon_path = expand_tilde(execp->backend->buf_stdout); } size_t len = strlen(execp->backend->text); if (len > 0 && execp->backend->text[len - 1] == '\n') diff --git a/src/launcher/icon-theme-common.c b/src/launcher/icon-theme-common.c index b8a03f7..1244859 100644 --- a/src/launcher/icon-theme-common.c +++ b/src/launcher/icon-theme-common.c @@ -566,6 +566,10 @@ char *icon_path_from_full_path(const char *s) { if (is_full_path(s) && file_exists(s)) return strdup(s); + char *expanded = expand_tilde(s); + if (is_full_path(expanded) && file_exists(expanded)) + return expanded; + free(expanded); return NULL; }