Collection of Application Configuration

Table of Contents

About

This repository is where I keep configuration for various apps (hence the name) that doesn't really need its own separate repository but still usable for different window managers.

Apps

GnuPG Agent

allow-emacs-pinentry
allow-loopback-pinentry

See the documentation for full options.

vdirsyncer

Used for syncing my calendars.

 1: [general]
 2: # A folder where vdirsyncer can store some metadata about each pair.
 3: status_path = "~/.local/share/vdirsyncer/status/"
 4: 
 5: # CALDAV
 6: [pair zumstar_calendar]
 7: a = "zumstar_calendar_local"
 8: b = "zumstar_calendar_remote"
 9: collections = ["from a", "from b"]
10: 
11: [pair mkncorp_calendar]
12: a = "mkncorp_calendar_local"
13: b = "mkncorp_calendar_remote"
14: collections = ["from a", "from b"]
15: 
16: # Calendars also have a color property
17: metadata = ["displayname", "color"]
18: 
19: [storage zumstar_calendar_local]
20: type = "filesystem"
21: path = "~/.local/share/calendars/zumstar"
22: fileext = ".ics"
23: 
24: [storage zumstar_calendar_remote]
25: type = "caldav"
26: url = "http://localhost:1080/users/kristian.alexander@zumstar.co.id/calendar"
27: username = "kristian.alexander"
28: # The password can also be fetched from the system password storage, netrc or a
29: # custom command. See http://vdirsyncer.pimutils.org/en/stable/keyring.html
30: password.fetch = ["command", "pass", "show", "zumstar.co.id/kristian.alexander"]
31: 
32: [storage mkncorp_calendar_local]
33: type = "filesystem"
34: path = "~/.local/share/calendars/mkncorp"
35: fileext = ".ics"
36: 
37: [storage mkncorp_calendar_remote]
38: type = "caldav"
39: url = "http://localhost:1081/users/kristian.alexander@mkncorp.com/calendar"
40: username = "kristian.alexander"
41: # The password can also be fetched from the system password storage, netrc or a
42: # custom command. See http://vdirsyncer.pimutils.org/en/stable/keyring.html
43: password.fetch = ["command", "pass", "show", "mkncorp.com/kristian.alexander"]

Tmux

I still prefer screen, but everyone think this is more superior, better see it for my self. This configuration requires tpm or Tmux Plugin Manager, though it still usable without it.

cd ~/.config/tmux
git clone https://github.com/tmux-plugins/tpm.git plugins/tpm

Note that I don't use plugins at the moment, I still want to explore its builtin capabilities first before venturing into plugins.

  • tmux.conf
      1: # General Configuration
      2: set -g default-terminal "screen-256color"
      3: if 'infocmp -x tmux-256color > /dev/null 2>&1' 'set -g default-terminal "tmux-256color"'
      4: 
      5: # list of plugins
      6: 
      7: # https://github.com/tmux-plugins/tpm
      8: set -g @plugin 'tmux-plugins/tpm'
      9: 
     10: # https://github.com/laishulu/emacs-tmux-pane
     11: set -g @plugin 'laishulu/emacs-tmux-pane'
     12: 
     13: setw -g xterm-keys on
     14: set -s escape-time 10                     # faster command sequences
     15: set -sg repeat-time 600                   # increase repeat timeout
     16: set -s focus-events on
     17: 
     18: unbind C-b
     19: set -g prefix C-a                        # GNU-Screen compatible prefix
     20: bind a send-prefix
     21: bind C-a send-prefix
     22: 
     23: set -q -g status-utf8 on                  # expect UTF-8 (tmux < 2.2)
     24: setw -q -g utf8 on
     25: 
     26: set -g history-limit 5000                 # boost history
     27: 
     28: # edit configuration
     29: bind e new-window -n "~/.tmux.conf.local" sh -c '${EDITOR:-vim} ~/.tmux.conf.local && tmux source ~/.tmux.conf && tmux display "~/.tmux.conf sourced"'
     30: 
     31: # reload configuration
     32: bind-key C-r source-file ~/.tmux.conf \; display-message "Tmux config reloaded!"
     33: 
     34: # -- display -------------------------------------------------------------------
     35: 
     36: #set -g base-index 1           # start windows numbering at 1
     37: #setw -g pane-base-index 1     # make pane numbering consistent with windows
     38: 
     39: setw -g automatic-rename on   # rename window to reflect current program
     40: set -g renumber-windows on    # renumber windows when a window is closed
     41: 
     42: set -g set-titles on          # set terminal title
     43: 
     44: set -g display-panes-time 800 # slightly longer pane indicators display time
     45: set -g display-time 1000      # slightly longer status messages display time
     46: 
     47: set -g status-interval 10     # redraw status line every 10 second
     48: 
     49: # clear both screen and history
     50: bind -n C-l send-keys C-l \; run 'sleep 0.2' \; clear-history
     51: 
     52: # activity
     53: set -g monitor-activity on
     54: set -g visual-activity off
     55: 
     56: # -- navigation ----------------------------------------------------------------
     57: 
     58: # create session
     59: bind C-c new-session
     60: 
     61: # find session
     62: bind C-f command-prompt -p find-session 'switch-client -t %%'
     63: 
     64: # session navigation
     65: bind BTab switch-client -l  # move to last session
     66: 
     67: # split current window horizontally
     68: bind - split-window -v
     69: # split current window vertically
     70: bind _ split-window -h
     71: 
     72: # pane navigation
     73: bind -r h select-pane -L  # move left
     74: bind -r j select-pane -D  # move down
     75: bind -r k select-pane -U  # move up
     76: bind -r l select-pane -R  # move right
     77: bind > swap-pane -D       # swap current pane with the next one
     78: bind < swap-pane -U       # swap current pane with the previous one
     79: 
     80: # pane resizing
     81: bind -r H resize-pane -L 2
     82: bind -r J resize-pane -D 2
     83: bind -r K resize-pane -U 2
     84: bind -r L resize-pane -R 2
     85: 
     86: # window navigation
     87: #unbind n
     88: #unbind p
     89: bind C-p previous-window # select previous window
     90: bind p previous-window # select previous window
     91: bind C-n next-window     # select next window
     92: bind n next-window     # select next window
     93: bind Tab last-window        # move to last active window
     94: 
     95: # mouse
     96: set -g mouse on
     97: 
     98: # -- copy mode -----------------------------------------------------------------
     99: 
    100: bind Enter copy-mode # enter copy mode
    101: 
    102: run -b 'tmux bind -t vi-copy v begin-selection 2> /dev/null || true'
    103: run -b 'tmux bind -T copy-mode-vi v send -X begin-selection 2> /dev/null || true'
    104: run -b 'tmux bind -t vi-copy C-v rectangle-toggle 2> /dev/null || true'
    105: run -b 'tmux bind -T copy-mode-vi C-v send -X rectangle-toggle 2> /dev/null || true'
    106: run -b 'tmux bind -t vi-copy y copy-selection 2> /dev/null || true'
    107: run -b 'tmux bind -T copy-mode-vi y send -X copy-selection-and-cancel 2> /dev/null || true'
    108: run -b 'tmux bind -t vi-copy Escape cancel 2> /dev/null || true'
    109: run -b 'tmux bind -T copy-mode-vi Escape send -X cancel 2> /dev/null || true'
    110: run -b 'tmux bind -t vi-copy H start-of-line 2> /dev/null || true'
    111: run -b 'tmux bind -T copy-mode-vi H send -X start-of-line 2> /dev/null || true'
    112: run -b 'tmux bind -t vi-copy L end-of-line 2> /dev/null || true'
    113: run -b 'tmux bind -T copy-mode-vi L send -X end-of-line 2> /dev/null || true'
    114: 
    115: # copy to X11 clipboard
    116: if -b 'command -v xsel > /dev/null 2>&1' 'bind y run -b "tmux save-buffer - | xsel -i -b"'
    117: if -b '! command -v xsel > /dev/null 2>&1 && command -v xclip > /dev/null 2>&1' 'bind y run -b "tmux save-buffer - | xclip -i -selection clipboard >/dev/null 2>&1"'
    118: # copy to Wayland clipboard
    119: if -b 'command -v wl-copy > /dev/null 2>&1' 'bind y run -b "tmux save-buffer - | wl-copy"'
    120: # copy to macOS clipboard
    121: if -b 'command -v pbcopy > /dev/null 2>&1' 'bind y run -b "tmux save-buffer - | pbcopy"'
    122: if -b 'command -v reattach-to-user-namespace > /dev/null 2>&1' 'bind y run -b "tmux save-buffer - | reattach-to-user-namespace pbcopy"'
    123: # copy to Windows clipboard
    124: if -b 'command -v clip.exe > /dev/null 2>&1' 'bind y run -b "tmux save-buffer - | clip.exe"'
    125: if -b '[ -c /dev/clipboard ]' 'bind y run -b "tmux save-buffer - > /dev/clipboard"'
    126: 
    127: source -q ~/.config/tmux/tmux.conf.local
    128: 
    129: # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
    130: run '~/.config/tmux/plugins/tpm/tpm'
    
  • tmux.conf.local
      1: # : << EOF
      2: # https://github.com/gpakosz/.tmux
      3: # (‑●‑●)> dual licensed under the WTFPL v2 license and the MIT license,
      4: #         without any warranty.
      5: #         Copyright 2012— Gregory Pakosz (@gpakosz).
      6: 
      7: 
      8: # -- navigation ----------------------------------------------------------------
      9: 
     10: # if you're running tmux within iTerm2
     11: #   - and tmux is 1.9 or 1.9a
     12: #   - and iTerm2 is configured to let option key act as +Esc
     13: #   - and iTerm2 is configured to send [1;9A -> [1;9D for option + arrow keys
     14: # then uncomment the following line to make Meta + arrow keys mapping work
     15: #set -ga terminal-overrides "*:kUP3=\e[1;9A,*:kDN3=\e[1;9B,*:kRIT3=\e[1;9C,*:kLFT3=\e[1;9D"
     16: 
     17: 
     18: # -- windows & pane creation ---------------------------------------------------
     19: 
     20: # new window retains current path, possible values are:
     21: #   - true
     22: #   - false (default)
     23: #   - disabled (do not modify new-window bindings)
     24: tmux_conf_new_window_retain_current_path=false
     25: 
     26: # new pane retains current path, possible values are:
     27: #   - true (default)
     28: #   - false
     29: #   - disabled (do not modify split-window bindings)
     30: tmux_conf_new_pane_retain_current_path=true
     31: 
     32: # new pane tries to reconnect ssh sessions, possible values are:
     33: #   - true
     34: #   - false (default)
     35: #   - disabled (do not modify split-window bindings)
     36: tmux_conf_new_pane_reconnect_ssh=false
     37: 
     38: # prompt for session name when creating a new session, possible values are:
     39: #   - true
     40: #   - false (default)
     41: #   - disabled (do not modify new-session bindings)
     42: tmux_conf_new_session_prompt=false
     43: 
     44: 
     45: # -- display -------------------------------------------------------------------
     46: 
     47: # RGB 24-bit colour support (tmux >= 2.2), possible values are:
     48: #  - true
     49: #  - false
     50: #  - auto (default)
     51: #
     52: # automatic detection relies on the COLORTERM environment variable being defined
     53: # to 'truecolor' or '24bit' or '$ tput colors' answering '16777216'
     54: # see https://github.com/termstandard/colors
     55: tmux_conf_24b_colour=auto
     56: 
     57: # default theme
     58: #tmux_conf_theme_colour_1="#073642"    # dark gray
     59: #tmux_conf_theme_colour_2="#dc322f"    # gray
     60: #tmux_conf_theme_colour_3="#859900"    # light gray
     61: #tmux_conf_theme_colour_4="#b58900"    # light blue
     62: #tmux_conf_theme_colour_5="#268bd2"    # yellow
     63: #tmux_conf_theme_colour_6="#d33682"    # dark gray
     64: #tmux_conf_theme_colour_7="#2aa198"    # white
     65: #tmux_conf_theme_colour_8="#eee8d5"    # dark gray
     66: #tmux_conf_theme_colour_9="#ffff00"    # yellow
     67: #tmux_conf_theme_colour_10="#6c7c80"   # pink
     68: #tmux_conf_theme_colour_11="#5fff00"   # green
     69: #tmux_conf_theme_colour_12="#8a8a8a"   # light gray
     70: #tmux_conf_theme_colour_13="#e4e4e4"   # white
     71: #tmux_conf_theme_colour_14="#080808"   # dark gray
     72: #tmux_conf_theme_colour_15="#080808"   # dark gray
     73: #tmux_conf_theme_colour_16="#d70000"   # red
     74: #tmux_conf_theme_colour_17="#e4e4e4"   # white
     75: 
     76: # window style
     77: #tmux_conf_theme_window_fg="default"
     78: #tmux_conf_theme_window_bg="default"
     79: 
     80: # highlight focused pane (tmux >= 2.1), possible values are:
     81: #   - true
     82: #   - false (default)
     83: tmux_conf_theme_highlight_focused_pane=true
     84: 
     85: # focused pane colours:
     86: #tmux_conf_theme_focused_pane_bg="$tmux_conf_theme_colour_2"
     87: 
     88: # pane border style, possible values are:
     89: #   - thin (default)
     90: #   - fat
     91: tmux_conf_theme_pane_border_style=thin
     92: 
     93: # pane borders colours:
     94: #tmux_conf_theme_pane_border="$tmux_conf_theme_colour_2"
     95: #tmux_conf_theme_pane_active_border="$tmux_conf_theme_colour_4"
     96: 
     97: # pane indicator colours (when you hit <prefix> + q)
     98: #tmux_conf_theme_pane_indicator="$tmux_conf_theme_colour_4"
     99: #tmux_conf_theme_pane_active_indicator="$tmux_conf_theme_colour_4"
    100: 
    101: # status line style
    102: #tmux_conf_theme_message_fg="$tmux_conf_theme_colour_1"
    103: #tmux_conf_theme_message_bg="$tmux_conf_theme_colour_5"
    104: tmux_conf_theme_message_attr="bold"
    105: 
    106: # status line command style (<prefix> : Escape)
    107: #tmux_conf_theme_message_command_fg="$tmux_conf_theme_colour_5"
    108: #tmux_conf_theme_message_command_bg="$tmux_conf_theme_colour_1"
    109: tmux_conf_theme_message_command_attr="bold"
    110: 
    111: # window modes style
    112: #tmux_conf_theme_mode_fg="$tmux_conf_theme_colour_1"
    113: #tmux_conf_theme_mode_bg="$tmux_conf_theme_colour_5"
    114: tmux_conf_theme_mode_attr="bold"
    115: 
    116: # status line style
    117: #tmux_conf_theme_status_fg="$tmux_conf_theme_colour_3"
    118: #tmux_conf_theme_status_bg="$tmux_conf_theme_colour_1"
    119: tmux_conf_theme_status_attr="none"
    120: 
    121: # terminal title
    122: #   - built-in variables are:
    123: #     - #{circled_window_index}
    124: #     - #{circled_session_name}
    125: #     - #{hostname}
    126: #     - #{hostname_ssh}
    127: #     - #{hostname_full}
    128: #     - #{hostname_full_ssh}
    129: #     - #{username}
    130: #     - #{username_ssh}
    131: tmux_conf_theme_terminal_title="#h ❐ #S ● #I #W"
    132: 
    133: # window status style
    134: #   - built-in variables are:
    135: #     - #{circled_window_index}
    136: #     - #{circled_session_name}
    137: #     - #{hostname}
    138: #     - #{hostname_ssh}
    139: #     - #{hostname_full}
    140: #     - #{hostname_full_ssh}
    141: #     - #{username}
    142: #     - #{username_ssh}
    143: tmux_conf_theme_window_status_fg="$tmux_conf_theme_colour_3"
    144: tmux_conf_theme_window_status_bg="$tmux_conf_theme_colour_1"
    145: tmux_conf_theme_window_status_attr="none"
    146: tmux_conf_theme_window_status_format="#I #W"
    147: #tmux_conf_theme_window_status_format="#{circled_window_index} #W"
    148: #tmux_conf_theme_window_status_format="#I #W#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}"
    149: 
    150: # window current status style
    151: #   - built-in variables are:
    152: #     - #{circled_window_index}
    153: #     - #{circled_session_name}
    154: #     - #{hostname}
    155: #     - #{hostname_ssh}
    156: #     - #{hostname_full}
    157: #     - #{hostname_full_ssh}
    158: #     - #{username}
    159: #     - #{username_ssh}
    160: #tmux_conf_theme_window_status_current_fg="$tmux_conf_theme_colour_1"
    161: #tmux_conf_theme_window_status_current_bg="$tmux_conf_theme_colour_4"
    162: tmux_conf_theme_window_status_current_attr="bold"
    163: tmux_conf_theme_window_status_current_format="#I #W"
    164: #tmux_conf_theme_window_status_current_format="#{circled_window_index} #W"
    165: #tmux_conf_theme_window_status_current_format="#I #W#{?window_zoomed_flag,🔍,}"
    166: 
    167: # window activity status style
    168: tmux_conf_theme_window_status_activity_fg="default"
    169: tmux_conf_theme_window_status_activity_bg="default"
    170: tmux_conf_theme_window_status_activity_attr="underscore"
    171: 
    172: # window bell status style
    173: #tmux_conf_theme_window_status_bell_fg="$tmux_conf_theme_colour_5"
    174: tmux_conf_theme_window_status_bell_bg="default"
    175: tmux_conf_theme_window_status_bell_attr="blink,bold"
    176: 
    177: # window last status style
    178: #tmux_conf_theme_window_status_last_fg="$tmux_conf_theme_colour_4"
    179: #tmux_conf_theme_window_status_last_bg="$tmux_conf_theme_colour_2"
    180: tmux_conf_theme_window_status_last_attr="none"
    181: 
    182: # status left/right sections separators
    183: tmux_conf_theme_left_separator_main=""
    184: tmux_conf_theme_left_separator_sub="|"
    185: tmux_conf_theme_right_separator_main=""
    186: tmux_conf_theme_right_separator_sub="|"
    187: #tmux_conf_theme_left_separator_main='\uE0B0'  # /!\ you don't need to install Powerline
    188: #tmux_conf_theme_left_separator_sub='\uE0B1'   #   you only need fonts patched with
    189: #tmux_conf_theme_right_separator_main='\uE0B2' #   Powerline symbols or the standalone
    190: #tmux_conf_theme_right_separator_sub='\uE0B3'  #   PowerlineSymbols.otf font, see README.md
    191: 
    192: # status left/right content:
    193: #   - separate main sections with "|"
    194: #   - separate subsections with ","
    195: #   - built-in variables are:
    196: #     - #{battery_bar}
    197: #     - #{battery_hbar}
    198: #     - #{battery_percentage}
    199: #     - #{battery_status}
    200: #     - #{battery_vbar}
    201: #     - #{circled_session_name}
    202: #     - #{hostname_ssh}
    203: #     - #{hostname}
    204: #     - #{hostname_full}
    205: #     - #{hostname_full_ssh}
    206: #     - #{loadavg}
    207: #     - #{mouse}
    208: #     - #{pairing}
    209: #     - #{prefix}
    210: #     - #{root}
    211: #     - #{synchronized}
    212: #     - #{uptime_y}
    213: #     - #{uptime_d} (modulo 365 when #{uptime_y} is used)
    214: #     - #{uptime_h}
    215: #     - #{uptime_m}
    216: #     - #{uptime_s}
    217: #     - #{username}
    218: #     - #{username_ssh}
    219: tmux_conf_theme_status_left=" ❐ #S | ↑#{?uptime_y, #{uptime_y}y,}#{?uptime_d, #{uptime_d}d,}#{?uptime_h, #{uptime_h}h,}#{?uptime_m, #{uptime_m}m,} "
    220: tmux_conf_theme_status_right=" #{prefix}#{mouse}#{pairing}#{synchronized}#{?battery_status,#{battery_status},}#{?battery_bar, #{battery_bar},}#{?battery_percentage, #{battery_percentage},} , %R , %d %b | #{username}#{root} | #{hostname} "
    221: 
    222: # status left style
    223: #tmux_conf_theme_status_left_fg="$tmux_conf_theme_colour_6,$tmux_conf_theme_colour_7,$tmux_conf_theme_colour_8"
    224: #tmux_conf_theme_status_left_bg="$tmux_conf_theme_colour_9,$tmux_conf_theme_colour_10,$tmux_conf_theme_colour_11"
    225: tmux_conf_theme_status_left_attr="bold,none,none"
    226: 
    227: # status right style
    228: #tmux_conf_theme_status_right_fg="$tmux_conf_theme_colour_12,$tmux_conf_theme_colour_13,$tmux_conf_theme_colour_14"
    229: #tmux_conf_theme_status_right_bg="$tmux_conf_theme_colour_15,$tmux_conf_theme_colour_16,$tmux_conf_theme_colour_17"
    230: tmux_conf_theme_status_right_attr="none,none,bold"
    231: 
    232: # pairing indicator
    233: tmux_conf_theme_pairing="⚇"                 # U+2687
    234: tmux_conf_theme_pairing_fg="none"
    235: tmux_conf_theme_pairing_bg="none"
    236: tmux_conf_theme_pairing_attr="none"
    237: 
    238: # prefix indicator
    239: tmux_conf_theme_prefix="⌨"                  # U+2328
    240: tmux_conf_theme_prefix_fg="none"
    241: tmux_conf_theme_prefix_bg="none"
    242: tmux_conf_theme_prefix_attr="none"
    243: 
    244: # mouse indicator
    245: tmux_conf_theme_mouse="↗"                   # U+2197
    246: tmux_conf_theme_mouse_fg="none"
    247: tmux_conf_theme_mouse_bg="none"
    248: tmux_conf_theme_mouse_attr="none"
    249: 
    250: # root indicator
    251: tmux_conf_theme_root="!"
    252: tmux_conf_theme_root_fg="none"
    253: tmux_conf_theme_root_bg="none"
    254: tmux_conf_theme_root_attr="bold,blink"
    255: 
    256: # synchronized indicator
    257: tmux_conf_theme_synchronized="⚏"            # U+268F
    258: tmux_conf_theme_synchronized_fg="none"
    259: tmux_conf_theme_synchronized_bg="none"
    260: tmux_conf_theme_synchronized_attr="none"
    261: 
    262: # battery bar symbols
    263: tmux_conf_battery_bar_symbol_full="◼"
    264: tmux_conf_battery_bar_symbol_empty="◻"
    265: #tmux_conf_battery_bar_symbol_full="♥"
    266: #tmux_conf_battery_bar_symbol_empty="·"
    267: 
    268: # battery bar length (in number of symbols), possible values are:
    269: #   - auto
    270: #   - a number, e.g. 5
    271: tmux_conf_battery_bar_length="auto"
    272: 
    273: # battery bar palette, possible values are:
    274: #   - gradient (default)
    275: #   - heat
    276: #   - "colour_full_fg,colour_empty_fg,colour_bg"
    277: tmux_conf_battery_bar_palette="gradient"
    278: #tmux_conf_battery_bar_palette="#d70000,#e4e4e4,#000000"   # red, white, black
    279: 
    280: # battery hbar palette, possible values are:
    281: #   - gradient (default)
    282: #   - heat
    283: #   - "colour_low,colour_half,colour_full"
    284: tmux_conf_battery_hbar_palette="gradient"
    285: #tmux_conf_battery_hbar_palette="#d70000,#ff5f00,#5fff00"  # red, orange, green
    286: 
    287: # battery vbar palette, possible values are:
    288: #   - gradient (default)
    289: #   - heat
    290: #   - "colour_low,colour_half,colour_full"
    291: tmux_conf_battery_vbar_palette="gradient"
    292: #tmux_conf_battery_vbar_palette="#d70000,#ff5f00,#5fff00"  # red, orange, green
    293: 
    294: # symbols used to indicate whether battery is charging or discharging
    295: tmux_conf_battery_status_charging="↑"       # U+2191
    296: tmux_conf_battery_status_discharging="↓"    # U+2193
    297: #tmux_conf_battery_status_charging="🔌"     # U+1F50C
    298: #tmux_conf_battery_status_discharging="🔋"  # U+1F50B
    299: 
    300: # clock style (when you hit <prefix> + t)
    301: # you may want to use %I:%M %p in place of %R in tmux_conf_theme_status_right
    302: #tmux_conf_theme_clock_colour="$tmux_conf_theme_colour_4"
    303: tmux_conf_theme_clock_style="24"
    304: 
    305: 
    306: # -- clipboard -----------------------------------------------------------------
    307: 
    308: # in copy mode, copying selection also copies to the OS clipboard
    309: #   - true
    310: #   - false (default)
    311: #   - disabled
    312: # on macOS, this requires installing reattach-to-user-namespace, see README.md
    313: # on Linux, this requires xsel, xclip or wl-copy
    314: tmux_conf_copy_to_os_clipboard=true
    315: 
    316: 
    317: # -- user customizations -------------------------------------------------------
    318: # this is the place to override or undo settings
    319: 
    320: # increase history size
    321: #set -g history-limit 10000
    322: 
    323: # start with mouse mode enabled
    324: #set -g mouse on
    325: 
    326: # force Vi mode
    327: #   really you should export VISUAL or EDITOR environment variable, see manual
    328: #set -g status-keys vi
    329: #set -g mode-keys vi
    330: 
    331: # replace C-b by C-a instead of using both prefixes
    332: # set -gu prefix2
    333: # unbind C-a
    334: # unbind C-b
    335: # set -g prefix C-a
    336: # bind C-a send-prefix
    337: 
    338: # if you don't want Oh my tmux! to alter a binding, use #!important
    339: # bind v new-window -c #{pane_current_path} #!important
    340: 
    341: # move status line to top
    342: #set -g status-position top
    343: 
    344: 
    345: # -- tpm -----------------------------------------------------------------------
    346: 
    347: # while I don't use tpm myself, many people requested official support so here
    348: # is a seamless integration that automatically installs plugins in parallel
    349: 
    350: # whenever a plugin introduces a variable to be used in 'status-left' or
    351: # 'status-right', you can use it in 'tmux_conf_theme_status_left' and
    352: # 'tmux_conf_theme_status_right' variables.
    353: 
    354: # by default, launching tmux will update tpm and all plugins
    355: #   - true (default)
    356: #   - false
    357: tmux_conf_update_plugins_on_launch=true
    358: 
    359: # by default, reloading the configuration will update tpm and all plugins
    360: #   - true (default)
    361: #   - false
    362: tmux_conf_update_plugins_on_reload=true
    363: 
    364: # by default, reloading the configuration will uninstall tpm and plugins when no
    365: # plugins are enabled
    366: #   - true (default)
    367: #   - false
    368: tmux_conf_uninstall_plugins_on_reload=true
    369: 
    370: # /!\ the tpm bindings differ slightly from upstream:
    371: #   - installing plugins: <prefix> + I
    372: #   - uninstalling plugins: <prefix> + Alt + u
    373: #   - updating plugins: <prefix> + u
    374: 
    375: # /!\ do not add set -g @plugin 'tmux-plugins/tpm'
    376: # /!\ do not add run '~/.tmux/plugins/tpm/tpm'
    377: 
    378: # to enable a plugin, use the 'set -g @plugin' syntax:
    379: # visit https://github.com/tmux-plugins for available plugins
    380: #set -g @plugin 'tmux-plugins/tmux-copycat'
    381: #set -g @plugin 'tmux-plugins/tmux-cpu'
    382: #set -g @plugin 'tmux-plugins/tmux-resurrect'
    383: #set -g @plugin 'tmux-plugins/tmux-continuum'
    384: #set -g @continuum-restore 'on'
    385: 
    386: 
    387: # -- custom variables ----------------------------------------------------------
    388: 
    389: # to define a custom #{foo} variable, define a POSIX shell function between the
    390: # '# EOF' and the '# "$@"' lines. Please note that the opening brace { character
    391: # must be on the same line as the function name otherwise the parse won't detect
    392: # it.
    393: #
    394: # then, use #{foo} in e.g. the 'tmux_conf_theme_status_left' or the
    395: # 'tmux_conf_theme_status_right' variables.
    396: 
    397: # # /!\ do not remove the following line
    398: # EOF
    399: #
    400: # # /!\ do not "uncomment" the functions: the leading "# " characters are needed
    401: #
    402: # weather() {                                         # see https://github.com/chubin/wttr.in#one-line-output
    403: #   curl -f -s -m 2 'wttr.in?format=3' || printf '\n' # /!\ make sure curl is installed
    404: #   sleep 900                                         # sleep for 15 minutes, throttle network requests whatever the value of status-interval
    405: # }
    406: #
    407: # online() {
    408: #   ping -c 1 1.1.1.1 >/dev/null 2>&1 && printf '✔' || printf '✘'
    409: # }
    410: #
    411: # "$@"
    412: # # /!\ do not remove the previous line
    

