Как свернуть мессенджер SIGNAL в системный трей (в верхнем правом углу)?

Это стандартное поведение всех настольных мессенджеров (skype, viber, telegram, ..). Все они минимизируют себя в системном трее, когда ALT+F4 или кнопка закрытия активированы, и они работают в фоновом режиме (вместо полного закрытия). Как заставить мессенджер SIGNAL вести себя так же?

6 ответов

Решение Иржи Дубравски работало для Gnome в Ubuntu 19.04.

Добавлять --use-tray-icon вариант внутри Exec линия в /usr/share/applications/signal-desktop.desktop от:

Exec=/opt/Signal/signal-desktop --no-sandbox %U

Для того, чтобы:

Exec=/opt/Signal/signal-desktop --use-tray-icon --no-sandbox %U

Перезагрузите сигнал пару раз, и появится значок в трее. Странно, что это не включено по умолчанию.

Вы можете использовать необязательные аргументы для запуска приложения

--start-in-tray и / или --use-tray-icon

Запуск запуска: добавить оба аргумента.

Значок запуска на рабочем столе: добавьте только второй аргумент. В memulibre, найдите "Сигнал" и измените команду с "/opt/Signal/signal-desktop" %U в "/opt/Signal/signal-desktop" --use-tray-icon %U

источник: https://github.com/signalapp/Signal-Desktop/issues/2911

Однострочный. Лично у меня это сохранено на моем рабочем столе, так как обновления Signal, кажется, удаляют его.

      sudo sed -i 's/signal-desktop --no-sandbox %U/signal-desktop --use-tray-icon --no-sandbox %U/g' /usr/share/applications/signal-desktop.desktop

sed найти и заменить соответствие signal-desktop --no-sandbox %Uи заменив на signal-desktop --use-tray-icon --no-sandbox %U

Я предлагаю robmsmt для учета различных вариантов запуска, с которыми я столкнулся в дикой природе (без --no-sandbox, со строчными буквами %uи «пустой» вариант --), возможно, в зависимости от версии Signal и/или используемого дистрибутива.

sed -i '/^Exec/ {/--use-tray-icon/ !s/$/ --use-tray-icon/}' /usr/share/applications/signal-desktop.desktop(Требуется судо)

Это будет соответствовать строке, начинающейся с Execи добавление в конец этой строки, если только строка уже не содержит --use-tray-icon.

Ранее я предлагал использовать incron для автоматического запуска такого скрипта при изменении файла рабочего стола, но, к сожалению, при ближайшем рассмотрении он на самом деле не сработал, поскольку файлы на самом деле не изменяются, а полностью заменяются во время обновления. мне не удалось получить incronчтобы работать с этим, но вы можете взглянуть, если вы заинтересованы и более сообразительны. Однако должно быть безопасно запускать этот скрипт как старое доброе задание cron от имени пользователя root ( sudo crontab -e), например, при перезагрузке (добавление @reboot script.shк столу). Очевидно, что это не вступит в силу сразу после обновления сигнала, но должно хватить, пока я не выясню, что случилось с инкроном.

Чтобы сделать это для плоской версии Signal, используйте flatseal . С помощью flatseal вы можете легко редактировать эти переменные среды flatpaks:

  • SIGNAL_START_IN_TRAY
  • SIGNAL_USE_TRAY_ICON

Установите их в 1, чтобы выполнить установку вышеупомянутых флагов. Редактирование файла рабочего стола flatpaks у меня не сработало.

Вместо редактирования корневого файла, который перезаписывается, когда менеджер пакетов устанавливает новую версию signal-desktop, я рекомендую создать собственный файл .desktop в вашей домашней папке и добавить--use-tray-iconфлаг там. Локальные пользовательские файлы .desktop должны автоматически иметь приоритет над общесистемным файлом.

      mkdir -p ~/.local/share/applications/
cp /usr/share/applications/signal-desktop.desktop ~/.local/share/applications/signal-desktop.desktop
sed -i 's/Exec=signal-desktop /Exec=signal-desktop --use-tray-icon /' ~/.local/share/applications/signal-desktop.desktop.signal-desktop.desktop
Другие вопросы по тегам