Mouse back behaviour since 9.5x (was about thinning + HistoryCut)

English support forum

Moderators: sheep, Hacker, Stefan2, white

User avatar
Hacker
Moderator
Moderator
Posts: 11524
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Re: Mouse back behaviour since 9.5x (was about thinning + HistoryCut)

Post by *Hacker »

Christian,
That's exactly what HistoryCut=0 is currently doing!
What I am suggesting is that on each Alt-Left the landing dir is added to the end of the history.

Currently with HistoryCut=0:

Code: Select all

Action            History   Current dir (as marked in the Directory History menu)
---------------------------------------------------------------------------------
C:\               C:\       <-

                  C:\
Enter C:\Alpha\   C:\Alpha\ <-

Alt-Left          C:\       <-
                  C:\Alpha\

                  C:\
                  C:\Alpha\
Enter C:\Beta\    C:\Beta\  <-
                  
                  C:\
Alt-Left          C:\Alpha\ <-
                  C:\Beta\
Suggested:

Code: Select all

Action            History   Current dir (as marked in the Directory History menu)
---------------------------------------------------------------------------------
C:\               C:\       <-

                  C:\
Enter C:\Alpha\   C:\Alpha\ <-

Alt-Left          C:\       <- (also add this dir to the end of the list)
                  C:\Alpha\
                  C:\

                  C:\
                  C:\Alpha\
                  C:\
Enter C:\Beta\    C:\Beta\  <-
                  
                  C:\
                  C:\Alpha\
Alt-Left          C:\       <- (also add this dir to the end of the list)
                  C:\Beta\
                  C:\
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 39174
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: Mouse back behaviour since 9.5x (was about thinning + HistoryCut)

Post by *ghisler(Author) »

Ah, I see - but what about Alt+Right then?
Author of Total Commander
http://www.ghisler.com

StatusQuo
Power Member
Power Member
Posts: 1515
Joined: 2007-01-17, 21:36 UTC
Location: Germany

Re: Mouse back behaviour since 9.5x (was about thinning + HistoryCut)

Post by *StatusQuo »

2ghisler(Author)
1. With HistoryCut=0, this new directory is appended to the END of the list
2. With HistoryCut=1, the history is cut at the current position
Two other ideas:

Proposal 1)
How about a mix of the two: Cut like HistoryCut=1, but don't delete the cut entries, instead move them to the BEGINNING of the list.

This way we can navigate back as normal until reaching the theoretical root/oldest line of history, and then still have the extra folders left for navigating.
It should work like HistoryCut=1 in case of going only one step back,
but keep as much as possible when going back further.

Assuming HistoryLen=6:

After navigating folders A > B > C > D > E > F,
3x Alt+Left back to C, then into dir 3

Code: Select all

          
navigation
|<-\      
|  F      
|  E      
|  D      
|->C->3   
   B      
   A      
  /\      
results in:

