Subject: bug#38624: 27.0.50; [wish] tab navigation via keyboard should mimic buffer navigation

From: Gregor Zattler <[email-masked]>
Date: Sun, 15 Dec 2019 16:58:39 +0100

Dear emacs developers, Juri,

this wish list bug is about the tab bar user interface, I'd like to
navigate tabs via keyboard, probably without showing the tab bar:

Navigating tabs with "C-X t o" is error prone since it provides no
feedback which tab is selected (different tabs may show identical window
configurations at a specific point of time).  Perhaps it should show the
name of the selected tab in the echo area?  Or the name of the
tab could be shown in the mode line?

I'd prefer to navigate tabs like buffers via names and completion.
This would be like switch-to-buffer, how about "C-X t t" as the default
key binding?  This would happen in the echo area, therefore be less
visual intrusive and keep the current window configuration visible
till I choose the next one, while tab-list blanks the whole frame till I
choose the next one from this list.

M-x tab-list creates a temporary tab, which looks like a buffer in a
window, but is not shown for instance as a buffer in ibuffer.  Other
than ibuffer or list-buffers which split the window and therefore
provide some visual context, tab-list destroys this context.

The names of the tabs are somehow centred vertically and horizontally,
which irritates me.

I would prefer tab-list to create a buffer which mimics list-buffers or
better ibuffer.  This could be bound to "C-X t C-t".  Then I would have
the choice to have a dedicated tab which shows this buffer or switch to
it in a tab.  Perhaps it should be possible or even default to bury this
tab list before switching to the next tab, in order to restore the
windows configuration in the tab current when calling tab-list.

Then for instance in ibuffer I can kill a line with C-K and yank it in
another buffer.  This is not possible with the tab-list.  It only marks
the tab on this line for deletion (which is ok) but does not copy it to
the kill ring.

Thanks for providing tabs in emacs, Gregor

In GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.11)
 of 2019-12-15 built on len
Repository revision: 0ca32d1270bd5d494e365f3525fa65ac423f6658
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.11902000
System Description: Debian GNU/Linux 9 (stretch)

Recent messages:
nil
Auto-saving...done
Auto-saving...done
next-line: End of buffer [10 times]
scroll-down-command: Beginning of buffer
previous-line: Beginning of buffer [13 times]

Auto-saving...done
C-x t TAB is undefined

Quit [2 times]
Configured using:
 'configure -C --prefix=/usr/local/stow/emacs-snapshot
 --with-file-notification=inotify --without-toolkit-scroll-bars
 --with-x-toolkit=gtk3 'CFLAGS=-g -O2
 -fdebug-prefix-map=/home/grfz/src/emacs=. -fstack-protector-strong
 -Wformat -Werror=format-security -Wall -fno-pie' 'CPPFLAGS=-Wdate-time
 -D_FORTIFY_SOURCE=2 ' 'LDFLAGS=-Wl,-z,relro -no-pie''

Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND GPM DBUS GSETTINGS GLIB NOTIFY INOTIFY
ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF XFT ZLIB
GTK3 X11 XDBE XIM MODULES THREADS PDUMPER GMP

Important settings:
  value of $LC_ALL:
  value of $LC_COLLATE: de_DE.utf8
  value of $LC_CTYPE: de_DE.utf8
  value of $LC_MESSAGES: POSIX
  value of $LC_MONETARY: de_DE.utf8
  value of $LC_NUMERIC: de_DE.utf8
  value of $LC_TIME: de_DE.utf8
  value of $LANG: de_DE.utf8
  locale-coding-system: utf-8-unix