Tint2

A light panel for Xorg. Still prefer other like polybar, but the simplicity of tint2 really attracts me.

  1: #---- Generated by tint2conf aeaf ----
  2: # See https://gitlab.com/o9000/tint2/wikis/Configure for
  3: # full documentation of the configuration options.
  4: #-------------------------------------
  5: # Gradients
  6: #-------------------------------------
  7: # Backgrounds
  8: # Background 1: Panel
  9: rounded = 0
 10: border_width = 0
 11: border_sides = TBLR
 12: background_color = #073642 60
 13: border_color = [100]#073642 30
 14: background_color_hover = #073642 60
 15: border_color_hover = #073642 30
 16: background_color_pressed = #073642 60
 17: border_color_pressed = #073642 30
 18: 
 19: # Background 2: Default task, Iconified task
 20: rounded = 4
 21: border_width = 1
 22: border_sides = TBLR
 23: background_color = #6c7c80 20
 24: border_color = #6c7c80 30
 25: background_color_hover = #aaaaaa 22
 26: border_color_hover = #eaeaea 44
 27: background_color_pressed = #555555 4
 28: border_color_pressed = #eaeaea 44
 29: 
 30: # Background 3: Active task
 31: rounded = 4
 32: border_width = 1
 33: border_sides = TBLR
 34: background_color = #777777 20
 35: border_color = #ffffff 40
 36: background_color_hover = #aaaaaa 22
 37: border_color_hover = #eaeaea 44
 38: background_color_pressed = #555555 4
 39: border_color_pressed = #eaeaea 44
 40: 
 41: # Background 4: Urgent task
 42: rounded = 4
 43: border_width = 1
 44: border_sides = TBLR
 45: background_color = #aa4400 100
 46: border_color = #aa7733 100
 47: background_color_hover = #cc7700 100
 48: border_color_hover = #aa7733 100
 49: background_color_pressed = #555555 4
 50: border_color_pressed = #aa7733 100
 51: 
 52: # Background 5: Tooltip
 53: rounded = 1
 54: border_width = 1
 55: border_sides = TBLR
 56: background_color = #222222 100
 57: border_color = #333333 100
 58: background_color_hover = #ffffaa 100
 59: border_color_hover = #000000 100
 60: background_color_pressed = #ffffaa 100
 61: border_color_pressed = #000000 100
 62: 
 63: #-------------------------------------
 64: # Panel
 65: panel_items = LTSBC
 66: panel_size = 100% 30
 67: panel_margin = 0 0
 68: panel_padding = 2 0 2
 69: panel_background_id = 1
 70: wm_menu = 1
 71: panel_dock = 0
 72: panel_position = bottom center horizontal
 73: panel_layer = top
 74: panel_monitor = all
 75: panel_shrink = 0
 76: autohide = 0
 77: autohide_show_timeout = 0
 78: autohide_hide_timeout = 0.5
 79: autohide_height = 2
 80: strut_policy = follow_size
 81: panel_window_name = tint2
 82: disable_transparency = 0
 83: mouse_effects = 1
 84: font_shadow = 0
 85: mouse_hover_icon_asb = 100 0 10
 86: mouse_pressed_icon_asb = 100 0 0
 87: 
 88: #-------------------------------------
 89: # Taskbar
 90: taskbar_mode = single_desktop
 91: taskbar_hide_if_empty = 0
 92: taskbar_padding = 0 0 2
 93: taskbar_background_id = 0
 94: taskbar_active_background_id = 0
 95: taskbar_name = 1
 96: taskbar_hide_inactive_tasks = 0
 97: taskbar_hide_different_monitor = 0
 98: taskbar_hide_different_desktop = 0
 99: taskbar_always_show_all_desktop_tasks = 0
100: taskbar_name_padding = 4 2
101: taskbar_name_background_id = 0
102: taskbar_name_active_background_id = 0
103: taskbar_name_font_color = #e3e3e3 100
104: taskbar_name_active_font_color = #ffffff 100
105: taskbar_distribute_size = 0
106: taskbar_sort_order = none
107: task_align = left
108: 
109: #-------------------------------------
110: # Task
111: task_text = 1
112: task_icon = 1
113: task_centered = 1
114: urgent_nb_of_blink = 100000
115: task_maximum_size = 150 35
116: task_padding = 2 2 4
117: task_tooltip = 1
118: task_thumbnail = 0
119: task_thumbnail_size = 210
120: task_font_color = #ffffff 100
121: task_background_id = 2
122: task_active_background_id = 3
123: task_urgent_background_id = 4
124: task_iconified_background_id = 2
125: mouse_left = toggle_iconify
126: mouse_middle = none
127: mouse_right = close
128: mouse_scroll_up = toggle
129: mouse_scroll_down = iconify
130: 
131: #-------------------------------------
132: # System tray (notification area)
133: systray_padding = 0 4 2
134: systray_background_id = 0
135: systray_sort = ascending
136: systray_icon_size = 24
137: systray_icon_asb = 100 0 0
138: systray_monitor = 1
139: systray_name_filter =
140: 
141: #-------------------------------------
142: # Launcher
143: launcher_padding = 2 4 2
144: launcher_background_id = 0
145: launcher_icon_background_id = 0
146: launcher_icon_size = 24
147: launcher_icon_asb = 100 0 0
148: launcher_icon_theme_override = 0
149: startup_notifications = 1
150: launcher_tooltip = 1
151: launcher_item_app = xterm.desktop
152: launcher_item_app = emacsclient.desktop
153: launcher_item_app = firefox.desktop
154: launcher_item_app = org.gnome.Evolution.desktop
155: #launcher_item_app = iceweasel.desktop
156: #launcher_item_app = chromium-browser.desktop
157: #launcher_item_app = google-chrome.desktop
158: launcher_item_app = tint2conf.desktop
159: 
160: #-------------------------------------
161: # Clock
162: time1_format = %H:%M
163: time2_format = %A %d %B
164: time1_timezone =
165: time2_timezone =
166: clock_font_color = #ffffff 100
167: clock_padding = 2 0
168: clock_background_id = 0
169: clock_tooltip =
170: clock_tooltip_timezone =
171: clock_lclick_command =
172: clock_rclick_command = orage
173: clock_mclick_command =
174: clock_uwheel_command =
175: clock_dwheel_command =
176: 
177: #-------------------------------------
178: # Battery
179: battery_tooltip = 1
180: battery_low_status = 10
181: battery_low_cmd = xmessage 'tint2: Battery low!'
182: battery_full_cmd =
183: battery_font_color = #ffffff 100
184: bat1_format =
185: bat2_format =
186: battery_padding = 1 0
187: battery_background_id = 0
188: battery_hide = 101
189: battery_lclick_command =
190: battery_rclick_command =
191: battery_mclick_command =
192: battery_uwheel_command =
193: battery_dwheel_command =
194: ac_connected_cmd =
195: ac_disconnected_cmd =
196: 
197: #-------------------------------------
198: # Tooltip
199: tooltip_show_timeout = 0.5
200: tooltip_hide_timeout = 0.1
201: tooltip_padding = 4 4
202: tooltip_background_id = 5
203: tooltip_font_color = #dddddd 100

systemd

  • Emacs user unit file

    I used this for auto starting Emacs once my window manager is started.

     1: [Unit]
     2: Description=Emacs text editor
     3: Documentation=info:emacs man:emacs(1) https://gnu.org/software/emacs/
     4: After=graphical-session.target
     5: 
     6: [Service]
     7: Type=forking
     8: ExecStart=/usr/bin/emacs --fg-daemon
     9: ExecStop=/usr/bin/emacsclient --eval "(kill-emacs)"
    10: #Environment=SSH_AUTH_SOCK=%t/keyring/ssh
    11: Restart=on-failure
    12: #TimeoutSec=900
    13: 
    14: [Install]
    15: WantedBy=default.target graphical-session.target
    

swaylock

Another lock screen for wayland.

 1: image=~/.local/share/wallpapers/nord/linux-friends-4k.png
 2: scaling=stretch
 3: show-keyboard-layout
 4: font=JetBrainsMonoNL Nerd Font Mono
 5: font-size=16
 6: indicator-radius=50
 7: indicator-thickness=10
 8: indicator-idle-visible
 9: indicator-caps-lock
10: indicator-x-position=80
11: indicator-y-position=80
12: 
13: # background
14: 
15: # foreground
16: layout-text-color=0xD8DEE9
17: text-color=0xD8DEE9
18: 
19: # cyan
20: bs-hl-color=0x88C0D0
21: 
22: # red
23: caps-lock-bs-hl-color=0xBF616A
24: caps-lock-key-hl-color=0xB48EAD
25: inside-caps-lock-color=0xBF616A
26: line-caps-lock-color=0xBF616A
27: text-wrong-color=0xB48EAD
28: ring-caps-lock-color=BF616A
29: text-caps-lock-color=0xBF616A
30: 
31: # black
32: 
33: # grey
34: ring-color=0x4C566A
35: inside-color=0x4C566A
36: inside-clear-color=0x4C566A
37: layout-bg-color=0x4C566A
38: separator-color=0x4C566A
39: layout-border-color=0x4C566A
40: line-color=0x4C566A
41: 
42: # cyan
43: inside-ver-color=0x88C0D0
44: key-hl-color=0x88C0D0
45: 
46: # magenta
47: inside-wrong-color=0xB48EAD
48: line-wrong-color=0xB48EAD
49: ring-wrong-color=0xB48EAD
50: 
51: # blue
52: line-clear-color=0x81A1C1
53: text-ver-color=0x81A1C1
54: line-ver-color=0x81A1C1
55: ring-clear-color=0x81A1C1
56: ring-ver-color=0x81A1C1
57: text-clear-color=0x81A1C1

swappy

Wayland native snapshot editing tools.

 1: [Default]
 2: save_dir=$HOME/Pictures/Screenshots
 3: save_filename_format=swappy-%Y%m%d-%H%M%S.png
 4: show_panel=false
 5: line_size=5
 6: text_size=20
 7: text_font=sans-serif
 8: paint_mode=brush
 9: early_exit=false
10: fill_shape=false

screen

# ~/.config/screen/screenrc
# By default, screen will look for initialization in
# either /usr/local/etc/screenrc or /etc/screenrc, or to wherever
# the environment variable ${SYSSCREENRC} is set.
# As for the default user configuration file is default to
# ${HOME}/.screenrc or to ${SCREENRC} if defined.
# so without the environment variable, this file won't be loaded.
# As always, when in doubt, see man 1 screen
#
# Note: all these commands started with the escape key,
# default to 'c-a' (ctrl-a)
autodetach on # default: on
startup_message off # default: on
defscrollback 10000 # default: 100
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'']'
attrcolor b ".I"
termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'
defbce on
multiuser off
bufferfile ${SCREENDIR}/.screen_exchange
shell -${SHELL}
pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended."
defnonblock on
layout autosave on
layout new one
select 1
layout new two
select 1
split
resize -v +8
focus down
select 4
focus up
layout new three
select 1
split
resize -v +7
focus down
select 3
split -v
resize -h +10
focus right
select 4
focus up

layout attach one
layout select one
mousetrack on
termcap  xterm hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l
terminfo xterm hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4
termcapinfo xterm 'VR=\E[?5h:VN=\E[?5l'
termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~'
termcapinfo xterm 'kh=\EOH:kI=\E[2~:kD=\E[3~:kH=\EOF:kP=\E[5~:kN=\E[6~'
termcapinfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007'
termcapinfo  * '' 'hs:ts=\E_:fs=\E\\:ds=\E_\E\\'
termcapinfo xterm* ti@:te@
altscreen on

My ultimate terminal multiplexer, for this to work you'll need you'll need to set the environment variable SCREENRC, I set this so I don't have to use the default location (/.screenrc).

rofi-rbw

Rofi frontend for rbw (CLI for bitwarden), though I don't think it really needs a configuration file. I actually migrating from bitwarden to pass.

1: selector=rofi
2: clipboarder=wl-copy
3: typer=wtype
4: action=copy

rofi-pass

Frontend for pass.

 1: # permanently set alternative root dir. Use ":" to separate multiple roots
 2: # which can be switched at runtime with shift+left/right
 3: # root=/path/to/root
 4: 
 5: # rofi command. Make sure to have "$@" as last argument
 6: _rofi () {
 7:     rofi -theme pass -i -no-auto-select "$@"
 8: }
 9: 
10: # default command to generate passwords
11: _pwgen () {
12:         pwgen -y "$@"
13: }
14: 
15: # image viewer to display qrcode of selected entry
16: # qrencode is needed to generate the image and a viewer
17: # that can read from pipes. Known viewers to work are feh and display
18: _image_viewer () {
19:     feh -
20: #    display
21: }
22: 
23: # xdotool needs the keyboard layout to be set using setxkbmap
24: # You can do this in your autostart scripts (e.g. xinitrc)
25: 
26: # If for some reason, you cannot do this, you can set the command here.
27: # and set fix_layout to true
28: fix_layout=false
29: 
30: layout_cmd () {
31:   setxkbmap us
32: }
33: 
34: # fields to be used
35: URL_field='url'
36: USERNAME_field='user'
37: AUTOTYPE_field='autotype'
38: 
39: # delay to be used for :delay keyword
40: delay=2
41: 
42: # rofi-pass needs to close itself before it can type passwords. Set delay here.
43: wait=0.2
44: 
45: # delay between keypresses when typing (in ms)
46: xdotool_delay=12
47: 
48: ## Programs to be used
49: # Editor
50: EDITOR='gvim -f'
51: 
52: # Browser
53: BROWSER='xdg-open'
54: 
55: ## Misc settings
56: 
57: default_do='menu' # menu, autotype, copyPass, typeUser, typePass, copyUser, copyUrl, viewEntry, typeMenu, actionMenu, copyMenu, openUrl
58: auto_enter='false'
59: notify='false'
60: default_autotype='user :tab pass'
61: 
62: # color of the help messages
63: # leave empty for autodetection
64: help_color="#4872FF"
65: 
66: # Clipboard settings
67: # Possible options: primary, clipboard, both
68: clip=primary
69: 
70: # Seconds before clearing pass from clipboard
71: clip_clear=45
72: 
73: ## Options for generating new password entries
74: 
75: # open new password entries in editor
76: edit_new_pass="true"
77: 
78: # default_user is also used for password files that have no user field.
79: #default_user="${ROFI_PASS_DEFAULT_USER-$(whoami)}"
80: #default_user2=mary_ann
81: #password_length=12
82: 
83: # Custom Keybindings
84: autotype="Alt+1"
85: type_user="Alt+2"
86: type_pass="Alt+3"
87: open_url="Alt+4"
88: copy_name="Alt+u"
89: copy_url="Alt+l"
90: copy_pass="Alt+p"
91: show="Alt+o"
92: copy_entry="Alt+2"
93: type_entry="Alt+1"
94: copy_menu="Alt+c"
95: action_menu="Alt+a"
96: type_menu="Alt+t"
97: help="Alt+h"
98: switch="Alt+x"
99: insert_pass="Alt+n"

Rofi

