Могу ли я поместить в черный список аппендикатора?

27

Я внес в белый список некоторые индикаторы для приложений, которые еще не имеют совместимых с Unity аппендикаторов. Есть ли способ занести в черный список аппендикаторы для приложений, которые совместимы с Unity (не являются индикаторами старого стиля), но не предоставляют опцию «Не показывать в системном трее»?

  • Любые работающие решения для запрета отображения приложения, основанные на GUI или CLI, приветствуются.
  • Действительной альтернативой может быть способ скрыть индикатор аналогично тому, как вы можете показывать / скрывать значки в системном трее в Windows 7. Согласно ответу на этот закрытый вопрос, в настоящее время это невозможно в Ubuntu.
  • Методы, которые охватывают старые индикаторы, а также новые индикаторы также являются действительными. (Удаление элементов из systray-whitelist единственной работы для старых индикаторов.)
david.libremone
источник
Не могли бы вы дать название приложения или два, которые вы хотите "черный список"
Дуг
@doug stackapplet, wakoopa, возможно, другие, но они не открыты прямо сейчас :)
david.libremone
Скайп тоже приходит в голову. Вы можете удалить sni-qt, но это также приведет к удалению индикаторов всех других приложений qt.
mniess 10.11.11
@mniess да, скайп тоже - я не понимал, насколько похожи вопросы :) мое обоснование для того, чтобы держать их отдельно: вопрос 61514: включает не-аппендикаторы, искал вариант на основе пользовательского интерфейса и искал временный " скрывать"; этот специфичен для аппендикаторов, ищущих что-либо, включая cli и непонятные настройки файла, и постоянный «черный список» - я с удовольствием уточню свою формулировку в каждом из них, если это необходимо, но если они все еще считаются слишком похожими, пусть будет так
Давид.Libremone
1
Я смущен тем, что наиболее приемлемый ответ в этом вопросе - тот, который говорит, что если нет запущенных апплетов, их следует оставить таким образом. Я уверен, что вы пытаетесь предотвратить запуск чего-либо, а не активировать то, с чего не стоит начинать.
Бруно Перейра

Ответы:

11

Чтобы не загружать апплет, просто не позволяйте ему работать.

Если индикатор закодирован в приложении, и приложение не дает вам возможности удалить индикатор с панели, которую вы не сможете опустить, вы не можете опустить индикатор приложения, встроенный в код и не имеющий опций чтобы отключить его, для этого вам понадобятся изменения исходного кода, сделанные вами или вы можете предложить их разработчику приложения, что в последнем случае будет зависеть от того, на какие приложения вы ссылаетесь.

Нет конкретных указаний, объясняющих, должен ли приложение иметь или не должен иметь апплет индуктора, только то , что должен делать апплет индикатора .

Вы все еще можете удалить системные апплеты, созданные gnome для вашей системы, или если само приложение использует внешний апплет для использования в качестве индикатора.


Чтобы удалить один из видимых по умолчанию индикаторов gnome / unity, откройте терминал и выполните эту команду, чтобы показать все приложения, которые можно загрузить при запуске.

cd /etc/xdg/autostart/ && ls

Определите апплет, который вы хотите запретить загрузку, и отредактируйте его в своем любимом текстовом редакторе, а именно:

sudo nano nm-applet.desktop

Найдите строку с этим содержанием

NoDisplay=true

и изменить его на

NoDisplay=false

Сохраните и закройте терминал.

Нажмите на шестеренку в правом верхнем углу экрана рядом с вашим именем пользователя и выберите Startup Applications..., теперь вы увидите приложение, которое вы только что отредактировали .desktop, и можете его отключить.

Апплет не будет загружаться при следующей загрузке

После включения или отключения и апплета, выполнив действия, описанные выше, вы увидите, что каждый изменяемый вами файл .desktop будет создавать собственный файл .desktop в вашей ~/.config/autostartпапке.

Если индикатор апплета, который вы хотите отключить, не отображается в вашем списке запуска, вам нужно использовать метод, описанный выше, иначе внутри будет файл .desktop, ~/.config/autostartкоторый можно отредактировать описанным способом и затем можно будет включить / отключить. в запуске приложений.

Бруно Перейра
источник
1
Bruno - хороший ответ +1
fossfreedom
@bruno спасибо, что ваш ответ полезен для случая, когда приложение может работать независимо от индикаторного апплета; это не подходит для моего случая, но, может быть, кому-то еще будет полезно
david.libremone
Разница между тем, что вы хотите, и тем, что вы можете сделать, объясняется в 2 первых предложениях. Вы не можете опустить индикатор приложения, встроенный в код и не имеющий возможности отключить его, для этого вам потребуются изменения исходного кода, сделанные вами или вы можете предложить их разработчику приложения.
Бруно Перейра
спасибо за дополнения к вашему ответу bruno; Я думаю, что видел рекомендации по индикаторам для
Unity
Я нашел ответ @sokai действительно полезным, поскольку приложения, которые я пытался скрыть, сработали, и по крайней мере у одного из них жестко закодирован лоток.
Раду Марис
6

Скорее всего, индикаторы, которые вы не хотите видеть, не должны быть на первом месте в соответствии с рекомендациями по дизайну . Таким образом, правильный курс действий (прямо сейчас) должен быть связан с автором.

mniess
источник
Я надеюсь, что у кого-то есть надежный взлом, или у меня не будет другого выбора, кроме как принять ваш ответ :)
david.libremone
Правильно ли я, что в соответствии с руководящими принципами проектирования разработчик должен предоставить такую ​​возможность? если да, то есть ли у вас рекомендация, как предложить это разработчику? Не могли бы вы предоставить ссылку на последние руководящие принципы / любые соответствующие обсуждения? и пока ты на нем, пони, спасибо
david.libremone
Я добавил документацию для аппендикаторов в пост. Я бы просто написал разработчику письмо с просьбой либо удалить значок, либо предоставить возможность скрыть его (по крайней мере, параметр cmd-line).
mniess
2

Ваше приложение (в котором отсутствует опция) отображается на глобальной панели? - Думаю, если да, то это белый список, и вы должны вычеркнуть его из systray-whitelist= черного списка ...;)

Так что, если приложение "appMissing" сопротивляется в панели, то вы systray-whitelistесть (что-то вроде)

    #~> gsettings get com.canonical.Unity.Panel systray-whitelist
    ['appA', 'appB', 'appMissing']

и вы должны занести в черный список "appMissing", выполнив

    #~> gsettings set com.canonical.Unity.Panel systray-whitelist "['appA', 'appB']"
sokai
источник
Если вы заинтересованы в способе GUI для изменения systray-whitelistувидеть этот пост: askubuntu.com/questions/39843/application-indicator-for-shutter/...
sokai
к сожалению, приложения не отображаются в systray-whitelist- я думаю, потому что они правильно настроили аппендикаторы - я обновляю вопрос, чтобы отразить это
david.libremone
0

Некоторые значки в системном трее могут быть отключены с помощью инструмента «Юстировка». Вы должны перейти в раздел панели и снять флажки там.

Амир Форсати
источник