Tabs (18 beta2)
So what are the complete plans for tabs?
For years I’ve been using slick with “Multiple files share window†mode and use macros to tile several windows. Typically I have 10 to 40 buffers open.
So the client area is divided into 1 to 4 "panes" like so:
1 window:
AA
AA
2 windows
A|B
A|B
3 windows
A|B
A|-
A|C
Or
B|A
-|A
C|A
And 4 windows
A|B
-|-
D|C
Then I can use Ctrl-Tab to navigate thru those windows.
In each window I use list-buffers to select the buffer to be viewed.
With the new Tabs I’ve found:
Not using “Multiple files share window†is confusing.
There is a tab per buffer, and the tabs are distributed among the panes. Ctrl-Tab navigates in the (effectively random) order that the buffers are held by Slickedit internally. This results in the focus jumping around from pane to pane.
List-buffers becomes really unusable: Consider a 2 pane layout.
Pane A has two tabs with buffers 1 and 2.
Pane B has three tabs with buffers 1, 3 and 4.
Now place the cursor in file 4.
List-buffers and select file 1 and the cursor will jump over to pane A and bring 1 to front. List-buffers will never bring pane B buffer 1 to front.
Seems like there should be commands to do these operations:
1: Directional cursor navigation through panes – so you could predictably navigate from pane A to pane C or D for example.
Cyclic (like ctrl-tab) navigation through the panes would be useful too.
2: Cyclic navigation through the tabs in a pane, in the order in which they appear on screen. (I’ve never understood Slickedits buffer ordering scheme – very confusing). So in the example above then I could cycle between files 1 and 2 if I was in pane A, or files 1, 3, 4 if I was in pane B.
3: Tab sorting options are nice, but they should affect navigation order as well, not just display order.
4: Pathnames in tabs: This makes the tabs *way* too big to be useful in most cases.
It is really common for me to have multiple copies of the source enlistment I’m working with. For example, ProjectX:
C:\SourceControl\EnlistmentA\ProjectX\src\foo\bar\zip\zap\File1.c
C:\SourceControl\EnlistmentB\ProjectX\src\foo\bar\zip\zap\File1.c
The only difference is “A†vs “Bâ€.
It would be IDEAL if there were tab-coloring rules ... all files in paths starting with C:\SourceControl\EnlistmentA\ would be green, while all files in C:\SourceControl\EnlistmentB\ would be blue.
OR, make the path display smarter … if a buffer has a unique filename, don’t display the path. If two or more buffers have the same filename, but different paths then display only the parts of the paths which are different. (I have no idea how you would reasonably do this).