From 467588a60470b05767f1e1fe088f474195edbfd4 Mon Sep 17 00:00:00 2001 From: Dominik Date: Fri, 28 Nov 2025 17:47:22 +0100 Subject: [PATCH] Notif tool --- dunst/dunstrc | 271 ++++++++++++++++++++++++++++++++++++++++++++++++++ i3/config | 3 +- 2 files changed, 273 insertions(+), 1 deletion(-) create mode 100644 dunst/dunstrc diff --git a/dunst/dunstrc b/dunst/dunstrc new file mode 100644 index 0000000..1057aae --- /dev/null +++ b/dunst/dunstrc @@ -0,0 +1,271 @@ +[global] + ### Display ### + # Which monitor should the notifications be displayed on. + monitor = 0 + follow = none + + ### Geometry ### + width = 300 + height = (0, 300) + origin = top-right + offset = (10, 50) + scale = 0 + notification_limit = 5 + + ### Progress bar ### + progress_bar = true + progress_bar_height = 10 + progress_bar_frame_width = 1 + progress_bar_min_width = 150 + progress_bar_max_width = 300 + progress_bar_corner_radius = 0 + progress_bar_corners = all + icon_corner_radius = 0 + icon_corners = all + + indicate_hidden = yes + + transparency = 20 + separator_height = 0 + + padding = 8 + horizontal_padding = 8 + text_icon_padding = 0 + frame_width = 3 + + # Defines color of the frame around the notification window. + frame_color = "#aaaaaa" + gap_size = 0 + + separator_color = frame + + sort = yes + idle_threshold = 120 + + ### Text ### + + font = Monospace 8 + + line_height = 0 + + # Possible values are: + # full: Allow a small subset of html markup in notifications: + # bold + # italic + # strikethrough + # underline + # + # For a complete reference see + # . + # + # strip: This setting is provided for compatibility with some broken + # clients that send markup even though it's not enabled on the + # server. Dunst will try to strip the markup but the parsing is + # simplistic so using this option outside of matching rules for + # specific applications *IS GREATLY DISCOURAGED*. + # + # no: Disable markup parsing, incoming notifications will be treated as + # plain text. Dunst will not advertise that it has the body-markup + # capability if this is set as a global setting. + # + # It's important to note that markup inside the format option will be parsed + # regardless of what this is set to. + markup = full + + format = "%s\n%a %b" + + alignment = left + vertical_alignment = center + show_age_threshold = 60 + + ellipsize = middle + + ignore_newline = no + + stack_duplicates = true + + hide_duplicate_count = false + + show_indicators = yes + + ### Icons ### + + enable_recursive_icon_lookup = true + icon_theme = Adwaita + icon_position = off + min_icon_size = 32 + max_icon_size = 128 + icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ + + ### History ### + + sticky_history = yes + history_length = 20 + + ### Misc/Advanced ### + + dmenu = /usr/bin/dmenu -p dunst: + browser = /usr/bin/xdg-open + always_run_script = true + title = Dunst + class = Dunst + corner_radius = 5 + corners = all + ignore_dbusclose = false + + mouse_left_click = do_action, close_current + mouse_middle_click = do_action, close_current + mouse_right_click = close_all + +[experimental] + per_monitor_dpi = false + +[urgency_low] + background = "#222222" + foreground = "#888888" + timeout = 20 + default_icon = dialog-information + +[urgency_normal] + background = "#285577" + foreground = "#ffffff" + timeout = 30 + override_pause_level = 30 + default_icon = dialog-information + +[urgency_critical] + background = "#900000" + foreground = "#ffffff" + frame_color = "#ff0000" + timeout = 0 + override_pause_level = 60 + default_icon = dialog-warning + +# 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 (discouraged, see desktop_entry) +# body +# category +# desktop_entry +# icon +# match_transient +# msg_urgency +# stack_tag +# summary +# +# and you can override the +# background +# foreground +# format +# frame_color +# fullscreen +# new_icon +# set_stack_tag +# set_transient +# set_category +# timeout +# urgency +# icon_position +# skip_display +# history_ignore +# action_name +# word_wrap +# ellipsize +# alignment +# hide_text +# override_pause_level +# +# Shell-like globbing will get expanded. +# +# Instead of the appname filter, it's recommended to use the desktop_entry filter. +# GLib based applications export their desktop-entry name. In comparison to the appname, +# the desktop-entry won't get localized. +# +# You can also allow a notification to appear even when paused. Notification will appear whenever notification's override_pause_level >= dunst's paused level. +# This can be used to set partial pause modes, where more urgent notifications get through, but less urgent stay paused. To do that, you can override the following in the rules: +# override_pause_level = X + +# 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: It might be helpful to run dunst -print in a terminal in order +# to find fitting options for rules. + +# Disable the transient hint so that idle_threshold cannot be bypassed from the +# client +#[transient_disable] +# match_transient = yes +# set_transient = no +# +# Make the handling of transient notifications more strict by making them not +# be placed in history. +#[transient_history_ignore] +# match_transient = yes +# history_ignore = yes + +# fullscreen values +# show: show the notifications, regardless if there is a fullscreen window opened +# delay: displays the new notification, if there is no fullscreen window active +# If the notification is already drawn, it won't get undrawn. +# pushback: same as delay, but when switching into fullscreen, the notification will get +# withdrawn from screen again and will get delayed like a new notification +#[fullscreen_delay_everything] +# fullscreen = delay +#[fullscreen_show_critical] +# msg_urgency = critical +# fullscreen = show + +#[espeak] +# summary = "*" +# script = dunst_espeak.sh + +#[script-test] +# summary = "*script*" +# script = dunst_test.sh + +#[ignore] +# # This notification will not be displayed +# summary = "foobar" +# skip_display = true + +#[history-ignore] +# # This notification will not be saved in history +# summary = "foobar" +# history_ignore = yes + +#[skip-display] +# # This notification will not be displayed, but will be included in the history +# summary = "foobar" +# skip_display = yes + +#[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 +# +#[twitter] +# appname = Pidgin +# summary = *twitter.com* +# urgency = normal +# +#[stack-volumes] +# appname = "some_volume_notifiers" +# set_stack_tag = "volume" +# +# vim: ft=cfg diff --git a/i3/config b/i3/config index db5f335..069684d 100644 --- a/i3/config +++ b/i3/config @@ -205,7 +205,8 @@ exec --no-startup-id xset s 7200 7200 exec --no-startup-id xset dpms 7200 7200 7200 # Slight Transparency exec --no-startup-id picom - +# Start notification tool +exec --no-startup-id dunst # Window overlay theme client.focused #00b894 #00675a #ffffff #00b894 #00675a