Ich habe ein 128x128-Symbol, auf das in der Glade-Hauptfensterdatei verwiesen wird, wie etwa <property name="icon">../media/my-icon.svg</property>
:
Ich habe es sowohl mit SVG als auch mit PNG versucht, aber im Ubuntu-App-Umschalter (Alt + Tab) ist es immer sehr verschwommen.
Dasselbe ist mir beim schnellen Erstellen einer Anwendung aus einer Vorlage aufgefallen, das Ubuntu-Logo ist auch sehr verschwommen.
Irgendeine Idee, warum das passieren könnte?
Antwort1
Was ist los
Die <property name="icon">
Einstellungen beziehen sich auf das Fenstersymbol, nicht auf das Anwendungssymbol. So wie ich es verstehe, komprimiert der Ubuntu-Fensterserver (X.org) diese nach dem Laden auf eine winzige Größe. Falls Sie sich nicht an das Jahr 2009 erinnern, wurden sie früher in dieser Funktion verwendet:
Verwenden Sie stattdessen Anwendungssymbole
Ubuntu Unity verwendet dieses Format mit niedriger Auflösung, wenn nötig. Normalerweise werden jedoch die Anwendungssymbole entsprechend dem Icon=
Wert vonder Anwendungsstarter eines bestimmten Fensters, genannt "Desktopeintrag".
Wenn Sie ein normaler Anwendungsentwickler sind, der nur plant, sein Programm zu veröffentlichen mitdas App Developer Portal, können Sie hier wahrscheinlich aufhören zu lesen. Der kostenlose Verpackungsdienst kümmert sich um das Schreiben des Desktopeintrags Ihrer App und das Platzieren der installierten Symbole im richtigen Teil des Dateisystems. Wenn nicht...
Das Wesentliche
So erstellen Sie einen Desktop-Eintrag und bringen Ubuntu dazu, Ihrem PyGTK-Fenster das richtige Anwendungssymbol und den richtigen Namen zuzuordnenist bereits in dieser Frage dokumentiert. Aber wo findet man eigentlichOrtSymbole, um das richtige anzuzeigen?
Die Antwort ist jedoch ziemlich kompliziert. Gemäß den Spezifikationen von freedesktop.org werden Icons nach Größe, Icon-Design und (falls erforderlich) Lokalisierung gesucht und geladen. Icons können sogar in mehreren verschiedenen Präfixen installiert werden, je nachdem, aus welcher Quelle sie installiert wurden. Ubuntu „fragt“ Icons nach Kontext ab.
Die einfachen Regeln: Verwenden Sie einen eindeutigen Symbolnamen für Ihre Anwendung, um falsche Übereinstimmungen mit anderen Symbolen zu vermeiden. Platzieren Sie die Symbole für Ihre Anwendung in einem der folgenden Verzeichnisse (oder einem Unterverzeichnis davon):
<user prefix>/share/icons/<icon width>x<icon height>/apps/
<user prefix>/share/icons/scalable/apps/
<user_prefix>
ist der Installationspfad Ihrer Anwendung (dies gilt /usr
für Pakete, die vom Paketmanager installiert werden, /usr/local/
für andere Software, die für alle Benutzer installiert wird, und $HOME/.local
für Einzelbenutzerinstallationen). <icon width>
und <icon height>
(oder „skalierbar“ für SVGs) bezieht sich auf die Abmessungen des Symbols. Wenn Sie viele verschiedene Symbolauflösungen erstellen, findet und wählt Ubuntu immer die richtige für jeden Kontext.
So sorgen Sie dafür, dass während der Entwicklung das richtige App-Symbol angezeigt wird
Erstellen Sie ein skalierbares oder hochauflösendes Symbol und platzieren Sie es im richtigen Unterverzeichnis Ihres Benutzerverzeichnisses
share/
. Zum Beispielmyapp.svg
würde es in$HOME/.local/share/icons/scalable/
Schreiben Sie einen Desktop-Eintrag, der den nicht erweiterten Namen Ihres Symbols enthält. Zum Beispiel
[Desktop Entry] Name=My Application Exec=my_binary Icon=myapp
Platzieren Sie dies in
$HOME/.local/share/applications/
. Beachten Sie, dassmy_binary
musseine ausführbare Datei, die in einem Ihrer$PATH
Verzeichnisse durchsuchbar ist.Führen Sie Ihre Anwendung entweder (a) vom Unity Dash aus, (b) von der Kommandozeile aus mit demGenauer NameIhrer
$PATH
ausführbaren Datei [z. B. „my_binary“].
Wenn sich das alles wie Kauderwelsch liest …
Öffnen Sie Ihren Dateibrowser und erkunden Sie die Verzeichnisse /usr/share/applications/
und /usr/share/icons/
. Sehen Sie sich um und Sie werden verstehen, wie Anwendungsmetadaten und Symbole in Ubuntu funktionieren.