=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/names.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- src/usr.bin/tmux/names.c 2009/06/05 03:13:16 1.3 +++ src/usr.bin/tmux/names.c 2009/07/08 05:26:45 1.4 @@ -1,4 +1,4 @@ -/* $OpenBSD: names.c,v 1.3 2009/06/05 03:13:16 ray Exp $ */ +/* $OpenBSD: names.c,v 1.4 2009/07/08 05:26:45 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott @@ -59,7 +59,16 @@ 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); } @@ -78,7 +87,9 @@ { if (w->active->screen != &w->active->base) return (xstrdup("[tmux]")); - return (parse_window_name(w->active->cmd)); + if (w->active->cmd != NULL && *w->active->cmd != '\0') + return (parse_window_name(w->active->cmd)); + return (parse_window_name(window_default_command())); } char *