diff --git a/cmd-unlink-window.c b/cmd-unlink-window.c index 6f146866..953ddc89 100644 --- a/cmd-unlink-window.c +++ b/cmd-unlink-window.c @@ -1,4 +1,4 @@ -/* $Id: cmd-unlink-window.c,v 1.14 2009-07-14 06:43:33 nicm Exp $ */ +/* $Id: cmd-unlink-window.c,v 1.15 2009-07-19 00:39:37 tcunha Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -28,8 +28,8 @@ int cmd_unlink_window_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_unlink_window_entry = { "unlink-window", "unlinkw", - CMD_TARGET_WINDOW_USAGE, - 0, 0, + "[-k] " CMD_TARGET_WINDOW_USAGE, + 0, CMD_CHFLAG('k'), cmd_target_init, cmd_target_parse, cmd_unlink_window_exec, @@ -52,7 +52,7 @@ cmd_unlink_window_exec(struct cmd *self, struct cmd_ctx *ctx) if ((wl = cmd_find_window(ctx, data->target, &s)) == NULL) return (-1); - if (wl->window->references == 1) { + if (!(data->chflags & CMD_CHFLAG('k')) && wl->window->references == 1) { ctx->error(ctx, "window is only linked to one session"); return (-1); } diff --git a/tmux.1 b/tmux.1 index 897112c8..3fe84346 100644 --- a/tmux.1 +++ b/tmux.1 @@ -1,4 +1,4 @@ -.\" $Id: tmux.1,v 1.121 2009-07-18 11:07:14 nicm Exp $ +.\" $Id: tmux.1,v 1.122 2009-07-19 00:39:37 tcunha Exp $ .\" .\" Copyright (c) 2007 Nicholas Marriott .\" @@ -1583,13 +1583,20 @@ to Unbind the key bound to .Ar key . .It Xo Ic unlink-window +.Op Fl k .Op Fl t Ar target-window .Xc .D1 (alias: Ic unlinkw ) Unlink .Ar target-window . -A window may be unlinked only if it is linked to multiple sessions - windows may -not be linked to no sessions. +Unless +.Fl k +is given, a window may be unlinked only if it is linked to multiple sessions - +windows may not be linked to no sessions; +if +.Fl k +is specified and the window is linked to only one session, it is unlinked and +destroyed. .It Xo Ic up-pane .Op Fl p Ar pane-index .Op Fl t Ar target-window