mirror of
https://github.com/tmux/tmux.git
synced 2025-01-22 05:37:07 +00:00
If trimming menu item text, show key if it would take up less than a
quarter of the space; from Alexis Hildebrandt. Also new sentence, new line in tmux.1, from jmc.
This commit is contained in:
parent
8f1cc0e9fa
commit
630c592ef8
26
menu.c
26
menu.c
@ -89,22 +89,26 @@ menu_add_item(struct menu *menu, const struct menu_item *item,
|
||||
keylen = strlen(key) + 3; /* 3 = space and two brackets */
|
||||
|
||||
/*
|
||||
* Only add the key if there is space for the entire item text
|
||||
* and the key.
|
||||
* Add the key if it is shorter than a quarter of the available
|
||||
* space or there is space for the entire item text and the
|
||||
* key.
|
||||
*/
|
||||
if (keylen >= max_width || slen >= max_width - keylen)
|
||||
if (keylen <= max_width / 4)
|
||||
max_width -= keylen;
|
||||
else if (keylen >= max_width || slen >= max_width - keylen)
|
||||
key = NULL;
|
||||
}
|
||||
|
||||
if (key != NULL)
|
||||
xasprintf(&name, "%s#[default] #[align=right](%s)", s, key);
|
||||
else {
|
||||
if (slen > max_width) {
|
||||
max_width--;
|
||||
suffix = ">";
|
||||
}
|
||||
xasprintf(&name, "%.*s%s", (int)max_width, s, suffix);
|
||||
if (slen > max_width) {
|
||||
max_width--;
|
||||
suffix = ">";
|
||||
}
|
||||
if (key != NULL)
|
||||
xasprintf(&name, "%.*s%s#[default] #[align=right](%s)",
|
||||
(int)max_width, s, suffix, key);
|
||||
else
|
||||
xasprintf(&name, "%.*s%s", (int)max_width, s, suffix);
|
||||
|
||||
new_item->name = name;
|
||||
free(s);
|
||||
|
||||
|
3
tmux.1
3
tmux.1
@ -4427,7 +4427,8 @@ uses when the colour with that index is requested.
|
||||
The index may be from zero to 255.
|
||||
.Pp
|
||||
.It Ic cursor-style Ar style
|
||||
Set the style of the cursor. Available styles are:
|
||||
Set the style of the cursor.
|
||||
Available styles are:
|
||||
.Ic default ,
|
||||
.Ic blinking-block ,
|
||||
.Ic block ,
|
||||
|
Loading…
Reference in New Issue
Block a user