Иконка приложения PyGTK размыта в Unity

У меня есть значок 128x128, указанный в файле поля главного окна, например <property name="icon">../media/my-icon.svg</property>.

Я пытался использовать как svg, так и png, но он всегда очень размыт в переключателе приложений Ubuntu (Alt + Tab).

Я заметил то же самое при быстром создании приложения из шаблона, логотип Ubuntu также очень размыт.

Есть идеи, почему это может произойти?

6
задан 31 December 2011 в 12:24

1 ответ

Что продолжается

<property name="icon"> настройки относятся к значку окна, не значку приложения. Насколько я понимаю сервер работы с окнами Ubuntu (X.org) давит их к крошечному размеру после загрузки. Если Вы не вспоминаете с 2009 года, они раньше использовались в этой способности:

Picture of window icon

Используя значки приложения вместо этого

Единица Ubuntu будет использовать этот низкий-res формат в случае необходимости. Однако это обычно выбирает значки приложения согласно Icon= значение средства запуска приложения данного окна, названного "настольной записью".

Если Вы - нормальный разработчик приложений, который просто планирует опубликовать их программу с Порталом Разработчика приложения, можно, вероятно, прекратить читать здесь. Бесплатный упаковочный сервис обработает запись настольной записи Вашего приложения и размещение ее установленных значков в правильной части файловой системы. Если нет...

Вшивое песчаное

Как создать настольную запись и заставить 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> (или 'масштабируемый' для SVGs), относятся к размерам значка. При создании многих различных разрешений значка Ubuntu будет всегда находить и выбирать правильную для любого контекста.

Получение правильного значка приложения отобразиться при разработке

  1. Создайте масштабируемый или значок с высоким разрешением и поместите его в корректный подкаталог Вашего пользовательского дома share/ каталог. Например, myapp.svg вошел бы $HOME/.local/share/icons/scalable/

  2. Запишите настольную запись, которая включает неэкс-натянутое название Вашего значка. Например,

    [Desktop Entry]
    
    Name=My Application
    Exec=my_binary
    Icon=myapp
    

    Поместите это в $HOME/.local/share/applications/. Отметьте это my_binary должен быть исполняемый файл, доступный для поиска в одном из Вашего $PATH каталоги.

  3. Запустите свое приложение любой (a) от Тире Единицы, (b) из командной строки с помощью точного названия Вашего $PATH исполняемый файл [например, 'my_binary'].

Если это все чтения как мусор...

Откройте свой файловый браузер и исследуйте каталоги /usr/share/applications/ и /usr/share/icons/. Озирайтесь и Вы уловите смысл в том, как метаданные приложений и значки работают в Ubuntu.

8
ответ дан 31 December 2011 в 12:24

Другие вопросы по тегам:

Похожие вопросы: