Add dunst config from FrameWork laptop
dblume

dblume commited on 2023-12-04 08:16:51
Showing 3 changed files, with 437 additions and 1 deletions.

... ...
@@ -137,6 +137,7 @@ case "$-" in
137 137
   stty ixany # let any character restart output, not only start character
138 138
 
139 139
   # Don't use export for CDPATH. This may get appended to in .localrc too.
140
+  # You may have to explicitly source /usr/share/bash-completion/bash_completion
140 141
   CDPATH=.:$HOME
141 142
 
142 143
  ;;
... ...
@@ -0,0 +1,434 @@
1
+# Compare with original at /etc/xdg/dunst/dunstrc or /etc/dunst/dunstrc
2
+
3
+[global]
4
+    ### Display ###
5
+
6
+    # Which monitor should the notifications be displayed on.
7
+    monitor = 0
8
+
9
+    # Display notification on focused monitor.  Possible modes are:
10
+    #   mouse: follow mouse pointer
11
+    #   keyboard: follow window with keyboard focus
12
+    #   none: don't follow anything
13
+    #
14
+    # "keyboard" needs a window manager that exports the
15
+    # _NET_ACTIVE_WINDOW property.
16
+    # This should be the case for almost all modern window managers.
17
+    #
18
+    # If this option is set to mouse or keyboard, the monitor option
19
+    # will be ignored.
20
+    follow = mouse
21
+
22
+    # The geometry of the window:
23
+    #   [{width}]x{height}[+/-{x}+/-{y}]
24
+    # The geometry of the message window.
25
+    # The height is measured in number of notifications everything else
26
+    # in pixels.  If the width is omitted but the height is given
27
+    # ("-geometry x2"), the message window expands over the whole screen
28
+    # (dmenu-like).  If width is 0, the window expands to the longest
29
+    # message displayed.  A positive x is measured from the left, a
30
+    # negative from the right side of the screen.  Y is measured from
31
+    # the top and down respectively.
32
+    # The width can be negative.  In this case the actual width is the
33
+    # screen width minus the width defined in within the geometry option.
34
+    geometry = "300x5-30+20"
35
+
36
+    # Show how many messages are currently hidden (because of geometry).
37
+    indicate_hidden = yes
38
+
39
+    # Shrink window if it's smaller than the width.  Will be ignored if
40
+    # width is 0.
41
+    shrink = no
42
+
43
+    # The transparency of the window.  Range: [0; 100].
44
+    # This option will only work if a compositing window manager is
45
+    # present (e.g. xcompmgr, compiz, etc.).
46
+    transparency = 0
47
+
48
+    # The height of the entire notification.  If the height is smaller
49
+    # than the font height and padding combined, it will be raised
50
+    # to the font height and padding.
51
+    notification_height = 0
52
+
53
+    # Draw a line of "separator_height" pixel height between two
54
+    # notifications.
55
+    # Set to 0 to disable.
56
+    separator_height = 2
57
+
58
+    # Padding between text and separator.
59
+    padding = 8
60
+
61
+    # Horizontal padding.
62
+    horizontal_padding = 8
63
+
64
+    # Defines width in pixels of frame around the notification window.
65
+    # Set to 0 to disable.
66
+    frame_width = 3
67
+
68
+    # Defines color of the frame around the notification window.
69
+    frame_color = "#aaaaaa"
70
+
71
+    # Define a color for the separator.
72
+    # possible values are:
73
+    #  * auto: dunst tries to find a color fitting to the background;
74
+    #  * foreground: use the same color as the foreground;
75
+    #  * frame: use the same color as the frame;
76
+    #  * anything else will be interpreted as a X color.
77
+    separator_color = frame
78
+
79
+    # Sort messages by urgency.
80
+    sort = yes
81
+
82
+    # Don't remove messages, if the user is idle (no mouse or keyboard input)
83
+    # for longer than idle_threshold seconds.
84
+    # Set to 0 to disable.
85
+    # A client can set the 'transient' hint to bypass this. See the rules
86
+    # section for how to disable this if necessary
87
+    idle_threshold = 120
88
+
89
+    ### Text ###
90
+
91
+    # font = Monospace 8
92
+    font = Monospace 12
93
+
94
+    # The spacing between lines.  If the height is smaller than the
95
+    # font height, it will get raised to the font height.
96
+    line_height = 0
97
+
98
+    # Possible values are:
99
+    # full: Allow a small subset of html markup in notifications:
100
+    #        <b>bold</b>
101
+    #        <i>italic</i>
102
+    #        <s>strikethrough</s>
103
+    #        <u>underline</u>
104
+    #
105
+    #        For a complete reference see
106
+    #        <https://developer.gnome.org/pango/stable/pango-Markup.html>.
107
+    #
108
+    # strip: This setting is provided for compatibility with some broken
109
+    #        clients that send markup even though it's not enabled on the
110
+    #        server. Dunst will try to strip the markup but the parsing is
111
+    #        simplistic so using this option outside of matching rules for
112
+    #        specific applications *IS GREATLY DISCOURAGED*.
113
+    #
114
+    # no:    Disable markup parsing, incoming notifications will be treated as
115
+    #        plain text. Dunst will not advertise that it has the body-markup
116
+    #        capability if this is set as a global setting.
117
+    #
118
+    # It's important to note that markup inside the format option will be parsed
119
+    # regardless of what this is set to.
120
+    markup = full
121
+
122
+    # The format of the message.  Possible variables are:
123
+    #   %a  appname
124
+    #   %s  summary
125
+    #   %b  body
126
+    #   %i  iconname (including its path)
127
+    #   %I  iconname (without its path)
128
+    #   %p  progress value if set ([  0%] to [100%]) or nothing
129
+    #   %n  progress value if set without any extra characters
130
+    #   %%  Literal %
131
+    # Markup is allowed
132
+    format = "<b>%s</b>\n%b"
133
+
134
+    # Alignment of message text.
135
+    # Possible values are "left", "center" and "right".
136
+    alignment = left
137
+
138
+    # Vertical alignment of message text and icon.
139
+    # Possible values are "top", "center" and "bottom".
140
+    vertical_alignment = center
141
+
142
+    # Show age of message if message is older than show_age_threshold
143
+    # seconds.
144
+    # Set to -1 to disable.
145
+    show_age_threshold = 60
146
+
147
+    # Split notifications into multiple lines if they don't fit into
148
+    # geometry.
149
+    word_wrap = yes
150
+
151
+    # When word_wrap is set to no, specify where to make an ellipsis in long lines.
152
+    # Possible values are "start", "middle" and "end".
153
+    ellipsize = middle
154
+
155
+    # Ignore newlines '\n' in notifications.
156
+    ignore_newline = no
157
+
158
+    # Stack together notifications with the same content
159
+    stack_duplicates = true
160
+
161
+    # Hide the count of stacked notifications with the same content
162
+    hide_duplicate_count = false
163
+
164
+    # Display indicators for URLs (U) and actions (A).
165
+    show_indicators = yes
166
+
167
+    ### Icons ###
168
+
169
+    # Align icons left/right/off
170
+    icon_position = left
171
+
172
+    # Scale small icons up to this size, set to 0 to disable. Helpful
173
+    # for e.g. small files or high-dpi screens. In case of conflict,
174
+    # max_icon_size takes precedence over this.
175
+    min_icon_size = 0
176
+
177
+    # Scale larger icons down to this size, set to 0 to disable
178
+    max_icon_size = 32
179
+
180
+    # Paths to default icons.
181
+    icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
182
+
183
+    ### History ###
184
+
185
+    # Should a notification popped up from history be sticky or timeout
186
+    # as if it would normally do.
187
+    sticky_history = yes
188
+
189
+    # Maximum amount of notifications kept in history
190
+    history_length = 20
191
+
192
+    ### Misc/Advanced ###
193
+
194
+    # dmenu path.
195
+    dmenu = /usr/bin/dmenu -p dunst:
196
+
197
+    # Browser for opening urls in context menu.
198
+    browser = /usr/bin/sensible-browser
199
+
200
+    # Always run rule-defined scripts, even if the notification is suppressed
201
+    always_run_script = true
202
+
203
+    # Define the title of the windows spawned by dunst
204
+    title = Dunst
205
+
206
+    # Define the class of the windows spawned by dunst
207
+    class = Dunst
208
+
209
+    # Print a notification on startup.
210
+    # This is mainly for error detection, since dbus (re-)starts dunst
211
+    # automatically after a crash.
212
+    startup_notification = false
213
+
214
+    # Manage dunst's desire for talking
215
+    # Can be one of the following values:
216
+    #  crit: Critical features. Dunst aborts
217
+    #  warn: Only non-fatal warnings
218
+    #  mesg: Important Messages
219
+    #  info: all unimportant stuff
220
+    # debug: all less than unimportant stuff
221
+    verbosity = mesg
222
+
223
+    # Define the corner radius of the notification window
224
+    # in pixel size. If the radius is 0, you have no rounded
225
+    # corners.
226
+    # The radius will be automatically lowered if it exceeds half of the
227
+    # notification height to avoid clipping text and/or icons.
228
+    corner_radius = 0
229
+
230
+    # Ignore the dbus closeNotification message.
231
+    # Useful to enforce the timeout set by dunst configuration. Without this
232
+    # parameter, an application may close the notification sent before the 
233
+    # user defined timeout.
234
+    ignore_dbusclose = false
235
+
236
+    ### Legacy
237
+
238
+    # Use the Xinerama extension instead of RandR for multi-monitor support.
239
+    # This setting is provided for compatibility with older nVidia drivers that
240
+    # do not support RandR and using it on systems that support RandR is highly
241
+    # discouraged.
242
+    #
243
+    # By enabling this setting dunst will not be able to detect when a monitor
244
+    # is connected or disconnected which might break follow mode if the screen
245
+    # layout changes.
246
+    force_xinerama = false
247
+
248
+    ### mouse
249
+
250
+    # Defines list of actions for each mouse event
251
+    # Possible values are:
252
+    # * none: Don't do anything.
253
+    # * do_action: If the notification has exactly one action, or one is marked as default,
254
+    #              invoke it. If there are multiple and no default, open the context menu.
255
+    # * close_current: Close current notification.
256
+    # * close_all: Close all notifications.
257
+    # These values can be strung together for each mouse event, and
258
+    # will be executed in sequence.
259
+    mouse_left_click = close_current
260
+    mouse_middle_click = do_action, close_current
261
+    mouse_right_click = close_all
262
+
263
+# Experimental features that may or may not work correctly. Do not expect them
264
+# to have a consistent behaviour across releases.
265
+[experimental]
266
+    # Calculate the dpi to use on a per-monitor basis.
267
+    # If this setting is enabled the Xft.dpi value will be ignored and instead
268
+    # dunst will attempt to calculate an appropriate dpi value for each monitor
269
+    # using the resolution and physical size. This might be useful in setups
270
+    # where there are multiple screens with very different dpi values.
271
+    per_monitor_dpi = false
272
+
273
+[shortcuts]
274
+
275
+    # Shortcuts are specified as [modifier+][modifier+]...key
276
+    # Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
277
+    # "mod3" and "mod4" (windows-key).
278
+    # Xev might be helpful to find names for keys.
279
+
280
+    # Close notification.
281
+    close = ctrl+space
282
+
283
+    # Close all notifications.
284
+    close_all = ctrl+shift+space
285
+
286
+    # Redisplay last message(s).
287
+    # On the US keyboard layout "grave" is normally above TAB and left
288
+    # of "1". Make sure this key actually exists on your keyboard layout,
289
+    # e.g. check output of 'xmodmap -pke'
290
+    history = ctrl+grave
291
+
292
+    # Context menu.
293
+    context = ctrl+shift+period
294
+
295
+[urgency_low]
296
+    # IMPORTANT: colors have to be defined in quotation marks.
297
+    # Otherwise the "#" and following would be interpreted as a comment.
298
+    background = "#222222"
299
+    foreground = "#888888"
300
+    timeout = 10
301
+    # Icon for notifications with low urgency, uncomment to enable
302
+    #icon = /path/to/icon
303
+
304
+[urgency_normal]
305
+    background = "#285577"
306
+    foreground = "#ffffff"
307
+    timeout = 10
308
+    # Icon for notifications with normal urgency, uncomment to enable
309
+    #icon = /path/to/icon
310
+
311
+[urgency_critical]
312
+    background = "#900000"
313
+    foreground = "#ffffff"
314
+    frame_color = "#ff0000"
315
+    timeout = 0
316
+    # Icon for notifications with critical urgency, uncomment to enable
317
+    #icon = /path/to/icon
318
+
319
+# Every section that isn't one of the above is interpreted as a rules to
320
+# override settings for certain messages.
321
+#
322
+# Messages can be matched by
323
+#    appname (discouraged, see desktop_entry)
324
+#    body
325
+#    category
326
+#    desktop_entry
327
+#    icon
328
+#    match_transient
329
+#    msg_urgency
330
+#    stack_tag
331
+#    summary
332
+#
333
+# and you can override the
334
+#    background
335
+#    foreground
336
+#    format
337
+#    frame_color
338
+#    fullscreen
339
+#    new_icon
340
+#    set_stack_tag
341
+#    set_transient
342
+#    timeout
343
+#    urgency
344
+#
345
+# Shell-like globbing will get expanded.
346
+#
347
+# Instead of the appname filter, it's recommended to use the desktop_entry filter.
348
+# GLib based applications export their desktop-entry name. In comparison to the appname,
349
+# the desktop-entry won't get localized.
350
+#
351
+# SCRIPTING
352
+# You can specify a script that gets run when the rule matches by
353
+# setting the "script" option.
354
+# The script will be called as follows:
355
+#   script appname summary body icon urgency
356
+# where urgency can be "LOW", "NORMAL" or "CRITICAL".
357
+#
358
+# NOTE: if you don't want a notification to be displayed, set the format
359
+# to "".
360
+# NOTE: It might be helpful to run dunst -print in a terminal in order
361
+# to find fitting options for rules.
362
+
363
+# Disable the transient hint so that idle_threshold cannot be bypassed from the
364
+# client
365
+#[transient_disable]
366
+#    match_transient = yes
367
+#    set_transient = no
368
+#
369
+# Make the handling of transient notifications more strict by making them not
370
+# be placed in history.
371
+#[transient_history_ignore]
372
+#    match_transient = yes
373
+#    history_ignore = yes
374
+
375
+# fullscreen values
376
+# show: show the notifications, regardless if there is a fullscreen window opened
377
+# delay: displays the new notification, if there is no fullscreen window active
378
+#        If the notification is already drawn, it won't get undrawn.
379
+# pushback: same as delay, but when switching into fullscreen, the notification will get
380
+#           withdrawn from screen again and will get delayed like a new notification
381
+#[fullscreen_delay_everything]
382
+#    fullscreen = delay
383
+#[fullscreen_show_critical]
384
+#    msg_urgency = critical
385
+#    fullscreen = show
386
+
387
+#[espeak]
388
+#    summary = "*"
389
+#    script = dunst_espeak.sh
390
+
391
+#[script-test]
392
+#    summary = "*script*"
393
+#    script = dunst_test.sh
394
+
395
+#[ignore]
396
+#    # This notification will not be displayed
397
+#    summary = "foobar"
398
+#    format = ""
399
+
400
+#[history-ignore]
401
+#    # This notification will not be saved in history
402
+#    summary = "foobar"
403
+#    history_ignore = yes
404
+
405
+#[skip-display]
406
+#    # This notification will not be displayed, but will be included in the history
407
+#    summary = "foobar"
408
+#    skip_display = yes
409
+
410
+#[signed_on]
411
+#    appname = Pidgin
412
+#    summary = "*signed on*"
413
+#    urgency = low
414
+#
415
+#[signed_off]
416
+#    appname = Pidgin
417
+#    summary = *signed off*
418
+#    urgency = low
419
+#
420
+#[says]
421
+#    appname = Pidgin
422
+#    summary = *says*
423
+#    urgency = critical
424
+#
425
+#[twitter]
426
+#    appname = Pidgin
427
+#    summary = *twitter.com*
428
+#    urgency = normal
429
+#
430
+#[stack-volumes]
431
+#    appname = "some_volume_notifiers"
432
+#    set_stack_tag = "volume"
433
+#
434
+# vim: ft=cfg
... ...
@@ -6,7 +6,8 @@ declare -r backup_dir="$HOME"/backup_of_dotfiles_$(date "+%Y-%m-%d_%H%M%S")
6 6
 declare -a dotfiles=(".bashrc" ".bash_profile" ".vimrc" ".editrc" ".gitconfig"
7 7
                      ".gitignore" ".inputrc" ".tmux.conf" ".ssh/config" ".ripgreprc"
8 8
                      ".gdbinit" ".config/gitui/key_bindings.ron" ".visidatarc"
9
-                     ".config/i3/config" ".config/i3status/config")
9
+                     ".config/i3/config" ".config/i3status/config"
10
+                     ".config/dunst/dunstrc")
10 11
 declare -i DRY_RUN=0
11 12
 
12 13
 ## exit the shell (with status 2) after printing the message
13 14