void
cmd_previous_window_init(struct cmd *self, int key)
{
	struct cmd_target_data	*data;

	cmd_target_init(self, key);
	data = self->data;

	if (key == KEYC_ADDESC('p'))
		data->flags |= CMD_AFLAG;
}
void
cmd_previous_window_init(struct cmd *self, int key)
{
	struct cmd_target_data	*data;

	cmd_target_init(self, key);
	data = self->data;

	if (key == ('p' | KEYC_ESCAPE))
		cmd_set_flag(&data->chflags, 'a');
}
Esempio n. 3
0
void
cmd_copy_mode_init(struct cmd *self, int key)
{
	struct cmd_target_data	*data;

	cmd_target_init(self, key);
	data = self->data;

	switch (key) {
	case KEYC_PPAGE:
		cmd_set_flag(&data->chflags, 'u');
		break;
	}
}
Esempio n. 4
0
void
cmd_scroll_mode_init(struct cmd *self, int key)
{
	struct cmd_target_data	*data;

	cmd_target_init(self, key);
	data = self->data;

	switch (key) {
	case KEYC_PPAGE:
		data->flags |= CMD_UFLAG;
		break;
	}
}
Esempio n. 5
0
void
cmd_select_pane_init(struct cmd *self, int key)
{
	struct cmd_target_data	*data;

	cmd_target_init(self, key);
	data = self->data;

	if (key == KEYC_UP)
		cmd_set_flag(&data->chflags, 'U');
	if (key == KEYC_DOWN)
		cmd_set_flag(&data->chflags, 'D');
	if (key == KEYC_LEFT)
		cmd_set_flag(&data->chflags, 'L');
	if (key == KEYC_RIGHT)
		cmd_set_flag(&data->chflags, 'R');
	if (key == 'o')
		data->target = xstrdup(":.+");
}
void
cmd_command_prompt_init(struct cmd *self, int key)
{
	struct cmd_target_data	*data;

	cmd_target_init(self, key);
	data = self->data;

	switch (key) {
	case ',':
		data->arg = xstrdup("rename-window '%%'");
		break;
	case '.':
		data->arg = xstrdup("move-window -t '%%'");
		break;
	case 'f':
		data->arg = xstrdup("find-window '%%'");
		break;
	}
}
void
cmd_select_layout_init(struct cmd *self, int key)
{
	struct cmd_target_data	*data;

	cmd_target_init(self, key);
	data = self->data;

	switch (key) {
	case KEYC_ADDESC('0'):
		data->arg = xstrdup("manual-vertical");
		break;
	case KEYC_ADDESC('1'):
		data->arg = xstrdup("even-horizontal");
		break;
	case KEYC_ADDESC('2'):
		data->arg = xstrdup("even-vertical");
		break;
	case KEYC_ADDESC('9'):
		data->arg = xstrdup("active-only");
		break;
	}
}
Esempio n. 8
0
int
cmd_target_parse(struct cmd *self, int argc, char **argv, char **cause)
{
	struct cmd_target_data	*data;
	const struct cmd_entry	*entry = self->entry;
	int			 opt;

	/* Don't use the entry version since it may be dependent on key. */
	cmd_target_init(self, 0);
	data = self->data;

	while ((opt = cmd_getopt(argc, argv, "t:", entry->chflags)) != -1) {
		if (cmd_parse_flags(opt, entry->chflags, &data->chflags) == 0)
			continue;
		switch (opt) {
		case 't':
			if (data->target == NULL)
				data->target = xstrdup(optarg);
			break;
		default:
			goto usage;
		}
	}
	argc -= optind;
	argv += optind;

	if (cmd_fill_argument(
	    self->entry->flags, &data->arg, &data->arg2, argc, argv) != 0)
		goto usage;
	return (0);

usage:
	xasprintf(cause, "usage: %s %s", self->entry->name, self->entry->usage);

	self->entry->free(self);
	return (-1);
}