A dmenu replacement, it can act as a window switcher, or an application launcher.

  • config.rasi
     1: /* -*-css-*- */
     2: configuration {
     3:     modi: "window,drun,run,ssh,combi,emoji";
     4:     show-icons: true;
     5:     font: "JetBrainsMonoNL Nerd Font Mono 10";
     6:     line-margin: 10;
     7:     display-ssh:    "";
     8:     display-run:    "";
     9:     display-drun:   "";
    10:     display-window: "";
    11:     display-combi:  "";
    12:     show-icons:     true;
    13: }
    14: @theme "nord"
    15: 
    16: listview {
    17:     lines: 6;
    18:     columns: 2;
    19: }
    20: 
    21: window {
    22:     width: 30%;
    23: }
    

    The main configuration file for rofi.

  • themes
    • nord
        1: /* -*-css-*- */
        2: /**
        3:  * Nordic rofi theme
        4:  * Adapted by undiabler <undiabler@gmail.com>
        5:  *
        6:  * Nord Color palette imported from https://www.nordtheme.com/
        7:  *
        8:  */
        9: 
       10: 
       11: * {
       12:         nord0: #2e3440;
       13:         nord1: #3b4252;
       14:         nord2: #434c5e;
       15:         nord3: #4c566a;
       16: 
       17:         nord4: #d8dee9;
       18:         nord5: #e5e9f0;
       19:         nord6: #eceff4;
       20: 
       21:         nord7: #8fbcbb;
       22:         nord8: #88c0d0;
       23:         nord9: #81a1c1;
       24:         nord10: #5e81ac;
       25:         nord11: #bf616a;
       26: 
       27:         nord12: #d08770;
       28:         nord13: #ebcb8b;
       29:         nord14: #a3be8c;
       30:         nord15: #b48ead;
       31: 
       32:     foreground:  @nord9;
       33:     backlight:   #ccffeedd;
       34:     background-color:  transparent;
       35: 
       36:     highlight:     underline bold #eceff4;
       37: 
       38:     transparent: rgba(46,52,64,0);
       39: }
       40: 
       41: window {
       42:     location: center;
       43:     anchor:   center;
       44:     transparency: "screenshot";
       45:     padding: 10px;
       46:     border:  0px;
       47:     border-radius: 6px;
       48: 
       49:     background-color: @transparent;
       50:     spacing: 0;
       51:     children:  [mainbox];
       52:     orientation: horizontal;
       53: }
       54: 
       55: mainbox {
       56:     spacing: 0;
       57:     children: [ inputbar, message, listview ];
       58: }
       59: 
       60: message {
       61:     color: @nord0;
       62:     padding: 5;
       63:     border-color: @foreground;
       64:     border:  0px 2px 2px 2px;
       65:     background-color: @nord7;
       66: }
       67: 
       68: inputbar {
       69:     color: @nord6;
       70:     padding: 11px;
       71:     background-color: #3b4252;
       72: 
       73:     border: 1px;
       74:     border-radius:  6px 6px 0px 0px;
       75:     border-color: @nord10;
       76: }
       77: 
       78: entry, prompt, case-indicator {
       79:     text-font: inherit;
       80:     text-color:inherit;
       81: }
       82: 
       83: prompt {
       84:     margin: 0px 1em 0em 0em ;
       85: }
       86: 
       87: listview {
       88:     padding: 8px;
       89:     border-radius: 0px 0px 6px 6px;
       90:     border-color: @nord10;
       91:     border: 0px 1px 1px 1px;
       92:     background-color: rgba(46,52,64,0.9);
       93:     dynamic: false;
       94: }
       95: 
       96: element {
       97:     padding: 3px;
       98:     vertical-align: 0.5;
       99:     border-radius: 4px;
      100:     background-color: transparent;
      101:     color: @foreground;
      102:     text-color: rgb(216, 222, 233);
      103: }
      104: 
      105: element selected.normal {
      106:         background-color: @nord7;
      107:         text-color: #2e3440;
      108: }
      109: 
      110: element-text, element-icon {
      111:     background-color: inherit;
      112:     text-color:       inherit;
      113: }
      114: 
      115: button {
      116:     padding: 6px;
      117:     color: @foreground;
      118:     horizontal-align: 0.5;
      119: 
      120:     border: 2px 0px 2px 2px;
      121:     border-radius: 4px 0px 0px 4px;
      122:     border-color: @foreground;
      123: }
      124: 
      125: button selected normal {
      126:     border: 2px 0px 2px 2px;
      127:     border-color: @foreground;
      128: }
      

      I forgot where I got this.

  • scripts
    • rofi-logout
      THEME=${1:-logout}
      
      question=$(echo "󰌾 lock|󰍃 logout|󰜉 reboot|󰐥 shutdown" | rofi -sep "|" \
          -dmenu -i -p 'System: ' "" \
          -hide-scrollbar \
          -eh 1 \
          -color-enabled true \
          -theme "$THEME")
      
      case $question in
          *lock)
              # use lowercase only
              case "${XDG_CURRENT_DESKTOP,,}" in
                  hyprland)
                      hyprctl dispatch exit
                      ;;
                  *)
                      if [ "$(pgrep -x lightdm)" ] && [ "$(command -v light-locker)" ]; then
                          light-locker-command -l
                      fi
                      ;;
              esac
              ;;
          *logout)
              case "${XDG_CURRENT_DESKTOP,,}" in
                  hyprland)
                      hyprctl dispatch exit
                      ;;
                  openbox)
                      openbox --exit
                      ;;
                  i3)
                      i3-msg exit
                      ;;
                  qtile)
                      qtile cmd-obj -o cmd -f shutdown
                      ;;
              esac
              ;;
          *reboot)
              if [[ $(command -v systemctl) ]]; then
                  systemctl reboot
              else
                  shutdown -r now
              fi
              ;;
          *shutdown)
              if [[ $(command -v systemctl) ]]; then
                  systemctl poweroff
              else
                  poweroff
              fi
              ;;
          *)
              exit 0  # do nothing on wrong response
              ;;
      esac
      

picom

Compositor for X11.

  1: #################################
  2: #             Shadows           #
  3: #################################
  4: 
  5: 
  6: # Enabled client-side shadows on windows. Note desktop windows
  7: # (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
  8: # unless explicitly requested using the wintypes option.
  9: #
 10: # shadow = false
 11: shadow = true;
 12: 
 13: # The blur radius for shadows, in pixels. (defaults to 12)
 14: # shadow-radius = 12
 15: shadow-radius = 20;
 16: 
 17: # The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
 18: # shadow-opacity = .75
 19: 
 20: # The left offset for shadows, in pixels. (defaults to -15)
 21: # shadow-offset-x = -15
 22: shadow-offset-x = -20;
 23: 
 24: # The top offset for shadows, in pixels. (defaults to -15)
 25: # shadow-offset-y = -15
 26: shadow-offset-y = -20;
 27: 
 28: # Avoid drawing shadows on dock/panel windows. This option is deprecated,
 29: # you should use the *wintypes* option in your config file instead.
 30: #
 31: # no-dock-shadow = false
 32: 
 33: # Don't draw shadows on drag-and-drop windows. This option is deprecated,
 34: # you should use the *wintypes* option in your config file instead.
 35: #
 36: # no-dnd-shadow = false
 37: 
 38: # Red color value of shadow (0.0 - 1.0, defaults to 0).
 39: # shadow-red = 0
 40: 
 41: # Green color value of shadow (0.0 - 1.0, defaults to 0).
 42: # shadow-green = 0
 43: 
 44: # Blue color value of shadow (0.0 - 1.0, defaults to 0).
 45: # shadow-blue = 0
 46: 
 47: # Do not paint shadows on shaped windows. Note shaped windows
 48: # here means windows setting its shape through X Shape extension.
 49: # Those using ARGB background is beyond our control.
 50: # Deprecated, use
 51: #   shadow-exclude = 'bounding_shaped'
 52: # or
 53: #   shadow-exclude = 'bounding_shaped && !rounded_corners'
 54: # instead.
 55: #
 56: # shadow-ignore-shaped = ''
 57: 
 58: # Specify a list of conditions of windows that should have no shadow.
 59: #
 60: # examples:
 61: #   shadow-exclude = "n:e:Notification";
 62: #
 63: # shadow-exclude = []
 64: shadow-exclude = [
 65:   "name = 'Notification'",
 66:   "class_g = 'Conky'",
 67:   "class_g ?= 'Notify-osd'",
 68:   "class_g = 'Cairo-clock'",
 69:   "_GTK_FRAME_EXTENTS@:c",
 70:   "class_g = 'Rofi'"
 71: ];
 72: 
 73: # Specify a X geometry that describes the region in which shadow should not
 74: # be painted in, such as a dock window region. Use
 75: #    shadow-exclude-reg = "x10+0+0"
 76: # for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
 77: #
 78: # shadow-exclude-reg = ""
 79: 
 80: # Crop shadow of a window fully on a particular Xinerama screen to the screen.
 81: # xinerama-shadow-crop = false
 82: 
 83: 
 84: #################################
 85: #           Fading              #
 86: #################################
 87: 
 88: 
 89: # Fade windows in/out when opening/closing and when opacity changes,
 90: #  unless no-fading-openclose is used.
 91: # fading = false
 92: fading = true
 93: 
 94: # Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
 95: # fade-in-step = 0.028
 96: fade-in-step = 0.03;
 97: 
 98: # Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
 99: # fade-out-step = 0.03
100: fade-out-step = 0.03;
101: 
102: # The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
103: fade-delta = 3
104: 
105: # Specify a list of conditions of windows that should not be faded.
106: # fade-exclude = []
107: 
108: # Do not fade on window open/close.
109: no-fading-openclose = false
110: 
111: # Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
112: no-fading-destroyed-argb = false
113: 
114: 
115: #################################
116: #   Transparency / Opacity      #
117: #################################
118: 
119: 
120: # Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
121: # inactive-opacity = 1
122: inactive-opacity = 0.9;
123: 
124: # Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
125: # frame-opacity = 1.0
126: frame-opacity = 0.8;
127: 
128: # Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0)
129: # menu-opacity = 1.0
130: 
131: # Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows.
132: # inactive-opacity-override = true
133: inactive-opacity-override = false;
134: 
135: # Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
136: active-opacity = 1.0
137: 
138: # Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
139: inactive-dim = 0.0
140: 
141: # Specify a list of conditions of windows that should always be considered focused.
142: # focus-exclude = []
143: focus-exclude = [ "class_g = 'Cairo-clock'",
144:                   "class_g ?= 'rofi'",
145:                   "class_g ?= 'Steam'"
146: ];
147: 
148: # Use fixed inactive dim value, instead of adjusting according to window opacity.
149: # inactive-dim-fixed = 1.0
150: 
151: # Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
152: # like `50:name *= "Firefox"`. picom-trans is recommended over this.
153: # Note we don't make any guarantee about possible conflicts with other
154: # programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
155: # example:
156: #    opacity-rule = [ "80:class_g = 'URxvt'" ];
157: #
158: # opacity-rule = []
159: opacity-rule = [ "90:name *= '*'",
160:                  "99:class_g = 'Emacs' && argb",
161:                  "98:class_g = 'Firefox' && argb",
162:                  "98:class_g = 'Brave-browser' && argb",
163:                  "98:class_g = 'Google-chrome'",
164:                  "99:class_g = 'vlc'",
165:                  "99:class_g = 'mpv'",
166:                  "80:class_g = 'URxvt'",
167:                  "80:class_g = 'UXTerm'",
168:                  "80:class_g = 'Alacritty'",
169:                  "80:class_g = 'XTerm'"
170:                 ]
171: 
172: #################################
173: #     Background-Blurring       #
174: #################################
175: 
176: 
177: # Parameters for background blurring, see the *BLUR* section for more information.
178: # blur-method =
179: blur-method = "gaussian"
180: # blur-size = 12
181: blur-size = 12
182: #
183: # blur-deviation = false
184: blur-deviation = 1.0
185: 
186: # Blur background of semi-transparent / ARGB windows.
187: # Bad in performance, with driver-dependent behavior.
188: # The name of the switch may change without prior notifications.
189: #
190: # blur-background = false
191: # blur-background = true
192: 
193: # Blur background of windows when the window frame is not opaque.
194: # Implies:
195: #    blur-background
196: # Bad in performance, with driver-dependent behavior. The name may change.
197: #
198: # blur-background-frame = false
199: 
200: 
201: # Use fixed blur strength rather than adjusting according to window opacity.
202: # blur-background-fixed = false
203: 
204: 
205: # Specify the blur convolution kernel, with the following format:
206: # example:
207: #   blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
208: #
209: # blur-kern = ''
210: blur-kern = "3x3box";
211: 
212: 
213: # Exclude conditions for background blur.
214: # blur-background-exclude = []
215: blur-background-exclude = [
216:   "window_type = 'dock'",
217:   "window_type = 'desktop'",
218:   "_GTK_FRAME_EXTENTS@:c"
219: ];
220: 
221: #################################
222: #       General Settings        #
223: #################################
224: 
225: # Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
226: # daemon = false
227: 
228: # Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
229: # `xrender` is the default one.
230: #
231: # backend = 'glx'
232: # backend = "xrender";
233: backend = "glx";
234: 
235: # Enable/disable VSync.
236: # vsync = false
237: vsync = true
238: 
239: # Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
240: dbus = false
241: 
242: # Try to detect WM windows (a non-override-redirect window with no
243: # child that has 'WM_STATE') and mark them as active.
244: #
245: # mark-wmwin-focused = false
246: mark-wmwin-focused = true;
247: 
248: # Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
249: # mark-ovredir-focused = false
250: mark-ovredir-focused = true;
251: 
252: # Try to detect windows with rounded corners and don't consider them
253: # shaped windows. The accuracy is not very high, unfortunately.
254: #
255: # detect-rounded-corners = false
256: detect-rounded-corners = true;
257: 
258: # Detect '_NET_WM_OPACITY' on client windows, useful for window managers
259: # not passing '_NET_WM_OPACITY' of client windows to frame windows.
260: #
261: # detect-client-opacity = false
262: detect-client-opacity = true;
263: 
264: # Specify refresh rate of the screen. If not specified or 0, picom will
265: # try detecting this with X RandR extension.
266: #
267: # refresh-rate = 60
268: # refresh-rate = 0
269: 
270: # Limit picom to repaint at most once every 1 / 'refresh_rate' second to
271: # boost performance. This should not be used with
272: #   vsync drm/opengl/opengl-oml
273: # as they essentially does sw-opti's job already,
274: # unless you wish to specify a lower refresh rate than the actual value.
275: #
276: # sw-opti =
277: 
278: # Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
279: # rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
280: # provided that the WM supports it.
281: #
282: # use-ewmh-active-win = false
283: use-ewmh-active-win = true
284: 
285: # Unredirect all windows if a full-screen opaque window is detected,
286: # to maximize performance for full-screen windows. Known to cause flickering
287: # when redirecting/unredirecting windows.
288: #
289: # unredir-if-possible = false
290: 
291: # Delay before unredirecting the window, in milliseconds. Defaults to 0.
292: # unredir-if-possible-delay = 0
293: 
294: # Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
295: # unredir-if-possible-exclude = []
296: 
297: # Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
298: # in the same group focused at the same time.
299: #
300: # detect-transient = false
301: detect-transient = true
302: 
303: # Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
304: # group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if
305: # detect-transient is enabled, too.
306: #
307: # detect-client-leader = false
308: detect-client-leader = true
309: 
310: # Resize damaged region by a specific number of pixels.
311: # A positive value enlarges it while a negative one shrinks it.
312: # If the value is positive, those additional pixels will not be actually painted
313: # to screen, only used in blur calculation, and such. (Due to technical limitations,
314: # with use-damage, those pixels will still be incorrectly painted to screen.)
315: # Primarily used to fix the line corruption issues of blur,
316: # in which case you should use the blur radius value here
317: # (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
318: # with a 5x5 one you use `--resize-damage 2`, and so on).
319: # May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
320: #
321: # resize-damage = 1
322: 
323: # Specify a list of conditions of windows that should be painted with inverted color.
324: # Resource-hogging, and is not well tested.
325: #
326: # invert-color-include = []
327: 
328: # GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
329: # Might cause incorrect opacity when rendering transparent content (but never
330: # practically happened) and may not work with blur-background.
331: # My tests show a 15% performance boost. Recommended.
332: #
333: # glx-no-stencil = false
334: glx-no-stencil = true
335: 
336: # GLX backend: Avoid rebinding pixmap on window damage.
337: # Probably could improve performance on rapid window content changes,
338: # but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
339: # Recommended if it works.
340: #
341: # glx-no-rebind-pixmap = false
342: glx-no-rebind-pixmap = true
343: 
344: # Disable the use of damage information.
345: # This cause the whole screen to be redrawn everytime, instead of the part of the screen
346: # has actually changed. Potentially degrades the performance, but might fix some artifacts.
347: # The opposing option is use-damage
348: #
349: # no-use-damage = false
350: use-damage = true
351: 
352: # Use X Sync fence to sync clients' draw calls, to make sure all draw
353: # calls are finished before picom starts drawing. Needed on nvidia-drivers
354: # with GLX backend for some users.
355: #
356: # xrender-sync-fence = false
357: 
358: # GLX backend: Use specified GLSL fragment shader for rendering window contents.
359: # See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
360: # in the source tree for examples.
361: #
362: # glx-fshader-win = ''
363: 
364: # Force all windows to be painted with blending. Useful if you
365: # have a glx-fshader-win that could turn opaque pixels transparent.
366: #
367: # force-win-blend = false
368: 
369: # Do not use EWMH to detect fullscreen windows.
370: # Reverts to checking if a window is fullscreen based only on its size and coordinates.
371: #
372: # no-ewmh-fullscreen = false
373: 
374: # Dimming bright windows so their brightness doesn't exceed this set value.
375: # Brightness of a window is estimated by averaging all pixels in the window,
376: # so this could comes with a performance hit.
377: # Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
378: #
379: # max-brightness = 1.0
380: 
381: # Make transparent windows clip other windows like non-transparent windows do,
382: # instead of blending on top of them.
383: #
384: transparent-clipping = false
385: 
386: # Set the log level. Possible values are:
387: #  "trace", "debug", "info", "warn", "error"
388: # in increasing level of importance. Case doesn't matter.
389: # If using the "TRACE" log level, it's better to log into a file
390: # using *--log-file*, since it can generate a huge stream of logs.
391: #
392: # log-level = "debug"
393: log-level = "warn";
394: 
395: # Set the log file.
396: # If *--log-file* is never specified, logs will be written to stderr.
397: # Otherwise, logs will to written to the given file, though some of the early
398: # logs might still be written to the stderr.
399: # When setting this option from the config file, it is recommended to use an absolute path.
400: #
401: # log-file = '/path/to/your/log/file'
402: 
403: # Show all X errors (for debugging)
404: # show-all-xerrors = false
405: 
406: # Write process ID to a file.
407: # write-pid-path = '/path/to/your/log/file'
408: 
409: # Window type settings
410: #
411: # 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
412: #     "unknown", "desktop", "dock", "toolbar", "menu", "utility",
413: #     "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
414: #     "tooltip", "notification", "combo", and "dnd".
415: #
416: # Following per window-type options are available: ::
417: #
418: #   fade, shadow:::
419: #     Controls window-type-specific shadow and fade settings.
420: #
421: #   opacity:::
422: #     Controls default opacity of the window type.
423: #
424: #   focus:::
425: #     Controls whether the window of this type is to be always considered focused.
426: #     (By default, all window types except "normal" and "dialog" has this on.)
427: #
428: #   full-shadow:::
429: #     Controls whether shadow is drawn under the parts of the window that you
430: #     normally won't be able to see. Useful when the window has parts of it
431: #     transparent, and you want shadows in those areas.
432: #
433: #   redir-ignore:::
434: #     Controls whether this type of windows should cause screen to become
435: #     redirected again after been unredirected. If you have unredir-if-possible
436: #     set, and doesn't want certain window to cause unnecessary screen redirection,
437: #     you can set this to `true`.
438: #
439: wintypes:
440: {
441:   tooltip = { fade = true; shadow = true; opacity = 0.90; focus = true; full-shadow = false; };
442:   normal = { full-shadow = false; };
443:   dock = { shadow = false; };
444:   dnd = { shadow = false; };
445:   popup_menu = { shadow = true; focus = false; blur-background = false; opacity = 0.8; };
446:   dropdown_menu = { shadow = false; focus = false; opacity = 0.8; };
447:   above  = { shadow = true; };
448:   splash = { shadow = false; };
449:   utility = { focus = false; shadow = false; blur-background = false };
450:   notification = { shadow = false; };
451:   desktop = { shadow = false; blur-background = false; };
452:   menu = { focus = false; };
453:   dialog = { shadow = true; };
454: };

offlineimap

My offlineimap setup for several accounts.

  1: [general]
  2: accounts = gmail, hotmail, ymail, yahoo, mkn, zum
  3: maxsyncaccounts = 4
  4: socktimeout = 10
  5: pythonfile = ~/.local/bin/offlineimap-helper.py
  6: 
  7: [Account gmail]
  8: localrepository = gmail-local
  9: remoterepository = gmail-remote
 10: synclabels = yes
 11: labelsheader = X-Keywords
 12: #postsynchook = notmuch new --verbose
 13: 
 14: [Repository gmail-local]
 15: Type = GmailMaildir
 16: localfolders = ~/.mail/gmail
 17: sync_deletes = yes
 18: autorefresh = 1
 19: quick = 10
 20: keepalive = 240
 21: holdconnectionopen = yes
 22: nametrans = lambda f: re.sub('spam', '[Gmail]/Spam',
 23:                       re.sub('draft', '[Gmail]/Drafts',
 24:                       re.sub('inbox', 'INBOX',
 25:                       re.sub('sent', '[Gmail]/Sent Mail',
 26:                       re.sub('trash', '[Gmail]/Trash',                      re.sub('archive*', 'Archive',                      re.sub('archive$', '[Gmail]/All Mail', f)))))))
 27: 
 28: [Repository gmail-remote]
 29: Type = Gmail
 30: remoteusereval = get_credentials("gmail", "user")
 31: remotepasseval = get_credentials("gmail", "passeval")
 32: nametrans = lambda f: re.sub('.*All Mail$', 'archive',
 33:                       re.sub('^Archive', 'archive',
 34:                       re.sub('.*Drafts$', 'draft',
 35:                       re.sub('.*Spam$', 'spam',
 36:                       re.sub('.*Sent Mail$', 'sent',
 37:                       re.sub('.*Trash$', 'trash',
 38:                       re.sub('INBOX', 'inbox', f)))))))
 39: folderfilter = lambda foldername: foldername not in ['[Gmail]/Important', '[Gmail]/Starred']
 40: maxconnections = 3
 41: retrycount = 4
 42: sslcacertfile = /etc/ssl/certs/ca-certificates.crt
 43: ssl_version = tls1_2
 44: usecompression = yes
 45: 
 46: [Account yahoo]
 47: localrepository = yahoo-local
 48: remoterepository = yahoo-remote
 49: #postsynchook = notmuch new --verbose
 50: 
 51: [Repository yahoo-local]
 52: Type = Maildir
 53: localfolders = ~/.mail/yahoo
 54: sync_deletes = yes
 55: autorefresh = 1
 56: keepalive = 240
 57: holdconnectionopen = yes
 58: quick = 10
 59: nametrans = lambda f: re.sub('spam', 'Bulk Mail',
 60:                       re.sub('draft', 'Draft',
 61:                       re.sub('inbox', 'Inbox',
 62:                       re.sub('sent', 'Sent',
 63:                       re.sub('trash', 'Trash',
 64:                       re.sub('archive', 'Archive', f))))))
 65: 
 66: [Repository yahoo-remote]
 67: Type = IMAP
 68: remotehosteval = get_credentials("yahoo", "host")
 69: remoteusereval = get_credentials("yahoo", "user")
 70: remotepasseval = get_credentials("yahoo", "passeval")
 71: nametrans = lambda f: re.sub('.*Archive', 'archive',
 72:                       re.sub('.*Draft$', 'draft',
 73:                       re.sub('.*Bulk Mail$', 'spam',
 74:                       re.sub('.*Sent$', 'sent',
 75:                       re.sub('.*Trash$', 'trash',
 76:                       re.sub('Inbox', 'inbox', f))))))
 77: 
 78: maxconnections = 3
 79: retrycount = 4
 80: sslcacertfile = /etc/ssl/certs/ca-certificates.crt
 81: ssl_version = tls1_2
 82: usecompression = no
 83: 
 84: [Account hotmail]
 85: localrepository = hotmail-local
 86: remoterepository = hotmail-remote
 87: #postsynchook = notmuch new --verbose
 88: 
 89: [Repository hotmail-local]
 90: Type = Maildir
 91: localfolders = ~/.mail/hotmail
 92: sync_deletes = yes
 93: autorefresh = 1
 94: quick = 10
 95: keepalive = 240
 96: holdconnectionopen = yes
 97: nametrans = lambda f: re.sub('spam', 'Junk',
 98:                       re.sub('draft', 'Drafts',
 99:                       re.sub('inbox', 'Inbox',
100:                       re.sub('sent', 'Sent',
101:                       re.sub('trash', 'Deleted',
102:                       re.sub('notes', 'Notes',
103:                       re.sub('outbox', 'Outbox',
104:                       re.sub('archive', 'Archive', f))))))))
105: 
106: [Repository hotmail-remote]
107: Type = IMAP
108: remotehosteval = get_credentials("hotmail", "host")
109: remoteusereval = get_credentials("hotmail", "user")
110: remotepasseval = get_credentials("hotmail", "passeval")
111: nametrans = lambda f: re.sub('.*Archive', 'archive',
112:                       re.sub('.*Drafts$', 'draft',
113:                       re.sub('.*Junk$', 'spam',
114:                       re.sub('.*Sent$', 'sent',
115:                       re.sub('.*Deleted$', 'trash',
116:                       re.sub('.*Outbox$', 'outbox',
117:                       re.sub('.*Notes$', 'notes',
118:                       re.sub('Inbox', 'inbox', f))))))))
119: 
120: maxconnections = 3
121: retrycount = 4
122: sslcacertfile = /etc/ssl/certs/ca-certificates.crt
123: ssl_version = tls1_2
124: usecompression = no
125: 
126: [Account ymail]
127: localrepository = ymail-local
128: remoterepository = ymail-remote
129: #postsynchook = notmuch new --verbose
130: 
131: [Repository ymail-local]
132: Type = Maildir
133: localfolders = ~/.mail/ymail
134: sync_deletes = yes
135: autorefresh = 1
136: quick = 10
137: keepalive = 240
138: holdconnectionopen = yes
139: nametrans = lambda f: re.sub('spam', 'Bulk Mail',
140:                       re.sub('draft', 'Draft',
141:                       re.sub('inbox', 'Inbox',
142:                       re.sub('sent', 'Sent',
143:                       re.sub('trash', 'Trash',
144:                       re.sub('archive', 'Archive', f))))))
145: 
146: [Repository ymail-remote]
147: Type = IMAP
148: remotehosteval = get_credentials("ymail", "host")
149: remoteusereval = get_credentials("ymail", "user")
150: remotepasseval = get_credentials("ymail", "passeval")
151: nametrans = lambda f: re.sub('.*Archive', 'archive',
152:                       re.sub('.*Draft$', 'draft',
153:                       re.sub('.*Bulk Mail$', 'spam',
154:                       re.sub('.*Sent$', 'sent',
155:                       re.sub('.*Trash$', 'trash',
156:                       re.sub('Inbox', 'inbox', f))))))
157: 
158: maxconnections = 3
159: retrycount = 4
160: sslcacertfile = /etc/ssl/certs/ca-certificates.crt
161: ssl_version = tls1_2
162: usecompression = no
163: 
164: [Account mkn]
165: localrepository = mkn-local
166: remoterepository = mkn-remote
167: #postsynchook = notmuch new --verbose
168: 
169: [Repository mkn-local]
170: Type = Maildir
171: localfolders = ~/.mail/mkn
172: sync_deletes = yes
173: autorefresh = 0.5
174: quick = 10
175: keepalive = 240
176: holdconnectionopen = yes
177: 
178: [Repository mkn-remote]
179: Type = IMAP
180: remotehosteval = get_credentials("mkn", "host")
181: remoteporteval = get_credentials("mkn", "port")
182: remoteusereval = get_credentials("mkn", "user")
183: remotepasseval = get_credentials("mkn", "passeval")
184: maxconnections = 1
185: ssl = no
186: retrycount = 4
187: tls_level = tls_no_ssl
188: #sslcacertfile = /etc/ssl/certs/ca-certificates.crt
189: #ssl_version = tls1_2
190: #usecompression = no
191: 
192: [Account zum]
193: localrepository = zum-local
194: remoterepository = zum-remote
195: #postsynchook = notmuch new --verbose
196: 
197: [Repository zum-local]
198: Type = Maildir
199: localfolders = ~/.mail/zum
200: sync_deletes = yes
201: autorefresh = 0.5
202: quick = 10
203: keepalive = 240
204: holdconnectionopen = yes
205: [Repository zum-remote]
206: Type = IMAP
207: remotehosteval = get_credentials("zum", "host")
208: remoteporteval = get_credentials("zum", "port")
209: remoteusereval = get_credentials("zum", "user")
210: remotepasseval = get_credentials("zum", "passeval")
211: maxconnections = 1
212: retrycount = 4
213: ssl = no
214: tls_level = tls_no_ssl
215: #sslcacertfile = /etc/ssl/certs/ca-certificates.crt
216: #ssl_version = tls1_2
217: #usecompression = no

