Expand leading tilde in icon paths (fixes #743)

This commit is contained in:
Chris Lee 2019-06-02 22:08:20 +02:00
parent b9c313cd18
commit 784edaccd2
4 changed files with 8 additions and 3 deletions

View file

@ -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 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 Bug: Clock Only Updates Every Minute With Format %s (issue #724)
- Fix markup drawing when font shadow enabled (issue #709) - Fix markup drawing when font shadow enabled (issue #709)

View file

@ -794,7 +794,7 @@ void add_entry(char *key, char *value)
} else if (strcmp(key, "button_icon") == 0) { } else if (strcmp(key, "button_icon") == 0) {
if (strlen(value)) { if (strlen(value)) {
Button *button = get_or_create_last_button(); 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) { } else if (strcmp(key, "button_text") == 0) {
if (strlen(value)) { if (strlen(value)) {

View file

@ -891,7 +891,7 @@ gboolean read_execp(void *obj)
} else { } else {
execp->backend->text = strdup(""); 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); size_t len = strlen(execp->backend->text);
if (len > 0 && execp->backend->text[len - 1] == '\n') if (len > 0 && execp->backend->text[len - 1] == '\n')

View file

@ -566,6 +566,10 @@ char *icon_path_from_full_path(const char *s)
{ {
if (is_full_path(s) && file_exists(s)) if (is_full_path(s) && file_exists(s))
return strdup(s); return strdup(s);
char *expanded = expand_tilde(s);
if (is_full_path(expanded) && file_exists(expanded))
return expanded;
free(expanded);
return NULL; return NULL;
} }