Page 1 of 1

New Ctrl+Tab behaviour to switch and activate the open tabs

PostPosted: Wed May 06, 2020 3:07 pm
by bwinmerge
Hello. Long time user, edge case user. I really like winmerge, it's grown from being an important programming tool to something else I find incredibly useful comparing backups with the folder comparison function. Really great job.

I may be old school or just lazy, but I've become very used to quick switching tabs by smashing ctrl-tab/ctrl-shift-tab. The 2.16.6 release introduced the CWindowsManagerDialog, something I find useful editing code in Visual Studio, but I do have a love hate relationship with it because sometimes I just want to peek at my recently used files, and I really liked just being able to do CTRL [DOWN] TAB [DOWN, UP], but now I have to also release CTRL.

I understand that without the extra action (CTRL UP) the fancy new dialog would not be possible, and I appreciate the advantage of it when your tabs overflow the tab-bar. However this use case is specific to file editing for me, which is not how I use winmerge, I mainly use it for file reviewing. This usually involves a lot of files opened all at once so I only allow one instance to run. Directory comparisons are reviewed like this too, CTRL+TAB quickly switches back to the diff-set and I double click the next file to add to the queue to review.

So for the "review a lot of files opened at once" use case, it basically takes more than twice as long now to quickly smash through all the open files, because it's switched from:

CTRL [DOWN]
TAB [DOWN,UP]
TAB [DOWN,UP]

To

CTRL [DOWN]
TAB [DOWN,UP]
CTRL [UP]
CTRL [DOWN]
TAB [DOWN,UP]
CTRL [UP]

But worse, this doesn't actually cycle through all the tabs, it just toggles between the last two.

When Firefox changed the way ctrl-tab works to display the last tab used rather than the tab order around version 63, they did introduce a setting to enable it. Is that at all possible here for someone who wants to cycle through large sets of files they are reviewing, rather than editing?

I am a C# programmer not C++, but I've looked at branch #247 and I would prefer honesty here. If it is difficult to do then just please say so rather than criticise my use case.

This is such an impediment to how I use winmerge that I will be sticking to 2.16.4. I would contribute to a bounty on it being made optional, even volunteering to help implement it. I just know I wont be able to do it without a fair bit of help.