msmtp

 1: # Set default values for all following accounts.
 2: defaults
 3: auth           on
 4: tls            on
 5: tls_trust_file /etc/ssl/certs/ca-certificates.crt
 6: logfile        /tmp/msmtp.log
 7: 
 8: account gmail
 9: host smtp.gmail.com
10: port 587
11: user alexarians@gmail.com
12: from alexarians@gmail.com
13: passwordeval pass google.com/app_pass/alexarians@gmail.com
14: 
15: account hotmail
16: host smtp-mail.outlook.com
17: port 587
18: user christian.alexander@windowslive.com
19: from christian.alexander@windowslive.com
20: passwordeval pass outlook.live.com/christian.alexander@windowslive.com
21: 
22: account ymail
23: host smtp.mail.yahoo.com
24: port 587
25: user christian.alexander@ymail.com
26: from christian.alexander@ymail.com
27: passwordeval pass login.yahoo.com/app_pass/christian.alexander@ymail.com
28: 
29: account yahoo
30: host smtp.mail.yahoo.com
31: port 587
32: user alexforsale@yahoo.com
33: from alexforsale@yahoo.com
34: passwordeval pass login.yahoo.com/app_pass/alexforsale@yahoo.com
35: 
36: account zum
37: host localhost
38: port 1025
39: tls off
40: tls_starttls off
41: auth plain
42: user ZUM\kristian.alexander
43: from kristian.alexander@zumstar.co.id
44: passwordeval pass zumstar.co.id/kristian.alexander
45: 
46: account mkn
47: tls off
48: tls_starttls off
49: auth plain
50: host localhost
51: port 1026
52: user MKN\kristian.alexander
53: from kristian.alexander@mkncorp.com
54: passwordeval pass mkncorp.com/kristian.alexander
55: 
56: account default : yahoo

GTK

  • gtk-2.0
     1: # DO NOT EDIT! This file will be overwritten by LXAppearance.
     2: # Any customization should be done in ~/.gtkrc-2.0.mine instead.
     3: 
     4: include "/home/alexforsale/.gtkrc-2.0.mine"
     5: gtk-theme-name="Breeze-Dark"
     6: gtk-icon-theme-name="Papirus"
     7: gtk-font-name="JetBrainsMonoNL Nerd Font Mono 10"
     8: gtk-cursor-theme-name="Bibata-Modern-Classic"
     9: gtk-cursor-theme-size=0
    10: gtk-toolbar-style=GTK_TOOLBAR_BOTH
    11: gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
    12: gtk-button-images=1
    13: gtk-menu-images=1
    14: gtk-enable-event-sounds=1
    15: gtk-enable-input-feedback-sounds=1
    16: gtk-xft-antialias=1
    17: gtk-xft-hinting=1
    18: gtk-xft-hintstyle="hintmedium"
    19: gtk-xft-rgba="rgb"
    
  • gtk-3.0
    • Settings
       1: [Settings]
       2: gtk-theme-name=Breeze-Dark
       3: gtk-cursor-theme-size=0
       4: gtk-toolbar-style=GTK_TOOLBAR_BOTH
       5: gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
       6: gtk-button-images=1
       7: gtk-menu-images=1
       8: gtk-enable-event-sounds=1
       9: gtk-enable-input-feedback-sounds=1
      10: gtk-xft-antialias=1
      11: gtk-xft-hinting=1
      12: gtk-xft-hintstyle=hintfull
      13: gtk-key-theme-name=Emacs
      14: gtk-font-name=JetBrainsMonoNL Nerd Font Mono 10
      15: gtk-sound-theme-name=freedesktop
      16: gtk-icon-theme-name=Papirus
      17: gtk-cursor-theme-name=Bibata-Modern-Classic
      18: gtk-application-prefer-dark-theme=1
      19: gtk-xft-rgba=rgb
      
  • gtk-4.0
    • Settings
      [Settings]
      gtk-theme-name=Breeze-Dark
      gtk-cursor-theme-size=0
      gtk-toolbar-style=GTK_TOOLBAR_BOTH
      gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
      gtk-button-images=1
      gtk-menu-images=1
      gtk-enable-event-sounds=1
      gtk-enable-input-feedback-sounds=1
      gtk-xft-antialias=1
      gtk-xft-hinting=1
      gtk-xft-hintstyle=hintfull
      gtk-key-theme-name=Emacs
      gtk-font-name=JetBrainsMonoNL Nerd Font Mono, 10
      gtk-sound-theme-name=freedesktop
      gtk-icon-theme-name=Papirus
      gtk-cursor-theme-name=Bibata-Modern-Classic
      gtk-application-prefer-dark-theme=1
      

Dunst

  1: # -*- eval: (rainbow-mode 1) -*-
  2: # See dunst(5) for all configuration options
  3: 
  4: [global]
  5:     ### Display ###
  6: 
  7:     # Which monitor should the notifications be displayed on.
  8:     monitor = 0
  9: 
 10:     # Display notification on focused monitor.  Possible modes are:
 11:     #   mouse: follow mouse pointer
 12:     #   keyboard: follow window with keyboard focus
 13:     #   none: don't follow anything
 14:     #
 15:     # "keyboard" needs a window manager that exports the
 16:     # _NET_ACTIVE_WINDOW property.
 17:     # This should be the case for almost all modern window managers.
 18:     #
 19:     # If this option is set to mouse or keyboard, the monitor option
 20:     # will be ignored.
 21:     follow = none
 22: 
 23:     ### Geometry ###
 24: 
 25:     # dynamic width from 0 to 300
 26:     # width = (0, 300)
 27:     # constant width of 300
 28:     width = (0, 600)
 29: 
 30:     # The maximum height of a single notification, excluding the frame.
 31:     height = 222
 32: 
 33:     # Position the notification in the top right corner
 34:     origin = top-right
 35: 
 36:     # Offset from the origin
 37:     offset = 25x50
 38: 
 39:     # Scale factor. It is auto-detected if value is 0.
 40:     scale = 0
 41: 
 42:     # Maximum number of notification (0 means no limit)
 43:     notification_limit = 20
 44: 
 45:     ### Progress bar ###
 46: 
 47:     # Turn on the progess bar. It appears when a progress hint is passed with
 48:     # for example dunstify -h int:value:12
 49:     progress_bar = true
 50: 
 51:     # Set the progress bar height. This includes the frame, so make sure
 52:     # it's at least twice as big as the frame width.
 53:     progress_bar_height = 5
 54: 
 55:     # Set the frame width of the progress bar
 56:     progress_bar_frame_width = 0
 57: 
 58:     # Set the minimum width for the progress bar
 59:     progress_bar_min_width = 0
 60: 
 61:     # Set the maximum width for the progress bar
 62:     progress_bar_max_width = 444
 63: 
 64:     # Corner radius for the progress bar. 0 disables rounded corners.
 65:     progress_bar_corner_radius = 0
 66: 
 67:     # Corner radius for the icon image.
 68:     icon_corner_radius = 0
 69: 
 70:     # Show how many messages are currently hidden (because of
 71:     # notification_limit).
 72:     indicate_hidden = yes
 73: 
 74:     # The transparency of the window.  Range: [0; 100].
 75:     # This option will only work if a compositing window manager is
 76:     # present (e.g. xcompmgr, compiz, etc.). (X11 only)
 77:     transparency = 3
 78: 
 79:     # Draw a line of "separator_height" pixel height between two
 80:     # notifications.
 81:     # Set to 0 to disable.
 82:     # If gap_size is greater than 0, this setting will be ignored.
 83:     separator_height = 2
 84: 
 85:     # Padding between text and separator.
 86:     padding = 8
 87: 
 88:     # Horizontal padding.
 89:     horizontal_padding = 11
 90: 
 91:     # Padding between text and icon.
 92:     text_icon_padding = 0
 93: 
 94:     # Defines width in pixels of frame around the notification window.
 95:     # Set to 0 to disable.
 96:     frame_width = 0
 97: 
 98:     # Defines color of the frame around the notification window.
 99:     frame_color = "#e5e9f0"
