summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux/cmd-resize-pane.c
diff options
context:
space:
mode:
authornicm <nicm@openbsd.org>2009-11-13 19:53:28 +0000
committernicm <nicm@openbsd.org>2009-11-13 19:53:28 +0000
commit0e9de5d4b318503e468d9cb019fbe84d03290ff0 (patch)
treefb80958bd389f443b9e6717b7ab267cb944ce7db /usr.bin/tmux/cmd-resize-pane.c
parent1.8 broke things, back it out, correct fix coming from pjanzen (diff)
downloadwireguard-openbsd-0e9de5d4b318503e468d9cb019fbe84d03290ff0.tar.xz
wireguard-openbsd-0e9de5d4b318503e468d9cb019fbe84d03290ff0.zip
Get rid of the ugly CMD_CHFLAG macro and use a const string (eg "dDU") in the
command entry structs and a couple of functions to check/set the flags.
Diffstat (limited to 'usr.bin/tmux/cmd-resize-pane.c')
-rw-r--r--usr.bin/tmux/cmd-resize-pane.c36
1 files changed, 17 insertions, 19 deletions
diff --git a/usr.bin/tmux/cmd-resize-pane.c b/usr.bin/tmux/cmd-resize-pane.c
index 3c284a23a4e..429ca0532cd 100644
--- a/usr.bin/tmux/cmd-resize-pane.c
+++ b/usr.bin/tmux/cmd-resize-pane.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cmd-resize-pane.c,v 1.6 2009/07/30 13:45:56 nicm Exp $ */
+/* $OpenBSD: cmd-resize-pane.c,v 1.7 2009/11/13 19:53:29 nicm Exp $ */
/*
* Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -31,9 +31,8 @@ int cmd_resize_pane_exec(struct cmd *, struct cmd_ctx *);
const struct cmd_entry cmd_resize_pane_entry = {
"resize-pane", "resizep",
- "[-DU] " CMD_TARGET_PANE_USAGE " [adjustment]",
- CMD_ARG01,
- CMD_CHFLAG('D')|CMD_CHFLAG('L')|CMD_CHFLAG('R')|CMD_CHFLAG('U'),
+ "[-DLRU] " CMD_TARGET_PANE_USAGE " [adjustment]",
+ CMD_ARG01, "DLRU",
cmd_resize_pane_init,
cmd_target_parse,
cmd_resize_pane_exec,
@@ -50,28 +49,28 @@ cmd_resize_pane_init(struct cmd *self, int key)
data = self->data;
if (key == (KEYC_UP | KEYC_CTRL))
- data->chflags |= CMD_CHFLAG('U');
+ cmd_set_flag(&data->chflags, 'U');
if (key == (KEYC_DOWN | KEYC_CTRL))
- data->chflags |= CMD_CHFLAG('D');
+ cmd_set_flag(&data->chflags, 'D');
if (key == (KEYC_LEFT | KEYC_CTRL))
- data->chflags |= CMD_CHFLAG('L');
+ cmd_set_flag(&data->chflags, 'L');
if (key == (KEYC_RIGHT | KEYC_CTRL))
- data->chflags |= CMD_CHFLAG('R');
+ cmd_set_flag(&data->chflags, 'R');
if (key == (KEYC_UP | KEYC_ESCAPE)) {
- data->chflags |= CMD_CHFLAG('U');
+ cmd_set_flag(&data->chflags, 'U');
data->arg = xstrdup("5");
}
if (key == (KEYC_DOWN | KEYC_ESCAPE)) {
- data->chflags |= CMD_CHFLAG('D');
+ cmd_set_flag(&data->chflags, 'D');
data->arg = xstrdup("5");
}
if (key == (KEYC_LEFT | KEYC_ESCAPE)) {
- data->chflags |= CMD_CHFLAG('L');
+ cmd_set_flag(&data->chflags, 'L');
data->arg = xstrdup("5");
}
if (key == (KEYC_RIGHT | KEYC_ESCAPE)) {
- data->chflags |= CMD_CHFLAG('R');
+ cmd_set_flag(&data->chflags, 'R');
data->arg = xstrdup("5");
}
}
@@ -98,15 +97,14 @@ cmd_resize_pane_exec(struct cmd *self, struct cmd_ctx *ctx)
}
}
- if (data->chflags & (CMD_CHFLAG('L')|CMD_CHFLAG('R'))) {
- if (data->chflags & CMD_CHFLAG('L'))
- adjust = -adjust;
+ if (cmd_check_flag(data->chflags, 'L'))
+ layout_resize_pane(wp, LAYOUT_LEFTRIGHT, -adjust);
+ else if (cmd_check_flag(data->chflags, 'R'))
layout_resize_pane(wp, LAYOUT_LEFTRIGHT, adjust);
- } else {
- if (data->chflags & CMD_CHFLAG('U'))
- adjust = -adjust;
+ else if (cmd_check_flag(data->chflags, 'U'))
+ layout_resize_pane(wp, LAYOUT_TOPBOTTOM, -adjust);
+ else if (cmd_check_flag(data->chflags, 'D'))
layout_resize_pane(wp, LAYOUT_TOPBOTTOM, adjust);
- }
server_redraw_window(wl->window);
return (0);