Verzeichnisposition nach Directory-Wechsel?

German support forum

Moderators: white, Hacker, Stefan2

User avatar
X-Byte
Member
Member
Posts: 173
Joined: 2004-11-29, 09:34 UTC
Location: Hessen, Germany

Post by *X-Byte »

Nachdem dieser Thread nun ein halbes Jahr "gereift" ist, könnte sich Christian Ghisler nochmal zur Machbarkeit der Umsetzung der Positionserinnerung in dem zuletzt reduzierten Umfang (DirUp / DirHsitory) äußern.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48097
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Es steht auf meiner ToDo-Liste für TC 7.5 (also nicht nur auf der Wunschliste). Wenn es wirklich so einfach zu realisieren wäre, wie sich das manche hier vorstellen, dann hätte ich es schon längst eingebaut. Das Problem ist, dass ein solches Scrolling zur letzten Position in vielen Fällen eben nicht erwünscht ist...
Author of Total Commander
https://www.ghisler.com
User avatar
StickyNomad
Power Member
Power Member
Posts: 1933
Joined: 2004-01-10, 00:15 UTC
Location: Germany

Post by *StickyNomad »

2ghisler(Author)
Es steht auf meiner ToDo-Liste für TC 7.5 (also nicht nur auf der Wunschliste).
Klasse, freut mich zu hören :-)
Und es muss ja wie gesagt nicht bei jeder Verzeichniswechsel-Funktion eingebaut werden.

Den bereits genannten beiden Funktionen, bei denen die Scrollposition wiederhergestellt werden sollte:
- DirUp (Backspace)
- DirHistory (Alt+Links / Alt+Rechts)
...möchte ich gerne noch den Verzeichniswechsel mit den Cursortasten hinzufügen, wenn z.B. SpecialCursorMovement=2 gesetzt ist. Falls der Aufwand vertretbar ist und niemand was dagegen hat natürlich ;-)
User avatar
X-Byte
Member
Member
Posts: 173
Joined: 2004-11-29, 09:34 UTC
Location: Hessen, Germany

Post by *X-Byte »

@ghisler
Vielen Dank für das Feedback, mehr wollte ich (wir) ja gar nicht wissen.
Somit warten wir gespannt auf TC 7.5 :)
User avatar
versalzen
Power Member
Power Member
Posts: 666
Joined: 2003-09-16, 11:52 UTC
Location: kölle, linksrheinisch.

Post by *versalzen »

kann mir bitte noch jemand auslegen, was hiermit gemeint sein könnte?
ghisler(Author) wrote:Das Problem ist, dass ein solches Scrolling zur letzten Position in vielen Fällen eben nicht erwünscht ist...
von *wem* oder *was* oder in *welcher* situation nicht erwünscht?

wieso stellen wünsche ein programmiertechnisches problem da? (ausser der anpassung der programmierung an die entsprechenden wünsche)

irgendwie sehe ich keinen direkten zusammenhang. und somit bleibt mir der sinn verborgen.
Was nützt der Löffel für die Weisheit, wenn man zu weit vom Suppentopf entfernt sitzt?

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

Post by *ghisler(Author) »

Wenn man z.B. von c:\ via c:\windows nach c:\windows\system32 geht, anschliessend nach c:\ zurück, und schliesslich wieder nach c:\windows, dann will man gerade nicht, dass der Cursor zu "system32" scrollt.

Dies ist jetzt ein sehr einfaches Beispiel, aber es gibt viel komplexere, z.B. im einen Tab geht man nach c:\windows\system32, und im 2. Tab nach c:\windows\fonts, anschliessend in beiden Tabs ein Verzeichnis nach oben. TC müsste sich da irgendwie beide Orte parallel merken.
Author of Total Commander
https://www.ghisler.com
User avatar
Hacker
Moderator
Moderator
Posts: 13073
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

ghisler(author) wrote:TC müsste sich da irgendwie beide Orte parallel merken.
Ja, das wäre ideal.

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
X-Byte
Member
Member
Posts: 173
Joined: 2004-11-29, 09:34 UTC
Location: Hessen, Germany

Post by *X-Byte »

Folgender Lösungsansatz:
Die DirHistory wird pro Tab gespeichert, also bietet es sich an, pro Eintrag in der DirHistory die zugehörige Cursorposition beim Wechsel in ein anderes Verzeichnis zu speichern.

Somit sollte zumindest für Bewegungen innerhalb der DirHistory (Alt+Links / Alt+Rechts / Direktanwahl eines DirHistory-Eintrags) ein konsistentes Verhalten für das Anspringen von gespeicherten Positionsmarken gewährleistet sein.

