SpeedCommander 11.62

Seit gestern kann die fehlerbereinigte Version 11.62 von SpeedCommander heruntergeladen werden. Neuerungen gibt es diesmal keine, da im Moment der Fokus auf der nächsten Hauptversion liegt.

Folgende Fehler wurden beseitigt:

  • Miniaturansichten für RAW-Dateien wurden nicht angezeigt, obwohl der Microsoft RAW-Viewer installiert ist
  • Vista: Miniaturansichten wurden manchmal nicht im korrekten Seitenverhältnis angezeigt
  • Vista: UAC-Nachfrage erfolgte nicht für alle Verzeichnisse, für die Leserechte vorhanden sind
  • Im Screenreader-kompatiblen Feldauswahldialog konnten persistente Spalten durch Abwahl des Kontrollkästchens ausgeblendet werden
  • Beim Ausführen von Befehlen in der Eingabezeile wurden Dateinamen mit mehr als 260 Zeichen verstümmelt
  • VirtualCD 9: Kontextmenüeintrag “Einlegen der virtuellen CD in >” wurde nicht angezeigt
  • Absturz, wenn aus einem FTP-Server Dateien in ein anderes Tab auf der gleichen Seite kopiert werden sollten
  • AddIn-Konfigurationsdialog: “Entfernen” und “Konfigurieren” wurden deaktiviert, wenn das Kontrollkästchen vor einem AddIn-Eintrag geklickt wird
  • SQX: Ein mit SQX 2.0 erstelltes Archiv mit einer Speichergröße von >= 8 MiB, welches nur leere Ordner und keine Dateien enthält, wurde als SQX 1.0 angezeigt
  • TAR: Archive wurden unvollständig angezeigt und entpackt, wenn der Name eines Eintrags genau 100 Zeichen lang ist
  • FTP: Möglicher Absturz bei der Anzeige von Zertifikaten (nur x64-Version)

In der letzten Zeit gab es zudem immer wieder Anfragen zur Anwendern, die SpeedCommander 10 unter Vista einsetzen möchten und beim Beenden von SpeedCommander mehrere Bestätigungsmeldungen wegklicken müssen. Die Version 10.54 schafft hier zwar Abhilfe, allerdings wurde sie unter Vista nicht intensiv getestet. Es kann daher durchaus sein, dass es noch andere Nebenwirkungen gibt. Für den dauerhaften Einsatz unter Vista empfehle ich daher die Version 11.62.

Größere Symbole in der Miniaturansicht

Die Miniaturansicht in SpeedCommander zeigt Vorschaubilder von Dateien an, die Größe der Vorschaubilder kann dabei frei gewählt werden. Für Dateien ohne Vorschaubild wird das jeweilige Icon angezeigt. Bis Windows 2000 ist die Icongröße auf 32×32 Punkte beschränkt, Windows XP erweitert die Größe auf 48×48 Punkte:

Miniaturansicht SpeedCommander 11

Windows Vista knackt diese Beschränkung und führt eine Symbolgröße von satten 256×256 Punkten ein. Dies ermöglicht nun endlich auch eine ausgefüllte Darstellung in der Miniaturansicht:

Miniaturansicht SpeedCommander 12

Die großen Symbole können beliebig skaliert werden und liefern so auch in größeren Darstellungen sehr ansprechende Ergebnisse:

Miniaturansicht mit 180 Punkten

imageshack.us geblockt

In den letzten Tagen kommen hier vermehrt wichtige Börseninformationen Spam-Mails an, die nur einen Link auf den Bildablageserver http://imageshack.us/ sowie zwei Zeilen sinnlosen Text enthalten. SpamAssassin bekommt das Zeug leider nicht zu fassen, daher werden ab sofort alle eingehenden eMails automatisch gelöscht, die “.imageshack.us/” enthalten.

Auf den normalen eMail-Verkehr sollte das keine Auswirkungen haben. Die beiden einzigen eMails mit “.imageshack.us/” in den letzten Jahren waren Kommentarbenachrichtigungen von einem Blog-Eintrag.

Aussagekräftige Hinweisdialoge

Zur Anzeige von Hinweisen oder bei nötigen Entscheidungen verwenden viele Windows-Entwickler gerne die Funktion MessageBox. Man übergibt einen Text und legt die anzuzeigenden Schaltflächen fest, die Funktion bastelt dann daraus einen Dialog und zeigt ihn an.

