NW.js: Programm erstellen und testen, 3. Teil

Windows 10 64-Bit, Stable nwjs-sdk-v0.15.4-win-x64

Warum hat mein Programm jetzt so ein hässliches Icon in der Task-Leiste? Und wieso ist das nicht das gleiche Icon wie in meinem Programmfenster, nämlich der Kompass von NW.exe?

Eigenartiges Icon in der Taskleiste
Eigenartiges Icon in der Taskleiste

Gute Frage, nächste Frage :-) Wie in dem Screen-Shot zu sehen ist hat das Programm links oben in der Kopfleiste das Icon von NW.js, nämlich den Kompass. In der Taskleiste rechts unten wird aber ein anderes Icon angezeigt. Die Antwort auf diese Frage kenn wohl nur das Chrome-Team. So viel sei aber gesagt: Diese Eigenart ist mir auch schon bei der Programmierung von Chrome Apps aufgefallen.
Sei's drum. Verwenden wir einfach unser eigenes Icon. Das müssen wir wie üblich NW.js durch einen Eintrag in der Datei package.json mitteilen:

                            {
                                "name": "karl-otto3",
                                "main": "otto.html",
                                "window": {
                                    "icon": "./img/1468807047_blueprint tool128.png"
                                }
                            }
                        

Und? Was ist Ihnen bei der Pfadangabe aufgefallen? Wie, nichts? Schauen Sie nochmal ganz genau hin!
Ja, genau, diese Pfadangabe enthält ein Leerzeichen. Das ist zwar unschön funktioniert aber hier da dieser Pfad nicht als URL interpretiert wird. Also Glück gehabt ;-)

Nun aber weiter im Text. Dieses Icon muss zwingend 128*128 Pixel groß sein! Aus unerfindlichen Gründen wird es sonst nur in der Kopfzeile des Programms aber nicht in der Task-Leiste dargestellt. Mein Icon hat eine Bit-Tiefe von 32 und ist im PNG-Format. Ob auch andere Bit-Tiefen und Formate unterstützt werden habe ich nicht ausprobiert, ich kann nur sagen, dass es mit diesen Werten funktioniert (sämtliche Angaben lassen sich im Windows-Explorer durch Rechtsklick auf das Wunsch-Icon und dann durch Auswahl des Tabs Details ausfindig machen).
Und mit dem eigenen Icon sieht das Ganze jetzt so aus:

Icon ok Programmname nicht
Icon ok Programmname nicht

Hilfe! Bei Rechtsklick auf mein Programm-Icon in der Task-Leiste steht hinter dem Icon karl-otto3!

Ja, ich gebe zu, das ist unschön. Naiverweise hatte ich erwartet, das NW.js das Title-Tag der in der package.json angegebenen HTML-Datei benutzt. Tja, da lag ich wohl falsch. Also erstmal in der Doku nachlesen, was dort zum Thema Name gerschrieben steht:

name

{String} the name of the package. This must be a unique, lowercase alpha-numeric name without spaces. It may include “.” or “_” or “-” characters. It is otherwise opaque.
name should be globally unique since NW.js will store app’s data under the directory named name.

Hmmm, das sind ja ziemlich große Einschränkungen. Mal schauen was passiert, wenn wir als Wert für den Parameter name „DConf“ eingeben:

Icon ok Programmname ok
Icon ok Programmname ok

Ja, ich weiß, auch dieser Eintrag entspricht nicht den Vorgaben der Dokumentation. Aber bislang habe ich keinerlei nachteilige Auswirkungen feststellen können. Also lassen wir das einfach mal so.

Nun sind wir am Ende dieser dreiteiligen Serie zum Erstellen, Testen und Ausführen von NW.js Programmen angekommen. Vielen Dank fürs Lesen und ich hoffe, dass Sie Spass dabei hatten.
Weiter wird es dann mit einer Serie zur Verwendung der nativen (Windows-) Dateidialoge mit NW.js gehen. Das dauert aber noch ein wenig.

Ihre Meinung? Schreiben Sie mir eine Email . Keine Angst, Ihre Email wird nicht veröffentlicht. Ich erlaube mir aber, auf Ihre Email zu antworten, schreiben Sie mir also nicht, wenn Sie nicht mit mir kommunizieren möchten. Danke.

Übersicht aller Artikel zu NW.js
NW.js: Programm erstellen und testen, 2. Teil