Как свернуть мессенджер 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