If trimming menu item text, show key if it would take up less than a
authornicm <nicm@openbsd.org>
Thu, 11 Nov 2021 09:22:33 +0000 (09:22 +0000)
committernicm <nicm@openbsd.org>
Thu, 11 Nov 2021 09:22:33 +0000 (09:22 +0000)
quarter of the space; from Alexis Hildebrandt.

Also new sentence, new line in tmux.1, from jmc.

usr.bin/tmux/menu.c
usr.bin/tmux/tmux.1

index 2ed80a5..bb0d6c5 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: menu.c,v 1.40 2021/10/22 17:12:50 nicm Exp $ */
+/* $OpenBSD: menu.c,v 1.41 2021/11/11 09:22:33 nicm Exp $ */
 
 /*
  * Copyright (c) 2019 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -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 (slen > max_width) {
+               max_width--;
+               suffix = ">";
+       }
        if (key != NULL)
-               xasprintf(&name, "%s#[default] #[align=right](%s)", s, key);
-       else {
-               if (slen > max_width) {
-                       max_width--;
-                       suffix = ">";
-               }
+               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);
 
index 2bfbcd3..a965b7f 100644 (file)
@@ -1,4 +1,4 @@
-.\" $OpenBSD: tmux.1,v 1.870 2021/11/04 13:15:13 kn Exp $
+.\" $OpenBSD: tmux.1,v 1.871 2021/11/11 09:22:33 nicm Exp $
 .\"
 .\" Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
 .\"
@@ -14,7 +14,7 @@
 .\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
 .\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
-.Dd $Mdocdate: November 4 2021 $
+.Dd $Mdocdate: November 11 2021 $
 .Dt TMUX 1
 .Os
 .Sh NAME
@@ -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 ,