Xfce уведомления о нескольких томах

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

enter image description here

У меня НЕ установлена ​​xfce4-Volumed, Уведомления приходят исключительно от модуля pulseaudio на панели. Если я удаляю плагин и устанавливаю xfce4-Volumed, происходит то же самое, но с другим стилем уведомлений (динамик меньше). Единственный найденный мной обходной путь - отключение уведомлений из свойств плагина puldeaudio, но это не совсем идеально. Любая помощь приветствуется. Я использую Ubuntu 18.04 с установленным xfce (не xubuntu).

1
задан 12 May 2018 в 19:27

1 ответ

Решение не очевидно. Я дам 2 версии.

Метод 1: уведомить-osd

Легкое обходное решение, но имеет некоторые ограничения (уведомления не уходят, будучи нажатым, например). Выполните эти команды в терминале, и Вы хороши:

sudo apt-get autoremove xfce4-notifyd
sudo apt-get install notify-osd

и затем набор уведомляет-osd для работы запуска. Законченный.

Метод 2: Dunst

Немного более хитрый, но стоящий того. Выполните эти команды:

sudo apt-get install libdbus-1-dev libx11-dev libxinerama-dev libxrandr-dev libxss-dev libglib2.0-dev libpango1.0-dev libgtk-3-dev libxdg-basedir-dev
git clone https://github.com/dunst-project/dunst.git
cd dunst
make
sudo make install

Это должно уже работать, но это ужасно. Теперь создайте файл в ~/.config/dunst названный dunstrc и вставка следующее:

    [global]
    font = Arial 11 #Monospace 10

    # allow a small subset of html markup:
    # <b>bold</b>
    # <i>italic</i>
    # <s>strikethrough<s/>
    # <u>underline</u>
    #
    # for a complete reference see http://developer.gnome.org/pango/stable/PangoMarkupFormat.html
    # If markup is not allowed, those tags will be stripped out of the message.
    allow_markup = yes

    #show_indicators=true
    icon_position=left
    icon_folders = "/usr/share/icons/gnome/48x48/status/:/usr/share/icons/gnome/48x48/devices/"
    max_icon_size=40
    shrink=yes

    # The format of the message. Possible variables are:
    #   %a  appname
    #   %s  summary
    #   %b  body
    #   %i  iconname (including its path)
    #   %I  iconname (without its path)
    #   %p  progress value if set ([  0%] to [100%]) or nothing
    # Markup is allowed
    format = "<b>%s</b>\n%b"
#"<b>%a:</b> %s\n%b"

    # Sort messages by urgency
    sort = yes

    # Show how many messages are currently hidden (because of geometry)
    indicate_hidden = yes

    # alignment of message text.
    # Possible values are "left", "center" and "right"
    alignment = left

    # The frequency with wich text that is longer than the notification
    # window allows bounces back and forth.
    # This option conflicts with 'word_wrap'.
    # Set to 0 to disable
    bounce_freq = 0

    # show age of message if message is older than show_age_threshold seconds.
    # set to -1 to disable
    show_age_threshold = 120

    # split notifications into multiple lines if they don't fit into geometry
    word_wrap = yes

    # ignore newlines '\n' in notifications
    ignore_newline = no


    # the geometry of the window
    # geometry [{width}]x{height}][+/-{x}+/-{y}]
    # The geometry of the message window.
    # The height is measured in number of notifications everything else in pixels. If the width
    # is omitted but the height is given ("-geometry x2"), the message window
    # expands over the whole screen (dmenu-like). If width is 0,
    # the window expands to the longest message displayed.
    # A positive x is measured from the left, a negative from the
    # right side of the screen.  Y is measured from the top and down respectevly.
    # The width can be negative. In this case the actual width is the
    # screen width minus the width defined in within the geometry option.
    geometry = "450x5-30+20"

    # The transparency of the window. range: [0; 100]
    # This option will only work if a compositing windowmanager is present (e.g. xcompmgr, compiz, etc..)
    transparency = 20

    # Don't remove messages, if the user is idle (no mouse or keyboard input)
    # for longer than idle_threshold seconds.
    # Set to 0 to disable.
    idle_threshold = 60

    # Which monitor should the notifications be displayed on.
    monitor = 0

    # Display notification on focused monitor. Possible modes are:
    # mouse: follow mouse pointer
    # keyboard: follow window with keyboard focus
    # none: don't follow anything
    #
    # "keyboard" needs a windowmanager that exports the _NET_ACTIVE_WINDOW property.
    # This should be the case for almost all modern windowmanagers.
    #
    # If this option is set to mouse or keyboard, the monitor option will be
    # ignored.
    follow = mouse

    # should a notification popped up from history be sticky or
    # timeout as if it would normally do.
    sticky_history = yes

    # The height of a single line. If the height is smaller than the font height,
    # it will get raised to the font height.
    # This adds empty space above and under the text.
    line_height = 0

    # Draw a line of 'separatpr_height' pixel height between two notifications.
    # Set to 0 to disable
    separator_height = 2

    # padding between text and separator
    padding = 8

    # horizontal padding
    horizontal_padding = 8

    # Define a color for the separator.
    # possible values are:
    #  * auto: dunst tries to find a color fitting to the background
    #  * foreground: use the same color as the foreground
    #  * frame: use the same color as the frame.
    #  * anything else will be interpreted as a X color
    separator_color = frame

    # print a notification on startup
    # This is mainly for error detection, since dbus (re-)starts dunst
    # automatically after a crash.
    startup_notification = false

    # dmenu path
    dmenu = /usr/bin/dmenu -p dunst:

    # browser for opening urls in context menu
    browser = /usr/bin/firefox -new-tab