Code: Select all

   ( #1 )       ( #1 )       
HistoryCut=1  suggestion     
                             
     3  _ _ _ _ _ 3          
     C            C->4       
     B            B          
     A            A          
                  F          
                  E          
                 (D=>is lost)
Alt+Left back to C, then into dir 4
results in:

Code: Select all

  ( #2 )
after_cd_to_4
          
    4
    C
    B
    A
    F
    E
   (3=>is lost)

Proposal 2)
A simple one: Two types of history, like a web browser:
- a big list to browse through (Ctrl+H in web browser, Alt+Down in TC), behaving like HistoryCut=0
- a navigation history holding only the recent steps (Alt+Left/Right), behaving like HistoryCut=1

If the user wants to go back beyond the "normal" navigation, there is still the big list (Alt+Down) to choose from.
The order in this list is not that important, IMO.
Who the hell is General Failure, and why is he reading my disk?
-- TC starter menu: Fast yet descriptive command access!

User avatar
Hacker
Moderator
Moderator
Posts: 11524
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Re: Mouse back behaviour since 9.5x (was about thinning + HistoryCut)

Post by *Hacker »

Christian,
but what about Alt+Right then?
Well, if Alt-Left adds the landing dir to the end of the history, Alt-Right could remove it?

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.

User avatar
Flint
Power Member
Power Member
Posts: 3300
Joined: 2003-10-27, 09:25 UTC
Location: Moscow, Russia
Contact:

Re: Mouse back behaviour since 9.5x (was about thinning + HistoryCut)

Post by *Flint »

2Hacker
How would your method work when I go further down the history, pressing Alt+Left more than once? Especially after I've visited another dir (like, go to Alpha, back, go to Beta, back, back). You'd have to either lose the history at some nesting level, or keep in TC's memory the full navigation tree and constantly rearrange the history as you navigate back and forth (which would confuse users, "why does my history keep changing?").

I'd like this to be a constructive criticism, but at the moment I don't see a proper solution, which would make both parties happy. Trying to fit a tree with many branches into a plain list inevitably leads to either simplifications, or cut-offs, or confusions (or all three). And trying to store and display the actual tree would probably be confusing as hell.
Flint's Homepage: Full TC Russification Package, VirtualDisk, NTFS Links, NoClose Replacer, and other stuff!
 
Using TC 9.50 / Win7 x64 SP1, Win10 x64

User avatar
Hacker
Moderator
Moderator
Posts: 11524
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Re: Mouse back behaviour since 9.5x (was about thinning + HistoryCut)

Post by *Hacker »

Flint,
go to Alpha, back, go to Beta, back, back

Code: Select all

Action            History   Current dir (as marked in the Directory History menu)
---------------------------------------------------------------------------------
C:\               C:\       <-

                  C:\
Enter C:\Alpha\   C:\Alpha\ <-

Alt-Left          C:\       <- (also add this dir to the end of the list)
                  C:\Alpha\
                  C:\

                  C:\
                  C:\Alpha\
                  C:\
Enter C:\Beta\    C:\Beta\  <-
                  
                  C:\
                  C:\Alpha\
Alt-Left          C:\       <- (also add this dir to the end of the list)
                  C:\Beta\
                  C:\

                  C:\
Alt-Left          C:\Alpha\ <- (also add this dir to the end of the list)
                  C:\
                  C:\Beta\
                  C:\
                  C:\Alpha\
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.

User avatar
Flint
Power Member
Power Member
Posts: 3300
Joined: 2003-10-27, 09:25 UTC
Location: Moscow, Russia
Contact:

Re: Mouse back behaviour since 9.5x (was about thinning + HistoryCut)

Post by *Flint »

2Hacker
I see. So it won't be able to emulate the old behavior well enough. (With HistoryCut=1, after the second Back I would end up in a directory, where I was before I entered the first C:\ ).

So, yeah, at the moment I don't see any possible mechanism to combine the new "no deleting history" idea with the navigation scenarios that users got used to over the years.
Flint's Homepage: Full TC Russification Package, VirtualDisk, NTFS Links, NoClose Replacer, and other stuff!
 
Using TC 9.50 / Win7 x64 SP1, Win10 x64

User avatar
Hacker
Moderator
Moderator
Posts: 11524
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Re: Mouse back behaviour since 9.5x (was about thinning + HistoryCut)

Post by *Hacker »

Flint,
Yes, well, my intent was to keep the "keep all visited dirs" functionality with HistoryCut=0 without having the unexpected functionality of Alt-Left.
What you suggest might perhaps be realized with StatusQuo's 2nd suggestion (separate histories / functionalities / possibly internal commands - one set for full history, one set for cut history).

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.

User avatar
Flint
Power Member
Power Member
Posts: 3300
Joined: 2003-10-27, 09:25 UTC
Location: Moscow, Russia
Contact:

Re: Mouse back behaviour since 9.5x (was about thinning + HistoryCut)

Post by *Flint »

Actually, I was thinking about that and I think I've got an idea to bring the two worlds together. So:

1. To the end of the history list a submenu is added; not sure about the name, but for now let's just call it "Forgotten entries". Initially, it's empty.

2. Linear navigation is performed like usual: by adding to the list of history the new entries, if we're at the end of the list; and then moving backwards/forwards through the list.

3. Now, if we're in the middle of the history list, and we enter another directory, the following happens:
a) all the rest of the list is moved into the top of the "Forgotten entries" and removed from the main list;
b) the new directory added after the current position in the main list (which is now the last item), and is switched to, just like it would if it were the normal last position in history.

4. If we manually select a path from the "Forgotten entries", then it's removed from that submenu and added to the main list, using the same rules as in p.3.
Example
Show
Let's say the history looks like this:

Code: Select all

  c:\
  c:\d1\
  c:\d1\d2\
  d:\
  d:\d1\
