Как включить перетаскивание файлов в приложения, сведенные до Ubuntu Dock в 17.10?

Как перехватывать (убивать) только определенные уведомления, используя dbus-monitor

Вы можете автоматически убивать определенные сообщения, если у вас есть определенная строка идентификации, которая встречается в тексте уведомления. В этом случае возможно обновление.

Как настроить

Скопировать сценарий ниже в пустой файл:
#!/bin/bash

string=$1
match="update"

if [[ $string == *$match* ]]
  then
    pkill notify-osd
fi
Сохранить его как killnot.sh. Это уничтожит notify-osd, если в уведомлении появится определенная строка. Отредактируйте строку match="update", чтобы отобразить идентификационную строку в уведомлениях, которые вы хотели бы убить. Сделайте скрипт исполняемым. Скопируйте сценарий ниже в пустой файл:
#!/bin/bash

scriptpath=/home/jacob/Bureaublad/killnot.sh

dbus-monitor "interface='org.freedesktop.Notifications'" | \
grep --line-buffered "string" | \
grep --line-buffered -e method -e ":" -e '""' -e urgency -e notify -v | \
grep --line-buffered '.*(?=string)|(?<=string).*' -oPi | \
grep --line-buffered -v '^\s*$' | \
xargs -I '{}' $scriptpath {}
Отредактируйте строку scriptpath=/home/jacob/Bureaublad/killnot.sh, чтобы отобразить реальный путь к сценарию 1 (killnot.sh) и сохраните его как monitor_notifs.sh. Сделайте скрипт исполняемым. Протестируйте настройку с помощью команды:
/path/to/monitor_notifs.sh
Чтобы протестировать, запустите в другом терминале команду:
notify-send <identifying_string>
Мезасаж не должен появляться. Если все работает нормально, добавьте его в свои приложения для запуска: Dash> Startup Applications> Add. Добавьте команду:
/path/to/monitor_notifs.sh

Примечания / объяснение

Сценарий monitor_notifs.sh использует dbus-monitor так же, как этот ответ. Запуск его в фоновом режиме означает конкретный для вашей системы и только триггеры уведомлений.

Эти уведомления, когда они происходят, передаются в качестве аргумента скрипту killnot.sh, что делает ничего, если строка идентификации не указана в тексте уведомления. В этом случае он будет убивать notify-osd.

С небольшим редактированием первого скрипта вы можете сделать установку убивать уведомления по нескольким ключевым словам сразу.

EDIT запускает команду только до появления пузырька

, если только уведомление появляется только после входа в систему, как вы упомянули в своем вопросе, вы можете «поднять» решение вверх чтобы убить себя после того, как он перехватил уведомление об обновлении:

Если вы назвали скрипты в настройке точно так, как указано, добавьте одну строку в killnot.sh sript:

pkill -P "$( pgrep -f run_intercept )"

Затем скрипт становится:

#!/bin/bash
string=$1

match="update"
if [[ $string == *$match* ]]
  then
    pkill notify-osd
    pkill -P "$( pgrep -f run_intercept )"
fi

. Главный скрипт run_intercept будет убит после того, как он выполнит свою работу, и у вас больше не работает фоновый скрипт.

Ближе к очистке вы не можете попасть в эту ситуацию imo.

3
задан 19 April 2018 в 20:36

2 ответа

К сожалению, эта функция еще не реализована в расширении Dash to Dock (док-станция Ubuntu, боковая панель в Ubuntu 17.10 и далее, является вилкой Dash to Dock). Согласно разработчику расширения

Существует одна мэр [sic]: вещь остановки: https://bugzilla.gnome.org/show_bug.cgi?id=696321. Сначала необходимо обеспечить поддержку вверх по течению. Я попытался исправить gnome-shell с исправлением, прикрепленным к этой ошибке, и получил доказательство концепции, но не может продолжать работу без поддержки восходящего потока. Я исследовал возможность отображения окон приложения при перетаскивании, чтобы по крайней мере вы могли освободить элемент в уже открытых окнах. Это технически возможно - прямо сейчас, в gnome-shell, это можно сделать, перейдя [sic] кнопку действий, но это не очень удобно.
2
ответ дан 17 July 2018 в 16:32

К сожалению, эта функция еще не реализована в расширении Dash to Dock (док-станция Ubuntu, боковая панель в Ubuntu 17.10 и далее, является вилкой Dash to Dock). Согласно разработчику расширения

Существует одна мэр [sic]: вещь остановки: https://bugzilla.gnome.org/show_bug.cgi?id=696321. Сначала необходимо обеспечить поддержку вверх по течению. Я попытался исправить gnome-shell с исправлением, прикрепленным к этой ошибке, и получил доказательство концепции, но не может продолжать работу без поддержки восходящего потока. Я исследовал возможность отображения окон приложения при перетаскивании, чтобы по крайней мере вы могли освободить элемент в уже открытых окнах. Это технически возможно - прямо сейчас, в gnome-shell, это можно сделать, перейдя [sic] кнопку действий, но это не очень удобно.
2
ответ дан 23 July 2018 в 17:24

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

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