version 1.8, 2011/01/04 00:42:46 |
version 1.9, 2012/04/23 22:10:45 |
|
|
|
|
const struct cmd_entry cmd_kill_window_entry = { |
const struct cmd_entry cmd_kill_window_entry = { |
"kill-window", "killw", |
"kill-window", "killw", |
"t:", 0, 0, |
"at:", 0, 0, |
CMD_TARGET_WINDOW_USAGE, |
"[-a] " CMD_TARGET_WINDOW_USAGE, |
0, |
0, |
NULL, |
NULL, |
NULL, |
NULL, |
|
|
cmd_kill_window_exec(struct cmd *self, struct cmd_ctx *ctx) |
cmd_kill_window_exec(struct cmd *self, struct cmd_ctx *ctx) |
{ |
{ |
struct args *args = self->args; |
struct args *args = self->args; |
struct winlink *wl; |
struct winlink *wl, *wl2; |
|
|
if ((wl = cmd_find_window(ctx, args_get(args, 't'), NULL)) == NULL) |
if ((wl = cmd_find_window(ctx, args_get(args, 't'), NULL)) == NULL) |
return (-1); |
return (-1); |
|
|
server_kill_window(wl->window); |
if (args_has(args, 'a')) { |
recalculate_sizes(); |
RB_FOREACH(wl2, winlinks, &ctx->curclient->session->windows) { |
|
if (wl != wl2) |
|
server_kill_window(wl2->window); |
|
} |
|
} else |
|
server_kill_window(wl->window); |
|
|
|
recalculate_sizes(); |
return (0); |
return (0); |
} |
} |