> d:\d1\d2\
  [Forgotten entries] -> (empty)
We go back twice:

Code: Select all

  c:\
  c:\d1\
  c:\d1\d2\
> d:\
  d:\d1\
  d:\d1\d2\
  [Forgotten entries] -> (empty)
Then enter another directory, e.g. d:\e1\ - the entries after our current position are now "forgotten":

Code: Select all

  c:\
  c:\d1\
  c:\d1\d2\
  d:\
> d:\e1\
  [Forgotten entries] ->
    d:\d1\
    d:\d1\d2\
Then we go back twice to c:\d1\d2\

Code: Select all

  c:\
  c:\d1\
> c:\d1\d2\
  d:\
  d:\e1\
  [Forgotten entries] ->
    d:\d1\
    d:\d1\d2\
and decide to select a forgotten history entry d:\d1\ - first, the rest of the main list is moved to the forgotten one, then the selected entry is moved into the main list:

Code: Select all

  c:\
  c:\d1\
  c:\d1\d2\
> d:\d1\
  [Forgotten entries] ->
    d:\
    d:\e1\
    d:\d1\d2\
Additional considerations:

I. The size of the forgotten entry list should be configurable; when it grows too much, the oldest entries are removed (like with normal history).

II. Alt+Right won't do anything, when we're at the bottom of the main list, even when there are forgotten entries present. Maybe, it's worth adding another command cm_ForwardWithForgotten (Alt+Shift+Right); or add a wincmd.ini key to allow the normal Alt+Right go further into the forgotten list when reached the end of the main one (using the same rule No.4). But I don't know if that would be useful to anybody. This part of the history is not linear, it's just a bunch of what we've visited some time in the past; so navigating "forward" does not make much sense there.
Flint's Homepage: Full TC Russification Package, VirtualDisk, NTFS Links, NoClose Replacer, and other stuff!
 
Using TC 9.50 / Win7 x64 SP1, Win10 x64

StatusQuo
Power Member
Power Member
Posts: 1515
Joined: 2007-01-17, 21:36 UTC
Location: Germany

Re: Mouse back behaviour since 9.5x (was about thinning + HistoryCut)

Post by *StatusQuo »

2Flint
Nice idea to additionally separate them in a submenu of dropdown history. Makes it clear for the user, where those entries come from.

This could also work as an alternative for HistoryThinning - just having a quick look at some subfolders would not overwrite the regular dropdown history.
Who the hell is General Failure, and why is he reading my disk?
-- TC starter menu: Fast yet descriptive command access!

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 39174
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: Mouse back behaviour since 9.5x (was about thinning + HistoryCut)

Post by *ghisler(Author) »

But what should happen when the user does that repeatedly? Another submenu each time? Or merge the lists somehow? Remove duplicates?
And should they be stored in separate sections like [lefthistorydeleted] or so?
Author of Total Commander
http://www.ghisler.com

User avatar
Flint
Power Member
Power Member
Posts: 3300
Joined: 2003-10-27, 09:25 UTC
Location: Moscow, Russia
Contact:

Re: Mouse back behaviour since 9.5x (was about thinning + HistoryCut)

Post by *Flint »

2ghisler(Author)
But what should happen when the user does that repeatedly? Another submenu each time?
No, the submenu remains always one, to keep the bunch of all "lost" entries as a plain list. The new entries will be added to the top. It's a compromise between having the full history navigation tree with all the "branches", and losing all the branches completely (apart from the "main" one).

Basically, this submenu is just a list of all the entries that would be deleted ("cut off") when you have HistoryCut=1. My idea is, instead of deleting, just move these items into some kind of a buffer, where they don't interfere with the user's navigation, but are still available for fetching.
Remove duplicates?
That's an interesting question. I'm not sure yet. If the new entry being moved to the top of "Forgotten items" is completely identical to the one that is already at the top (e.g. when user pressed Back, and then re-entered the same subdir again), then deduplication is definitely a good idea.
As for searching for duplicates throughout the whole submenu — maybe add it as a configurable option.
And should they be stored in separate sections like [lefthistorydeleted] or so?
Yes, that's the idea.
Flint's Homepage: Full TC Russification Package, VirtualDisk, NTFS Links, NoClose Replacer, and other stuff!
 
Using TC 9.50 / Win7 x64 SP1, Win10 x64

Post Reply