summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2009-07-02 18:26:55 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2009-07-02 18:26:55 +0000
commitb8bd24817f5a674d4d78fdaaf0df218a40603d21 (patch)
tree92fa960bcf4b62bf98a906b471996dfde4a2c789
parent08c724963631f5184014df7334c97b8b646a6a03 (diff)
If using the default login shell (empty default-command), strip any - prefix.
-rw-r--r--names.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/names.c b/names.c
index 4df967f5..744013a9 100644
--- a/names.c
+++ b/names.c
@@ -1,4 +1,4 @@
-/* $Id: names.c,v 1.10 2009-07-02 18:17:46 nicm Exp $ */
+/* $Id: names.c,v 1.11 2009-07-02 18:26:55 nicm Exp $ */
/*
* Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -59,7 +59,16 @@ set_window_names(void)
if (name == NULL)
wname = default_window_name(w);
else {
- wname = parse_window_name(name);
+ /*
+ * If tmux is using the default command, it will be a
+ * login shell and argv[0] may have a - prefix. Remove
+ * this if it is present. Ick.
+ */
+ if (w->active->cmd != NULL && *w->active->cmd == '\0' &&
+ name != NULL && name[0] == '-' && name[1] != '\0')
+ wname = parse_window_name(name + 1);
+ else
+ wname = parse_window_name(name);
xfree(name);
}