diff options
author | Tiago Cunha <tcunha@gmx.com> | 2009-11-14 17:56:39 +0000 |
---|---|---|
committer | Tiago Cunha <tcunha@gmx.com> | 2009-11-14 17:56:39 +0000 |
commit | e35f5b35bd9a6a85eb314bfb642998267b2d475d (patch) | |
tree | be325ba507d553b2dbe6d0c8e17441041009071c /cmd-resize-pane.c | |
parent | fc6a835be86461c11fcadfc873cf00853b5a92b8 (diff) | |
download | rtmux-e35f5b35bd9a6a85eb314bfb642998267b2d475d.tar.gz rtmux-e35f5b35bd9a6a85eb314bfb642998267b2d475d.tar.bz2 rtmux-e35f5b35bd9a6a85eb314bfb642998267b2d475d.zip |
Sync OpenBSD patchset 539:
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.c | 36 |
1 files changed, 17 insertions, 19 deletions
diff --git a/cmd-resize-pane.c b/cmd-resize-pane.c index 4924bef6..d281747d 100644 --- a/cmd-resize-pane.c +++ b/cmd-resize-pane.c @@ -1,4 +1,4 @@ -/* $Id: cmd-resize-pane.c,v 1.12 2009-07-30 20:45:20 tcunha Exp $ */ +/* $Id: cmd-resize-pane.c,v 1.13 2009-11-14 17:56:39 tcunha 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); |