summaryrefslogtreecommitdiffstats
path: root/cmd-resize-pane.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2009-11-13 19:53:28 +0000
committerNicholas Marriott <nicm@openbsd.org>2009-11-13 19:53:28 +0000
commit76ef8770cd983e7ece581fbcfb3a7ad5e115aae5 (patch)
tree0b0d7847f179c9963b58488f8c1724e64176266e /cmd-resize-pane.c
parentdafa0f022c573513f949c7c66ae83d063fa9a2ab (diff)
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 'cmd-resize-pane.c')
-rw-r--r--cmd-resize-pane.c34
1 files changed, 16 insertions, 18 deletions
diff --git a/cmd-resize-pane.c b/cmd-resize-pane.c
index 30fbc76a..e8d77176 100644
--- a/cmd-resize-pane.c
+++ b/cmd-resize-pane.c
@@ -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);