Leider ist man bei der Wahl der Schaltflächen auf die folgenden Möglichkeiten beschränkt:

  • <OK>
  • <OK> und <Abbrechen>
  • <Ja> und <Nein>
  • <Ja>, <Nein> und <Abbrechen>
  • <Abbrechen>, <Wiederholen> und <Ignorieren>
  • <Abbrechen>, <Wiederholen> und <Weiter>

Möchte man zudem, dass der Hinweisdialog auch mit ‘Escape’ verlassen werden kann, so muss explizt eine Abbrechen-Schaltfläche enthalten sein. Ist ein anderes Verhalten gewünscht oder möchte man eine andere Kombination von Schaltflächen einsetzen, so bleibt nur die Verwendung einer eigenen Dialogvorlage für jeden besonderen Fall.

Die meisten Programmierer sind aber von Natur aus recht faul. Anstatt eine eigene Dialogvorlage zu erstellen, werden die Hinweise oder Entscheidungsfragen so formuliert, dass man mit den angebotenen Schaltflächen auskommt. Allerdings kann es dann schon einmal vorkommen, dass der Anwender beim Lesen der Meldung nur hilflos mit den Schultern zuckt vor lauter Text gar nicht mehr weiß, welche Schaltfläche er nun wählen soll:

Layout ersetzen (SC11)

Auch bei Microsoft hat man das Problem erkannt. Mit Vista bekommt die ehrwürdige MessageBox mit dem Task-Dialog einen wirklich überzeugenden Nachfolger. Ein Task-Dialog besteht aus mehreren Elementen, die wichtigsten sind der etwas hervorgehobene Anweisungstext, der eigentliche Inhalt der Meldung sowie der Bereich mit den allgemeinen Schaltflächen. Zudem gibt es noch eine Reihe von optionalen Elementen:

  • eine Fortschrittsanzeige
  • eine beliebige Anzahl von Optionsfeldern
  • eine beliebige Anzahl von Command-Links
  • einen auf-/zuklappbaren Bereich mit erweiterten Informationen
  • ein Bestätigungskästchen (z.B. “Diesen Dialog nicht mehr anzeigen”)
  • einen Fußbereich mit zusätzlichen Informationen
  • zusätzliche Schaltflächen mit eigener Beschriftung

Alle diese Informationen werden in einer TASKDIALOGCONFIG-Struktur gesammelt und mit Hilfe der Funktion TaskDialogIndirect angezeigt. Dem Entwickler bleibt so der Entwurf eigener Dialogvorlagen erspart, stattdessen wird der Dialog mit den ausgewählten Elementen dynamisch zusammengestellt.

Auch SpeedCommander 12 wird mehr und mehr die neuen Task-Dialoge verwenden. Bei neuentwickelten Funktionen verzichte ich schon jetzt auf die alten MessageBoxen, ältere Funktionen werden Stück für Stück umgestellt. Der oben gezeigte Hinweis beim möglichen Überschreiben eines Layouts sieht in SpeedCommander 12 z.B. so aus:

Layout ersetzen (SC12)

Unter Windows XP und allen früheren Systemen werden die Task-Dialoge emuliert und schauen so aus:

Layout überschreiben (Windows XP)

Layout überschreiben (Windows 2000)

Navigation mit Brotkrumen

Die Brotkrumen-Navigation ist zweifelsfrei eine der wichtigen Neuerungen in Vista. Der aktuelle Ordner wird in seine Einzelteile zerstückelt angezeigt, jeder einzelne Abschnitt ist anklickbar. Damit können Mausschubser schnell in übergeordnete Pfade wechseln, zudem sind über Menüs noch auch alle anderen Unterordner der übergeordneten Ordner wählbar.

Lange Rede, kurzer Unsinn. Hier nun ein paar Screenshots der Brotkrumen-Navigation in SpeedCommander 12. Wo früher noch der vollständige Pfad des aktuelle Ordners zu finden war, wird nun die Brotkrumen-Leiste angezeigt:

Brotkrumen über dem Ordnerfenster

Wenn man mit der Maus auf einen der Bestandteile zeigt, dann wird dieser unterstrichen:

Übergeordnete Ordner sind anklickbar