100: 
101:     # Size of gap to display between notifications - requires a compositor.
102:     # If value is greater than 0, separator_height will be ignored and a border
103:     # of size frame_width will be drawn around each notification instead.
104:     # Click events on gaps do not currently propagate to applications below.
105:     gap_size = 0
106: 
107:     # Define a color for the separator.
108:     # possible values are:
109:     #  * auto: dunst tries to find a color fitting to the background;
110:     #  * foreground: use the same color as the foreground;
111:     #  * frame: use the same color as the frame;
112:     #  * anything else will be interpreted as a X color.
113:     separator_color = "#e5e9f0"
114: 
115:     # Sort messages by urgency.
116:     sort = yes
117: 
118:     # Don't remove messages, if the user is idle (no mouse or keyboard input)
119:     # for longer than idle_threshold seconds.
120:     # Set to 0 to disable.
121:     # A client can set the 'transient' hint to bypass this. See the rules
122:     # section for how to disable this if necessary
123:     # idle_threshold = 120
124: 
125:     ### Text ###
126: 
127:     font = JetBrainsMonoNL Nerd Font Mono 10
128: 
129:     # The spacing between lines.  If the height is smaller than the
130:     # font height, it will get raised to the font height.
131:     line_height = 0
132: 
133:     # Possible values are:
134:     # full: Allow a small subset of html markup in notifications:
135:     #        <b>bold</b>
136:     #        <i>italic</i>
137:     #        <s>strikethrough</s>
138:     #        <u>underline</u>
139:     #
140:     #        For a complete reference see
141:     #        142:     #
143:     # strip: This setting is provided for compatibility with some broken
144:     #        clients that send markup even though it's not enabled on the
145:     #        server. Dunst will try to strip the markup but the parsing is
146:     #        simplistic so using this option outside of matching rules for
147:     #        specific applications *IS GREATLY DISCOURAGED*.
148:     #
149:     # no:    Disable markup parsing, incoming notifications will be treated as
150:     #        plain text. Dunst will not advertise that it has the body-markup
151:     #        capability if this is set as a global setting.
152:     #
153:     # It's important to note that markup inside the format option will be parsed
154:     # regardless of what this is set to.
155:     markup = full
156: 
157:     # The format of the message.  Possible variables are:
158:     #   %a  appname
159:     #   %s  summary
160:     #   %b  body
161:     #   %i  iconname (including its path)
162:     #   %I  iconname (without its path)
163:     #   %p  progress value if set ([  0%] to [100%]) or nothing
164:     #   %n  progress value if set without any extra characters
165:     #   %%  Literal %
166:     # Markup is allowed
167:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span"><https://docs.gtk.org/Pango/pango_markup.html>.168:     #
169:     # strip: This setting is provided for compatibility with some broken
170:     #        clients that send markup even though it's not enabled on the
171:     #        server. Dunst will try to strip the markup but the parsing is
172:     #        simplistic so using this option outside of matching rules for
173:     #        specific applications *IS GREATLY DISCOURAGED*.
174:     #
175:     # no:    Disable markup parsing, incoming notifications will be treated as
176:     #        plain text. Dunst will not advertise that it has the body-markup
177:     #        capability if this is set as a global setting.
178:     #
179:     # It's important to note that markup inside the format option will be parsed
180:     # regardless of what this is set to.
181:     markup = full
182: 
183:     # The format of the message.  Possible variables are:
184:     #   %a  appname
185:     #   %s  summary
186:     #   %b  body
187:     #   %i  iconname (including its path)
188:     #   %I  iconname (without its path)
189:     #   %p  progress value if set ([  0%] to [100%]) or nothing
190:     #   %n  progress value if set without any extra characters
191:     #   %%  Literal %
192:     # Markup is allowed
193:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
194:     195:     #
196:     # strip: This setting is provided for compatibility with some broken
197:     #        clients that send markup even though it's not enabled on the
198:     #        server. Dunst will try to strip the markup but the parsing is
199:     #        simplistic so using this option outside of matching rules for
200:     #        specific applications *IS GREATLY DISCOURAGED*.
201:     #
202:     # no:    Disable markup parsing, incoming notifications will be treated as
203:     #        plain text. Dunst will not advertise that it has the body-markup
204:     #        capability if this is set as a global setting.
205:     #
206:     # It's important to note that markup inside the format option will be parsed
207:     # regardless of what this is set to.
208:     markup = full
209: 
210:     # The format of the message.  Possible variables are:
211:     #   %a  appname
212:     #   %s  summary
213:     #   %b  body
214:     #   %i  iconname (including its path)
215:     #   %I  iconname (without its path)
216:     #   %p  progress value if set ([  0%] to [100%]) or nothing
217:     #   %n  progress value if set without any extra characters
218:     #   %%  Literal %
219:     # Markup is allowed
220:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">#221:     #
222:     # strip: This setting is provided for compatibility with some broken
223:     #        clients that send markup even though it's not enabled on the
224:     #        server. Dunst will try to strip the markup but the parsing is
225:     #        simplistic so using this option outside of matching rules for
226:     #        specific applications *IS GREATLY DISCOURAGED*.
227:     #
228:     # no:    Disable markup parsing, incoming notifications will be treated as
229:     #        plain text. Dunst will not advertise that it has the body-markup
230:     #        capability if this is set as a global setting.
231:     #
232:     # It's important to note that markup inside the format option will be parsed
233:     # regardless of what this is set to.
234:     markup = full
235: 
236:     # The format of the message.  Possible variables are:
237:     #   %a  appname
238:     #   %s  summary
239:     #   %b  body
240:     #   %i  iconname (including its path)
241:     #   %I  iconname (without its path)
242:     #   %p  progress value if set ([  0%] to [100%]) or nothing
243:     #   %n  progress value if set without any extra characters
244:     #   %%  Literal %
245:     # Markup is allowed
246:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
247:     248:     #
249:     # strip: This setting is provided for compatibility with some broken
250:     #        clients that send markup even though it's not enabled on the
251:     #        server. Dunst will try to strip the markup but the parsing is
252:     #        simplistic so using this option outside of matching rules for
253:     #        specific applications *IS GREATLY DISCOURAGED*.
254:     #
255:     # no:    Disable markup parsing, incoming notifications will be treated as
256:     #        plain text. Dunst will not advertise that it has the body-markup
257:     #        capability if this is set as a global setting.
258:     #
259:     # It's important to note that markup inside the format option will be parsed
260:     # regardless of what this is set to.
261:     markup = full
262: 
263:     # The format of the message.  Possible variables are:
264:     #   %a  appname
265:     #   %s  summary
266:     #   %b  body
267:     #   %i  iconname (including its path)
268:     #   %I  iconname (without its path)
269:     #   %p  progress value if set ([  0%] to [100%]) or nothing
270:     #   %n  progress value if set without any extra characters
271:     #   %%  Literal %
272:     # Markup is allowed
273:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span"># 274:     #
275:     # strip: This setting is provided for compatibility with some broken
276:     #        clients that send markup even though it's not enabled on the
277:     #        server. Dunst will try to strip the markup but the parsing is
278:     #        simplistic so using this option outside of matching rules for
279:     #        specific applications *IS GREATLY DISCOURAGED*.
280:     #
281:     # no:    Disable markup parsing, incoming notifications will be treated as
282:     #        plain text. Dunst will not advertise that it has the body-markup
283:     #        capability if this is set as a global setting.
284:     #
285:     # It's important to note that markup inside the format option will be parsed
286:     # regardless of what this is set to.
287:     markup = full
288: 
289:     # The format of the message.  Possible variables are:
290:     #   %a  appname
291:     #   %s  summary
292:     #   %b  body
293:     #   %i  iconname (including its path)
294:     #   %I  iconname (without its path)
295:     #   %p  progress value if set ([  0%] to [100%]) or nothing
296:     #   %n  progress value if set without any extra characters
297:     #   %%  Literal %
298:     # Markup is allowed
299:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">strip: This setting is provided for compatibility with some broken300:     #
301:     # strip: This setting is provided for compatibility with some broken
302:     #        clients that send markup even though it's not enabled on the
303:     #        server. Dunst will try to strip the markup but the parsing is
304:     #        simplistic so using this option outside of matching rules for
305:     #        specific applications *IS GREATLY DISCOURAGED*.
306:     #
307:     # no:    Disable markup parsing, incoming notifications will be treated as
308:     #        plain text. Dunst will not advertise that it has the body-markup
309:     #        capability if this is set as a global setting.
310:     #
311:     # It's important to note that markup inside the format option will be parsed
312:     # regardless of what this is set to.
313:     markup = full
314: 
315:     # The format of the message.  Possible variables are:
316:     #   %a  appname
317:     #   %s  summary
318:     #   %b  body
319:     #   %i  iconname (including its path)
320:     #   %I  iconname (without its path)
321:     #   %p  progress value if set ([  0%] to [100%]) or nothing
322:     #   %n  progress value if set without any extra characters
323:     #   %%  Literal %
324:     # Markup is allowed
325:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
326:     327:     #
328:     # strip: This setting is provided for compatibility with some broken
329:     #        clients that send markup even though it's not enabled on the
330:     #        server. Dunst will try to strip the markup but the parsing is
331:     #        simplistic so using this option outside of matching rules for
332:     #        specific applications *IS GREATLY DISCOURAGED*.
333:     #
334:     # no:    Disable markup parsing, incoming notifications will be treated as
335:     #        plain text. Dunst will not advertise that it has the body-markup
336:     #        capability if this is set as a global setting.
337:     #
338:     # It's important to note that markup inside the format option will be parsed
339:     # regardless of what this is set to.
340:     markup = full
341: 
342:     # The format of the message.  Possible variables are:
343:     #   %a  appname
344:     #   %s  summary
345:     #   %b  body
346:     #   %i  iconname (including its path)
347:     #   %I  iconname (without its path)
348:     #   %p  progress value if set ([  0%] to [100%]) or nothing
349:     #   %n  progress value if set without any extra characters
350:     #   %%  Literal %
351:     # Markup is allowed
352:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">#        353:     #
354:     # strip: This setting is provided for compatibility with some broken
355:     #        clients that send markup even though it's not enabled on the
356:     #        server. Dunst will try to strip the markup but the parsing is
357:     #        simplistic so using this option outside of matching rules for
358:     #        specific applications *IS GREATLY DISCOURAGED*.
359:     #
360:     # no:    Disable markup parsing, incoming notifications will be treated as
361:     #        plain text. Dunst will not advertise that it has the body-markup
362:     #        capability if this is set as a global setting.
363:     #
364:     # It's important to note that markup inside the format option will be parsed
365:     # regardless of what this is set to.
366:     markup = full
367: 
368:     # The format of the message.  Possible variables are:
369:     #   %a  appname
370:     #   %s  summary
371:     #   %b  body
372:     #   %i  iconname (including its path)
373:     #   %I  iconname (without its path)
374:     #   %p  progress value if set ([  0%] to [100%]) or nothing
375:     #   %n  progress value if set without any extra characters
376:     #   %%  Literal %
377:     # Markup is allowed
378:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">clients that send markup even though it's not enabled on the379:     #
380:     # strip: This setting is provided for compatibility with some broken
381:     #        clients that send markup even though it's not enabled on the
382:     #        server. Dunst will try to strip the markup but the parsing is
383:     #        simplistic so using this option outside of matching rules for
384:     #        specific applications *IS GREATLY DISCOURAGED*.
385:     #
386:     # no:    Disable markup parsing, incoming notifications will be treated as
387:     #        plain text. Dunst will not advertise that it has the body-markup
388:     #        capability if this is set as a global setting.
389:     #
390:     # It's important to note that markup inside the format option will be parsed
391:     # regardless of what this is set to.
392:     markup = full
393: 
394:     # The format of the message.  Possible variables are:
395:     #   %a  appname
396:     #   %s  summary
397:     #   %b  body
398:     #   %i  iconname (including its path)
399:     #   %I  iconname (without its path)
400:     #   %p  progress value if set ([  0%] to [100%]) or nothing
401:     #   %n  progress value if set without any extra characters
402:     #   %%  Literal %
403:     # Markup is allowed
404:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
405:     406:     #
407:     # strip: This setting is provided for compatibility with some broken
408:     #        clients that send markup even though it's not enabled on the
409:     #        server. Dunst will try to strip the markup but the parsing is
410:     #        simplistic so using this option outside of matching rules for
411:     #        specific applications *IS GREATLY DISCOURAGED*.
412:     #
413:     # no:    Disable markup parsing, incoming notifications will be treated as
414:     #        plain text. Dunst will not advertise that it has the body-markup
415:     #        capability if this is set as a global setting.
416:     #
417:     # It's important to note that markup inside the format option will be parsed
418:     # regardless of what this is set to.
419:     markup = full
420: 
421:     # The format of the message.  Possible variables are:
422:     #   %a  appname
423:     #   %s  summary
424:     #   %b  body
425:     #   %i  iconname (including its path)
426:     #   %I  iconname (without its path)
427:     #   %p  progress value if set ([  0%] to [100%]) or nothing
428:     #   %n  progress value if set without any extra characters
429:     #   %%  Literal %
430:     # Markup is allowed
431:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">#        432:     #
433:     # strip: This setting is provided for compatibility with some broken
434:     #        clients that send markup even though it's not enabled on the
435:     #        server. Dunst will try to strip the markup but the parsing is
436:     #        simplistic so using this option outside of matching rules for
437:     #        specific applications *IS GREATLY DISCOURAGED*.
438:     #
439:     # no:    Disable markup parsing, incoming notifications will be treated as
440:     #        plain text. Dunst will not advertise that it has the body-markup
441:     #        capability if this is set as a global setting.
442:     #
443:     # It's important to note that markup inside the format option will be parsed
444:     # regardless of what this is set to.
445:     markup = full
446: 
447:     # The format of the message.  Possible variables are:
448:     #   %a  appname
449:     #   %s  summary
450:     #   %b  body
451:     #   %i  iconname (including its path)
452:     #   %I  iconname (without its path)
453:     #   %p  progress value if set ([  0%] to [100%]) or nothing
454:     #   %n  progress value if set without any extra characters
455:     #   %%  Literal %
456:     # Markup is allowed
457:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">server. Dunst will try to strip the markup but the parsing is458:     #
459:     # strip: This setting is provided for compatibility with some broken
460:     #        clients that send markup even though it's not enabled on the
461:     #        server. Dunst will try to strip the markup but the parsing is
462:     #        simplistic so using this option outside of matching rules for
463:     #        specific applications *IS GREATLY DISCOURAGED*.
464:     #
465:     # no:    Disable markup parsing, incoming notifications will be treated as
466:     #        plain text. Dunst will not advertise that it has the body-markup
467:     #        capability if this is set as a global setting.
468:     #
469:     # It's important to note that markup inside the format option will be parsed
470:     # regardless of what this is set to.
471:     markup = full
472: 
473:     # The format of the message.  Possible variables are:
474:     #   %a  appname
475:     #   %s  summary
476:     #   %b  body
477:     #   %i  iconname (including its path)
478:     #   %I  iconname (without its path)
479:     #   %p  progress value if set ([  0%] to [100%]) or nothing
480:     #   %n  progress value if set without any extra characters
481:     #   %%  Literal %
482:     # Markup is allowed
483:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
484:     485:     #
486:     # strip: This setting is provided for compatibility with some broken
487:     #        clients that send markup even though it's not enabled on the
488:     #        server. Dunst will try to strip the markup but the parsing is
489:     #        simplistic so using this option outside of matching rules for
490:     #        specific applications *IS GREATLY DISCOURAGED*.
491:     #
492:     # no:    Disable markup parsing, incoming notifications will be treated as
493:     #        plain text. Dunst will not advertise that it has the body-markup
494:     #        capability if this is set as a global setting.
495:     #
496:     # It's important to note that markup inside the format option will be parsed
497:     # regardless of what this is set to.
498:     markup = full
499: 
500:     # The format of the message.  Possible variables are:
501:     #   %a  appname
502:     #   %s  summary
503:     #   %b  body
504:     #   %i  iconname (including its path)
505:     #   %I  iconname (without its path)
506:     #   %p  progress value if set ([  0%] to [100%]) or nothing
507:     #   %n  progress value if set without any extra characters
508:     #   %%  Literal %
509:     # Markup is allowed
510:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">#        511:     #
512:     # strip: This setting is provided for compatibility with some broken
513:     #        clients that send markup even though it's not enabled on the
514:     #        server. Dunst will try to strip the markup but the parsing is
515:     #        simplistic so using this option outside of matching rules for
516:     #        specific applications *IS GREATLY DISCOURAGED*.
517:     #
518:     # no:    Disable markup parsing, incoming notifications will be treated as
519:     #        plain text. Dunst will not advertise that it has the body-markup
520:     #        capability if this is set as a global setting.
521:     #
522:     # It's important to note that markup inside the format option will be parsed
523:     # regardless of what this is set to.
524:     markup = full
525: 
526:     # The format of the message.  Possible variables are:
527:     #   %a  appname
528:     #   %s  summary
529:     #   %b  body
530:     #   %i  iconname (including its path)
531:     #   %I  iconname (without its path)
532:     #   %p  progress value if set ([  0%] to [100%]) or nothing
533:     #   %n  progress value if set without any extra characters
534:     #   %%  Literal %
535:     # Markup is allowed
536:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">simplistic so using this option outside of matching rules for537:     #
538:     # strip: This setting is provided for compatibility with some broken
539:     #        clients that send markup even though it's not enabled on the
540:     #        server. Dunst will try to strip the markup but the parsing is
541:     #        simplistic so using this option outside of matching rules for
542:     #        specific applications *IS GREATLY DISCOURAGED*.
543:     #
544:     # no:    Disable markup parsing, incoming notifications will be treated as
545:     #        plain text. Dunst will not advertise that it has the body-markup
546:     #        capability if this is set as a global setting.
547:     #
548:     # It's important to note that markup inside the format option will be parsed
549:     # regardless of what this is set to.
550:     markup = full
551: 
552:     # The format of the message.  Possible variables are:
553:     #   %a  appname
554:     #   %s  summary
555:     #   %b  body
556:     #   %i  iconname (including its path)
557:     #   %I  iconname (without its path)
558:     #   %p  progress value if set ([  0%] to [100%]) or nothing
559:     #   %n  progress value if set without any extra characters
560:     #   %%  Literal %
561:     # Markup is allowed
562:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
563:     564:     #
565:     # strip: This setting is provided for compatibility with some broken
566:     #        clients that send markup even though it's not enabled on the
567:     #        server. Dunst will try to strip the markup but the parsing is
568:     #        simplistic so using this option outside of matching rules for
569:     #        specific applications *IS GREATLY DISCOURAGED*.
570:     #
571:     # no:    Disable markup parsing, incoming notifications will be treated as
572:     #        plain text. Dunst will not advertise that it has the body-markup
573:     #        capability if this is set as a global setting.
574:     #
575:     # It's important to note that markup inside the format option will be parsed
576:     # regardless of what this is set to.
577:     markup = full
578: 
579:     # The format of the message.  Possible variables are:
580:     #   %a  appname
581:     #   %s  summary
582:     #   %b  body
583:     #   %i  iconname (including its path)
584:     #   %I  iconname (without its path)
585:     #   %p  progress value if set ([  0%] to [100%]) or nothing
586:     #   %n  progress value if set without any extra characters
587:     #   %%  Literal %
588:     # Markup is allowed
589:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">#        590:     #
591:     # strip: This setting is provided for compatibility with some broken
592:     #        clients that send markup even though it's not enabled on the
593:     #        server. Dunst will try to strip the markup but the parsing is
594:     #        simplistic so using this option outside of matching rules for
595:     #        specific applications *IS GREATLY DISCOURAGED*.
596:     #
597:     # no:    Disable markup parsing, incoming notifications will be treated as
598:     #        plain text. Dunst will not advertise that it has the body-markup
599:     #        capability if this is set as a global setting.
600:     #
601:     # It's important to note that markup inside the format option will be parsed
602:     # regardless of what this is set to.
603:     markup = full
604: 
605:     # The format of the message.  Possible variables are:
606:     #   %a  appname
607:     #   %s  summary
608:     #   %b  body
609:     #   %i  iconname (including its path)
610:     #   %I  iconname (without its path)
611:     #   %p  progress value if set ([  0%] to [100%]) or nothing
612:     #   %n  progress value if set without any extra characters
613:     #   %%  Literal %
614:     # Markup is allowed
615:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">specific applications *IS GREATLY DISCOURAGED*.616:     #
617:     # strip: This setting is provided for compatibility with some broken
618:     #        clients that send markup even though it's not enabled on the
619:     #        server. Dunst will try to strip the markup but the parsing is
620:     #        simplistic so using this option outside of matching rules for
621:     #        specific applications *IS GREATLY DISCOURAGED*.
622:     #
623:     # no:    Disable markup parsing, incoming notifications will be treated as
624:     #        plain text. Dunst will not advertise that it has the body-markup
625:     #        capability if this is set as a global setting.
626:     #
627:     # It's important to note that markup inside the format option will be parsed
628:     # regardless of what this is set to.
629:     markup = full
630: 
631:     # The format of the message.  Possible variables are:
632:     #   %a  appname
633:     #   %s  summary
634:     #   %b  body
635:     #   %i  iconname (including its path)
636:     #   %I  iconname (without its path)
637:     #   %p  progress value if set ([  0%] to [100%]) or nothing
638:     #   %n  progress value if set without any extra characters
639:     #   %%  Literal %
640:     # Markup is allowed
641:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
642:     643:     #
644:     # strip: This setting is provided for compatibility with some broken
645:     #        clients that send markup even though it's not enabled on the
646:     #        server. Dunst will try to strip the markup but the parsing is
647:     #        simplistic so using this option outside of matching rules for
648:     #        specific applications *IS GREATLY DISCOURAGED*.
649:     #
650:     # no:    Disable markup parsing, incoming notifications will be treated as
651:     #        plain text. Dunst will not advertise that it has the body-markup
652:     #        capability if this is set as a global setting.
653:     #
654:     # It's important to note that markup inside the format option will be parsed
655:     # regardless of what this is set to.
656:     markup = full
657: 
658:     # The format of the message.  Possible variables are:
659:     #   %a  appname
660:     #   %s  summary
661:     #   %b  body
662:     #   %i  iconname (including its path)
663:     #   %I  iconname (without its path)
664:     #   %p  progress value if set ([  0%] to [100%]) or nothing
665:     #   %n  progress value if set without any extra characters
666:     #   %%  Literal %
667:     # Markup is allowed
668:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">#669:     #
670:     # strip: This setting is provided for compatibility with some broken
671:     #        clients that send markup even though it's not enabled on the
672:     #        server. Dunst will try to strip the markup but the parsing is
673:     #        simplistic so using this option outside of matching rules for
674:     #        specific applications *IS GREATLY DISCOURAGED*.
675:     #
676:     # no:    Disable markup parsing, incoming notifications will be treated as
677:     #        plain text. Dunst will not advertise that it has the body-markup
678:     #        capability if this is set as a global setting.
679:     #
680:     # It's important to note that markup inside the format option will be parsed
681:     # regardless of what this is set to.
682:     markup = full
683: 
684:     # The format of the message.  Possible variables are:
685:     #   %a  appname
686:     #   %s  summary
687:     #   %b  body
688:     #   %i  iconname (including its path)
689:     #   %I  iconname (without its path)
690:     #   %p  progress value if set ([  0%] to [100%]) or nothing
691:     #   %n  progress value if set without any extra characters
692:     #   %%  Literal %
693:     # Markup is allowed
694:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
695:     696:     #
697:     # strip: This setting is provided for compatibility with some broken
698:     #        clients that send markup even though it's not enabled on the
699:     #        server. Dunst will try to strip the markup but the parsing is
700:     #        simplistic so using this option outside of matching rules for
701:     #        specific applications *IS GREATLY DISCOURAGED*.
702:     #
703:     # no:    Disable markup parsing, incoming notifications will be treated as
704:     #        plain text. Dunst will not advertise that it has the body-markup
705:     #        capability if this is set as a global setting.
706:     #
707:     # It's important to note that markup inside the format option will be parsed
708:     # regardless of what this is set to.
709:     markup = full
710: 
711:     # The format of the message.  Possible variables are:
712:     #   %a  appname
713:     #   %s  summary
714:     #   %b  body
715:     #   %i  iconname (including its path)
716:     #   %I  iconname (without its path)
717:     #   %p  progress value if set ([  0%] to [100%]) or nothing
718:     #   %n  progress value if set without any extra characters
719:     #   %%  Literal %
720:     # Markup is allowed
721:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span"># 722:     #
723:     # strip: This setting is provided for compatibility with some broken
724:     #        clients that send markup even though it's not enabled on the
725:     #        server. Dunst will try to strip the markup but the parsing is
726:     #        simplistic so using this option outside of matching rules for
727:     #        specific applications *IS GREATLY DISCOURAGED*.
728:     #
729:     # no:    Disable markup parsing, incoming notifications will be treated as
730:     #        plain text. Dunst will not advertise that it has the body-markup
731:     #        capability if this is set as a global setting.
732:     #
733:     # It's important to note that markup inside the format option will be parsed
734:     # regardless of what this is set to.
735:     markup = full
736: 
737:     # The format of the message.  Possible variables are:
738:     #   %a  appname
739:     #   %s  summary
740:     #   %b  body
741:     #   %i  iconname (including its path)
742:     #   %I  iconname (without its path)
743:     #   %p  progress value if set ([  0%] to [100%]) or nothing
744:     #   %n  progress value if set without any extra characters
745:     #   %%  Literal %
746:     # Markup is allowed
747:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">no:    Disable markup parsing, incoming notifications will be treated as748:     #
749:     # strip: This setting is provided for compatibility with some broken
750:     #        clients that send markup even though it's not enabled on the
751:     #        server. Dunst will try to strip the markup but the parsing is
752:     #        simplistic so using this option outside of matching rules for
753:     #        specific applications *IS GREATLY DISCOURAGED*.
754:     #
755:     # no:    Disable markup parsing, incoming notifications will be treated as
756:     #        plain text. Dunst will not advertise that it has the body-markup
757:     #        capability if this is set as a global setting.
758:     #
759:     # It's important to note that markup inside the format option will be parsed
760:     # regardless of what this is set to.
761:     markup = full
762: 
763:     # The format of the message.  Possible variables are:
764:     #   %a  appname
765:     #   %s  summary
766:     #   %b  body
767:     #   %i  iconname (including its path)
768:     #   %I  iconname (without its path)
769:     #   %p  progress value if set ([  0%] to [100%]) or nothing
770:     #   %n  progress value if set without any extra characters
771:     #   %%  Literal %
772:     # Markup is allowed
773:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
774:     775:     #
776:     # strip: This setting is provided for compatibility with some broken
777:     #        clients that send markup even though it's not enabled on the
778:     #        server. Dunst will try to strip the markup but the parsing is
779:     #        simplistic so using this option outside of matching rules for
780:     #        specific applications *IS GREATLY DISCOURAGED*.
781:     #
782:     # no:    Disable markup parsing, incoming notifications will be treated as
783:     #        plain text. Dunst will not advertise that it has the body-markup
784:     #        capability if this is set as a global setting.
785:     #
786:     # It's important to note that markup inside the format option will be parsed
787:     # regardless of what this is set to.
788:     markup = full
789: 
790:     # The format of the message.  Possible variables are:
791:     #   %a  appname
792:     #   %s  summary
793:     #   %b  body
794:     #   %i  iconname (including its path)
795:     #   %I  iconname (without its path)
796:     #   %p  progress value if set ([  0%] to [100%]) or nothing
797:     #   %n  progress value if set without any extra characters
798:     #   %%  Literal %
799:     # Markup is allowed
800:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">#        801:     #
802:     # strip: This setting is provided for compatibility with some broken
803:     #        clients that send markup even though it's not enabled on the
804:     #        server. Dunst will try to strip the markup but the parsing is
805:     #        simplistic so using this option outside of matching rules for
806:     #        specific applications *IS GREATLY DISCOURAGED*.
807:     #
808:     # no:    Disable markup parsing, incoming notifications will be treated as
809:     #        plain text. Dunst will not advertise that it has the body-markup
810:     #        capability if this is set as a global setting.
811:     #
812:     # It's important to note that markup inside the format option will be parsed
813:     # regardless of what this is set to.
814:     markup = full
815: 
816:     # The format of the message.  Possible variables are:
817:     #   %a  appname
818:     #   %s  summary
819:     #   %b  body
820:     #   %i  iconname (including its path)
821:     #   %I  iconname (without its path)
822:     #   %p  progress value if set ([  0%] to [100%]) or nothing
823:     #   %n  progress value if set without any extra characters
824:     #   %%  Literal %
825:     # Markup is allowed
826:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">plain text. Dunst will not advertise that it has the body-markup827:     #
828:     # strip: This setting is provided for compatibility with some broken
829:     #        clients that send markup even though it's not enabled on the
830:     #        server. Dunst will try to strip the markup but the parsing is
831:     #        simplistic so using this option outside of matching rules for
832:     #        specific applications *IS GREATLY DISCOURAGED*.
833:     #
834:     # no:    Disable markup parsing, incoming notifications will be treated as
835:     #        plain text. Dunst will not advertise that it has the body-markup
836:     #        capability if this is set as a global setting.
837:     #
838:     # It's important to note that markup inside the format option will be parsed
839:     # regardless of what this is set to.
840:     markup = full
841: 
842:     # The format of the message.  Possible variables are:
843:     #   %a  appname
844:     #   %s  summary
845:     #   %b  body
846:     #   %i  iconname (including its path)
847:     #   %I  iconname (without its path)
848:     #   %p  progress value if set ([  0%] to [100%]) or nothing
849:     #   %n  progress value if set without any extra characters
850:     #   %%  Literal %
851:     # Markup is allowed
852:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
853:     854:     #
855:     # strip: This setting is provided for compatibility with some broken
856:     #        clients that send markup even though it's not enabled on the
857:     #        server. Dunst will try to strip the markup but the parsing is
858:     #        simplistic so using this option outside of matching rules for
859:     #        specific applications *IS GREATLY DISCOURAGED*.
860:     #
861:     # no:    Disable markup parsing, incoming notifications will be treated as
862:     #        plain text. Dunst will not advertise that it has the body-markup
863:     #        capability if this is set as a global setting.
864:     #
865:     # It's important to note that markup inside the format option will be parsed
866:     # regardless of what this is set to.
867:     markup = full
868: 
869:     # The format of the message.  Possible variables are:
870:     #   %a  appname
871:     #   %s  summary
872:     #   %b  body
873:     #   %i  iconname (including its path)
874:     #   %I  iconname (without its path)
875:     #   %p  progress value if set ([  0%] to [100%]) or nothing
876:     #   %n  progress value if set without any extra characters
877:     #   %%  Literal %
878:     # Markup is allowed
879:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">#        880:     #
881:     # strip: This setting is provided for compatibility with some broken
882:     #        clients that send markup even though it's not enabled on the
883:     #        server. Dunst will try to strip the markup but the parsing is
884:     #        simplistic so using this option outside of matching rules for
885:     #        specific applications *IS GREATLY DISCOURAGED*.
886:     #
887:     # no:    Disable markup parsing, incoming notifications will be treated as
888:     #        plain text. Dunst will not advertise that it has the body-markup
889:     #        capability if this is set as a global setting.
890:     #
891:     # It's important to note that markup inside the format option will be parsed
892:     # regardless of what this is set to.
893:     markup = full
894: 
895:     # The format of the message.  Possible variables are:
896:     #   %a  appname
897:     #   %s  summary
898:     #   %b  body
899:     #   %i  iconname (including its path)
900:     #   %I  iconname (without its path)
901:     #   %p  progress value if set ([  0%] to [100%]) or nothing
902:     #   %n  progress value if set without any extra characters
903:     #   %%  Literal %
904:     # Markup is allowed
905:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">capability if this is set as a global setting.906:     #
907:     # strip: This setting is provided for compatibility with some broken
908:     #        clients that send markup even though it's not enabled on the
909:     #        server. Dunst will try to strip the markup but the parsing is
910:     #        simplistic so using this option outside of matching rules for
911:     #        specific applications *IS GREATLY DISCOURAGED*.
912:     #
913:     # no:    Disable markup parsing, incoming notifications will be treated as
914:     #        plain text. Dunst will not advertise that it has the body-markup
915:     #        capability if this is set as a global setting.
916:     #
917:     # It's important to note that markup inside the format option will be parsed
918:     # regardless of what this is set to.
919:     markup = full
920: 
921:     # The format of the message.  Possible variables are:
922:     #   %a  appname
923:     #   %s  summary
924:     #   %b  body
925:     #   %i  iconname (including its path)
926:     #   %I  iconname (without its path)
927:     #   %p  progress value if set ([  0%] to [100%]) or nothing
928:     #   %n  progress value if set without any extra characters
929:     #   %%  Literal %
930:     # Markup is allowed
931:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
932:     933:     #
934:     # strip: This setting is provided for compatibility with some broken
935:     #        clients that send markup even though it's not enabled on the
936:     #        server. Dunst will try to strip the markup but the parsing is
937:     #        simplistic so using this option outside of matching rules for
938:     #        specific applications *IS GREATLY DISCOURAGED*.
939:     #
940:     # no:    Disable markup parsing, incoming notifications will be treated as
941:     #        plain text. Dunst will not advertise that it has the body-markup
942:     #        capability if this is set as a global setting.
943:     #
944:     # It's important to note that markup inside the format option will be parsed
945:     # regardless of what this is set to.
946:     markup = full
947: 
948:     # The format of the message.  Possible variables are:
949:     #   %a  appname
950:     #   %s  summary
951:     #   %b  body
952:     #   %i  iconname (including its path)
953:     #   %I  iconname (without its path)
954:     #   %p  progress value if set ([  0%] to [100%]) or nothing
955:     #   %n  progress value if set without any extra characters
956:     #   %%  Literal %
957:     # Markup is allowed
958:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">#959:     #
960:     # strip: This setting is provided for compatibility with some broken
961:     #        clients that send markup even though it's not enabled on the
962:     #        server. Dunst will try to strip the markup but the parsing is
963:     #        simplistic so using this option outside of matching rules for
964:     #        specific applications *IS GREATLY DISCOURAGED*.
965:     #
966:     # no:    Disable markup parsing, incoming notifications will be treated as
967:     #        plain text. Dunst will not advertise that it has the body-markup
968:     #        capability if this is set as a global setting.
969:     #
970:     # It's important to note that markup inside the format option will be parsed
971:     # regardless of what this is set to.
972:     markup = full
973: 
974:     # The format of the message.  Possible variables are:
975:     #   %a  appname
976:     #   %s  summary
977:     #   %b  body
978:     #   %i  iconname (including its path)
979:     #   %I  iconname (without its path)
980:     #   %p  progress value if set ([  0%] to [100%]) or nothing
981:     #   %n  progress value if set without any extra characters
982:     #   %%  Literal %
983:     # Markup is allowed
984:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
985:     986:     #
987:     # strip: This setting is provided for compatibility with some broken
988:     #        clients that send markup even though it's not enabled on the
989:     #        server. Dunst will try to strip the markup but the parsing is
990:     #        simplistic so using this option outside of matching rules for
991:     #        specific applications *IS GREATLY DISCOURAGED*.
992:     #
993:     # no:    Disable markup parsing, incoming notifications will be treated as
994:     #        plain text. Dunst will not advertise that it has the body-markup
995:     #        capability if this is set as a global setting.
996:     #
997:     # It's important to note that markup inside the format option will be parsed
998:     # regardless of what this is set to.
999:     markup = full
1000: 
1001:     # The format of the message.  Possible variables are:
1002:     #   %a  appname
1003:     #   %s  summary
1004:     #   %b  body
1005:     #   %i  iconname (including its path)
1006:     #   %I  iconname (without its path)
1007:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1008:     #   %n  progress value if set without any extra characters
1009:     #   %%  Literal %
1010:     # Markup is allowed
1011:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span"># 1012:     #
1013:     # strip: This setting is provided for compatibility with some broken
1014:     #        clients that send markup even though it's not enabled on the
1015:     #        server. Dunst will try to strip the markup but the parsing is
1016:     #        simplistic so using this option outside of matching rules for
1017:     #        specific applications *IS GREATLY DISCOURAGED*.
1018:     #
1019:     # no:    Disable markup parsing, incoming notifications will be treated as
1020:     #        plain text. Dunst will not advertise that it has the body-markup
1021:     #        capability if this is set as a global setting.
1022:     #
1023:     # It's important to note that markup inside the format option will be parsed
1024:     # regardless of what this is set to.
1025:     markup = full
1026: 
1027:     # The format of the message.  Possible variables are:
1028:     #   %a  appname
1029:     #   %s  summary
1030:     #   %b  body
1031:     #   %i  iconname (including its path)
1032:     #   %I  iconname (without its path)
1033:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1034:     #   %n  progress value if set without any extra characters
1035:     #   %%  Literal %
1036:     # Markup is allowed
1037:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">It's important to note that markup inside the format option will be parsed1038:     #
1039:     # strip: This setting is provided for compatibility with some broken
1040:     #        clients that send markup even though it's not enabled on the
1041:     #        server. Dunst will try to strip the markup but the parsing is
1042:     #        simplistic so using this option outside of matching rules for
1043:     #        specific applications *IS GREATLY DISCOURAGED*.
1044:     #
1045:     # no:    Disable markup parsing, incoming notifications will be treated as
1046:     #        plain text. Dunst will not advertise that it has the body-markup
1047:     #        capability if this is set as a global setting.
1048:     #
1049:     # It's important to note that markup inside the format option will be parsed
1050:     # regardless of what this is set to.
1051:     markup = full
1052: 
1053:     # The format of the message.  Possible variables are:
1054:     #   %a  appname
1055:     #   %s  summary
1056:     #   %b  body
1057:     #   %i  iconname (including its path)
1058:     #   %I  iconname (without its path)
1059:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1060:     #   %n  progress value if set without any extra characters
1061:     #   %%  Literal %
1062:     # Markup is allowed
1063:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
1064:     1065:     #
1066:     # strip: This setting is provided for compatibility with some broken
1067:     #        clients that send markup even though it's not enabled on the
1068:     #        server. Dunst will try to strip the markup but the parsing is
1069:     #        simplistic so using this option outside of matching rules for
1070:     #        specific applications *IS GREATLY DISCOURAGED*.
1071:     #
1072:     # no:    Disable markup parsing, incoming notifications will be treated as
1073:     #        plain text. Dunst will not advertise that it has the body-markup
1074:     #        capability if this is set as a global setting.
1075:     #
1076:     # It's important to note that markup inside the format option will be parsed
1077:     # regardless of what this is set to.
1078:     markup = full
1079: 
1080:     # The format of the message.  Possible variables are:
1081:     #   %a  appname
1082:     #   %s  summary
1083:     #   %b  body
1084:     #   %i  iconname (including its path)
1085:     #   %I  iconname (without its path)
1086:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1087:     #   %n  progress value if set without any extra characters
1088:     #   %%  Literal %
1089:     # Markup is allowed
1090:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span"># 1091:     #
1092:     # strip: This setting is provided for compatibility with some broken
1093:     #        clients that send markup even though it's not enabled on the
1094:     #        server. Dunst will try to strip the markup but the parsing is
1095:     #        simplistic so using this option outside of matching rules for
1096:     #        specific applications *IS GREATLY DISCOURAGED*.
1097:     #
1098:     # no:    Disable markup parsing, incoming notifications will be treated as
1099:     #        plain text. Dunst will not advertise that it has the body-markup
1100:     #        capability if this is set as a global setting.
1101:     #
1102:     # It's important to note that markup inside the format option will be parsed
1103:     # regardless of what this is set to.
1104:     markup = full
1105: 
1106:     # The format of the message.  Possible variables are:
1107:     #   %a  appname
1108:     #   %s  summary
1109:     #   %b  body
1110:     #   %i  iconname (including its path)
1111:     #   %I  iconname (without its path)
1112:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1113:     #   %n  progress value if set without any extra characters
1114:     #   %%  Literal %
1115:     # Markup is allowed
1116:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">regardless of what this is set to.1117:     #
1118:     # strip: This setting is provided for compatibility with some broken
1119:     #        clients that send markup even though it's not enabled on the
1120:     #        server. Dunst will try to strip the markup but the parsing is
1121:     #        simplistic so using this option outside of matching rules for
1122:     #        specific applications *IS GREATLY DISCOURAGED*.
1123:     #
1124:     # no:    Disable markup parsing, incoming notifications will be treated as
1125:     #        plain text. Dunst will not advertise that it has the body-markup
1126:     #        capability if this is set as a global setting.
1127:     #
1128:     # It's important to note that markup inside the format option will be parsed
1129:     # regardless of what this is set to.
1130:     markup = full
1131: 
1132:     # The format of the message.  Possible variables are:
1133:     #   %a  appname
1134:     #   %s  summary
1135:     #   %b  body
1136:     #   %i  iconname (including its path)
1137:     #   %I  iconname (without its path)
1138:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1139:     #   %n  progress value if set without any extra characters
1140:     #   %%  Literal %
1141:     # Markup is allowed
1142:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
1143:     1144:     #
1145:     # strip: This setting is provided for compatibility with some broken
1146:     #        clients that send markup even though it's not enabled on the
1147:     #        server. Dunst will try to strip the markup but the parsing is
1148:     #        simplistic so using this option outside of matching rules for
1149:     #        specific applications *IS GREATLY DISCOURAGED*.
1150:     #
1151:     # no:    Disable markup parsing, incoming notifications will be treated as
1152:     #        plain text. Dunst will not advertise that it has the body-markup
1153:     #        capability if this is set as a global setting.
1154:     #
1155:     # It's important to note that markup inside the format option will be parsed
1156:     # regardless of what this is set to.
1157:     markup = full
1158: 
1159:     # The format of the message.  Possible variables are:
1160:     #   %a  appname
1161:     #   %s  summary
1162:     #   %b  body
1163:     #   %i  iconname (including its path)
1164:     #   %I  iconname (without its path)
1165:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1166:     #   %n  progress value if set without any extra characters
1167:     #   %%  Literal %
1168:     # Markup is allowed
1169:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">markup1170:     #
1171:     # strip: This setting is provided for compatibility with some broken
1172:     #        clients that send markup even though it's not enabled on the
1173:     #        server. Dunst will try to strip the markup but the parsing is
1174:     #        simplistic so using this option outside of matching rules for
1175:     #        specific applications *IS GREATLY DISCOURAGED*.
1176:     #
1177:     # no:    Disable markup parsing, incoming notifications will be treated as
1178:     #        plain text. Dunst will not advertise that it has the body-markup
1179:     #        capability if this is set as a global setting.
1180:     #
1181:     # It's important to note that markup inside the format option will be parsed
1182:     # regardless of what this is set to.
1183:     markup = full
1184: 
1185:     # The format of the message.  Possible variables are:
1186:     #   %a  appname
1187:     #   %s  summary
1188:     #   %b  body
1189:     #   %i  iconname (including its path)
1190:     #   %I  iconname (without its path)
1191:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1192:     #   %n  progress value if set without any extra characters
1193:     #   %%  Literal %
1194:     # Markup is allowed
1195:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span"> = full
1196: 
1197:     1198:     #
1199:     # strip: This setting is provided for compatibility with some broken
1200:     #        clients that send markup even though it's not enabled on the
1201:     #        server. Dunst will try to strip the markup but the parsing is
1202:     #        simplistic so using this option outside of matching rules for
1203:     #        specific applications *IS GREATLY DISCOURAGED*.
1204:     #
1205:     # no:    Disable markup parsing, incoming notifications will be treated as
1206:     #        plain text. Dunst will not advertise that it has the body-markup
1207:     #        capability if this is set as a global setting.
1208:     #
1209:     # It's important to note that markup inside the format option will be parsed
1210:     # regardless of what this is set to.
1211:     markup = full
1212: 
1213:     # The format of the message.  Possible variables are:
1214:     #   %a  appname
1215:     #   %s  summary
1216:     #   %b  body
1217:     #   %i  iconname (including its path)
1218:     #   %I  iconname (without its path)
1219:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1220:     #   %n  progress value if set without any extra characters
1221:     #   %%  Literal %
1222:     # Markup is allowed
1223:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span"># 1224:     #
1225:     # strip: This setting is provided for compatibility with some broken
1226:     #        clients that send markup even though it's not enabled on the
1227:     #        server. Dunst will try to strip the markup but the parsing is
1228:     #        simplistic so using this option outside of matching rules for
1229:     #        specific applications *IS GREATLY DISCOURAGED*.
1230:     #
1231:     # no:    Disable markup parsing, incoming notifications will be treated as
1232:     #        plain text. Dunst will not advertise that it has the body-markup
1233:     #        capability if this is set as a global setting.
1234:     #
1235:     # It's important to note that markup inside the format option will be parsed
1236:     # regardless of what this is set to.
1237:     markup = full
1238: 
1239:     # The format of the message.  Possible variables are:
1240:     #   %a  appname
1241:     #   %s  summary
1242:     #   %b  body
1243:     #   %i  iconname (including its path)
1244:     #   %I  iconname (without its path)
1245:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1246:     #   %n  progress value if set without any extra characters
1247:     #   %%  Literal %
1248:     # Markup is allowed
1249:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">The format of the message.  Possible variables are:1250:     #
1251:     # strip: This setting is provided for compatibility with some broken
1252:     #        clients that send markup even though it's not enabled on the
1253:     #        server. Dunst will try to strip the markup but the parsing is
1254:     #        simplistic so using this option outside of matching rules for
1255:     #        specific applications *IS GREATLY DISCOURAGED*.
1256:     #
1257:     # no:    Disable markup parsing, incoming notifications will be treated as
1258:     #        plain text. Dunst will not advertise that it has the body-markup
1259:     #        capability if this is set as a global setting.
1260:     #
1261:     # It's important to note that markup inside the format option will be parsed
1262:     # regardless of what this is set to.
1263:     markup = full
1264: 
1265:     # The format of the message.  Possible variables are:
1266:     #   %a  appname
1267:     #   %s  summary
1268:     #   %b  body
1269:     #   %i  iconname (including its path)
1270:     #   %I  iconname (without its path)
1271:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1272:     #   %n  progress value if set without any extra characters
1273:     #   %%  Literal %
1274:     # Markup is allowed
1275:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
1276:     1277:     #
1278:     # strip: This setting is provided for compatibility with some broken
1279:     #        clients that send markup even though it's not enabled on the
1280:     #        server. Dunst will try to strip the markup but the parsing is
1281:     #        simplistic so using this option outside of matching rules for
1282:     #        specific applications *IS GREATLY DISCOURAGED*.
1283:     #
1284:     # no:    Disable markup parsing, incoming notifications will be treated as
1285:     #        plain text. Dunst will not advertise that it has the body-markup
1286:     #        capability if this is set as a global setting.
1287:     #
1288:     # It's important to note that markup inside the format option will be parsed
1289:     # regardless of what this is set to.
1290:     markup = full
1291: 
1292:     # The format of the message.  Possible variables are:
1293:     #   %a  appname
1294:     #   %s  summary
1295:     #   %b  body
1296:     #   %i  iconname (including its path)
1297:     #   %I  iconname (without its path)
1298:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1299:     #   %n  progress value if set without any extra characters
1300:     #   %%  Literal %
1301:     # Markup is allowed
1302:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">#   1303:     #
1304:     # strip: This setting is provided for compatibility with some broken
1305:     #        clients that send markup even though it's not enabled on the
1306:     #        server. Dunst will try to strip the markup but the parsing is
1307:     #        simplistic so using this option outside of matching rules for
1308:     #        specific applications *IS GREATLY DISCOURAGED*.
1309:     #
1310:     # no:    Disable markup parsing, incoming notifications will be treated as
1311:     #        plain text. Dunst will not advertise that it has the body-markup
1312:     #        capability if this is set as a global setting.
1313:     #
1314:     # It's important to note that markup inside the format option will be parsed
1315:     # regardless of what this is set to.
1316:     markup = full
1317: 
1318:     # The format of the message.  Possible variables are:
1319:     #   %a  appname
1320:     #   %s  summary
1321:     #   %b  body
1322:     #   %i  iconname (including its path)
1323:     #   %I  iconname (without its path)
1324:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1325:     #   %n  progress value if set without any extra characters
1326:     #   %%  Literal %
1327:     # Markup is allowed
1328:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">%a  appname1329:     #
1330:     # strip: This setting is provided for compatibility with some broken
1331:     #        clients that send markup even though it's not enabled on the
1332:     #        server. Dunst will try to strip the markup but the parsing is
1333:     #        simplistic so using this option outside of matching rules for
1334:     #        specific applications *IS GREATLY DISCOURAGED*.
1335:     #
1336:     # no:    Disable markup parsing, incoming notifications will be treated as
1337:     #        plain text. Dunst will not advertise that it has the body-markup
1338:     #        capability if this is set as a global setting.
1339:     #
1340:     # It's important to note that markup inside the format option will be parsed
1341:     # regardless of what this is set to.
1342:     markup = full
1343: 
1344:     # The format of the message.  Possible variables are:
1345:     #   %a  appname
1346:     #   %s  summary
1347:     #   %b  body
1348:     #   %i  iconname (including its path)
1349:     #   %I  iconname (without its path)
1350:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1351:     #   %n  progress value if set without any extra characters
1352:     #   %%  Literal %
1353:     # Markup is allowed
1354:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
1355:     1356:     #
1357:     # strip: This setting is provided for compatibility with some broken
1358:     #        clients that send markup even though it's not enabled on the
1359:     #        server. Dunst will try to strip the markup but the parsing is
1360:     #        simplistic so using this option outside of matching rules for
1361:     #        specific applications *IS GREATLY DISCOURAGED*.
1362:     #
1363:     # no:    Disable markup parsing, incoming notifications will be treated as
1364:     #        plain text. Dunst will not advertise that it has the body-markup
1365:     #        capability if this is set as a global setting.
1366:     #
1367:     # It's important to note that markup inside the format option will be parsed
1368:     # regardless of what this is set to.
1369:     markup = full
1370: 
1371:     # The format of the message.  Possible variables are:
1372:     #   %a  appname
1373:     #   %s  summary
1374:     #   %b  body
1375:     #   %i  iconname (including its path)
1376:     #   %I  iconname (without its path)
1377:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1378:     #   %n  progress value if set without any extra characters
1379:     #   %%  Literal %
1380:     # Markup is allowed
1381:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">#   1382:     #
1383:     # strip: This setting is provided for compatibility with some broken
1384:     #        clients that send markup even though it's not enabled on the
1385:     #        server. Dunst will try to strip the markup but the parsing is
1386:     #        simplistic so using this option outside of matching rules for
1387:     #        specific applications *IS GREATLY DISCOURAGED*.
1388:     #
1389:     # no:    Disable markup parsing, incoming notifications will be treated as
1390:     #        plain text. Dunst will not advertise that it has the body-markup
1391:     #        capability if this is set as a global setting.
1392:     #
1393:     # It's important to note that markup inside the format option will be parsed
1394:     # regardless of what this is set to.
1395:     markup = full
1396: 
1397:     # The format of the message.  Possible variables are:
1398:     #   %a  appname
1399:     #   %s  summary
1400:     #   %b  body
1401:     #   %i  iconname (including its path)
1402:     #   %I  iconname (without its path)
1403:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1404:     #   %n  progress value if set without any extra characters
1405:     #   %%  Literal %
1406:     # Markup is allowed
1407:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">%s  summary1408:     #
1409:     # strip: This setting is provided for compatibility with some broken
1410:     #        clients that send markup even though it's not enabled on the
1411:     #        server. Dunst will try to strip the markup but the parsing is
1412:     #        simplistic so using this option outside of matching rules for
1413:     #        specific applications *IS GREATLY DISCOURAGED*.
1414:     #
1415:     # no:    Disable markup parsing, incoming notifications will be treated as
1416:     #        plain text. Dunst will not advertise that it has the body-markup
1417:     #        capability if this is set as a global setting.
1418:     #
1419:     # It's important to note that markup inside the format option will be parsed
1420:     # regardless of what this is set to.
1421:     markup = full
1422: 
1423:     # The format of the message.  Possible variables are:
1424:     #   %a  appname
1425:     #   %s  summary
1426:     #   %b  body
1427:     #   %i  iconname (including its path)
1428:     #   %I  iconname (without its path)
1429:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1430:     #   %n  progress value if set without any extra characters
1431:     #   %%  Literal %
1432:     # Markup is allowed
1433:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
1434:     1435:     #
1436:     # strip: This setting is provided for compatibility with some broken
1437:     #        clients that send markup even though it's not enabled on the
1438:     #        server. Dunst will try to strip the markup but the parsing is
1439:     #        simplistic so using this option outside of matching rules for
1440:     #        specific applications *IS GREATLY DISCOURAGED*.
1441:     #
1442:     # no:    Disable markup parsing, incoming notifications will be treated as
1443:     #        plain text. Dunst will not advertise that it has the body-markup
1444:     #        capability if this is set as a global setting.
1445:     #
1446:     # It's important to note that markup inside the format option will be parsed
1447:     # regardless of what this is set to.
1448:     markup = full
1449: 
1450:     # The format of the message.  Possible variables are:
1451:     #   %a  appname
1452:     #   %s  summary
1453:     #   %b  body
1454:     #   %i  iconname (including its path)
1455:     #   %I  iconname (without its path)
1456:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1457:     #   %n  progress value if set without any extra characters
1458:     #   %%  Literal %
1459:     # Markup is allowed
1460:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">#   1461:     #
1462:     # strip: This setting is provided for compatibility with some broken
1463:     #        clients that send markup even though it's not enabled on the
1464:     #        server. Dunst will try to strip the markup but the parsing is
1465:     #        simplistic so using this option outside of matching rules for
1466:     #        specific applications *IS GREATLY DISCOURAGED*.
1467:     #
1468:     # no:    Disable markup parsing, incoming notifications will be treated as
1469:     #        plain text. Dunst will not advertise that it has the body-markup
1470:     #        capability if this is set as a global setting.
1471:     #
1472:     # It's important to note that markup inside the format option will be parsed
1473:     # regardless of what this is set to.
1474:     markup = full
1475: 
1476:     # The format of the message.  Possible variables are:
1477:     #   %a  appname
1478:     #   %s  summary
1479:     #   %b  body
1480:     #   %i  iconname (including its path)
1481:     #   %I  iconname (without its path)
1482:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1483:     #   %n  progress value if set without any extra characters
1484:     #   %%  Literal %
1485:     # Markup is allowed
1486:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">%b  body1487:     #
1488:     # strip: This setting is provided for compatibility with some broken
1489:     #        clients that send markup even though it's not enabled on the
1490:     #        server. Dunst will try to strip the markup but the parsing is
1491:     #        simplistic so using this option outside of matching rules for
1492:     #        specific applications *IS GREATLY DISCOURAGED*.
1493:     #
1494:     # no:    Disable markup parsing, incoming notifications will be treated as
1495:     #        plain text. Dunst will not advertise that it has the body-markup
1496:     #        capability if this is set as a global setting.
1497:     #
1498:     # It's important to note that markup inside the format option will be parsed
1499:     # regardless of what this is set to.
1500:     markup = full
1501: 
1502:     # The format of the message.  Possible variables are:
1503:     #   %a  appname
1504:     #   %s  summary
1505:     #   %b  body
1506:     #   %i  iconname (including its path)
1507:     #   %I  iconname (without its path)
1508:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1509:     #   %n  progress value if set without any extra characters
1510:     #   %%  Literal %
1511:     # Markup is allowed
1512:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
1513:     1514:     #
1515:     # strip: This setting is provided for compatibility with some broken
1516:     #        clients that send markup even though it's not enabled on the
1517:     #        server. Dunst will try to strip the markup but the parsing is
1518:     #        simplistic so using this option outside of matching rules for
1519:     #        specific applications *IS GREATLY DISCOURAGED*.
1520:     #
1521:     # no:    Disable markup parsing, incoming notifications will be treated as
1522:     #        plain text. Dunst will not advertise that it has the body-markup
1523:     #        capability if this is set as a global setting.
1524:     #
1525:     # It's important to note that markup inside the format option will be parsed
1526:     # regardless of what this is set to.
1527:     markup = full
1528: 
1529:     # The format of the message.  Possible variables are:
1530:     #   %a  appname
1531:     #   %s  summary
1532:     #   %b  body
1533:     #   %i  iconname (including its path)
1534:     #   %I  iconname (without its path)
1535:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1536:     #   %n  progress value if set without any extra characters
1537:     #   %%  Literal %
1538:     # Markup is allowed
1539:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">#   1540:     #
1541:     # strip: This setting is provided for compatibility with some broken
1542:     #        clients that send markup even though it's not enabled on the
1543:     #        server. Dunst will try to strip the markup but the parsing is
1544:     #        simplistic so using this option outside of matching rules for
1545:     #        specific applications *IS GREATLY DISCOURAGED*.
1546:     #
1547:     # no:    Disable markup parsing, incoming notifications will be treated as
1548:     #        plain text. Dunst will not advertise that it has the body-markup
1549:     #        capability if this is set as a global setting.
1550:     #
1551:     # It's important to note that markup inside the format option will be parsed
1552:     # regardless of what this is set to.
1553:     markup = full
1554: 
1555:     # The format of the message.  Possible variables are:
1556:     #   %a  appname
1557:     #   %s  summary
1558:     #   %b  body
1559:     #   %i  iconname (including its path)
1560:     #   %I  iconname (without its path)
1561:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1562:     #   %n  progress value if set without any extra characters
1563:     #   %%  Literal %
1564:     # Markup is allowed
1565:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">%i  iconname (including its path)1566:     #
1567:     # strip: This setting is provided for compatibility with some broken
1568:     #        clients that send markup even though it's not enabled on the
1569:     #        server. Dunst will try to strip the markup but the parsing is
1570:     #        simplistic so using this option outside of matching rules for
1571:     #        specific applications *IS GREATLY DISCOURAGED*.
1572:     #
1573:     # no:    Disable markup parsing, incoming notifications will be treated as
1574:     #        plain text. Dunst will not advertise that it has the body-markup
1575:     #        capability if this is set as a global setting.
1576:     #
1577:     # It's important to note that markup inside the format option will be parsed
1578:     # regardless of what this is set to.
1579:     markup = full
1580: 
1581:     # The format of the message.  Possible variables are:
1582:     #   %a  appname
1583:     #   %s  summary
1584:     #   %b  body
1585:     #   %i  iconname (including its path)
1586:     #   %I  iconname (without its path)
1587:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1588:     #   %n  progress value if set without any extra characters
1589:     #   %%  Literal %
1590:     # Markup is allowed
1591:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
1592:     1593:     #
1594:     # strip: This setting is provided for compatibility with some broken
1595:     #        clients that send markup even though it's not enabled on the
1596:     #        server. Dunst will try to strip the markup but the parsing is
1597:     #        simplistic so using this option outside of matching rules for
1598:     #        specific applications *IS GREATLY DISCOURAGED*.
1599:     #
1600:     # no:    Disable markup parsing, incoming notifications will be treated as
1601:     #        plain text. Dunst will not advertise that it has the body-markup
1602:     #        capability if this is set as a global setting.
1603:     #
1604:     # It's important to note that markup inside the format option will be parsed
1605:     # regardless of what this is set to.
1606:     markup = full
1607: 
1608:     # The format of the message.  Possible variables are:
1609:     #   %a  appname
1610:     #   %s  summary
1611:     #   %b  body
1612:     #   %i  iconname (including its path)
1613:     #   %I  iconname (without its path)
1614:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1615:     #   %n  progress value if set without any extra characters
1616:     #   %%  Literal %
1617:     # Markup is allowed
1618:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">#   1619:     #
1620:     # strip: This setting is provided for compatibility with some broken
1621:     #        clients that send markup even though it's not enabled on the
1622:     #        server. Dunst will try to strip the markup but the parsing is
1623:     #        simplistic so using this option outside of matching rules for
1624:     #        specific applications *IS GREATLY DISCOURAGED*.
1625:     #
1626:     # no:    Disable markup parsing, incoming notifications will be treated as
1627:     #        plain text. Dunst will not advertise that it has the body-markup
1628:     #        capability if this is set as a global setting.
1629:     #
1630:     # It's important to note that markup inside the format option will be parsed
1631:     # regardless of what this is set to.
1632:     markup = full
1633: 
1634:     # The format of the message.  Possible variables are:
1635:     #   %a  appname
1636:     #   %s  summary
1637:     #   %b  body
1638:     #   %i  iconname (including its path)
1639:     #   %I  iconname (without its path)
1640:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1641:     #   %n  progress value if set without any extra characters
1642:     #   %%  Literal %
1643:     # Markup is allowed
1644:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">%I  iconname (without its path)1645:     #
1646:     # strip: This setting is provided for compatibility with some broken
1647:     #        clients that send markup even though it's not enabled on the
1648:     #        server. Dunst will try to strip the markup but the parsing is
1649:     #        simplistic so using this option outside of matching rules for
1650:     #        specific applications *IS GREATLY DISCOURAGED*.
1651:     #
1652:     # no:    Disable markup parsing, incoming notifications will be treated as
1653:     #        plain text. Dunst will not advertise that it has the body-markup
1654:     #        capability if this is set as a global setting.
1655:     #
1656:     # It's important to note that markup inside the format option will be parsed
1657:     # regardless of what this is set to.
1658:     markup = full
1659: 
1660:     # The format of the message.  Possible variables are:
1661:     #   %a  appname
1662:     #   %s  summary
1663:     #   %b  body
1664:     #   %i  iconname (including its path)
1665:     #   %I  iconname (without its path)
1666:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1667:     #   %n  progress value if set without any extra characters
1668:     #   %%  Literal %
1669:     # Markup is allowed
1670:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
1671:     1672:     #
1673:     # strip: This setting is provided for compatibility with some broken
1674:     #        clients that send markup even though it's not enabled on the
1675:     #        server. Dunst will try to strip the markup but the parsing is
1676:     #        simplistic so using this option outside of matching rules for
1677:     #        specific applications *IS GREATLY DISCOURAGED*.
1678:     #
1679:     # no:    Disable markup parsing, incoming notifications will be treated as
1680:     #        plain text. Dunst will not advertise that it has the body-markup
1681:     #        capability if this is set as a global setting.
1682:     #
1683:     # It's important to note that markup inside the format option will be parsed
1684:     # regardless of what this is set to.
1685:     markup = full
1686: 
1687:     # The format of the message.  Possible variables are:
1688:     #   %a  appname
1689:     #   %s  summary
1690:     #   %b  body
1691:     #   %i  iconname (including its path)
1692:     #   %I  iconname (without its path)
1693:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1694:     #   %n  progress value if set without any extra characters
1695:     #   %%  Literal %
1696:     # Markup is allowed
1697:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">#   1698:     #
1699:     # strip: This setting is provided for compatibility with some broken
1700:     #        clients that send markup even though it's not enabled on the
1701:     #        server. Dunst will try to strip the markup but the parsing is
1702:     #        simplistic so using this option outside of matching rules for
1703:     #        specific applications *IS GREATLY DISCOURAGED*.
1704:     #
1705:     # no:    Disable markup parsing, incoming notifications will be treated as
1706:     #        plain text. Dunst will not advertise that it has the body-markup
1707:     #        capability if this is set as a global setting.
1708:     #
1709:     # It's important to note that markup inside the format option will be parsed
1710:     # regardless of what this is set to.
1711:     markup = full
1712: 
1713:     # The format of the message.  Possible variables are:
1714:     #   %a  appname
1715:     #   %s  summary
1716:     #   %b  body
1717:     #   %i  iconname (including its path)
1718:     #   %I  iconname (without its path)
1719:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1720:     #   %n  progress value if set without any extra characters
1721:     #   %%  Literal %
1722:     # Markup is allowed
1723:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">%p  progress value if set ([  0%] to [100%]) or nothing1724:     #
1725:     # strip: This setting is provided for compatibility with some broken
1726:     #        clients that send markup even though it's not enabled on the
1727:     #        server. Dunst will try to strip the markup but the parsing is
1728:     #        simplistic so using this option outside of matching rules for
1729:     #        specific applications *IS GREATLY DISCOURAGED*.
1730:     #
1731:     # no:    Disable markup parsing, incoming notifications will be treated as
1732:     #        plain text. Dunst will not advertise that it has the body-markup
1733:     #        capability if this is set as a global setting.
1734:     #
1735:     # It's important to note that markup inside the format option will be parsed
1736:     # regardless of what this is set to.
1737:     markup = full
1738: 
1739:     # The format of the message.  Possible variables are:
1740:     #   %a  appname
1741:     #   %s  summary
1742:     #   %b  body
1743:     #   %i  iconname (including its path)
1744:     #   %I  iconname (without its path)
1745:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1746:     #   %n  progress value if set without any extra characters
1747:     #   %%  Literal %
1748:     # Markup is allowed
1749:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
1750:     1751:     #
1752:     # strip: This setting is provided for compatibility with some broken
1753:     #        clients that send markup even though it's not enabled on the
1754:     #        server. Dunst will try to strip the markup but the parsing is
1755:     #        simplistic so using this option outside of matching rules for
1756:     #        specific applications *IS GREATLY DISCOURAGED*.
1757:     #
1758:     # no:    Disable markup parsing, incoming notifications will be treated as
1759:     #        plain text. Dunst will not advertise that it has the body-markup
1760:     #        capability if this is set as a global setting.
1761:     #
1762:     # It's important to note that markup inside the format option will be parsed
1763:     # regardless of what this is set to.
1764:     markup = full
1765: 
1766:     # The format of the message.  Possible variables are:
1767:     #   %a  appname
1768:     #   %s  summary
1769:     #   %b  body
1770:     #   %i  iconname (including its path)
1771:     #   %I  iconname (without its path)
1772:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1773:     #   %n  progress value if set without any extra characters
1774:     #   %%  Literal %
1775:     # Markup is allowed
1776:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">#   1777:     #
1778:     # strip: This setting is provided for compatibility with some broken
1779:     #        clients that send markup even though it's not enabled on the
1780:     #        server. Dunst will try to strip the markup but the parsing is
1781:     #        simplistic so using this option outside of matching rules for
1782:     #        specific applications *IS GREATLY DISCOURAGED*.
1783:     #
1784:     # no:    Disable markup parsing, incoming notifications will be treated as
1785:     #        plain text. Dunst will not advertise that it has the body-markup
1786:     #        capability if this is set as a global setting.
1787:     #
1788:     # It's important to note that markup inside the format option will be parsed
1789:     # regardless of what this is set to.
1790:     markup = full
1791: 
1792:     # The format of the message.  Possible variables are:
1793:     #   %a  appname
1794:     #   %s  summary
1795:     #   %b  body
1796:     #   %i  iconname (including its path)
1797:     #   %I  iconname (without its path)
1798:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1799:     #   %n  progress value if set without any extra characters
1800:     #   %%  Literal %
1801:     # Markup is allowed
1802:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">%n  progress value if set without any extra characters1803:     #
1804:     # strip: This setting is provided for compatibility with some broken
1805:     #        clients that send markup even though it's not enabled on the
1806:     #        server. Dunst will try to strip the markup but the parsing is
1807:     #        simplistic so using this option outside of matching rules for
1808:     #        specific applications *IS GREATLY DISCOURAGED*.
1809:     #
1810:     # no:    Disable markup parsing, incoming notifications will be treated as
1811:     #        plain text. Dunst will not advertise that it has the body-markup
1812:     #        capability if this is set as a global setting.
1813:     #
1814:     # It's important to note that markup inside the format option will be parsed
1815:     # regardless of what this is set to.
1816:     markup = full
1817: 
1818:     # The format of the message.  Possible variables are:
1819:     #   %a  appname
1820:     #   %s  summary
1821:     #   %b  body
1822:     #   %i  iconname (including its path)
1823:     #   %I  iconname (without its path)
1824:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1825:     #   %n  progress value if set without any extra characters
1826:     #   %%  Literal %
1827:     # Markup is allowed
1828:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
1829:     1830:     #
1831:     # strip: This setting is provided for compatibility with some broken
1832:     #        clients that send markup even though it's not enabled on the
1833:     #        server. Dunst will try to strip the markup but the parsing is
1834:     #        simplistic so using this option outside of matching rules for
1835:     #        specific applications *IS GREATLY DISCOURAGED*.
1836:     #
1837:     # no:    Disable markup parsing, incoming notifications will be treated as
1838:     #        plain text. Dunst will not advertise that it has the body-markup
1839:     #        capability if this is set as a global setting.
1840:     #
1841:     # It's important to note that markup inside the format option will be parsed
1842:     # regardless of what this is set to.
1843:     markup = full
1844: 
1845:     # The format of the message.  Possible variables are:
1846:     #   %a  appname
1847:     #   %s  summary
1848:     #   %b  body
1849:     #   %i  iconname (including its path)
1850:     #   %I  iconname (without its path)
1851:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1852:     #   %n  progress value if set without any extra characters
1853:     #   %%  Literal %
1854:     # Markup is allowed
1855:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">#   1856:     #
1857:     # strip: This setting is provided for compatibility with some broken
1858:     #        clients that send markup even though it's not enabled on the
1859:     #        server. Dunst will try to strip the markup but the parsing is
1860:     #        simplistic so using this option outside of matching rules for
1861:     #        specific applications *IS GREATLY DISCOURAGED*.
1862:     #
1863:     # no:    Disable markup parsing, incoming notifications will be treated as
1864:     #        plain text. Dunst will not advertise that it has the body-markup
1865:     #        capability if this is set as a global setting.
1866:     #
1867:     # It's important to note that markup inside the format option will be parsed
1868:     # regardless of what this is set to.
1869:     markup = full
1870: 
1871:     # The format of the message.  Possible variables are:
1872:     #   %a  appname
1873:     #   %s  summary
1874:     #   %b  body
1875:     #   %i  iconname (including its path)
1876:     #   %I  iconname (without its path)
1877:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1878:     #   %n  progress value if set without any extra characters
1879:     #   %%  Literal %
1880:     # Markup is allowed
1881:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">%%  Literal %1882:     #
1883:     # strip: This setting is provided for compatibility with some broken
1884:     #        clients that send markup even though it's not enabled on the
1885:     #        server. Dunst will try to strip the markup but the parsing is
1886:     #        simplistic so using this option outside of matching rules for
1887:     #        specific applications *IS GREATLY DISCOURAGED*.
1888:     #
1889:     # no:    Disable markup parsing, incoming notifications will be treated as
1890:     #        plain text. Dunst will not advertise that it has the body-markup
1891:     #        capability if this is set as a global setting.
1892:     #
1893:     # It's important to note that markup inside the format option will be parsed
1894:     # regardless of what this is set to.
1895:     markup = full
1896: 
1897:     # The format of the message.  Possible variables are:
1898:     #   %a  appname
1899:     #   %s  summary
1900:     #   %b  body
1901:     #   %i  iconname (including its path)
1902:     #   %I  iconname (without its path)
1903:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1904:     #   %n  progress value if set without any extra characters
1905:     #   %%  Literal %
1906:     # Markup is allowed
1907:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
1908:     1909:     #
1910:     # strip: This setting is provided for compatibility with some broken
1911:     #        clients that send markup even though it's not enabled on the
1912:     #        server. Dunst will try to strip the markup but the parsing is
1913:     #        simplistic so using this option outside of matching rules for
1914:     #        specific applications *IS GREATLY DISCOURAGED*.
1915:     #
1916:     # no:    Disable markup parsing, incoming notifications will be treated as
1917:     #        plain text. Dunst will not advertise that it has the body-markup
1918:     #        capability if this is set as a global setting.
1919:     #
1920:     # It's important to note that markup inside the format option will be parsed
1921:     # regardless of what this is set to.
1922:     markup = full
1923: 
1924:     # The format of the message.  Possible variables are:
1925:     #   %a  appname
1926:     #   %s  summary
1927:     #   %b  body
1928:     #   %i  iconname (including its path)
1929:     #   %I  iconname (without its path)
1930:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1931:     #   %n  progress value if set without any extra characters
1932:     #   %%  Literal %
1933:     # Markup is allowed
1934:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span"># 1935:     #
1936:     # strip: This setting is provided for compatibility with some broken
1937:     #        clients that send markup even though it's not enabled on the
1938:     #        server. Dunst will try to strip the markup but the parsing is
1939:     #        simplistic so using this option outside of matching rules for
1940:     #        specific applications *IS GREATLY DISCOURAGED*.
1941:     #
1942:     # no:    Disable markup parsing, incoming notifications will be treated as
1943:     #        plain text. Dunst will not advertise that it has the body-markup
1944:     #        capability if this is set as a global setting.
1945:     #
1946:     # It's important to note that markup inside the format option will be parsed
1947:     # regardless of what this is set to.
1948:     markup = full
1949: 
1950:     # The format of the message.  Possible variables are:
1951:     #   %a  appname
1952:     #   %s  summary
1953:     #   %b  body
1954:     #   %i  iconname (including its path)
1955:     #   %I  iconname (without its path)
1956:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1957:     #   %n  progress value if set without any extra characters
1958:     #   %%  Literal %
1959:     # Markup is allowed
1960:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">Markup is allowed1961:     #
1962:     # strip: This setting is provided for compatibility with some broken
1963:     #        clients that send markup even though it's not enabled on the
1964:     #        server. Dunst will try to strip the markup but the parsing is
1965:     #        simplistic so using this option outside of matching rules for
1966:     #        specific applications *IS GREATLY DISCOURAGED*.
1967:     #
1968:     # no:    Disable markup parsing, incoming notifications will be treated as
1969:     #        plain text. Dunst will not advertise that it has the body-markup
1970:     #        capability if this is set as a global setting.
1971:     #
1972:     # It's important to note that markup inside the format option will be parsed
1973:     # regardless of what this is set to.
1974:     markup = full
1975: 
1976:     # The format of the message.  Possible variables are:
1977:     #   %a  appname
1978:     #   %s  summary
1979:     #   %b  body
1980:     #   %i  iconname (including its path)
1981:     #   %I  iconname (without its path)
1982:     #   %p  progress value if set ([  0%] to [100%]) or nothing
1983:     #   %n  progress value if set without any extra characters
1984:     #   %%  Literal %
1985:     # Markup is allowed
1986:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">
1987:     1988:     #
1989:     # strip: This setting is provided for compatibility with some broken
1990:     #        clients that send markup even though it's not enabled on the
1991:     #        server. Dunst will try to strip the markup but the parsing is
1992:     #        simplistic so using this option outside of matching rules for
1993:     #        specific applications *IS GREATLY DISCOURAGED*.
1994:     #
1995:     # no:    Disable markup parsing, incoming notifications will be treated as
1996:     #        plain text. Dunst will not advertise that it has the body-markup
1997:     #        capability if this is set as a global setting.
1998:     #
1999:     # It's important to note that markup inside the format option will be parsed
2000:     # regardless of what this is set to.
2001:     markup = full
2002: 
2003:     # The format of the message.  Possible variables are:
2004:     #   %a  appname
2005:     #   %s  summary
2006:     #   %b  body
2007:     #   %i  iconname (including its path)
2008:     #   %I  iconname (without its path)
2009:     #   %p  progress value if set ([  0%] to [100%]) or nothing
2010:     #   %n  progress value if set without any extra characters
2011:     #   %%  Literal %
2012:     # Markup is allowed
2013:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">format2014:     #
2015:     # strip: This setting is provided for compatibility with some broken
2016:     #        clients that send markup even though it's not enabled on the
2017:     #        server. Dunst will try to strip the markup but the parsing is
2018:     #        simplistic so using this option outside of matching rules for
2019:     #        specific applications *IS GREATLY DISCOURAGED*.
2020:     #
2021:     # no:    Disable markup parsing, incoming notifications will be treated as
2022:     #        plain text. Dunst will not advertise that it has the body-markup
2023:     #        capability if this is set as a global setting.
2024:     #
2025:     # It's important to note that markup inside the format option will be parsed
2026:     # regardless of what this is set to.
2027:     markup = full
2028: 
2029:     # The format of the message.  Possible variables are:
2030:     #   %a  appname
2031:     #   %s  summary
2032:     #   %b  body
2033:     #   %i  iconname (including its path)
2034:     #   %I  iconname (without its path)
2035:     #   %p  progress value if set ([  0%] to [100%]) or nothing
2036:     #   %n  progress value if set without any extra characters
2037:     #   %%  Literal %
2038:     # Markup is allowed
2039:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span"> = 2040:     #
2041:     # strip: This setting is provided for compatibility with some broken
2042:     #        clients that send markup even though it's not enabled on the
2043:     #        server. Dunst will try to strip the markup but the parsing is
2044:     #        simplistic so using this option outside of matching rules for
2045:     #        specific applications *IS GREATLY DISCOURAGED*.
2046:     #
2047:     # no:    Disable markup parsing, incoming notifications will be treated as
2048:     #        plain text. Dunst will not advertise that it has the body-markup
2049:     #        capability if this is set as a global setting.
2050:     #
2051:     # It's important to note that markup inside the format option will be parsed
2052:     # regardless of what this is set to.
2053:     markup = full
2054: 
2055:     # The format of the message.  Possible variables are:
2056:     #   %a  appname
2057:     #   %s  summary
2058:     #   %b  body
2059:     #   %i  iconname (including its path)
2060:     #   %I  iconname (without its path)
2061:     #   %p  progress value if set ([  0%] to [100%]) or nothing
2062:     #   %n  progress value if set without any extra characters
2063:     #   %%  Literal %
2064:     # Markup is allowed
2065:     format = "<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span">"<span size='x-large' font_desc='Cantarell,JetBrainsMonoNL Nerd Font Mono 10' weight='bold' foreground='#f9f9f9'>%s</span>\n%b"
2066: 
2067:     # Alignment of message text.
2068:     # Possible values are "left", "center" and "right".
2069:     alignment = left
2070: 
2071:     # Vertical alignment of message text and icon.
2072:     # Possible values are "top", "center" and "bottom".
2073:     vertical_alignment = center
2074: 
2075:     # Show age of message if message is older than show_age_threshold
2076:     # seconds.
2077:     # Set to -1 to disable.
2078:     show_age_threshold = 60
2079: 
2080:     # Specify where to make an ellipsis in long lines.
2081:     # Possible values are "start", "middle" and "end".
2082:     ellipsize = middle
2083: 
2084:     # Ignore newlines '\n' in notifications.
2085:     ignore_newline = no
2086: 
2087:     # Stack together notifications with the same content
2088:     stack_duplicates = true
2089: 
2090:     # Hide the count of stacked notifications with the same content
2091:     hide_duplicate_count = true
2092: 
2093:     # Display indicators for URLs (U) and actions (A).
2094:     show_indicators = yes
2095: 
2096:     ### Icons ###
2097: 
2098:     # Recursive icon lookup. You can set a single theme, instead of having to
2099:     # define all lookup paths.
2100:     enable_recursive_icon_lookup = true
2101: 
2102:     # Set icon theme (only used for recursive icon lookup)
2103:     icon_theme = Papirus
2104:     # You can also set multiple icon themes, with the leftmost one being used first.
2105:     # icon_theme = "Adwaita, breeze"
2106: 
2107:     # Align icons left/right/top/off
2108:     icon_position = left
2109: 
2110:     # Scale small icons up to this size, set to 0 to disable. Helpful
2111:     # for e.g. small files or high-dpi screens. In case of conflict,
2112:     # max_icon_size takes precedence over this.
2113:     min_icon_size = 32
2114: 
2115:     # Scale larger icons down to this size, set to 0 to disable
2116:     max_icon_size = 128
2117: 
2118:     # Paths to default icons (only neccesary when not using recursive icon lookup)
2119:     # icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
2120: 
2121:     ### History ###
2122: 
2123:     # Should a notification popped up from history be sticky or timeout
2124:     # as if it would normally do.
2125:     sticky_history = yes
2126: 
2127:     # Maximum amount of notifications kept in history
2128:     history_length = 20
2129: 
2130:     ### Misc/Advanced ###
2131: 
2132:     # dmenu path.
2133:     #dmenu = /usr/bin/dmenu -p dunst:
2134:     dmenu = rofi -dmenu
2135: 
2136:     # Browser for opening urls in context menu.
2137:     browser = /usr/bin/xdg-open
2138: 
2139:     # Always run rule-defined scripts, even if the notification is suppressed
2140:     always_run_script = true
2141: 
2142:     # Define the title of the windows spawned by dunst
2143:     title = Dunst
2144: 
2145:     # Define the class of the windows spawned by dunst
2146:     class = Dunst
2147: 
2148:     # Define the corner radius of the notification window
2149:     # in pixel size. If the radius is 0, you have no rounded
2150:     # corners.
2151:     # The radius will be automatically lowered if it exceeds half of the
2152:     # notification height to avoid clipping text and/or icons.
2153:     corner_radius = 8
2154: 
2155:     # Ignore the dbus closeNotification message.
2156:     # Useful to enforce the timeout set by dunst configuration. Without this
2157:     # parameter, an application may close the notification sent before the
2158:     # user defined timeout.
2159:     ignore_dbusclose = false
2160: 
2161:     ### Wayland ###
2162:     # These settings are Wayland-specific. They have no effect when using X11
2163: 
2164:     # Uncomment this if you want to let notications appear under fullscreen
2165:     # applications (default: overlay)
2166:     # layer = top
2167: 
2168:     # Set this to true to use X11 output on Wayland.
2169:     force_xwayland = false
2170: 
2171:     ### Legacy
2172: 
2173:     # Use the Xinerama extension instead of RandR for multi-monitor support.
2174:     # This setting is provided for compatibility with older nVidia drivers that
2175:     # do not support RandR and using it on systems that support RandR is highly
2176:     # discouraged.
2177:     #
2178:     # By enabling this setting dunst will not be able to detect when a monitor
2179:     # is connected or disconnected which might break follow mode if the screen
2180:     # layout changes.
2181:     force_xinerama = false
2182: 
2183:     ### mouse
2184: 
2185:     # Defines list of actions for each mouse event
2186:     # Possible values are:
2187:     # * none: Don't do anything.
2188:     # * do_action: Invoke the action determined by the action_name rule. If there is no
2189:     #              such action, open the context menu.
2190:     # * open_url: If the notification has exactly one url, open it. If there are multiple
2191:     #             ones, open the context menu.
2192:     # * close_current: Close current notification.
2193:     # * close_all: Close all notifications.
2194:     # * context: Open context menu for the notification.
2195:     # * context_all: Open context menu for all notifications.
2196:     # These values can be strung together for each mouse event, and
2197:     # will be executed in sequence.
2198:     mouse_left_click = do_action, close_current
2199:     mouse_middle_click = do_action, close_current
2200:     mouse_right_click = close_current
2201: 
2202: # Experimental features that may or may not work correctly. Do not expect them
2203: # to have a consistent behaviour across releases.
2204: [experimental]
2205:     # Calculate the dpi to use on a per-monitor basis.
2206:     # If this setting is enabled the Xft.dpi value will be ignored and instead
2207:     # dunst will attempt to calculate an appropriate dpi value for each monitor
2208:     # using the resolution and physical size. This might be useful in setups
2209:     # where there are multiple screens with very different dpi values.
2210:     per_monitor_dpi = false
2211: 
2212: [urgency_low]
2213:     msg_urgency = low
2214:     background = "#3b4252"
2215:     foreground = "#4c566a"
2216: 
2217: [urgency_normal]
2218:     msg_urgency = normal
2219:     background = "#434c5e"
2220:     foreground = "#e5e9f0"
2221: 
2222: [urgency_critical]
2223:     msg_urgency = critical
2224:     background = "#bf616a"
2225:     foreground = "#eceff4"
2226: 
2227: # Every section that isn't one of the above is interpreted as a rules to
2228: # override settings for certain messages.
2229: #
2230: # Messages can be matched by
2231: #    appname (discouraged, see desktop_entry)
2232: #    body
2233: #    category
2234: #    desktop_entry
2235: #    icon
2236: #    match_transient
2237: #    msg_urgency
2238: #    stack_tag
2239: #    summary
2240: #
2241: # and you can override the
2242: #    background
2243: #    foreground
2244: #    format
2245: #    frame_color
2246: #    fullscreen
2247: #    new_icon
2248: #    set_stack_tag
2249: #    set_transient
2250: #    set_category
2251: #    timeout
2252: #    urgency
2253: #    icon_position
2254: #    skip_display
2255: #    history_ignore
2256: #    action_name
2257: #    word_wrap
2258: #    ellipsize
2259: #    alignment
2260: #    hide_text
2261: #
2262: # Shell-like globbing will get expanded.
2263: #
2264: # Instead of the appname filter, it's recommended to use the desktop_entry filter.
2265: # GLib based applications export their desktop-entry name. In comparison to the appname,
2266: # the desktop-entry won't get localized.
2267: #
2268: # SCRIPTING
2269: # You can specify a script that gets run when the rule matches by
2270: # setting the "script" option.
2271: # The script will be called as follows:
2272: #   script appname summary body icon urgency
2273: # where urgency can be "LOW", "NORMAL" or "CRITICAL".
2274: #
2275: # NOTE: It might be helpful to run dunst -print in a terminal in order
2276: # to find fitting options for rules.
2277: 
2278: # Disable the transient hint so that idle_threshold cannot be bypassed from the
2279: # client
2280: #[transient_disable]
2281: #    match_transient = yes
2282: #    set_transient = no
2283: #
2284: # Make the handling of transient notifications more strict by making them not
2285: # be placed in history.
2286: #[transient_history_ignore]
2287: #    match_transient = yes
2288: #    history_ignore = yes
2289: 
2290: # fullscreen values
2291: # show: show the notifications, regardless if there is a fullscreen window opened
2292: # delay: displays the new notification, if there is no fullscreen window active
2293: #        If the notification is already drawn, it won't get undrawn.
2294: # pushback: same as delay, but when switching into fullscreen, the notification will get
2295: #           withdrawn from screen again and will get delayed like a new notification
2296: #[fullscreen_delay_everything]
2297: #    fullscreen = delay
2298: #[fullscreen_show_critical]
2299: #    msg_urgency = critical
2300: #    fullscreen = show
2301: 
2302: #[espeak]
2303: #    summary = "*"
2304: #    script = dunst_espeak.sh
2305: 
2306: #[script-test]
2307: #    summary = "*script*"
2308: #    script = dunst_test.sh
2309: 
2310: #[ignore]
2311: #    # This notification will not be displayed
2312: #    summary = "foobar"
2313: #    skip_display = true
2314: 
2315: #[history-ignore]
2316: #    # This notification will not be saved in history
2317: #    summary = "foobar"
2318: #    history_ignore = yes
2319: 
2320: #[skip-display]
2321: #    # This notification will not be displayed, but will be included in the history
2322: #    summary = "foobar"
2323: #    skip_display = yes
2324: 
2325: #[signed_on]
2326: #    appname = Pidgin
2327: #    summary = "*signed on*"
2328: #    urgency = low
2329: #
2330: #[signed_off]
2331: #    appname = Pidgin
2332: #    summary = *signed off*
2333: #    urgency = low
2334: #
2335: #[says]
2336: #    appname = Pidgin
2337: #    summary = *says*
2338: #    urgency = critical
2339: #
2340: #[twitter]
2341: #    appname = Pidgin
2342: #    summary = *twitter.com*
2343: #    urgency = normal
2344: #
2345: #[stack-volumes]
2346: #    appname = "some_volume_notifiers"
2347: #    set_stack_tag = "volume"
2348: #
2349: # vim: ft=cfg

