Maybe for the same reason why currently the menu-bar is one-line, the tab-bar should be one-line on TTY frames. For the same reason the header-line is one-line too, so the tab-line should be one-line too. This means that we still need to find a solution how to scroll tabs on one line. > Add hscrolling support for pseudo-windows, I think. It could start > with a specialized function to hscroll just the tab-bar, then the code > could just start displaying the tab-bar window starting at a button > that is not necessarily the first one. Since it's not clear how to do refactoring for multi-line tab-bar on TTY and for multi-line tab-line, I'm going to explore the hscrolling option. >> Does hscrolling depend on the position of point so point should be >> moved to the current tab to center other tabs around it? > > I was talking about the truncation glyphs and clicking on them, not > about automatic hscrolling when point gets too close to the window > edge. I started to implement adding truncation arrow buttons at both sides of the one-line tab-bar, clicking on them will hscroll the tab-bar. >> Also I tried to insert newlines in the tab-bar string, without success. > > Not sure I understand this part. Why did you need to add newlines, > and what didn't work when you tried? I tried to add newlines between tabs to force moving the wrapped tab to the beginning of the next line on multi-line tab-bar. >> >> 6. Or even better: clicking on such arrow buttons will pop up a menu of >> >> remaining tabs that don't fit into one-line tab-bar. >> >> This is like implemented recently for Info-history where clicking on >> >> the tool-bar arrow pops up a menu of previous Info nodes. The same way >> >> clicking on the arrows on the tab-bar could pop up a menu of tabs whose >> >> names don't fit into the one-line tab-bar at both sides of the current tab. >> > >> > I'd leave such fancy features for future releases. Remember: we are >> > waiting for this and other new features to reach some reasonable state >> > in order to start the Emacs 27 release cycle. >> >> This is the simplest and quickest option to implement. For Info-history >> it took just 20 lines of Lisp code. > > The code could be small, but it will probably lead us down a rabbit > hole of more discussions, bug reports and feature requests, yet more > discussions, etc. I'd like to stabilize this feature soon at some > reasonable point and leave the rest to future releases. Firefox provides both options at the same time: two arrow buttons to hscroll tabs, and one dropdown button to pop up a menu of tabs. It's easy to implement both.