From 174a88350967d2a291be4c2fb3b2c6e73aaaad47 Mon Sep 17 00:00:00 2001 From: Quentin Duchemin Date: Wed, 24 Nov 2021 15:23:33 +0100 Subject: [PATCH] Better look for dunst and use new dunstctl command --- .config/dunst/dunstrc | 169 +++++++-------------------------------- .config/i3/config_common | 8 ++ 2 files changed, 38 insertions(+), 139 deletions(-) diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc index 782dffd..1696570 100644 --- a/.config/dunst/dunstrc +++ b/.config/dunst/dunstrc @@ -17,21 +17,17 @@ # will be ignored. follow = none - width = 500 + width = (0, 400) height = 100 - offset = 10x50 + offset = 15x15 # Show how many messages are currently hidden (because of geometry). - indicate_hidden = yes - - # Shrink window if it's smaller than the width. Will be ignored if - # width is 0. - shrink = no + indicate_hidden = true # The transparency of the window. Range: [0; 100]. # This option will only work if a compositing window manager is # present (e.g. xcompmgr, compiz, etc.). - transparency = 10 + transparency = 0 # Draw a line of "separator_height" pixel height between two # notifications. @@ -39,10 +35,10 @@ separator_height = 2 # Padding between text and separator. - padding = 20 + padding = 8 # Horizontal padding. - horizontal_padding = 15 + horizontal_padding = 10 # Defines width in pixels of frame around the notification window. # Set to 0 to disable. @@ -60,13 +56,13 @@ separator_color = frame # Sort messages by urgency. - sort = yes + sort = true # 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. # Transient notifications ignore this setting. - idle_threshold = 120 + idle_threshold = 0 ### Text ### @@ -110,27 +106,27 @@ # %n progress value if set without any extra characters # %% Literal % # Markup is allowed - format = "%a - %s\n%b" + format = "%s\n%b" # Alignment of message text. # Possible values are "left", "center" and "right". - alignment = left + alignment = center # Show age of message if message is older than show_age_threshold # seconds. # Set to -1 to disable. - show_age_threshold = 60 + show_age_threshold = -1 # Split notifications into multiple lines if they don't fit into # geometry. - word_wrap = yes + word_wrap = no # When word_wrap is set to no, specify where to ellipsize long lines. # Possible values are "start", "middle" and "end". ellipsize = middle # Ignore newlines '\n' in notifications. - ignore_newline = no + ignore_newline = false # Merge multiple notifications with the same content stack_duplicates = true @@ -139,7 +135,7 @@ hide_duplicate_count = false # Display indicators for URLs (U) and actions (A). - show_indicators = yes + show_indicators = true ### Icons ### @@ -156,7 +152,7 @@ # Should a notification popped up from history be sticky or timeout # as if it would normally do. - sticky_history = yes + sticky_history = false # Maximum amount of notifications kept in history history_length = 100 @@ -164,7 +160,7 @@ ### Misc/Advanced ### # dmenu path. - dmenu = /usr/bin/dmenu -p dunst: + dmenu = /usr/bin/dmenu -p "fais ton choix mon giga pote" # Browser for opening urls in context menu. browser = /usr/bin/firefox -new-tab @@ -178,134 +174,29 @@ # Define the class of the windows spawned by dunst class = Dunst - # Print a notification on startup. - # This is mainly for error detection, since dbus (re-)starts dunst - # automatically after a crash. - startup_notification = false + # If the notification has exactly one url, open it. If there are multiple ones, open the context menu. + mouse_middle_click = open_url - ### Legacy - - # Use the Xinerama extension instead of RandR for multi-monitor support. - # This setting is provided for compatibility with older nVidia drivers that - # do not support RandR and using it on systems that support RandR is highly - # discouraged. - # - # By enabling this setting dunst will not be able to detect when a monitor - # is connected or disconnected which might break follow mode if the screen - # layout changes. - force_xinerama = false - -# Experimental features that may or may not work correctly. Do not expect them -# to have a consistent behaviour across releases. -[experimental] - # Calculate the dpi to use on a per-monitor basis. - # If this setting is enabled the Xft.dpi value will be ignored and instead - # dunst will attempt to calculate an appropriate dpi value for each monitor - # using the resolution and physical size. This might be useful in setups - # where there are multiple screens with very different dpi values. - per_monitor_dpi = false - -[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 = ctrl+space + # Invoke the action determined by the action_name rule. If there is no such action, open the context menu. + mouse_left_click = do_action # Close all notifications. - close_all = ctrl+shift+space + mouse_right_click = close_all - # Redisplay last message(s). - # On the US keyboard layout "grave" is normally above TAB and left - # of "1". Make sure this key actually exists on your keyboard layout, - # e.g. check output of 'xmodmap -pke' - history = ctrl+mod1+space - - # Context menu. - context = ctrl+mod1+enter [urgency_low] - # IMPORTANT: colors have to be defined in quotation marks. - # Otherwise the "#" and following would be interpreted as a comment. - background = "#222222" - foreground = "#888888" + frame_color = "#3B7C87" + foreground = "#3B7C87" + background = "#191311" timeout = 10 - # Icon for notifications with low urgency, uncomment to enable - #icon = /path/to/icon - [urgency_normal] - background = "#285577" - foreground = "#ffffff" + frame_color = "#5B8234" + foreground = "#5B8234" + background = "#191311" timeout = 10 - # Icon for notifications with normal urgency, uncomment to enable - #icon = /path/to/icon [urgency_critical] - background = "#900000" - foreground = "#ffffff" - frame_color = "#ff0000" + frame_color = "#B7472A" + foreground = "#B7472A" + background = "#191311" timeout = 0 - # Icon for notifications with critical urgency, uncomment to enable - #icon = /path/to/icon - -# 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", "icon", "category", -# "msg_urgency" and you can override the "timeout", "urgency", "foreground", -# "background", "new_icon" 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 = "" - -#[history-ignore] -# # This notification will not be saved in history -# summary = "foobar" -# history_ignore = 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 -# -# vim: ft=cfg diff --git a/.config/i3/config_common b/.config/i3/config_common index 834b0fb..972eaac 100644 --- a/.config/i3/config_common +++ b/.config/i3/config_common @@ -211,6 +211,14 @@ mode "$resize_mode" { bindsym $mod+r mode "$resize_mode" +################################## +# BINDINGS FOR NOTIFICATIONS +################################## + +bindsym Control+space exec dunstctl close +bindsym Control+$mod+space exec dunstctl history-pop +bindsym Control+$mod+g exec dunstctl context + ################################## # OPERATIONS FOR SPECIFIC WINDOWS ##################################