astroid

{
    "astroid": {
        "config": {
            "version": "11"
        },
        "notmuch_config": "\/home\/mkncorp.com\/kristian.alexander\/.notmuch-config",
        "debug": {
            "dryrun_sending": "false"
        },
        "hints": {
            "level": "0"
        },
        "log": {
            "syslog": "false",
            "stdout": "true",
            "level": "info"
        }
    },
    "accounts": {
        "gmail": {
            "name": "Kristian Alexander P",
            "email": "alexarians@gmail.com",
            "gpgkey": "27517709E592F14C5A51D90B972B3C2D613E4AE9",
            "always_gpg_sign": "true",
            "sendmail": "msmtp -i -t",
            "default": "true",
            "save_sent": "false",
            "save_sent_to": "\/home\/mkncorp.com\/kristian.alexander\/.mail\/gmail\/sent\/cur\/",
            "additional_sent_tags": "",
            "save_drafts_to": "\/home\/mkncorp\/kristian.alexander\/.mail\/gmail\/draft\/",
            "signature_separate": "false",
            "signature_file": "",
            "signature_file_markdown": "",
            "signature_default_on": "true",
            "signature_attach": "false",
            "select_query": ""
        },
        "hotmail": {
            "name": "Kristian Alexander P",
            "email": "christian.alexander@windowslive.com",
            "gpgkey": "27517709E592F14C5A51D90B972B3C2D613E4AE9",
            "always_gpg_sign": "true",
            "sendmail": "msmtp -i -t",
            "default": "true",
            "save_sent": "false",
            "save_sent_to": "\/home\/mkncorp.com\/kristian.alexander\/.mail\/hotmail\/sent\/cur\/",
            "additional_sent_tags": "",
            "save_drafts_to": "\/home\/mkncorp\/kristian.alexander\/.mail\/hotmail\/draft\/",
            "signature_separate": "false",
            "signature_file": "",
            "signature_file_markdown": "",
            "signature_default_on": "true",
            "signature_attach": "false",
            "select_query": ""
        },
        "mkn": {
            "name": "Kristian Alexander P",
            "email": "kristian.alexander@mkncorp.com",
            "gpgkey": "27517709E592F14C5A51D90B972B3C2D613E4AE9",
            "always_gpg_sign": "true",
            "sendmail": "msmtp -i -t",
            "default": "true",
            "save_sent": "false",
            "save_sent_to": "\/home\/mkncorp.com\/kristian.alexander\/.mail\/mkn\/Sent\/cur\/",
            "additional_sent_tags": "",
            "save_drafts_to": "\/home\/mkncorp\/kristian.alexander\/.mail\/mkn\/Drafts\/",
            "signature_separate": "false",
            "signature_file": "",
            "signature_file_markdown": "",
            "signature_default_on": "true",
            "signature_attach": "false",
            "select_query": ""
        },
        "yahoo": {
            "name": "Kristian Alexander P",
            "email": "alexforsale@yahoo.com",
            "gpgkey": "27517709E592F14C5A51D90B972B3C2D613E4AE9",
            "always_gpg_sign": "true",
            "sendmail": "msmtp -i -t",
            "default": "true",
            "save_sent": "false",
            "save_sent_to": "\/home\/mkncorp.com\/kristian.alexander\/.mail\/yahoo\/sent\/cur\/",
            "additional_sent_tags": "",
            "save_drafts_to": "\/home\/mkncorp\/kristian.alexander\/.mail\/yahoo\/draft\/",
            "signature_separate": "false",
            "signature_file": "",
            "signature_file_markdown": "",
            "signature_default_on": "true",
            "signature_attach": "false",
            "select_query": ""
        },
        "ymail": {
            "name": "Kristian Alexander P",
            "email": "christian.alexander@ymail.com",
            "gpgkey": "27517709E592F14C5A51D90B972B3C2D613E4AE9",
            "always_gpg_sign": "true",
            "sendmail": "msmtp -i -t",
            "default": "true",
            "save_sent": "false",
            "save_sent_to": "\/home\/mkncorp.com\/kristian.alexander\/.mail\/ymail\/sent\/cur\/",
            "additional_sent_tags": "",
            "save_drafts_to": "\/home\/mkncorp\/kristian.alexander\/.mail\/ymail\/draft\/",
            "signature_separate": "false",
            "signature_file": "",
            "signature_file_markdown": "",
            "signature_default_on": "true",
            "signature_attach": "false",
            "select_query": ""
        },
        "zum": {
            "name": "Kristian Alexander P",
            "email": "kristian.alexander@zumstar.co.id",
            "gpgkey": "27517709E592F14C5A51D90B972B3C2D613E4AE9",
            "always_gpg_sign": "true",
            "sendmail": "msmtp -i -t",
            "default": "true",
            "save_sent": "false",
            "save_sent_to": "\/home\/mkncorp.com\/kristian.alexander\/.mail\/zum\/Sent\/cur\/",
            "additional_sent_tags": "",
            "save_drafts_to": "\/home\/mkncorp\/kristian.alexander\/.mail\/zum\/Drafts\/",
            "signature_separate": "false",
            "signature_file": "",
            "signature_file_markdown": "",
            "signature_default_on": "true",
            "signature_attach": "false",
            "select_query": ""
        }
    },
    "startup": {
        "queries": {
            "gmail": "tag:gmail and tag:inbox",
            "hotmail": "tag:hotmail and tag:inbox",
            "mkn": "tag:mkn and tag:inbox",
            "yahoo": "tag:yahoo and tag:inbox",
            "ymail": "tag:ymail and tag:inbox",
            "zum": "tag:mkn and tag:inbox"
        }
    },
    "terminal": {
        "height": "10",
        "font_description": "default"
    },
    "thread_index": {
        "page_jump_rows": "6",
        "sort_order": "newest",
        "cell": {
            "font_description": "default",
            "line_spacing": "2",
            "date_length": "10",
            "message_count_length": "4",
            "authors_length": "20",
            "subject_color": "#807d74",
            "subject_color_selected": "#000000",
            "background_color_selected": "",
            "background_color_marked": "#fff584",
            "background_color_marked_selected": "#bcb559",
            "tags_length": "80",
            "tags_upper_color": "#e5e5e5",
            "tags_lower_color": "#333333",
            "tags_alpha": "0.5",
            "hidden_tags": "attachment,flagged,unread"
        }
    },
    "general": {
        "time": {
            "clock_format": "local",
            "same_year": "%b %-e",
            "diff_year": "%x"
        },
        "tagbar_move": "tag"
    },
    "editor": {
        "cmd.orig": "gvim -geom 10x10 --servername %2 --socketid %3 -f -c 'set ft=mail' '+set fileencoding=utf-8' '+set ff=unix' '+set enc=utf-8' '+set fo+=w' %1",
        "cmd": "emacs --parent-id %3 %1",
        "external_editor": "false",
        "charset": "utf-8",
        "save_draft_on_force_quit": "true",
        "attachment_words": "attach",
        "attachment_directory": "~",
        "markdown_processor": "cmark",
        "markdown_on": "false"
    },
    "mail": {
        "reply": {
            "quote_processor": "w3m -dump -T text\/html",
            "quote_line": "Excerpts from %1's message of %2:",
            "mailinglist_reply_to_sender": "true"
        },
        "forward": {
            "quote_line": "Forwarding %1's message of %2:",
            "disposition": "inline"
        },
        "sent_tags": "sent",
        "message_id_fqdn": "",
        "message_id_user": "",
        "user_agent": "default",
        "send_delay": "2",
        "close_on_success": "false",
        "format_flowed": "false"
    },
    "poll": {
        "interval": "600",
        "always_full_refresh": "false"
    },
    "attachment": {
        "external_open_cmd": "xdg-open"
    },
    "thread_view": {
        "open_html_part_external": "false",
        "preferred_type": "plain",
        "preferred_html_only": "false",
        "allow_remote_when_encrypted": "false",
        "open_external_link": "xdg-open",
        "default_save_directory": "~",
        "indent_messages": "false",
        "gravatar": {
            "enable": "true"
        },
        "mark_unread_delay": "0.5",
        "expand_flagged": "true"
    },
    "crypto": {
        "gpg": {
            "path": "gpg2",
            "always_trust": "true",
            "enabled": "true"
        }
    },
    "saved_searches": {
        "show_on_startup": "false",
        "save_history": "true",
        "history_lines_to_show": "15",
        "history_lines": "1000"
    }
}