Klickt man dagegen auf den kleinen Pfeil daneben, dann öffnet sich ein Menü mit den sich im jeweiligen Verzeichnis befindlichen Ordnern:

Auswählbare Unterordner

Nach dem Klick auf einen der Bestandteile oder der Auswahl eines Ordners aus der Liste wird in den jeweiligen Ordner gewechselt:

Ordner gewechselt

Ein Doppelklick in den freien Bereich der Brotkrumen-Navigation öffnet eine direkte Eingabemöglichkeit. Für Tastaturbenutzer gibt es dafür auch ein neues Tastenkürzel (Strg+G):

Eingabezeile für Ordner

Bei Ordnern, die länger sind, als der zur Verfügung stehende Platz, werden die ersten Elemente weggelassen. Stattdessen wird an erster Stelle ebenfalls ein Pfeil (aber in die andere Richtung) angezeigt:

Brotkrumen für längere Ordner

Klickt man auf diesen Pfeil, dann werden die Ordner in einem Menü angezeigt, für die kein Platz mehr zur Verfügung stand.

Zugriff auf die obersten Ordner

Aufmerksamen Beobachtern wird das zusätzliche Symbol ganz rechts aufgefallen sein. In früheren Versionen hat der Doppelklick auf die Titelzeile immer das Menü mit den Ordnerfavoriten angezeigt. Nun öffnet der Doppelklick aber die Eingabezeile und die Anzeige der Ordnerfavoriten per Doppelklick fällt damit flach. Um den zu erwartenden großen Aufschrei etwas abzufedern (einen kleinen gab es schon im Betatester-Kreis), gibt es nun ein zusätzliches Feld für die Anzeige der Ordnerfavoriten.

Wer der Brotkrumenanzeige nichts abgewinnen kann und den Ordnerpfad lieber in in früheren Versionen angezeigt haben möchte, der kann die Brotkrumen-Navigation natürlich auch deaktivieren. Zusätzlich besteht nun auch die Möglichkeit, die vier angezeigten Symbole auf der rechten Seite gezielt einzeln auszublenden.

5000

Nein, noch keine 5000 Blogeinträge. Aber immerhin ist heute Tag 5000 seit meiner Gewerbeanmeldung am 01.09.1993. Wenn ich so zurückdenke, dann hätte ich (und ein paar andere) damals nie damit gerechnet, dass sich SpeedCommander so lange erfolgreich am Markt halten würde.

Mal schauen, was die nächsten 5000 Tage bringen. Bis zum 17.01.2021 ist ja noch ein wenig Zeit.

Lokalisierte Ordner- und Dateinamen

Viele Vista-Umsteiger wundern sich, dass SpeedCommander einige Ordner- und Dateinamen in englisch anzeigt, während der Explorer wie gewohnt deutsche Namen präsentiert. Wenn man sich dagegen die Ordner in der Eingabeaufforderung (cmd.exe) anschaut, dann entdeckt man wieder englische Namen.

Die Ursache dafür liegt darin, dass es im Gegensatz zu früheren Betriebssystemen von Vista nur noch eine einzige sprachunabhängige Version gibt. Alle sprachabhängigen Daten (Dialoge, Zeichentabellen, Menüs) sind von den Binärdateien getrennt. Damit müssen auch alle Patches nur noch in einer sprachunabhängigen Version ausgeliefert werden, was den Entwicklungs- und Verwaltungsaufwand verringern soll. Bei der Installation von Vista wird das auf der DVD vorhandene Image einer Basisversion (.WIM) auf die Festplatte kopiert, welches bereits die englischen Datei- und Ordnernamen enthält.

Doch wie kommt der Explorer nun dazu, die gewohnten deutschen Namen anzuzeigen? Er verwendet dazu einen kleinen Trick, der auch schon in früheren Windows-Versionen zum Einsatz kam. Ist ein Ordner mit den Attributen ’Schreibgeschützt’ oder ‘System’ versehen und befindet sich im Ordner eine Datei ‘desktop.ini’, dann wird diese zur Namensbestimmung herangezogen. Die ‘desktop.ini’ in ‘C:\Program Files’ schaut z.B. so aus:

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21781

