]> git.eshelyaron.com Git - emacs.git/commitdiff
* src/xdisp.c (tab-bar-truncate): New variable (bug#78953).
authorJuri Linkov <juri@linkov.net>
Mon, 14 Jul 2025 06:43:18 +0000 (09:43 +0300)
committerEshel Yaron <me@eshelyaron.com>
Thu, 24 Jul 2025 08:50:33 +0000 (10:50 +0200)
(tab_bar_height): Use it.

(cherry picked from commit 817f7829f9cdb47d2bcdee95ffc97830537c490d)

src/xdisp.c

index 98232f639d5190208d1a26ff32e30dd8ff3b67e7..c04d159187fb5540fc2937c6e95445442fb36770 100644 (file)
@@ -14739,11 +14739,19 @@ tab_bar_height (struct frame *f, int *n_rows, bool pixelwise)
   it.paragraph_embedding = L2R;
 
   clear_glyph_row (temp_row);
-  while (!ITERATOR_AT_END_P (&it))
+  if (tab_bar_truncate)
     {
       it.glyph_row = temp_row;
       display_tab_bar_line (&it, -1);
     }
+  else
+    {
+      while (!ITERATOR_AT_END_P (&it))
+       {
+         it.glyph_row = temp_row;
+         display_tab_bar_line (&it, -1);
+       }
+    }
   clear_glyph_row (temp_row);
 
   /* f->n_tab_bar_rows == 0 means "unknown"; -1 means no tab-bar.  */
@@ -38209,6 +38217,10 @@ window, nil if it's okay to leave the cursor partially-visible.  */);
   DEFSYM (Qmake_window_start_visible, "make-window-start-visible");
   Fmake_variable_buffer_local (Qmake_window_start_visible);
 
+  DEFVAR_BOOL ("tab-bar-truncate", tab_bar_truncate,
+    doc: /* Non-nil means truncate tab-bar and show only one line.  */);
+  tab_bar_truncate = false;
+
   DEFSYM (Qclose_tab, "close-tab");
   DEFVAR_LISP ("tab-bar-border", Vtab_bar_border,
     doc: /* Border below tab-bar in pixels.