[frame]
    width = 15
    color = "#071019"#"#000000"

[shortcuts]
    # shortcuts are specified as [modifier+][modifier+]...key
    # available modifiers are 'ctrl', 'mod1' (the alt-key), 'mod2', 'mod3'
    # and 'mod4' (windows-key)
    # xev might be helpful to find names for keys

    # close notification
    close = mod4+m

    # close all notifications
    close_all = mod4+shift+m

    # redisplay last message(s)
    history = mod4+n

    # context menu
    context = mod4+shift+i

[urgency_low]
    # IMPORTANT: colors have to be defined in quotation marks.
    # Otherwise the '#' and following  would be interpreted as a comment.
    background = "#071019"
    foreground = "#FFFFFF"
    timeout = 10

[urgency_normal]
    background = "#071019"
    foreground = "#FFFFFF"
    timeout = 10

[urgency_critical]
    background = "#071019"
    foreground = "#FFFFFF"
    timeout = 0


# Every section that isn't one of the above is interpreted as a rules
# to override settings for certain messages.
# Messages can be matched by 'appname', 'summary', 'body' or 'icon'
# and you can override the 'timeout', 'urgency', 'foreground', 'background'
# and 'format'.
# Shell-like globbing will get expanded.
#
# SCRIPTING
# you can specify a script that gets run when the rule matches by setting
# the 'script' option.
# The script will be called as follows:
# script appname summary body icon urgency
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
#
# NOTE: if you don't want a notification to be displayed, set the format to ""
# NOTE: It might be helpful to run dunst -print in a terminal in order to find
# fitting options for rules.

#[espeak]
#    summary = "*"
#    script = dunst_espeak.sh

#[script-test]
#    summary = "*script*"
#    script = dunst_test.sh

#[ignore]
## This notification will not be displayed
#    summary = "foobar"
#    format = ""

[signed_on]
    appname = Pidgin
    summary = "*signed on*"
    urgency = low

[signed_off]
    appname = Pidgin
    summary = *signed off*
    urgency = low

[says]
    appname = Pidgin
    summary = *says*
    urgency = critical
    format  = "%s "%b""

[music]
    appname = Amarok
    summary = "Now playing"
    urgency = low

#[twitter]
#    appname = Pidgin
#    summary = *twitter.com*
#    urgency = normal
#

Теперь набор dunst для работы запуска и у Вас должно теперь быть 100%, функционирующих система уведомления. Можно настроить его еще больше так, чтобы это отобразило значок при изменении объема, но это включило бы или запись сценария или удаление pulsaudio в пользу alsa для использования этого.

0
ответ дан 8 December 2019 в 01:08

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

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