Der weitere Fall, für den das Anspringen der letzten Cursorposition relevant ist, wäre DirUp (Backspace / Anklicken von [..])

Hierbei haben wir den Sonderfall, dass wir uns nicht innerhalb der DirHistory bewegen, sondern sogar einen neuen Eintrag in der DirHistory generieren.
Trotzdem kann hier die DirHistory die Cursorposition liefern, da wir ja vorher in der Regel schon mal eine Ebene höher waren.
Also müsste bei dem Event DirUp die DirHistory nach dem neuen Pfad durchsucht werden und beim chronologisch letzten Treffer die Cursorposition als neue Cursorposition für den DirUp-Wechsel genommen werden.
Die Suche innerhalb der DirHistory kann im Falle von DirUp natürlich auch erfolglos verlaufen, z.B. weil man mittels "cd pfadname" oder DirMenu einen Pfad direkt angesprungen hat.
In diesem Fall kann natürlich keine vorherige Cursorposition ermittelt werden und der Cursor wird wie bisher in TC positioniert - was aber auch nur konsequent wäre.

Auch der von StickyNomad gewünschte Fall von SpecialCursorMovement=2 sollte hiermit abgedeckt sein, da es sich hierbei um nichts anderes als um ein DirUp bei Pfeil-Links handelt. Pfeil-Rechts erzeugt wie gehabt einen neuen DirHistory-Eintrag, wie bei einem Verzeichniswechsel per Enter. Hierbei wird dann die Cursorposition mitgespeichert.

Ich hoffe, hiermit alle (gewünschten) Fälle konsistent abgedeckt zu haben.
Gelöst wäre damit:
- Navigation in der DirHistory (Alt+Links, Alt+Rechts, Direktwahl in Dirhistory)
- DirUp (Backspace, Pfeil-Links bei SpecialCursorMovement=2)
- Verzeichniswechsel (Enter, Pfeil-Rechts bei SpecialCursorMovement=2)

@ghisler(Author)
Habe ich noch etwas übersehen?
User avatar
Hacker
Moderator
Moderator
Posts: 13073
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

X-Byte,
Die DirHistory wird pro Tab gespeichert
Wird sie nicht.

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
X-Byte
Member
Member
Posts: 173
Joined: 2004-11-29, 09:34 UTC
Location: Hessen, Germany

Post by *X-Byte »

Ahhh. verdammt, da hab ich mich in's Bockshorn jagen lassen. Sah für mich auf den ersten Blick so aus.

Okay, also schlage ich hiermit vor, die DirHistory pro Tab zu speichern, um den vorigen Lösungsansatz zu realisieren.

Unabhängig von dem Positionierungswunsch, würde ich eine tabbezogene DirHistory sehr begrüßen, da diese einen deutlichen Mehrwert im Umgang mit mehreren Tabs bieten würde.

Analog zum Speichern der Tabs in den Sektionen [RightTabs] / [LeftTabs] könnte es zwei neue sektionen [RightTabsHistory] / [LeftTabsHistory] geben, in der die DirHistory pro tab gesichert wird.

Beispiel:

[RightTabsHistory]
0_0_path=C:\Programme\Tools\Files\
0_0_position=2
0_1_path=C:\Programme\Tools\Files\TotalCmd\
0_1_position=5
0_2_path=C:\Programme\Tools\Files\TotalCmd\INIs\
0_2_position=2
1_0_path=D:\
1_0_position=2
1_1_path=D:\Temp\
1_1_position=5
matbal
Member
Member
Posts: 182
Joined: 2004-11-28, 19:40 UTC

Post by *matbal »

X-Byte wrote:Okay, also schlage ich hiermit vor, die DirHistory pro Tab zu speichern, um den vorigen Lösungsansatz zu realisieren.

Unabhängig von dem Positionierungswunsch, würde ich eine tabbezogene DirHistory sehr begrüßen, da diese einen deutlichen Mehrwert im Umgang mit mehreren Tabs bieten würde.
Hier stimme ich uneingeschränkt zu. Jetzt sieht das so aus, daß, wenn man einen bestimmten Tab "sucht" und deswegen einige Tabs durchklickt, man ruck zuck die History mit mit unnötigen Einträgen gefüllt hat. Hätte man tab-abhängige Historys, würde hier gar nichts passieren, da keine Verzeichnisse gewechselt wurden. Der Tcmd würde sich so verhalten, wie mehrere Tcmds in einem.

