1
0
mirror of https://github.com/tmux/tmux.git synced 2025-03-13 05:38:47 +00:00

Merge branch 'obsd-master' into master

This commit is contained in:
Thomas Adam 2022-02-22 14:01:10 +00:00
commit 2be5488693
6 changed files with 22 additions and 5 deletions

View File

@ -1154,13 +1154,13 @@ format_trim_right(const char *expanded, u_int limit)
while (*cp != '\0') {
if (*cp == '#') {
end = format_leading_hashes(cp, &n, &leading_width);
copy_width = leading_width;
if (width <= skip) {
if (skip - width >= leading_width)
if (skip - width >= copy_width)
copy_width = 0;
else
copy_width -= (skip - width);
} else
copy_width = leading_width;
}
if (copy_width != 0) {
if (n == 1)
*out++ = '#';

View File

@ -1650,6 +1650,13 @@ format_cb_mouse_y(struct format_tree *ft)
return (NULL);
}
/* Callback for next_session_id. */
static void *
format_cb_next_session_id(__unused struct format_tree *ft)
{
return (format_printf("$%u", next_session_id));
}
/* Callback for origin_flag. */
static void *
format_cb_origin_flag(struct format_tree *ft)
@ -2707,6 +2714,9 @@ static const struct format_table_entry format_table[] = {
{ "mouse_y", FORMAT_TABLE_STRING,
format_cb_mouse_y
},
{ "next_session_id", FORMAT_TABLE_STRING,
format_cb_next_session_id
},
{ "origin_flag", FORMAT_TABLE_STRING,
format_cb_origin_flag
},

View File

@ -689,7 +689,7 @@ popup_display(int flags, enum box_lines lines, struct cmdq_item *item, u_int px,
}
pd->border_cell.attr = 0;
screen_init(&pd->s, sx - 2, sy - 2, 0);
screen_init(&pd->s, jx, jy, 0);
colour_palette_init(&pd->palette);
colour_palette_from_option(&pd->palette, global_w_options);

View File

@ -27,7 +27,7 @@
#include "tmux.h"
struct sessions sessions;
static u_int next_session_id;
u_int next_session_id;
struct session_groups session_groups = RB_INITIALIZER(&session_groups);
static void session_free(int, short, void *);

6
tmux.1
View File

@ -4592,6 +4592,11 @@ Run when a session is renamed.
Run when a window is linked into a session.
.It window-renamed
Run when a window is renamed.
.It window-resized
Run when a window is resized.
This may be after the
.Ar client-resized
hook is run.
.It window-unlinked
Run when a window is unlinked from a session.
.El
@ -5096,6 +5101,7 @@ The following variables are available, where appropriate:
.It Li "mouse_word" Ta "" Ta "Word under mouse, if any"
.It Li "mouse_x" Ta "" Ta "Mouse X position, if any"
.It Li "mouse_y" Ta "" Ta "Mouse Y position, if any"
.It Li "next_session_id" Ta "" Ta "Unique session ID for next new session"
.It Li "origin_flag" Ta "" Ta "Pane origin flag"
.It Li "pane_active" Ta "" Ta "1 if active pane"
.It Li "pane_at_bottom" Ta "" Ta "1 if pane is at the bottom of window"

1
tmux.h
View File

@ -3119,6 +3119,7 @@ void control_notify_session_window_changed(struct session *);
/* session.c */
extern struct sessions sessions;
extern u_int next_session_id;
int session_cmp(struct session *, struct session *);
RB_PROTOTYPE(sessions, session, entry, session_cmp);
int session_alive(struct session *);