alacritty

  • alacritty.toml
     1: import = ["~/.config/alacritty/themes/nord.toml"]
     2: live_config_reload = true
     3: [window]
     4: dynamic_padding = true
     5: decorations = "None"
     6: padding = { x = 25, y = 25 }
     7: blur = true
     8: #startup_mode = "Fullscreen"
     9: decorations_theme_variant = "Dark"
    10: [scrolling]
    11: history = 100000
    12: multiplier = 2
    13: [font]
    14: normal = { family = "SpaceMono Nerd Font", style = "Regular" }
    15: bold = { family = "SpaceMono Nerd Font", style = "Bold" }
    16: italic = { family = "SpaceMono Nerd Font", style = "Italic" }
    17: bold_italic = { family = "SpaceMono Nerd Font", style = "Semibold Italic" }
    18: size = 11
    19: [bell]
    20: animation = "EaseOutCirc"
    21: duration = 1
    22: # command = { program = "canberra-gtk-play", args = ["-i", "bell"] }
    23: [cursor]
    24: style = { shape = "Beam", blinking = "On" }
    25: vi_mode_style = { shape = "Block", blinking = "Off" }
    26: [mouse]
    27: hide_when_typing = true
    28: [selection]
    29: save_to_clipboard = true
    30: [shell]
    31: program = "/bin/bash"
    32: args = ["-l"]
    33: [[hints.enabled]]
    34: command = "xdg-open"
    35: hyperlinks = true
    36: post_processing = true
    37: persist = false
    38: mouse.enabled = true
    39: binding = { key = "U", mods = "Control|Shift" }
    40:  regex = "(ipfs:|ipns:|magnet:|mailto:|gemini://|gopher://|https://|http://|news:|file:|git://|ssh:|ftp://)[^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+"
    
  • Themes
    • nord
      # -*- eval: (rainbow-mode 1) -*-
      # Colors (Nord)
      
      # Default colors
      [colors.primary]
      background = '#2E3440'
      foreground = '#D8DEE9'
      
      # Normal colors
      [colors.normal]
      black   = '#3B4252'
      red     = '#BF616A'
      green   = '#A3BE8C'
      yellow  = '#EBCB8B'
      blue    = '#81A1C1'
      magenta = '#B48EAD'
      cyan    = '#88C0D0'
      white   = '#E5E9F0'
      
      # Bright colors
      [colors.bright]
      black   = '#4C566A'
      red     = '#BF616A'
      green   = '#A3BE8C'
      yellow  = '#EBCB8B'
      blue    = '#81A1C1'
      magenta = '#B48EAD'
      cyan    = '#8FBCBB'
      white   = '#ECEFF4'
      

