Настройте уведомления о Единице для закрытия по щелчку

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

Я знаю, когда я толплюсь выше их, они становятся почти прозрачными и что я могу нажать через них на окно ниже, но я предпочел бы, чтобы маленькое (x) значок смогло закрыть его.

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

Действительно ли возможно настроить это на Ubuntu 15.04 с Рабочим столом Единицы? Как я сделал бы это?

5
задан 1 August 2015 в 12:55

2 ответа

Измените мышь уведомления - по поведению

Почти, что Вы попросили, и возможно что Вы могли бы любить, крошечный сценарий очень светлого фона (никакая значимая загрузка в Вашу систему вообще, если никакое уведомление не работает, он будет только ожидать/проверять одного для появления), который изменит эффект наведения мыши уведомлений от, исчезните:

enter image description here

enter image description here

для исчезновения (закройтесь):

enter image description here

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

Как использовать

  1. Потребности сценария xdotool

    sudo apt-get install xdotool
    
  2. скопируйте сценарий ниже в пустой файл, сохраните его как manage_notifications.py

  3. Тестовый прогон сценарий командой:

    python3 /path/to/manage_notifications.py
    

    с выполнением сценария откройте окно терминала и выполните команду:

    notify send 'This is a test'
    

    теперь переместите мышь в уведомление. Вместо исчезновения это должно исчезнуть.

  4. Если все хорошо работает, добавьте его к своим приложениям запуска: Тире> Приложения Запуска> Добавляет команду:

    /bin/bash -c "sleep 15 && python3 /path/to/manage_notifications.py"
    

Сценарий

#!/usr/bin/env python3
import subprocess
import time

w = int([s.split("x")[0] for s in subprocess.check_output(
    ["xrandr"]).decode("utf-8").split() if "+0+0" in s][0]
        )

def get_mouse():
    loc = subprocess.check_output(["xdotool", "getmouselocation"]).decode("utf-8").split()[:2]
    return [int(n.split(":")[1]) for n in loc]

while True:
    time.sleep(1)
    try: 
        subprocess.check_output(["pgrep", "notify-osd"]).decode("utf-8")
        curloc1 = get_mouse(); t = 1
        while t < 10:
            time.sleep(1)
            curloc2 = get_mouse()
            test1 = curloc1[0] > w - 400 and curloc1[1] < 400
            test2 = curloc2[0] > w - 400 and curloc2[1] < 400
            if all([test1 == False, test2 == True]):
                subprocess.Popen(["pkill", "notify-osd"])
                break
            curloc1 = curloc2
            t = t+1
    except:
        pass
4
ответ дан 23 November 2019 в 09:32
  1. Переходят к Настройкам-> Клавиатура-> Ярлыки-> Пользовательский.
  2. Связывают команду xkill с сочетанием клавиш (например, я установил мой на Высокий звук Сдвиг K )
  3. Каждый раз, когда Вы видите уведомление, нажмите сочетание клавиш, парение указатель по уведомлению, нажмите его, и это уходит.
0
ответ дан 23 November 2019 в 09:32

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

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