メインウィンドウのgladeファイルで参照される<property name="icon">../media/my-icon.svg</property>
。
Svgとpngの両方で試しましたが、Ubuntuアプリスイッチャー(Alt + Tab)では常に非常にぼやけています。
テンプレートからアプリケーションをすばやく作成するときに同じことに気づきました。Ubuntuのロゴも非常にぼやけています。
なぜこれが起こる可能性がありますか?
<property name="icon">
設定は、アプリケーションアイコンではなくウィンドウアイコンを参照します。私が理解しているように、Ubuntu windowing server(X.org)はロード後にこれらを小さなサイズに押しつぶします。 2009年のことを思い出せない場合、これらは以前この容量で使用されていました。
Ubuntu Unityは、必要に応じてこの低解像度フォーマットを使用します。ただし、通常は、 特定のウィンドウのアプリケーションランチャー、「デスクトップエントリ」と呼ばれる のIcon=
値に従ってアプリケーションアイコンを取得します。
アプリ開発者ポータル でプログラムを公開する予定の通常のアプリケーション開発者であれば、おそらくここで読むのをやめることができます。無料のパッケージサービスは、アプリのデスクトップエントリの書き込みと、インストールされたアイコンのファイルシステムの適切な部分への配置を処理します。そうでない場合...
デスクトップエントリを作成し、PyGTKウィンドウを正しいアプリケーションアイコンと名前に一致させるためにUbuntuを取得する方法 この質問で既に文書化されています 。しかし、正しいアイコンを表示するためにアイコンを実際にplaceするのはどこですか?
それが起こると、答えはかなり不可解です。 freedesktop.orgの仕様に従って、アイコンはサイズ、アイコンテーマ、および(必要に応じて)ローカライズによって検索およびロードされます。アイコンは、それらをインストールしたソースに応じて、いくつかの異なるプレフィックスでインストールすることもできます。 Ubuntuはコンテキストごとにアイコンを「照会」します。
単純なルール:アプリケーションに一意のアイコン名を使用して、他のアイコンとの誤った一致を防ぎます。アプリケーションのアイコンを次のディレクトリ(またはそのサブディレクトリ)のいずれかに配置します:
<user prefix>/share/icons/<icon width>x<icon height>/apps/
<user prefix>/share/icons/scalable/apps/
<user_prefix>
はアプリケーションのインストールパスです(パッケージマネージャーによってインストールされたパッケージの場合は/usr
、すべてのユーザー用にインストールされた他のソフトウェアの場合は/usr/local/
、シングルユーザーの場合は$HOME/.local
インストール)。 <icon width>
および<icon height>
(またはSVGの場合は「スケーラブル」)は、アイコンの寸法を指します。さまざまなアイコン解像度を作成すると、Ubuntuは常にあらゆるコンテキストに適したものを見つけて選択します。
スケーラブルまたは高解像度のアイコンを作成し、ユーザーのホームのshare/
ディレクトリの正しいサブディレクトリに配置します。たとえば、myapp.svg
は$HOME/.local/share/icons/scalable/
に入ります
アイコンの非拡張名を含むデスクトップエントリを記述します。例えば
[Desktop Entry]
Name=My Application
Exec=my_binary
Icon=myapp
これを$HOME/.local/share/applications/
に配置します。 my_binary
は $PATH
ディレクトリの1つで検索可能な実行可能ファイル でなければならないことに注意してください。
アプリケーションを(a)Unity Dashから、(b)$PATH
実行可能ファイル(例: 'my_binary')のexact nameを使用してコマンドラインから実行します。
ファイルブラウザを開き、ディレクトリ/usr/share/applications/
および/usr/share/icons/
を確認します。周りを見て、Ubuntuでアプリケーションのメタデータとアイコンがどのように機能するかを理解しましょう。