Gruß
User avatar
versalzen
Power Member
Power Member
Posts: 666
Joined: 2003-09-16, 11:52 UTC
Location: kölle, linksrheinisch.

Post by *versalzen »

X-Byte wrote:Okay, also schlage ich hiermit vor, die DirHistory pro Tab zu speichern, um den vorigen Lösungsansatz zu realisieren.
Unabhängig von dem Positionierungswunsch, würde ich eine tabbezogene DirHistory sehr begrüßen, da diese einen deutlichen Mehrwert im Umgang mit mehreren Tabs bieten würde.
mir kommen da zweifel an der nützlichkeit für meine anwendung des tc in den sinn:

-ich müsste alle tab-historys durchklicken, auf der suche nach einem bestimmten pfad. (jetzt ist alles schön in einer liste gespeichert und durchsuchbar)

-schliesse ich einen tab, ist somit auch die tab-bezogene history gelöscht? weil imho: ohne entsprechenden tab, keine entsprechende history

lösung für beide fälle in deinem szenario könnte eine seperate-tab-history *und* eine gesamm(el)te sein.

nun gut, nur gedanken, das kann man ja in einem neuen thread aufgreifen, ich finde den ansatz auf jeden fall gut und interessant.
Was nützt der Löffel für die Weisheit, wenn man zu weit vom Suppentopf entfernt sitzt?

Mario
User avatar
versalzen
Power Member
Power Member
Posts: 666
Joined: 2003-09-16, 11:52 UTC
Location: kölle, linksrheinisch.

Post by *versalzen »

ghisler(Author) wrote:Wenn man z.B. von c:\ via c:\windows nach c:\windows\system32 geht, anschliessend nach c:\ zurück, und schliesslich wieder nach c:\windows, dann will man gerade nicht, dass der Cursor zu "system32" scrollt.

Dies ist jetzt ein sehr einfaches Beispiel, aber es gibt viel komplexere, z.B. im einen Tab geht man nach c:\windows\system32, und im 2. Tab nach c:\windows\fonts, anschliessend in beiden Tabs ein Verzeichnis nach oben. TC müsste sich da irgendwie beide Orte parallel merken.
danke für die erklärung.

trotzdem habe ich den eindruck, ich spreche (jedenfalls in meinem request) von einer nicht so komplexen situation wie dieser, die sich hier nun auftut.

kurz:

tc soll sich nichts zusätzlich merken. das, was er sich sowieso schon merkt, reicht völlig aus.

einzig und allein soll der cursor (wie auch im ursprungs-posting gewünscht und beschrieben) nicht auf der 4. stelle von unten zeigen, sondern auf einer (optional vom user einstellbaren) "mittigeren" position.
dies würde dem user den verzeichnis-inhalt übersichtlicherer darstellen.

wie genau der cursor nun genau an die 4. stelle von unten gelangt ist ja schon gelöst und funktioniert bis dato auch einwandfrei.
ich jedenfalls kann keine inkonsistenzen erkennen :-)
Was nützt der Löffel für die Weisheit, wenn man zu weit vom Suppentopf entfernt sitzt?

Mario
matbal
Member
Member
Posts: 182
Joined: 2004-11-28, 19:40 UTC

Post by *matbal »

versalzen wrote:mir kommen da zweifel an der nützlichkeit für meine anwendung des tc in den sinn:

-ich müsste alle tab-historys durchklicken, auf der suche nach einem bestimmten pfad. (jetzt ist alles schön in einer liste gespeichert und durchsuchbar)

-schliesse ich einen tab, ist somit auch die tab-bezogene history gelöscht? weil imho: ohne entsprechenden tab, keine entsprechende history

lösung für beide fälle in deinem szenario könnte eine seperate-tab-history *und* eine gesamm(el)te sein.
Ich kann deine Argumentation gut nachvollziehen.

Kontraproduktiv wird aber die Navigation mittels ALT+Rechts bzw. ALT+Links. Solange ich in einem Tab bin, ist alles OK. Ich kann so schnell zwischen bestimmten Verzeichnissen hin und her wechseln.

Nachdem ich etwas in einem anderen Tab navigiert habe und wieder zurück in den ersten Tab wechsle, bringt mir ALT+Rechts bzw. ALT+Links nicht mehr so viel. Gerade diese beiden Funktionen würde ich mir TAB-abhängig wünschen.

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

Post by *Hacker »

Wir koennen doch zwei Tab Histories haben. Shift oder Ctrl als Modifier.

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.
Post Reply