From 69d69f145763f01724efdce119f6312272022740 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Fri, 26 Mar 2010 17:26:55 +0100 Subject: Patch by muennich: Correctly set [Paused] window title --- src/winwidget.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'src/winwidget.c') diff --git a/src/winwidget.c b/src/winwidget.c index 6280f46..5ee7ace 100644 --- a/src/winwidget.c +++ b/src/winwidget.c @@ -868,10 +868,28 @@ winwidget winwidget_get_from_window(Window win) void winwidget_rename(winwidget winwid, char *newname) { + /* newname == NULL -> update current title */ + char *p_str; + D_ENTER(4); + if (newname == NULL) + newname = estrdup(winwid->name ? winwid->name : ""); if (winwid->name) free(winwid->name); - winwid->name = estrdup(newname); + + winwid->name = emalloc(strlen(newname) + 10); + strcpy(winwid->name, newname); + + if (strlen(winwid->name) > 9) + p_str = winwid->name + strlen(winwid->name) - 9; + else + p_str = winwid->name; + + if (opt.paused && strcmp(p_str, " [Paused]") != 0) + strcat(winwid->name, " [Paused]"); + else if (!opt.paused && strcmp(p_str, " [Paused]") == 0) + *p_str = '\0'; + winwidget_update_title(winwid); D_RETURN_(4); } -- cgit v1.2.3