aboutsummaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorJuri Linkov2019-10-01 23:15:03 +0300
committerJuri Linkov2019-10-01 23:15:03 +0300
commit2698d3dba2e9858b026ed127d4de3f86810a5ef3 (patch)
tree8e9b8f194cfcad8af83a4174a0105bbc691f06d6 /etc
parent25f45d710e91a7c1049f056ff27bc3e6968f5624 (diff)
parent3f981a0a89bca47a207fb362485f07e7322bb145 (diff)
downloademacs-2698d3dba2e9858b026ed127d4de3f86810a5ef3.tar.gz
emacs-2698d3dba2e9858b026ed127d4de3f86810a5ef3.zip
Merge branch 'feature/tabs'
Diffstat (limited to 'etc')
-rw-r--r--etc/NEWS28
-rw-r--r--etc/TODO14
-rw-r--r--etc/images/tabs/README8
-rw-r--r--etc/images/tabs/close.xpm16
-rw-r--r--etc/images/tabs/new.xpm16
5 files changed, 68 insertions, 14 deletions
diff --git a/etc/NEWS b/etc/NEWS
index 04e2657e7c6..00a01999a73 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -2030,6 +2030,34 @@ file-local variable, you may need to update the value.
2030 2030
2031* New Modes and Packages in Emacs 27.1 2031* New Modes and Packages in Emacs 27.1
2032 2032
2033** 'tab-bar-mode' enables the tab-bar at the top of each frame,
2034to switch named persistent window configurations in it using tabs.
2035New tab-based keybindings (similar to frame-based commands):
2036'C-x 6 2' creates a new tab;
2037'C-x 6 0' deletes the current tab;
2038'C-x 6 b' switches to buffer in another tab;
2039'C-x 6 f' and 'C-x 6 C-f' edit file in another tab;
2040'C-TAB' switches to the next tab;
2041'S-C-TAB' switches to the previous tab.
2042
2043Also it's possible to switch named persistent window configurations
2044without having graphical access to the tab-bar, even on a tty
2045or when 'tab-bar-mode' is disabled, with these commands:
2046'tab-new' creates a new window configuration;
2047'tab-close' deletes the current window configuration;
2048'tab-select' switches to the window configuration by its name;
2049'tab-previous' switches to the previous window configuration;
2050'tab-next' switches to the next window configuration;
2051'tab-list' displays a list of named window configurations for switching.
2052
2053** 'global-tab-line-mode' enables the tab-line above each window to
2054switch buffers in it to previous/next buffers. Selecting a previous
2055window-local tab is the same as running 'C-x <left>' (previous-buffer),
2056selecting a next tab switches to the tab available by 'C-x <right>'
2057(next-buffer). Clicking on the plus icon adds a new buffer to the
2058window-local tab-line of window buffers. Using the mouse wheel on the
2059tab-line scrolls the window buffers whose names are displayed in tabs.
2060
2033** fileloop.el lets one setup multifile operations like search&replace. 2061** fileloop.el lets one setup multifile operations like search&replace.
2034 2062
2035+++ 2063+++
diff --git a/etc/TODO b/etc/TODO
index 67de79f8a97..2c36f5bfe4b 100644
--- a/etc/TODO
+++ b/etc/TODO
@@ -324,20 +324,6 @@ consistency checks that make sure the new code computes the same results
324as the old code. And once that works well, we can remove the old code 324as the old code. And once that works well, we can remove the old code
325and old fields. 325and old fields.
326 326
327** Having tabs above a window to switch buffers in it.
328
329** "Perspectives" are named persistent window configurations. We have
330had the window configuration mechanism in GNU Emacs since the
331beginning but we have never developed a good user interface to take
332advantage of them. Eclipse's user interface seems to be good.
333
334Perspectives work well even if you do the equivalent of C-x 4 C-f
335because of the distinction between view windows vs file windows. In
336Emacs this is more or less the "dedicated window" feature, but we have
337never really made it work for this.
338
339Perspectives also need to interact with the tabs.
340
341** FFI (foreign function interface) 327** FFI (foreign function interface)
342See eg https://lists.gnu.org/r/emacs-devel/2013-10/msg00246.html 328See eg https://lists.gnu.org/r/emacs-devel/2013-10/msg00246.html
343 329
diff --git a/etc/images/tabs/README b/etc/images/tabs/README
new file mode 100644
index 00000000000..1e9f4e5b595
--- /dev/null
+++ b/etc/images/tabs/README
@@ -0,0 +1,8 @@
1This directory contains icons for the Tabs user interface.
2
3COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES
4
5Files: close.xpm new.xpm
6Author: Juri Linkov <juri@linkov.net>
7Copyright (C) 2019 Free Software Foundation, Inc.
8License: GNU General Public License version 3 or later (see COPYING)
diff --git a/etc/images/tabs/close.xpm b/etc/images/tabs/close.xpm
new file mode 100644
index 00000000000..1c3f4d8fd7d
--- /dev/null
+++ b/etc/images/tabs/close.xpm
@@ -0,0 +1,16 @@
1/* XPM */
2static char * close_xpm[] = {
3"9 9 4 1",
4" c None",
5". c #BFBFBF",
6"+ c #000000",
7"@ c #808080",
8" ..... ",
9" ....... ",
10"..+@.@+..",
11"..@+@+@..",
12"...@+@...",
13"..@+@+@..",
14"..+@.@+..",
15" ....... ",
16" ..... "};
diff --git a/etc/images/tabs/new.xpm b/etc/images/tabs/new.xpm
new file mode 100644
index 00000000000..e10a8ef238b
--- /dev/null
+++ b/etc/images/tabs/new.xpm
@@ -0,0 +1,16 @@
1/* XPM */
2static char * new_xpm[] = {
3"9 9 4 1",
4" c None",
5". c #BFBFBF",
6"+ c #808080",
7"@ c #000000",
8".........",
9"....+....",
10"....@....",
11"....@....",
12".+@@@@@+.",
13"....@....",
14"....@....",
15"....+....",
16"........."};