diff options
author | 2013-10-10 12:26:34 +0000 | |
---|---|---|
committer | 2013-10-10 12:26:34 +0000 | |
commit | e1803d637778d60b9d512dcfc08547c066aa4ea7 (patch) | |
tree | c055973fd83e79d3c1ec72be6d6bbe713d894e79 /usr.bin/tmux/cmd-queue.c | |
parent | Make tilde expansion in command strings work even if it isn't terminated by /. (diff) | |
download | wireguard-openbsd-e1803d637778d60b9d512dcfc08547c066aa4ea7.tar.xz wireguard-openbsd-e1803d637778d60b9d512dcfc08547c066aa4ea7.zip |
Alter how tmux handles the working directory to internally use file
descriptors rather than strings.
- Each session still has a current working directory.
- New sessions still get their working directory from the client that
created them or its attached session if any.
- New windows are created by default in the session working directory.
- The -c flag to new, neww, splitw allows the working directory to be
overridden.
- The -c flag to attach let's the session working directory be changed.
- The default-path option has been removed.
To get the equivalent to default-path '.', do:
bind c neww -c $PWD
To get the equivalent of default-path '~', do:
bind c neww -c ~
This also changes the client identify protocol to be a set of messages rather
than one as well as some other changes that should make it easier to make
backwards-compatible protocol changes in future.
Diffstat (limited to 'usr.bin/tmux/cmd-queue.c')
-rw-r--r-- | usr.bin/tmux/cmd-queue.c | 26 |
1 files changed, 1 insertions, 25 deletions
diff --git a/usr.bin/tmux/cmd-queue.c b/usr.bin/tmux/cmd-queue.c index 5a96800876c..9639d01f7de 100644 --- a/usr.bin/tmux/cmd-queue.c +++ b/usr.bin/tmux/cmd-queue.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-queue.c,v 1.13 2013/10/10 12:12:54 nicm Exp $ */ +/* $OpenBSD: cmd-queue.c,v 1.14 2013/10/10 12:26:35 nicm Exp $ */ /* * Copyright (c) 2013 Nicholas Marriott <nicm@users.sourceforge.net> @@ -283,27 +283,3 @@ cmdq_flush(struct cmd_q *cmdq) } cmdq->item = NULL; } - -/* Get default path using command queue. */ -const char * -cmdq_default_path(struct cmd_q *cmdq, const char *cwd) -{ - struct client *c = cmdq->client; - struct session *s; - const char *current; - - if ((s = cmd_current_session(cmdq, 0)) == NULL) - return (NULL); - - if (cwd == NULL) - cwd = options_get_string(&s->options, "default-path"); - - if (c != NULL && c->session == NULL && c->cwd != NULL) - current = c->cwd; - else if (s->curw != NULL) - current = get_proc_cwd(s->curw->window->active->fd); - else - current = NULL; - - return (cmd_default_path(s->cwd, current, cwd)); -} |