Der lokalisierte Name wird durch den Eintrag ‘LocalizedResourceName’ bestimmt, der auf einen Modulnamen (DLL oder ausführbare Datei) sowie der entsprechenden Ressourcen-ID zeigt. Trifft der Explorer auf einen solchen Eintrag und kann er mit Erfolg den lokalisierten Ordnernamen aus der Ressource laden, dann wird anstatt des eigentlichen Namens der lokalisierte Ordnername angezeigt. Fehlt das am Anfang stehende @, dann wird der Text nach dem Gleichheitszeichen als lokalisierter Ordnername verwendet.

Das gleiche System wird auch für Dateinamen angewandt. Die ‘desktop.ini’ aus dem Verzeichnis mit den Beispielbildern sieht folgendermaßen aus:

[LocalizedFileNames]
Creek.jpg=@%systemroot%\system32\SampleRes.dll,-101
Frangipani Flowers.jpg=@%systemroot%\system32\SampleRes.dll,-102
Forest.jpg=@%systemroot%\system32\SampleRes.dll,-103
Toco Toucan.jpg=@%systemroot%\system32\SampleRes.dll,-104
Forest Flowers.jpg=@%systemroot%\system32\SampleRes.dll,-105
Waterfall.jpg=@%systemroot%\system32\SampleRes.dll,-106
Dock.jpg=@%systemroot%\system32\SampleRes.dll,-107
Green Sea Turtle.jpg=@%systemroot%\system32\SampleRes.dll,-108
Humpback Whale.jpg=@%systemroot%\system32\SampleRes.dll,-109
Tree.jpg=@%systemroot%\system32\SampleRes.dll,-110
Desert Landscape.jpg=@%systemroot%\system32\SampleRes.dll,-111
Oryx Antelope.jpg=@%systemroot%\system32\SampleRes.dll,-112
Winter Leaves.jpg=@%systemroot%\system32\SampleRes.dll,-113
Autumn Leaves.jpg=@%systemroot%\system32\SampleRes.dll,-114
Garden.jpg=@%systemroot%\system32\SampleRes.dll,-115

Gibt es in der Sektion ‘LocalizedFileNames’ einen zum jeweiligen Dateinamen passenden Eintrag, dann wird dieser anstelle des eigentlichen Dateinamens angezeigt. Bei ausführbaren Dateien kann dies aber nicht ganz ungefährlich sein. Mit Hilfe des Eintrags

[LocalizedFileNames]
virus.exe=Urlaub in Calella.jpg

wird aus dem Dateinamen ‘virus.exe’ ein Urlaubsbild aus Calella, welches zum Doppelklick einlädt. SpeedCommander 12 unterbindet daher aus Sicherheitsgründen die Anzeige von lokalisierten Dateinamen für ausführbare Dateien.

Für Anwender, die immer sehen möchten, was sich auf ihrer Festplatte wirklich befindet, ist die Anzeige lokalisierter Ordner- und Dateinamen in SpeedCommander 12 selbstverständlich auch abschaltbar.

Vista-Dateidialoge mit Listenansicht

Im Februar hatte ich über die Anpassung der Linkfavoriten in den Vista-Dateidialogen berichtet und gefragt, ob jemand einen Tipp hat, wie man den Ansichtsmodus in den Dateidialogen dauerhaft von Kleine Symbole auf Liste ändern kann.

Mein Namensvetter Sven K. hatte vor drei Wochen im Kommentar zu diesem Eintrag eine Lösung beschrieben, die wunderbar funktioniert. Damit diese nicht verloren geht und sich auch andere darüber freuen können, möchte ich die nötigen Schritte noch einmal nennen:

  1. Zuerst in einem Explorerfenster die entsprechenden Ansichtseinstellungen vornehmen.
  2. Anschließend über das Kontextmenü den Eigenschaften-Dialog des Ordners aufrufen.
  3. Auf der Registerkarte Anpassen unter Ordnertyp den Eintrag Alle Elemente wählen, das Kontrollkästchen Vorlage für alle Unterordner übernehmen aktivieren und den Dialog mit OK schließen.
  4. Nun im Explorerfenster unter Organisieren den Befehl Ordner- und Suchoptionen wählen.
  5. Auf der Registerkarte Ansicht die Schaltfläche Für Ordner übernehmen anklicken und den Dialog mit OK schließen.

An dieser Stelle noch einmal ganz herzlichen Dank an Sven K. für diese Information, die mir die Dateiauswahl doch erheblich erleichtert. Den versprochenen Freischaltcode hat sich Sven K. damit redlich verdient.