Vorschlag: "Suchen in:" in "Auswahl definiere

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
User avatar
van Dusen
Power Member
Power Member
Posts: 684
Joined: 2004-09-16, 19:30 UTC
Location: Sinzig (Rhein), Germany

Vorschlag: "Suchen in:" in "Auswahl definiere

Post by *van Dusen »

Hallo,

das Ermitteln eines Farbschemas für eine Datei / ein Verzeichnis (Bezug: Konfigurieren [...] Definiere Farben nach Dateityp...) erfolgt ja im Vordergrund. Selbst bei lokalen Laufwerken kann das geduldszehrende Wartezeiten bedeuten, ehe der TC wieder bereit ist. Von Netzwerklaufwerken (und entsprechend lahmen Netz und lahmen oder riesigen Server) ganz zu schweigen :( . Dass bei nochmaligem Zugriff irgendein Cache die Sache massiv beschleunigt, tröstet (mich) leider nicht.


Daher mein Wunsch und Vorschlag:

Aktivieren der ComboBox "Suchen in:" (sowie des Buttons "Laufwerke") auf der Registerkarte "Allgemeines" im Dialog "Auswahl definieren".

Dann könnte man z.B. für Netzwerk-Laufwerke ein generelles Auswahl-Schema definieren (z.B. "Suchen nach: *.*", "Suchen in: F:;P:;O:"), welches man im Dialog "Definiere Farben nach Dateityp" nach allen "schnellen" und vor alle "langsamen" Auswahl-Schemata einsortieren könnte. (Anm.: "langsam" sind z.B. die allermeisten Selektions-Kriterien, die auf der Registerkarte "Plugins" definiert werden)

Annahme dabei (wie ich hoffe, von mir bereits verifiziert):
Sobald für einen Eintrag der Dateiansicht ein passendes Auswahl-Schema gefunden wurde, werden alle folgenden Auswahl-Schemata nicht untersucht.

Wäre dies (oder eine sinngemäße andere Lösung) für eine der künftigen TC-Versionen machbar?

Gibt es bereits für den TC V6.51 Umgehungslösungen (abgesehen von ColorFilters=0 ;) )?

Grüße, van Dusen
User avatar
nevidimka
Senior Member
Senior Member
Posts: 385
Joined: 2004-06-20, 21:38 UTC

Post by *nevidimka »

Gibt es bereits für den TC V6.51 Umgehungslösungen (abgesehen von ColorFilters=0 )?
Ja, im Dialog "Dateien suchen", Lasche "Plugins", "Suchen in Plugins" Häckchen,
dann Plugin: "tc", Eigenschaft: "Pfad", OP: "enthält" (oder was beliebt), Wert: "c:\"
und dies für jedes Laufwerk wiederholen. (Oder über RegEx einen Ausdruck für alle gewünschten Laufwerke)
Aber als Umgehungslösung/Workaround würde ich dies nicht mehr unbedingt bezeichnen wollen. :D :P
The doorstep to the temple of wisdom is a knowledge of our own ignorance. Benjamin Franklin
User avatar
van Dusen
Power Member
Power Member
Posts: 684
Joined: 2004-09-16, 19:30 UTC
Location: Sinzig (Rhein), Germany

Post by *van Dusen »

nevidimka wrote:[...] Aber als Umgehungslösung/Workaround würde ich dies nicht mehr unbedingt bezeichnen wollen. :D :P
Wieso eigentlich nicht? Bezogen auf meinen konkreten Vorschlag ist das doch ein Volltreffer!

Also, vielen Dank nevidimka für diese prima Idee :) ! Sie funktioniert nach ersten Tests ganz gut.


Nur rein informativ noch folgende Anmerkung für diejenigen, die den Workaround ebenfalls einsetzen möchte:

Eine Auswahl-Definition, die ausschließlich Kriterien zur Laufwerks-Identifikation beinhaltet (à la "Plugins: tc.Pfad enthält {LW}:"), ist nicht geeignet, um zu verhindern, dass weitere (folgende) Auswahl-Definitionen in der Liste "Definiere Farben nach Dateityp" bei der Dateianzeige analysiert werden.

Vermuteter Grund: Die Filterung der Dateianzeige auf Basis einer Auswahl-Definition könnte eine leere Dateiliste ergeben. Dies verhindert der TC, indem er in diesem Fall "auswahl-definitionswidrig" sämtliche Verzeichnisse in die Dateiliste übernimmt. Kann man leicht testen, indem man die Auswahl-Definition mal über "Ansicht | Benutzerdefiniert..." aktiviert und sich das Ergebnis anschaut. Diese Verzeichnisse werden von nachfolgenden Definitionen für Farb-Schemata dann aber leider auch untersucht.

Deshalb muss die Laufwerks-Selektion in Form von Ausschluss-Kriterien in die Auswahl-Definition für die "langsamen" Auswahl-Kriterien mit aufgenommen werden. Beispiel für eine Auswahl-Definition ">Leere Verzeichnisse":
tc.Pfad !enthält {LW}: UND dirsizecalc.Dateianzahl (Hintergrund) = 0"