Scripts

offlineimap-helper

"""Offlineimap helper script"""

from subprocess import check_output
from os import getenv, path
import json

JSON_FILE = "credentials.json"
if getenv("XDG_DATA_HOME") and path.exists(getenv("XDG_DATA_HOME") + "/" + "offlineimap"):
    JSON_PATH = getenv("XDG_DATA_HOME") + "/" + "offlineimap"
else:
    JSON_PATH = getenv("HOME") + "/" + ".local/share/offlineimap"


f = open(JSON_PATH + "/" + JSON_FILE)
creds_data = json.load(f)

def get_credentials(name, query):
    for item in creds_data["accounts"]:
        if item["name"] == name:
            if query == "host":
                return item["host"]
            elif query == "port":
                return item["port"]
            elif query == "user":
                return item["user"]
            elif query == "passeval":
                return item["passeval"]

This is a helper script for my offlineimap configuration

dunst-backlight

# original script from https://wiki.archlinux.org/index.php/Dunst
# <alexforsale@yahoo.com>
# changeBrightness

# Arbitrary but unique message tag
msgTag="mybrightness"

# Change the volume using alsa(might differ if you use pulseaudio)
#amixer -c 0 set Master "$@" > /dev/null
#pamixer --set-volume "${@}" > /dev/null
brightnessctl set "${@}" > /dev/null

# Query amixer for the current volume and whether or not the speaker is muted
#volume="$(amixer -c 0 get Master | tail -1 | awk '{print $4}' | sed 's/[^0-9]*//g')"
#mute="$(amixer -c 0 get Master | tail -1 | awk '{print $6}' | sed 's/[^a-z]*//g')"
#volume="$(pamixer --get-volume-human)"
#mute="$(pamixer --get-mute)"
max="$(brightnessctl max)"
current="$(brightnessctl get)"
percentage="$(awk -v current=${current} -v max=${max} 'BEGIN { print ( (current / max) * 100 )}')"
percentage="${percentage%.*}"

# Show the brightness notification
dunstify -a "changeBrightness" -u low -i audio-volume-high -h string:x-dunst-stack-tag:$msgTag \
    -h int:value:"${percentage}" " Brightness: ${percentage}%"

# Play the brightness changed sound
canberra-gtk-play -i audio-volume-change -d "changeVolume"

dunst-volume

# original script from https://wiki.archlinux.org/index.php/Dunst
# <alexforsale@yahoo.com>
# changeVolume

msgTag="myvolume"

# args = -i % or -d %
pamixer "${@}" > /dev/null
volume="$(pamixer --get-volume)"
mute="$(pamixer --get-mute)"
if [ "${mute}" == "true" ]; then
    icon="audio-volume-muted"
    symbol=""
elif [ "${mute}" == "false" ] &&
         [ "${volume}" -gt 0 ] &&
         [ "${volume}" -le 25 ]; then
    icon="audio-volume-low"
    symbol=""
elif [ "${mute}" == "false" ] &&
         [ "${volume}" -gt 25 ] &&
         [ "${volume}" -le 75 ]; then
    icon="audio-volume-medium"
    symbol=""
elif [ "${mute}" == "false" ] &&
         [ "${volume}" -gt 75 ]; then
    icon="audio-volume-high"
    symbol=""
fi

if [[ $volume == 0 || "$mute" == "true" ]]; then
    dunstify -a "changeVolume" -u low -i "${icon}" -h string:x-dunst-stack-tag:$msgTag "${symbol} Volume muted"
else
    dunstify -a "changeVolume" -u low -i "${icon}" -h string:x-dunst-stack-tag:$msgTag \
    -h int:value:"$volume" "${symbol} Volume: ${volume}%"
fi

canberra-gtk-play -i audio-volume-change -d "changeVolume"

Date: 2024-03-11 Mon 00:00

Author: Kristian Alexander P

Created: 2024-08-03 Sat 04:37