メイン ウィンドウの Grade ファイルで参照される 128x128 アイコンがあります<property name="icon">../media/my-icon.svg</property>
。
svg と png の両方で試してみましたが、Ubuntu アプリ スイッチャー (Alt + Tab) では常に非常にぼやけてしまいます。
テンプレートを使用してアプリケーションをすばやく作成するときにも同じことに気付きましたが、Ubuntu のロゴも非常にぼやけています。
なぜこのようなことが起こるのか、何か考えはありますか?
答え1
どうしたの
設定<property name="icon">
は、アプリケーション アイコンではなく、ウィンドウ アイコンを参照します。私の理解では、Ubuntu ウィンドウ サーバー (X.org) は、読み込み後にこれらを小さなサイズに圧縮します。2009 年を思い出していない方のために説明すると、これらは次のように使用されていました。
代わりにアプリケーションアイコンを使用する
Icon=
Ubuntu Unityは必要に応じてこの低解像度フォーマットを使用します。ただし、通常は以下の値に従ってアプリケーションアイコンを取得します。特定のウィンドウのアプリケーションランチャー(「デスクトップエントリ」と呼ばれる)。
通常のアプリケーション開発者で、プログラムをアプリ開発者ポータル、おそらくここで読むのをやめても大丈夫です。無料のパッケージング サービスが、アプリのデスクトップ エントリの書き込みと、インストールされたアイコンのファイル システムの適切な部分への配置を処理します。そうでない場合は...
核心
デスクトップエントリを作成し、Ubuntu で PyGTK ウィンドウを正しいアプリケーションアイコンと名前に一致させる方法この質問にすでに記載されていますしかし、実際にはどこに場所正しいアイコンを表示するにはどうすればいいですか?
実際のところ、答えはかなり難解です。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')
もしそれがすべて意味不明に読めたら...
ファイル ブラウザーを開いて、ディレクトリ/usr/share/applications/
とを調べます/usr/share/icons/
。見回すと、Ubuntu でアプリケーション メタデータとアイコンがどのように機能するかがわかります。