mirror of
https://github.com/tmux/tmux.git
synced 2025-03-30 03:18:51 +00:00
Merge branch 'obsd-master' into master
This commit is contained in:
commit
3cd63cc9e0
20
cfg.c
20
cfg.c
@ -102,6 +102,7 @@ load_cfg(const char *path, struct client *c, struct cmdq_item *item, int flags,
|
|||||||
struct cmd_parse_input pi;
|
struct cmd_parse_input pi;
|
||||||
struct cmd_parse_result *pr;
|
struct cmd_parse_result *pr;
|
||||||
struct cmdq_item *new_item0;
|
struct cmdq_item *new_item0;
|
||||||
|
struct cmdq_state *state;
|
||||||
|
|
||||||
if (new_item != NULL)
|
if (new_item != NULL)
|
||||||
*new_item = NULL;
|
*new_item = NULL;
|
||||||
@ -135,12 +136,19 @@ load_cfg(const char *path, struct client *c, struct cmdq_item *item, int flags,
|
|||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
new_item0 = cmdq_get_command(pr->cmdlist, NULL);
|
if (item != NULL)
|
||||||
|
state = cmdq_copy_state(cmdq_get_state(item));
|
||||||
|
else
|
||||||
|
state = cmdq_new_state(NULL, NULL, 0);
|
||||||
|
cmdq_add_format(state, "current_file", "%s", pi.file);
|
||||||
|
|
||||||
|
new_item0 = cmdq_get_command(pr->cmdlist, state);
|
||||||
if (item != NULL)
|
if (item != NULL)
|
||||||
new_item0 = cmdq_insert_after(item, new_item0);
|
new_item0 = cmdq_insert_after(item, new_item0);
|
||||||
else
|
else
|
||||||
new_item0 = cmdq_append(NULL, new_item0);
|
new_item0 = cmdq_append(NULL, new_item0);
|
||||||
cmd_list_free(pr->cmdlist);
|
cmd_list_free(pr->cmdlist);
|
||||||
|
cmdq_free_state(state);
|
||||||
|
|
||||||
if (new_item != NULL)
|
if (new_item != NULL)
|
||||||
*new_item = new_item0;
|
*new_item = new_item0;
|
||||||
@ -155,6 +163,7 @@ load_cfg_from_buffer(const void *buf, size_t len, const char *path,
|
|||||||
struct cmd_parse_input pi;
|
struct cmd_parse_input pi;
|
||||||
struct cmd_parse_result *pr;
|
struct cmd_parse_result *pr;
|
||||||
struct cmdq_item *new_item0;
|
struct cmdq_item *new_item0;
|
||||||
|
struct cmdq_state *state;
|
||||||
|
|
||||||
if (new_item != NULL)
|
if (new_item != NULL)
|
||||||
*new_item = NULL;
|
*new_item = NULL;
|
||||||
@ -181,12 +190,19 @@ load_cfg_from_buffer(const void *buf, size_t len, const char *path,
|
|||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
new_item0 = cmdq_get_command(pr->cmdlist, NULL);
|
if (item != NULL)
|
||||||
|
state = cmdq_copy_state(cmdq_get_state(item));
|
||||||
|
else
|
||||||
|
state = cmdq_new_state(NULL, NULL, 0);
|
||||||
|
cmdq_add_format(state, "current_file", "%s", pi.file);
|
||||||
|
|
||||||
|
new_item0 = cmdq_get_command(pr->cmdlist, state);
|
||||||
if (item != NULL)
|
if (item != NULL)
|
||||||
new_item0 = cmdq_insert_after(item, new_item0);
|
new_item0 = cmdq_insert_after(item, new_item0);
|
||||||
else
|
else
|
||||||
new_item0 = cmdq_append(NULL, new_item0);
|
new_item0 = cmdq_append(NULL, new_item0);
|
||||||
cmd_list_free(pr->cmdlist);
|
cmd_list_free(pr->cmdlist);
|
||||||
|
cmdq_free_state(state);
|
||||||
|
|
||||||
if (new_item != NULL)
|
if (new_item != NULL)
|
||||||
*new_item = new_item0;
|
*new_item = new_item0;
|
||||||
|
@ -43,7 +43,7 @@ const struct cmd_entry cmd_display_message_entry = {
|
|||||||
.usage = "[-aIpv] [-c target-client] [-d delay] [-F format] "
|
.usage = "[-aIpv] [-c target-client] [-d delay] [-F format] "
|
||||||
CMD_TARGET_PANE_USAGE " [message]",
|
CMD_TARGET_PANE_USAGE " [message]",
|
||||||
|
|
||||||
.target = { 't', CMD_FIND_PANE, 0 },
|
.target = { 't', CMD_FIND_PANE, CMD_FIND_CANFAIL },
|
||||||
|
|
||||||
.flags = CMD_AFTERHOOK|CMD_CLIENT_CFLAG|CMD_CLIENT_CANFAIL,
|
.flags = CMD_AFTERHOOK|CMD_CLIENT_CFLAG|CMD_CLIENT_CANFAIL,
|
||||||
.exec = cmd_display_message_exec
|
.exec = cmd_display_message_exec
|
||||||
@ -73,6 +73,8 @@ cmd_display_message_exec(struct cmd *self, struct cmdq_item *item)
|
|||||||
int flags;
|
int flags;
|
||||||
|
|
||||||
if (args_has(args, 'I')) {
|
if (args_has(args, 'I')) {
|
||||||
|
if (wp == NULL)
|
||||||
|
return (CMD_RETURN_NORMAL);
|
||||||
if (window_pane_start_input(wp, item, &cause) != 0) {
|
if (window_pane_start_input(wp, item, &cause) != 0) {
|
||||||
cmdq_error(item, "%s", cause);
|
cmdq_error(item, "%s", cause);
|
||||||
free(cause);
|
free(cause);
|
||||||
@ -109,8 +111,10 @@ cmd_display_message_exec(struct cmd *self, struct cmdq_item *item)
|
|||||||
*/
|
*/
|
||||||
if (tc != NULL && tc->session == s)
|
if (tc != NULL && tc->session == s)
|
||||||
c = tc;
|
c = tc;
|
||||||
else
|
else if (s != NULL)
|
||||||
c = cmd_find_best_client(s);
|
c = cmd_find_best_client(s);
|
||||||
|
else
|
||||||
|
c = NULL;
|
||||||
if (args_has(args, 'v'))
|
if (args_has(args, 'v'))
|
||||||
flags = FORMAT_VERBOSE;
|
flags = FORMAT_VERBOSE;
|
||||||
else
|
else
|
||||||
@ -124,7 +128,9 @@ cmd_display_message_exec(struct cmd *self, struct cmdq_item *item)
|
|||||||
}
|
}
|
||||||
|
|
||||||
msg = format_expand_time(ft, template);
|
msg = format_expand_time(ft, template);
|
||||||
if (args_has(args, 'p'))
|
if (cmdq_get_client(item) == NULL)
|
||||||
|
cmdq_error(item, "%s", msg);
|
||||||
|
else if (args_has(args, 'p'))
|
||||||
cmdq_print(item, "%s", msg);
|
cmdq_print(item, "%s", msg);
|
||||||
else if (tc != NULL)
|
else if (tc != NULL)
|
||||||
status_message_set(tc, delay, 0, "%s", msg);
|
status_message_set(tc, delay, 0, "%s", msg);
|
||||||
|
@ -276,7 +276,7 @@ cmdq_merge_formats(struct cmdq_item *item, struct format_tree *ft)
|
|||||||
const struct cmd_entry *entry;
|
const struct cmd_entry *entry;
|
||||||
|
|
||||||
if (item->cmd != NULL) {
|
if (item->cmd != NULL) {
|
||||||
entry = cmd_get_entry (item->cmd);
|
entry = cmd_get_entry(item->cmd);
|
||||||
format_add(ft, "command", "%s", entry->name);
|
format_add(ft, "command", "%s", entry->name);
|
||||||
}
|
}
|
||||||
if (item->state->formats != NULL)
|
if (item->state->formats != NULL)
|
||||||
|
1
tmux.1
1
tmux.1
@ -4859,6 +4859,7 @@ The following variables are available, where appropriate:
|
|||||||
.It Li "copy_cursor_word" Ta "" Ta "Word under cursor in copy mode"
|
.It Li "copy_cursor_word" Ta "" Ta "Word under cursor in copy mode"
|
||||||
.It Li "copy_cursor_x" Ta "" Ta "Cursor X position in copy mode"
|
.It Li "copy_cursor_x" Ta "" Ta "Cursor X position in copy mode"
|
||||||
.It Li "copy_cursor_y" Ta "" Ta "Cursor Y position in copy mode"
|
.It Li "copy_cursor_y" Ta "" Ta "Cursor Y position in copy mode"
|
||||||
|
.It Li "current_file" Ta "" Ta "Current configuration file"
|
||||||
.It Li "cursor_character" Ta "" Ta "Character at cursor in pane"
|
.It Li "cursor_character" Ta "" Ta "Character at cursor in pane"
|
||||||
.It Li "cursor_flag" Ta "" Ta "Pane cursor flag"
|
.It Li "cursor_flag" Ta "" Ta "Pane cursor flag"
|
||||||
.It Li "cursor_x" Ta "" Ta "Cursor X position in pane"
|
.It Li "cursor_x" Ta "" Ta "Cursor X position in pane"
|
||||||
|
Loading…
Reference in New Issue
Block a user