Anscheinend ist der TC schlau genug, bei einer UND-Verknüpfung mehrerer Kriterien die Auswertung abzubrechen, sobald ein Kriterium nicht erfüllt wurde (im Beispiel: "Dateianzahl (Hintergrund)" nicht ermitteln, wenn "Pfad" die Laufwerksangabe "{LW}:" enthält)

Ist zwar ein bisschen Bastelarbeit, alle Auswahl-Definitionen entsprechend anzupassen, funktioniert letztlich aber offenbar. Schade, dass dadurch viele nützliche Anzeigevarianten unterbunden werden (müssen)... aber gegen langsame Netzwerke / Server ist selbst der TC machtlos :cry: :wink:
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50845
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Anscheinend ist der TC schlau genug, bei einer UND-Verknüpfung mehrerer Kriterien die Auswertung abzubrechen, sobald ein Kriterium nicht erfüllt wurde (im Beispiel: "Dateianzahl (Hintergrund)" nicht ermitteln, wenn "Pfad" die Laufwerksangabe "{LW}:" enthält)
Korrekt, bei UND-Verknüpfung werden die Regeln von oben nach unten nur so weit ausgewertet, bis eine Regel FALSCH ergibt. Bei ODER-Verknüpfung dasselbe, bis eine Regel WAHR ergibt.
Author of Total Commander
https://www.ghisler.com
User avatar
van Dusen
Power Member
Power Member
Posts: 684
Joined: 2004-09-16, 19:30 UTC
Location: Sinzig (Rhein), Germany

Post by *van Dusen »

Im Februar 2005 hatte ich mich zwar schon zufrieden gegeben, ganz glücklich bin ich mit der Umgehungslösung aber nicht. Ich möchte daher folgenden Vorschlag nochmals einbringen (vielleicht ja schon für die TC V7.0?):


Betrifft

Maßnahmen zur Performance-Optimierung beim Einfärben der Einträge in den Verzeichnislisten (gemäß den Definitionen in "Definiere Farben nach Dateityp") bei langsamen Laufwerken.


Lösungsalternative 1

Das Einfärben der Einträge sollte generell im Hintergrund ablaufen. D.h., dass die Einträge zunächst in der Standardfarbe angezeigt werden und erst anschließend eingefärbt werden.

Nachteile:

* Doppelter Zeitaufwand für die Anzeige. Ist dann kontraproduktiv, wenn auch "langsame" benutzerdefinierte Spalten angezeigt werden.

* An anderer Stelle und in anderem Zusammenhang (u.a. WatchDirs) hatte sich Ch.Ghisler schon skeptisch gegenüber befürchtetem "Farbflackern" geäußert, wenn die Färbung zu aktualisieren wäre.

* Falls die Farbdefinition Rückgabewerte von Plugins beinhaltet, ist fraglich, ob die eventuell fehlende "Hintergrund-Fähigkeit" eines Plugins verhindert, die Einfärbung in den Hintergrund zu verlegen.


Lösungsalternative 2

Das Einfärben der Einträge sollte optional im Hintergrund ablaufen. Z.B. könnte der Schlüssel ColorFilters der <wincmd.ini> um einen entsprechenden Wert erweitert werden.

Nachteile wie bei Alternative 1.


Lösungsalternative 3

Aufnahme eines neuen Schlüssels in die <wincmd.ini> "NoColorFilters", in dem analog zu "NoReread" Laufwerke angegeben werden können sollen, bei denen die Definitionen in "Definiere Farben nach Dateityp" schlicht ignoriert werden sollen.


Lösungsalternative 4

Möglichkeit schaffen, Farbdefinitionen zu gruppieren und Gruppen von Farbdefinitionen Laufwerken zuzuordnen, für die sie gelten (im Sinne von "alle Farbdefinitionen" -> "lokale Laufwerke"; "nur performante Farbdefinitionen" - > "Netzwerklaufwerke")


Lösungsalternative 5

Aufnahme eines Flags in die Definition von Tabs, welches steuert, ob Farben nach Dateityp angewendet werden sollen oder nicht. Hätte den Vorteil, dass man über Tabs ja schon heute die Ansicht festlegen kann. Somit könnte man zwei potentiell langsame Vorgänge (benutzerdefinierte Spalten und Farben nach Dateityp) für langsame Laufwerke per Tab-Definitionen umgehen. Wie man das dann konfiguriert? Hmmm... reicht vielleicht für den Anfang, wenn man dies nur direkt in der <wincmd.ini> editieren könnte...


Mit Lösungsalternative 3 wäre ich schon vollauf zufrieden...
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50845
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Alternative 3 wäre sehr einfach zu realisieren, und werde ich wohl auch einbauen. Generell im Hintergrund ist problematisch, weil nicht alle Plugins threadsicher sind.
Author of Total Commander
https://www.ghisler.com
User avatar
van Dusen
Power Member
Power Member
Posts: 684
Joined: 2004-09-16, 19:30 UTC
Location: Sinzig (Rhein), Germany

Post by *van Dusen »

Da die V7 des TC für mein Problemchen noch keine Lösung parat hat, möchte ich die Lösungsalternative 3 jetzt für die V7.5 oder V8 des TC erneut vorschlagen.
Post Reply