commit a590209cb31c667838b3148e4d39c2108d48dbba
parent af7b0650a1c137168d9908ddfaf69b9ec9ede591
Author: Szymon Mikulicz <szymon.mikulicz@posteo.net>
Date: Mon, 13 Jul 2020 11:49:29 +0200
Merge branch 'master' into notwobug
Diffstat:
25 files changed, 2432 insertions(+), 491 deletions(-)
diff --git a/.stowrc b/.stowrc
@@ -1 +1 @@
---target=/home/shyman --no-folding
+--target=$HOME --no-folding
diff --git a/alot/.config/alot/config b/alot/.config/alot/config
@@ -0,0 +1,627 @@
+# vim: filetype=cfg
+#
+# ask_subject
+# Type: boolean
+# Default: True
+#
+attachment_prefix = "~/Downloads"
+#
+# directory prefix for downloading attachments
+#
+# Type: string
+# Default: “~”
+#
+# auto_remove_unread
+#
+# automatically remove ‘unread’ tag when focussing messages in thread mode
+#
+# Type: boolean
+# Default: True
+#
+# auto_replyto_mailinglist
+#
+# Automatically switch to list reply mode if appropriate
+#
+# Type: boolean
+# Default: False
+#
+# bounce_force_address
+#
+# Always use the accounts main address when constructing “Resent-From” headers for bounces. Set this to False to use the address string as received in the original message.
+#
+# Type: boolean
+# Default: False
+#
+# bounce_force_realname
+#
+# Always use the proper realname when constructing “Resent-From” headers for bounces. Set this to False to use the realname string as received in the original message.
+#
+# Type: boolean
+# Default: True
+#
+# bufferclose_focus_offset
+#
+# offset of next focused buffer if the current one gets closed
+#
+# Type: integer
+# Default: -1
+#
+# bufferlist_statusbar
+#
+# Format of the status-bar in bufferlist mode. This is a pair of strings to be left and right aligned in the status-bar that may contain variables:
+#
+# {buffer_no}: index of this buffer in the global buffer list
+# {total_messages}: total numer of messages indexed by notmuch
+# {pending_writes}: number of pending write operations to the index
+#
+# Type: mixed_list
+# Default: [{buffer_no}: bufferlist], {input_queue} total messages: {total_messages}
+#
+# bug_on_exit
+#
+# confirm exit
+#
+# Type: boolean
+# Default: False
+#
+# colourmode
+#
+# number of colours to use on the terminal
+#
+# Type: option, one of [‘1’, ‘16’, ‘256’]
+# Default: 256
+#
+# complete_matching_abook_only
+#
+# in case more than one account has an address book: Set this to True to make tab completion for recipients during compose only look in the abook of the account matching the sender address
+#
+# Type: boolean
+# Default: False
+#
+# compose_ask_tags
+#
+# prompt for initial tags when compose
+#
+# Type: boolean
+# Default: False
+#
+# displayed_headers
+#
+# headers that get displayed by default
+#
+# Type: string list
+# Default: From, To, Cc, Bcc, Subject
+#
+# edit_headers_blacklist
+#
+# see edit_headers_whitelist
+#
+# Type: string list
+# Default: Content-Type, MIME-Version, References, In-Reply-To
+#
+# edit_headers_whitelist
+#
+# Which header fields should be editable in your editor used are those that match the whitelist and don’t match the blacklist. in both cases ‘*’ may be used to indicate all fields.
+#
+# Type: string list
+# Default: *,
+#
+editor_cmd = "nvim"
+#
+# editor command if unset, alot will first try the EDITOR env variable, then /usr/bin/editor
+#
+# Type: string
+# Default: None
+#
+editor_in_thread = True
+#
+# call editor in separate thread. In case your editor doesn’t run in the same window as alot, setting true here will make alot non-blocking during edits
+#
+# Type: boolean
+# Default: False
+#
+editor_spawn = True
+#
+# use terminal_cmd to spawn a new terminal for the editor? equivalent to always providing the –spawn=yes parameter to compose/edit commands
+#
+# Type: boolean
+# Default: False
+#
+# editor_writes_encoding
+#
+# file encoding used by your editor
+#
+# Type: string
+# Default: “UTF-8”
+#
+# envelope_edit_default_alternative
+#
+# always edit the given body text alternative when editing outgoing messages in envelope mode. alternative, and not the html source, even if that is currently displayed. If unset, html content will be edited unless the current envelope shows the plaintext alternative.
+#
+# Type: option, one of [‘plaintext’, ‘html’]
+# Default: None
+#
+# envelope_headers_blacklist
+#
+# headers that are hidden in envelope buffers by default
+#
+# Type: string list
+# Default: In-Reply-To, References
+#
+envelope_html2txt = "pandoc -f html -t markdown"
+#
+# Use this command to turn a html message body to plaintext in envelope mode. The command will receive the html on stdin and should produce text on stdout (as pandoc -f html -t markdown does for example).
+#
+# Type: string
+# Default: None
+#
+# envelope_statusbar
+#
+# Format of the status-bar in envelope mode. This is a pair of strings to be left and right aligned in the status-bar. Apart from the global variables listed at bufferlist_statusbar these strings may contain variables:
+#
+# {to}: To-header of the envelope
+# {displaypart}: which body part alternative is currently in view (can be ‘plaintext,’src’, or ‘html’)
+#
+# Type: mixed_list
+# Default: [{buffer_no}: envelope ({displaypart})], {input_queue} total messages: {total_messages}
+#
+envelope_txt2html = "pandoc -f markdown -t html -s --self-contained"
+#
+# Use this command to construct a html alternative message body text in envelope mode. If unset, we send only the plaintext part, without html alternative. The command will receive the plaintex on stdin and should produce html on stdout. (as pandoc -t html does for example).
+#
+# Type: string
+# Default: None
+#
+# exclude_tags
+#
+# A list of tags that will be excluded from search results by default. Using an excluded tag in a query will override that exclusion. .. note:: this config setting is equivalent to, but independent of, the ‘search.exclude_tags’ in the notmuch config.
+#
+# Type: string list
+# Default: ,
+#
+# flush_retry_timeout
+#
+# timeout in seconds after a failed attempt to writeout the database is repeated. Set to 0 for no retry.
+#
+# Type: integer
+# Default: 5
+#
+# followup_to
+#
+# When one of the recipients of an email is a subscribed mailing list, set the “Mail-Followup-To” header to the list of recipients without yourself
+#
+# Type: boolean
+# Default: False
+#
+# forward_force_address
+#
+# Always use the accounts main address when constructing “From” headers for forwards. Set this to False to use the address string as received in the original message.
+#
+# Type: boolean
+# Default: False
+#
+# forward_force_realname
+#
+# Always use the proper realname when constructing “From” headers for forwards. Set this to False to use the realname string as received in the original message.
+#
+# Type: boolean
+# Default: True
+#
+# forward_subject_prefix
+#
+# String prepended to subject header on forward only if original subject doesn’t start with ‘Fwd:’ or this prefix
+#
+# Type: string
+# Default: “Fwd: “
+#
+handle_mouse = True
+#
+# enable mouse support - mouse tracking will be handled by urwid
+#
+# Note
+#
+# If this is set to True mouse events are passed from the terminal to urwid/alot. This means that normal text selection in alot will not be possible. Most terminal emulators will still allow you to select text when shift is pressed.
+#
+# Type: boolean
+# Default: False
+#
+# history_size
+#
+# The number of command line history entries to save
+#
+# Note
+#
+# You can set this to -1 to save all entries to disk but the history file might get very long.
+#
+# Type: integer
+# Default: 50
+#
+# honor_followup_to
+#
+# When group-reply-ing to an email that has the “Mail-Followup-To” header set, use the content of this header as the new “To” header and leave the “Cc” header empty
+#
+# Type: boolean
+# Default: False
+#
+# hooksfile
+#
+# where to look up hooks
+#
+# Type: string
+# Default: “~/.config/alot/hooks.py”
+#
+initial_command = "search tag:inbox AND NOT tag:deleted"
+#
+# initial command when none is given as argument:
+#
+# Type: string
+# Default: “search tag:inbox AND NOT tag:killed”
+#
+# input_timeout
+#
+# timeout in (floating point) seconds until partial input is cleared
+#
+# Type: float
+# Default: 1.0
+#
+# interpret_ansi_background
+#
+# display background colors set by ANSI character escapes
+#
+# Type: boolean
+# Default: True
+#
+# mailinglists
+#
+# The list of addresses associated to the mailinglists you are subscribed to
+#
+# Type: string list
+# Default: ,
+#
+# msg_summary_hides_threadwide_tags
+#
+# In a thread buffer, hide from messages summaries tags that are commom to all messages in that thread.
+#
+# Type: boolean
+# Default: True
+#
+# namedqueries_statusbar
+#
+# Format of the status-bar in named query list mode. This is a pair of strings to be left and right aligned in the status-bar. These strings may contain variables listed at bufferlist_statusbar that will be substituted accordingly.
+#
+# Type: mixed_list
+# Default: [{buffer_no}: namedqueries], {query_count} named queries
+#
+# notify_timeout
+#
+# time in secs to display status messages
+#
+# Type: integer
+# Default: 2
+#
+# periodic_hook_frequency
+#
+# The number of seconds to wait between calls to the loop_hook
+#
+# Type: integer
+# Default: 300
+#
+# prefer_plaintext
+#
+# prefer plaintext alternatives over html content in multipart/alternative
+#
+# Type: boolean
+# Default: False
+#
+prefer_plaintext = True
+# print_cmd
+#
+# how to print messages: this specifies a shell command used for printing. threads/messages are piped to this command as plain text. muttprint/a2ps works nicely
+#
+# Type: string
+# Default: None
+#
+# prompt_suffix
+#
+# Suffix of the prompt used when waiting for user input
+#
+# Type: string
+# Default: “:”
+#
+# quit_on_last_bclose
+#
+# shut down when the last buffer gets closed
+#
+# Type: boolean
+# Default: False
+#
+# quote_prefix
+#
+# String prepended to line when quoting
+#
+# Type: string
+# Default: “> “
+#
+# reply_account_header_priority
+#
+# The list of headers to match to determine sending account for a reply. Headers are searched in the order in which they are specified here, and the first header containing a match is used. If multiple accounts match in that header, the one defined first in the account block is used.
+#
+# Type: string list
+# Default: From, To, Cc, Envelope-To, X-Envelope-To, Delivered-To
+#
+# reply_force_address
+#
+# Always use the accounts main address when constructing “From” headers for replies. Set this to False to use the address string as received in the original message.
+#
+# Type: boolean
+# Default: False
+#
+# reply_force_realname
+#
+# Always use the proper realname when constructing “From” headers for replies. Set this to False to use the realname string as received in the original message.
+#
+# Type: boolean
+# Default: True
+#
+# reply_subject_prefix
+#
+# String prepended to subject header on reply only if original subject doesn’t start with ‘Re:’ or this prefix
+#
+# Type: string
+# Default: “Re: “
+#
+# search_statusbar
+#
+# Format of the status-bar in search mode. This is a pair of strings to be left and right aligned in the status-bar. Apart from the global variables listed at bufferlist_statusbar these strings may contain variables:
+#
+# {querystring}: search string
+# {result_count}: number of matching messages
+# {result_count_positive}: ‘s’ if result count is greater than 0.
+#
+# Type: mixed_list
+# Default: [{buffer_no}: search] for “{querystring}”, {input_queue} {result_count} of {total_messages} messages
+#
+# search_threads_rebuild_limit
+#
+# maximum amount of threads that will be consumed to try to restore the focus, upon triggering a search buffer rebuild when set to 0, no limit is set (can be very slow in searches that yield thousands of results)
+#
+# Type: integer
+# Default: 0
+#
+# search_threads_sort_order
+#
+# default sort order of results in a search
+#
+# Type: option, one of [‘oldest_first’, ‘newest_first’, ‘message_id’, ‘unsorted’]
+# Default: newest_first
+#
+# show_statusbar
+#
+# display status-bar at the bottom of the screen?
+#
+# Type: boolean
+# Default: True
+#
+tabwidth = 4
+#
+# number of spaces used to replace tab characters
+#
+# Type: integer
+# Default: 8
+#
+# taglist_statusbar
+#
+# Format of the status-bar in taglist mode. This is a pair of strings to be left and right aligned in the status-bar. These strings may contain variables listed at bufferlist_statusbar that will be substituted accordingly.
+#
+# Type: mixed_list
+# Default: [{buffer_no}: taglist], {input_queue} total messages: {total_messages}
+#
+# template_dir
+#
+# templates directory that contains your message templates. It will be used if you give compose –template a filename without a path prefix.
+#
+# Type: string
+# Default: “$XDG_CONFIG_HOME/alot/templates”
+#
+terminal_cmd = "alacritty -e"
+#
+# set terminal command used for spawning shell commands
+#
+# Type: string
+# Default: “x-terminal-emulator -e”
+#
+# theme
+#
+# name of the theme to use
+#
+# Type: string
+# Default: None
+#
+# themes_dir
+#
+# directory containing theme files.
+#
+# Type: string
+# Default: “$XDG_CONFIG_HOME/alot/themes”
+#
+# thread_authors_me
+#
+# Word to replace own addresses with. Works in combination with thread_authors_replace_me
+#
+# Type: string
+# Default: “Me”
+#
+# thread_authors_order_by
+#
+# When constructing the unique list of thread authors, order by date of author’s first or latest message in thread
+#
+# Type: option, one of [‘first_message’, ‘latest_message’]
+# Default: first_message
+#
+# thread_authors_replace_me
+#
+# Replace own email addresses with “me” in author lists Uses own addresses and aliases in all configured accounts.
+#
+# Type: boolean
+# Default: True
+#
+# thread_focus_linewise
+#
+# Split message body linewise and allows to (move) the focus to each individual line. Setting this to False will result in one potentially big text widget for the whole message body.
+#
+# Type: boolean
+# Default: True
+#
+# thread_indent_replies
+#
+# number of characters used to indent replies relative to original messages in thread mode
+#
+# Type: integer
+# Default: 2
+#
+# thread_statusbar
+#
+# Format of the status-bar in thread mode. This is a pair of strings to be left and right aligned in the status-bar. Apart from the global variables listed at bufferlist_statusbar these strings may contain variables:
+#
+# {tid}: thread id
+# {subject}: subject line of the thread
+# {authors}: abbreviated authors string for this thread
+# {message_count}: number of contained messages
+# {thread_tags}: displays all tags present in the current thread.
+# {intersection_tags}: displays tags common to all messages in the current thread.
+# {mimetype}: content type of the mime part displayed in the focused message.
+#
+# Type: mixed_list
+# Default: [{buffer_no}: thread] {subject}, [{mimetype}] {input_queue} total messages: {total_messages}
+#
+# thread_subject
+#
+# What should be considered to be “the thread subject”. Valid values are:
+#
+# ‘notmuch’ (the default), will use the thread subject from notmuch, which depends on the selected sorting method
+# ‘oldest’ will always use the subject of the oldest message in the thread as the thread subject
+#
+# Type: option, one of [‘oldest’, ‘notmuch’]
+# Default: notmuch
+#
+# timestamp_format
+#
+# timestamp format in strftime format syntax
+#
+# Type: string
+# Default: None
+#
+# user_agent
+#
+# value of the User-Agent header used for outgoing mails. setting this to the empty string will cause alot to omit the header all together. The string ‘{version}’ will be replaced by the version string of the running instance.
+#
+# Type: string
+# Default: “alot/{version}”
+[accounts]
+ [[posteo]]
+ realname = Szymon Mikulicz
+ address = szymon.mikulicz@posteo.net
+ aliases = s_m@posteo.net, ashymad@posteo.net
+ sendmail_command = msmtp --account=posteo -t
+ sent_box = maildir://~/.mail/posteo/Sent
+ draft_box = maildir://~/.mail/posteo/Drafts
+ [[[abook]]]
+ type = shellcommand
+ command = 'notmuch address --format=json date:1Y..'
+ regexp = '\[?{"name": "(?P<name>.*)", "address": "(?P<email>.+)", "name-addr": ".*"}[,\]]?'
+ shellcommand_external_filtering = False
+
+[bindings]
+ up = move up
+ down = move down
+ page up = move page up
+ page down = move page down
+ mouse press 4 = move up
+ mouse press 5 = move down
+ j = move down
+ k = move up
+ 'g g' = move first
+ G = move last
+ ' ' = move page down
+ 'ctrl d' = move halfpage down
+ 'ctrl u' = move halfpage up
+ @ = refresh
+ ? = help bindings
+ I = search tag:inbox AND NOT tag:deleted
+ '#' = taglist
+ shift tab = bprevious
+ U = search tag:unread
+ tab = bnext
+ \ = prompt 'search '
+ d = bclose
+ $ = flush
+ m = compose
+ o = prompt 'search '
+ q = exit
+ ';' = bufferlist
+ ':' = prompt
+ . = repeat
+
+ [[bufferlist]]
+ x = close
+ enter = open
+
+ [[search]]
+ enter = untag unread; select
+ a = toggletags archived; toggletags inbox
+ & = toggletags deleted
+ ! = toggletags flagged
+ s = toggletags unread
+ l = retagprompt
+ O = refineprompt
+ | = refineprompt
+
+ [[envelope]]
+ a = prompt 'attach ~/'
+ y = send
+ P = save
+ s = 'refine Subject'
+ f = prompt 'set From '
+ t = 'refine To'
+ b = 'refine Bcc'
+ c = 'refine Cc'
+ S = togglesign
+ enter = edit
+ 'g f' = togglesource
+
+ [[taglist]]
+ enter = select
+
+ [[namedqueries]]
+ enter = select
+
+ [[thread]]
+ enter = select
+ C = fold *
+ E = unfold *
+ c = fold
+ e = unfold
+ < = fold
+ > = unfold
+ [ = indent -
+ ] = indent +
+ 'g f' = togglesource
+ H = toggleheaders
+ P = print --all --separately --add_tags
+ S = save --all
+ g = reply --all
+ f = forward
+ p = print --add_tags
+ n = editnew
+ b= bounce
+ s = save
+ r = reply
+ | = prompt 'pipeto '
+ t = togglemimetree
+ h = togglemimepart
+
+ 'g j' = move next sibling
+ 'g k' = move previous sibling
+ 'g h' = move parent
+ 'g l' = move first reply
+ ' ' = move next
diff --git a/alot/.mailcap b/alot/.mailcap
@@ -0,0 +1 @@
+text/html; w3m -dump -cols 120 -T text/html -I %{charset} -O utf-8 %s; copiousoutput; description=HTML Text; nametemplate=%s.html
diff --git a/astroid/.config/astroid/config b/astroid/.config/astroid/config
@@ -44,7 +44,7 @@
}
},
"editor": {
- "cmd": "st -w %3 -e nvim %1",
+ "cmd": "alacritty --embed %3 -e nvim %1",
"external_editor": "false",
"charset": "utf-8",
"save_draft_on_force_quit": "true",
diff --git a/astroid/.config/astroid/poll.sh b/astroid/.config/astroid/poll.sh
@@ -2,12 +2,18 @@
set -e
+if ! pgrep -x keepassxc; then
+ echo "KeePassXC is not running!"
+ exit
+fi
+
if ! ping -w 1 -W 1 -c 1 posteo.de; then
echo "No connection to posteo"
exit
fi
-export MAILDIR="/home/shyman/.mail"
+MAILDIR="/home/shyman/.mail"
+TAGSTRING=""
moveIt()
{
@@ -18,33 +24,38 @@ moveIt()
}
export -f moveIt
-#notmuch search --output=files tag:deleted and tag:o2 and not folder:o2/Trash | xargs -I {} mv -f "{}" $MAILDIR/o2/Trash/cur/
-#notmuch search --output=files tag:deleted and tag:freeos and not folder:freeos/Trash | xargs -I {} mv -f "{}" $MAILDIR/freeos/Trash/cur/
-#notmuch search --output=files tag:deleted and tag:agh and not folder:agh/Trash | xargs -I {} mv -f "{}" $MAILDIR/agh/Trash/cur/
-notmuch search --output=files tag:deleted and tag:posteo and not folder:posteo/Trash | xargs -I{} bash -c 'moveIt "{}" $MAILDIR/posteo/Trash/new/'
-
-# +o2 tag:new and path:"o2/**"
-#+freeos tag:new and path:"freeos/**"
-# +agh tag:new and path:"agh/**"
-# +deleted tag:new and folder:o2/Trash or folder:freeos/Trash or folder:agh/Trash
-# +sent tag:new and folder:o2/Sent or folder:freeos/Sent or folder:"freeos/Sent Items" or folder:agh/Sent
-# +spam tag:new and folder:o2/Spam or folder:freeos/Spam or folder:freeos/Junk or folder:agh/Spam
-# +inbox tag:new and folder:o2/INBOX or folder:freeos/INBOX or folder:agh/INBOX
-# +archive tag:new and folder:o2/INBOX.Archive or folder:freeos/Archive or folder:agh/Archives
-# +draft tag:new and folder:o2/Drafts or folder:freeos/Drafts or folder:agh/Drafts
+movemail() {
+ notmuch search --output=files tag:$2 and tag:$1 and not folder:$1/$3 | xargs -I{} bash -c "moveIt '{}' $MAILDIR/$1/$3/new/"
+}
+
+tag() {
+ TAGSTRING="$TAGSTRING$1 tag:new and $2\n"
+}
+
+tag_exec() {
+ TAGSTRING="$TAGSTRING-new tag:new\n"
+ printf "Tagging:\n$TAGSTRING"
+ printf "$TAGSTRING" | notmuch tag --batch
+}
+
+
+movemail posteo deleted Trash
+movemail posteo archived Archive
+movemail posteo note Notes
mbsync posteo
-notmuch new
-
-notmuch tag --batch <<EOF
- +posteo tag:new and path:"posteo/**"
- +o2 tag:new and to:czilukim@o2.pl
- +deleted tag:new and folder:posteo/Trash
- +sent tag:new and folder:posteo/Sent
- +inbox tag:new and folder:posteo/Inbox
- +draft tag:new and folder:posteo/Drafts
- +note tag:new and folder:posteo/Notes
- +migration tag:new and folder:"posteo/Migration_*"
-EOF
-
-notmuch tag -new tag:new
+if ! notmuch new | grep "No new mail"; then
+ notify-send "New mail
+ $(notmuch search tag:new | sed 's/^thread:[0-9a-z]*[ ]*//')"
+fi
+
+tag +posteo path:"posteo/**"
+tag +o2 to:czilukim@o2.pl
+tag +deleted folder:posteo/Trash
+tag +sent folder:posteo/Sent
+tag +inbox folder:posteo/Inbox
+tag +draft folder:posteo/Drafts
+tag +note folder:posteo/Notes
+tag_exec
+
+pkill -SIGUSR1 alot
diff --git a/cmus/.cmus/cmus-geeqie.sh b/cmus/.cmus/cmus-geeqie.sh
@@ -22,7 +22,7 @@ if echo "$FLIST" | grep -i ".jpeg\|.png\|.jpg" &>/dev/null; then
ART=$( echo "$FLIST" | grep -i ".png\|.jpg\|.jpeg" | head -n1 )
fi
- geeqie -r File:"$ART"
+ #geeqie -r File:"$ART"
else
- geeqie -r File:"/home/shyman/.cmus/none.jpg"
+ #geeqie -r File:"/home/shyman/.cmus/none.jpg"
fi
diff --git a/fish/.config/fish/config.fish b/fish/.config/fish/config.fish
@@ -16,6 +16,18 @@ alias wine32 'env WINEPREFIX=/home/shyman/.wine32 WINEARCH=win32 wine'
alias wine32cfg 'env WINEPREFIX=/home/shyman/.wine32 WINEARCH=win32 winecfg'
alias wine32tricks 'env WINEPREFIX=/home/shyman/.wine32 WINEARCH=win32 winetricks'
-alias cmus='tmux attach-session -t cmus || tmux new-session -A -D -s cmus cmus'
+alias cmus='tmux attach-session -t cmus || tmux new-session -A -D -s cmus /usr/bin/cmus'
+
+alias :q exit
+alias :e nvim
+if test "$XDG_SESSION_TYPE" = "x11"
+ alias :split 'i3-msg split v\; exec alacritty > /dev/null'
+ alias :vsplit 'i3-msg split h\; exec alacritty > /dev/null'
+else
+ alias :split 'swaymsg split v\; exec alacritty'
+ alias :vsplit 'swaymsg split h\; exec alacritty'
+end
+
+alias noproxy 'env http_proxy="" https_proxy="" ftp_proxy=""'
source /usr/share/autojump/autojump.fish
diff --git a/fish/.config/fish/functions/aur-cleanup.fish b/fish/.config/fish/functions/aur-cleanup.fish
@@ -7,7 +7,8 @@ function aur-cleanup
cd $repo
set reponame (basename $repo)
rm $reponame.db*
- repo-add -n $reponame.db.tar *.pkg.tar.xz
+ set pkgs *.pkg.tar.xz
+ repo-add -n $reponame.db.tar $pkgs
end
sudo pacman -Sy
msg1 "Cleaning aur sync cache..."
diff --git a/fish/.config/fish/functions/extract_recursive.fish b/fish/.config/fish/functions/extract_recursive.fish
@@ -0,0 +1,10 @@
+function extract_recursive
+ set folname (echo $argv[1] | sed 's/\.[^.]*$//')
+ 7z x $argv[1] -o$folname
+ echo "0" > /tmp/extrout
+ while read < /tmp/extrout
+ find $folname \( -name '*.zip' -o -name '*.xz' -o -name '*.tar' -o -name '*.gz' -o -name "*.tgz" \) -type f -exec bash -c '7z x "{}" -o$(echo {} | sed \'s/\\.[^.]*$//\') && rm {}' \; | tee /tmp/extrout
+ end
+ end
+end
+
diff --git a/i3/.i3/config b/i3/.i3/config
@@ -1,244 +0,0 @@
-# vim: filetype=i3config
-set $mod Mod4
-
-font pango:Terminus 11px
-
-floating_modifier $mod
-
-bindsym $mod+Return exec alacritty
-bindsym $mod+d exec rofi -modi drun -show drun
-
-bindsym $mod+Shift+d exec xhost + 192.168.0.227; mode "remote"
-mode "remote" {
- bindsym $mod+d exec ssh mikulicz@192.168.0.227 env DISPLAY=192.168.0.10:0 rofi -modi drun -show drun
- bindsym $mod+Return exec alacritty -e ssh -t mikulicz@192.168.0.227 env DISPLAY=192.168.0.10:0 '$SHELL'
-
- bindsym $mod+Shift+d mode "default"
-
- bindsym $mod+Shift+q kill
-
- bindsym $mod+h focus left
- bindsym $mod+j focus down
- bindsym $mod+k focus up
- bindsym $mod+l focus right
-
- bindsym $mod+Left focus left
- bindsym $mod+Down focus down
- bindsym $mod+Up focus up
- bindsym $mod+Right focus right
-
- bindsym $mod+Shift+h move left
- bindsym $mod+Shift+j move down
- bindsym $mod+Shift+k move up
- bindsym $mod+Shift+l move right
-
- bindsym $mod+Shift+Left move left
- bindsym $mod+Shift+Down move down
- bindsym $mod+Shift+Up move up
- bindsym $mod+Shift+Right move right
-
- bindsym $mod+g split h
-
- bindsym $mod+v split v
-
- bindsym $mod+f fullscreen toggle
-
- bindsym $mod+s layout stacking
- bindsym $mod+w layout tabbed
- bindsym $mod+e layout toggle split
-
- bindsym $mod+Shift+space floating toggle
-
- bindsym $mod+space focus mode_toggle
-
- bindsym $mod+a focus parent
-
- #bindsym $mod+d focus child
-
- bindsym $mod+1 workspace 1
- bindsym $mod+2 workspace 2
- bindsym $mod+3 workspace 3
- bindsym $mod+4 workspace 4
- bindsym $mod+5 workspace 5
- bindsym $mod+6 workspace 6
- bindsym $mod+7 workspace 7
- bindsym $mod+8 workspace 8
- bindsym $mod+9 workspace 9
- bindsym $mod+0 workspace 10
-
- bindsym $mod+Shift+1 move container to workspace 1
- bindsym $mod+Shift+2 move container to workspace 2
- bindsym $mod+Shift+3 move container to workspace 3
- bindsym $mod+Shift+4 move container to workspace 4
- bindsym $mod+Shift+5 move container to workspace 5
- bindsym $mod+Shift+6 move container to workspace 6
- bindsym $mod+Shift+7 move container to workspace 7
- bindsym $mod+Shift+8 move container to workspace 8
- bindsym $mod+Shift+9 move container to workspace 9
- bindsym $mod+Shift+0 move container to workspace 10
-}
-
-bindsym $mod+Shift+q kill
-
-bindsym $mod+h focus left
-bindsym $mod+j focus down
-bindsym $mod+k focus up
-bindsym $mod+l focus right
-
-bindsym $mod+Left focus left
-bindsym $mod+Down focus down
-bindsym $mod+Up focus up
-bindsym $mod+Right focus right
-
-bindsym $mod+Shift+h move left
-bindsym $mod+Shift+j move down
-bindsym $mod+Shift+k move up
-bindsym $mod+Shift+l move right
-
-bindsym $mod+Shift+Left move left
-bindsym $mod+Shift+Down move down
-bindsym $mod+Shift+Up move up
-bindsym $mod+Shift+Right move right
-
-bindsym $mod+g split h
-
-bindsym $mod+v split v
-
-bindsym $mod+f fullscreen toggle
-
-bindsym $mod+s layout stacking
-bindsym $mod+w layout tabbed
-bindsym $mod+e layout toggle split
-
-bindsym $mod+Shift+space floating toggle
-
-bindsym $mod+space focus mode_toggle
-
-bindsym $mod+a focus parent
-
-#bindsym $mod+d focus child
-
-bindsym $mod+1 workspace 1
-bindsym $mod+2 workspace 2
-bindsym $mod+3 workspace 3
-bindsym $mod+4 workspace 4
-bindsym $mod+5 workspace 5
-bindsym $mod+6 workspace 6
-bindsym $mod+7 workspace 7
-bindsym $mod+8 workspace 8
-bindsym $mod+9 workspace 9
-bindsym $mod+0 workspace 10
-
-bindsym $mod+Shift+1 move container to workspace 1
-bindsym $mod+Shift+2 move container to workspace 2
-bindsym $mod+Shift+3 move container to workspace 3
-bindsym $mod+Shift+4 move container to workspace 4
-bindsym $mod+Shift+5 move container to workspace 5
-bindsym $mod+Shift+6 move container to workspace 6
-bindsym $mod+Shift+7 move container to workspace 7
-bindsym $mod+Shift+8 move container to workspace 8
-bindsym $mod+Shift+9 move container to workspace 9
-bindsym $mod+Shift+0 move container to workspace 10
-
-bindsym $mod+Shift+c reload
-
-bindsym $mod+Shift+r restart
-
-bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
-
-mode "resize" {
- bindsym l resize shrink width 10 px or 10 ppt
- bindsym semicolon resize grow height 10 px or 10 ppt
- bindsym apostrophe resize shrink height 10 px or 10 ppt
- bindsym backslash resize grow width 10 px or 10 ppt
-
- bindsym Left resize shrink width 10 px or 10 ppt
- bindsym Down resize grow height 10 px or 10 ppt
- bindsym Up resize shrink height 10 px or 10 ppt
- bindsym Right resize grow width 10 px or 10 ppt
-
- bindsym Return mode "default"
- bindsym Escape mode "default"
-}
-bindsym $mod+r mode "resize"
-
-set $power_control "[l]ock log[o]ut [s]uspend [h]ibernate [r]eboot [p]oweroff"
-mode $power_control {
- bindsym l exec xset s activate; mode "default"
- bindsym o exec i3-msg exit; mode "default"
- bindsym s exec systemctl suspend; mode "default"
- bindsym h exec systemctl hibernate; mode "default"
- bindsym r exec systemctl reboot; mode "default"
- bindsym p exec systemctl poweroff; mode "default"
-
- bindsym Return mode "default"
- bindsym Escape mode "default"
-}
-bindsym $mod+n mode $power_control
-
-mode "brightness" {
- bindsym grave exec ~/.i3/brightness.sh 00
- bindsym 1 exec ~/.i3/brightness.sh 10
- bindsym 2 exec ~/.i3/brightness.sh 20
- bindsym 3 exec ~/.i3/brightness.sh 30
- bindsym 4 exec ~/.i3/brightness.sh 40
- bindsym 5 exec ~/.i3/brightness.sh 50
- bindsym 6 exec ~/.i3/brightness.sh 60
- bindsym 7 exec ~/.i3/brightness.sh 70
- bindsym 8 exec ~/.i3/brightness.sh 80
- bindsym 9 exec ~/.i3/brightness.sh 90
- bindsym 0 exec ~/.i3/brightness.sh 100
-
- bindsym Return mode "default"
- bindsym Escape mode "default"
-}
-bindsym $mod+Shift+b mode "brightness"
-
-new_window pixel 2
-gaps inner 10
-
- # Pulse Audio controls
-bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5%
-bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5%
-bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle
-
-# C* Music Player controls
-bindsym XF86AudioPlay exec --no-startup-id cmus-remote -u
-bindsym XF86AudioStop exec --no-startup-id cmus-remote -s
-bindsym XF86AudioNext exec --no-startup-id cmus-remote -n
-bindsym XF86AudioPrev exec --no-startup-id cmus-remote -r
-
-# Screen brightness controls
-bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 10 # increase screen brightness
-bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 10 # decrease screen brightness
-bindsym $mod+F12 exec --no-startup-id xbacklight -inc 10 # increase screen brightness
-bindsym $mod+F11 exec --no-startup-id xbacklight -dec 10 # decrease screen brightness
-
-# Touchpad toggle
-bindsym XF86TouchpadToggle exec --no-startup-id ~/.i3/toggle_touchpad.sh 'SynPS/2 Synaptics TouchPad'
-
-# Change wallpaper
-bindsym $mod+p exec --no-startup-id ~/.fehbg
-
-# Take screenshot
-bindsym $mod+Shift+s exec --no-startup-id flameshot gui
-
-# class border backgr. text indicator
-client.focused #5c6370e6 #5c6370e6 #ffffff #5c6370e6
-client.unfocused #282c34e6 #282c34e6 #dcdfe4 #282c34e6
-client.focused_inactive #282c34e6 #282c34e6 #dcdfe4 #282c34e6
-client.urgent #383a3be6 #383a3be6 #e06c75 #383a3be6
-
-for_window [instance="polybar"] gaps inner 0
-for_window [instance="mpv"] pixel 0
-for_window [instance="^r_x11$"] floating enable
-for_window [instance="^octave\-gui$"] floating enable
-for_window [instance="^matplotlib$"] floating enable
-for_window [instance="^gnuplot_qt$"] floating enable
-
-exec ~/.screenlayout/default.sh
-exec feh --no-fehbg --bg-fill ~/.i3/BG.png
-exec --no-startup-id picom --experimental-backends
-exec --no-startup-id xss-lock -l -- ~/.i3/lock.sh
-exec --no-startup-id clight
-exec_always --no-startup-id ~/.config/polybar/launch.sh
diff --git a/i3/.i3/config.d/bindsyms b/i3/.i3/config.d/bindsyms
@@ -0,0 +1,93 @@
+// vim: filetype=i3config
+bindsym $mod+Shift+q kill
+
+bindsym $mod+h focus left
+bindsym $mod+j focus down
+bindsym $mod+k focus up
+bindsym $mod+l focus right
+
+bindsym $mod+Left focus left
+bindsym $mod+Down focus down
+bindsym $mod+Up focus up
+bindsym $mod+Right focus right
+
+bindsym $mod+Shift+h move left
+bindsym $mod+Shift+j move down
+bindsym $mod+Shift+k move up
+bindsym $mod+Shift+l move right
+
+bindsym $mod+Shift+Left move left
+bindsym $mod+Shift+Down move down
+bindsym $mod+Shift+Up move up
+bindsym $mod+Shift+Right move right
+
+bindsym $mod+g split h
+
+bindsym $mod+v split v
+
+bindsym $mod+f fullscreen toggle
+
+bindsym $mod+s layout stacking
+bindsym $mod+w layout tabbed
+bindsym $mod+e layout toggle split
+
+bindsym $mod+Shift+space floating toggle
+
+bindsym $mod+space focus mode_toggle
+
+bindsym $mod+a focus parent
+
+// bindsym $mod+d focus child
+
+bindsym $mod+1 workspace 1
+bindsym $mod+2 workspace 2
+bindsym $mod+3 workspace 3
+bindsym $mod+4 workspace 4
+bindsym $mod+5 workspace 5
+bindsym $mod+6 workspace 6
+bindsym $mod+7 workspace 7
+bindsym $mod+8 workspace 8
+bindsym $mod+9 workspace 9
+bindsym $mod+0 workspace 10
+
+bindsym $mod+Shift+1 move container to workspace 1
+bindsym $mod+Shift+2 move container to workspace 2
+bindsym $mod+Shift+3 move container to workspace 3
+bindsym $mod+Shift+4 move container to workspace 4
+bindsym $mod+Shift+5 move container to workspace 5
+bindsym $mod+Shift+6 move container to workspace 6
+bindsym $mod+Shift+7 move container to workspace 7
+bindsym $mod+Shift+8 move container to workspace 8
+bindsym $mod+Shift+9 move container to workspace 9
+bindsym $mod+Shift+0 move container to workspace 10
+
+bindsym $mod+Shift+c exec cpp ~/.i3/config.in > ~/.i3/config; reload
+
+bindsym $mod+Shift+r exec cpp ~/.i3/config.in > ~/.i3/config; restart
+
+bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
+
+// Pulse Audio controls
+bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5%
+bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5%
+bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle
+
+// C* Music Player controls
+bindsym XF86AudioPlay exec --no-startup-id cmus-remote -u
+bindsym XF86AudioStop exec --no-startup-id cmus-remote -s
+bindsym XF86AudioNext exec --no-startup-id cmus-remote -n
+bindsym XF86AudioPrev exec --no-startup-id cmus-remote -r
+
+bindsym $mod+c exec alacritty --class CMUS -e fish -c cmus
+
+// Sreen brightness controls
+bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 10 # increase screen brightness
+bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 10 # decrease screen brightness
+bindsym $mod+F12 exec --no-startup-id xbacklight -inc 10 # increase screen brightness
+bindsym $mod+F11 exec --no-startup-id xbacklight -dec 10 # decrease screen brightness
+
+// Change wallpaper
+bindsym $mod+p exec --no-startup-id ~/.fehbg -r
+
+// Take screenshot
+bindsym $mod+Shift+s exec --no-startup-id flameshot gui
diff --git a/i3/.i3/config.d/execs b/i3/.i3/config.d/execs
@@ -0,0 +1,7 @@
+// vim: filetype=i3config
+exec ~/.screenlayout/default.sh
+// exec --no-startup-id picom --experimental-backends
+exec --no-startup-id xss-lock -l -- ~/.i3/lock.sh
+exec --no-startup-id redshift-gtk
+exec_always --no-startup-id ~/.config/polybar/launch.sh
+exec sleep 1 && ~/.fehbg
diff --git a/i3/.i3/config.d/modes b/i3/.i3/config.d/modes
@@ -0,0 +1,48 @@
+// vim: filetype=i3config
+mode "resize" {
+ bindsym l resize shrink width 10 px or 10 ppt
+ bindsym semicolon resize grow height 10 px or 10 ppt
+ bindsym apostrophe resize shrink height 10 px or 10 ppt
+ bindsym backslash resize grow width 10 px or 10 ppt
+
+ bindsym Left resize shrink width 10 px or 10 ppt
+ bindsym Down resize grow height 10 px or 10 ppt
+ bindsym Up resize shrink height 10 px or 10 ppt
+ bindsym Right resize grow width 10 px or 10 ppt
+
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+bindsym $mod+r mode "resize"
+
+set $power_control "[l]ock log[o]ut [s]uspend [h]ibernate [r]eboot [p]oweroff"
+mode $power_control {
+ bindsym l exec xset s activate; mode "default"
+ bindsym o exec i3-msg exit; mode "default"
+ bindsym s exec systemctl suspend; mode "default"
+ bindsym h exec systemctl hibernate; mode "default"
+ bindsym r exec systemctl reboot; mode "default"
+ bindsym p exec systemctl poweroff; mode "default"
+
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+bindsym $mod+n mode $power_control
+
+mode "brightness" {
+ bindsym grave exec ~/.i3/brightness.sh 00
+ bindsym 1 exec ~/.i3/brightness.sh 10
+ bindsym 2 exec ~/.i3/brightness.sh 20
+ bindsym 3 exec ~/.i3/brightness.sh 30
+ bindsym 4 exec ~/.i3/brightness.sh 40
+ bindsym 5 exec ~/.i3/brightness.sh 50
+ bindsym 6 exec ~/.i3/brightness.sh 60
+ bindsym 7 exec ~/.i3/brightness.sh 70
+ bindsym 8 exec ~/.i3/brightness.sh 80
+ bindsym 9 exec ~/.i3/brightness.sh 90
+ bindsym 0 exec ~/.i3/brightness.sh 100
+
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+bindsym $mod+Shift+b mode "brightness"
diff --git a/i3/.i3/config.d/windows b/i3/.i3/config.d/windows
@@ -0,0 +1,17 @@
+// vim: filetype=i3config
+// class border bg text indicator
+client.focused #5c6370e6 #5c6370e6 #ffffff #5c6370e6
+client.unfocused #282c34e6 #282c34e6 #dcdfe4 #282c34e6
+client.focused_inactive #282c34e6 #282c34e6 #dcdfe4 #282c34e6
+client.urgent #383a3be6 #383a3be6 #e06c75 #383a3be6
+
+new_window pixel 2
+gaps inner 10
+
+for_window [instance="polybar"] gaps inner 0
+for_window [instance="mpv"] pixel 0
+for_window [instance="^r_x11$"] floating enable
+for_window [instance="^octave\-gui$"] floating enable
+for_window [instance="^matplotlib$"] floating enable
+for_window [instance="^gnuplot_qt$"] floating enable
+for_window [instance="CMUS"] floating enable
diff --git a/i3/.i3/config.in b/i3/.i3/config.in
@@ -0,0 +1,25 @@
+// vim: filetype=i3config
+
+set $mod Mod4
+
+font pango:Terminus 11px
+
+floating_modifier $mod
+
+bindsym $mod+Return exec alacritty
+bindsym $mod+d exec rofi -modi drun -show drun
+
+bindsym $mod+Shift+d exec xhost + N-20L6PF16PQSK; mode "remote"
+mode "remote" {
+ bindsym $mod+d exec ssh mikulicz@N-20L6PF16PQSK env DISPLAY=SKRADAK:0 rofi -modi drun -show drun
+ bindsym $mod+Return exec alacritty -e ssh -t mikulicz@N-20L6PF16PQSK env DISPLAY=SKRADAK:0 '$SHELL'
+
+#include "config.d/bindsyms"
+
+ bindsym $mod+Shift+d mode "default"
+}
+
+#include "config.d/bindsyms"
+#include "config.d/modes"
+#include "config.d/windows"
+#include "config.d/execs"
diff --git a/i3/.i3/start.sh b/i3/.i3/start.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+cpp ~/.i3/config.in > ~/.i3/config
+exec i3
diff --git a/neomutt/.config/neomutt/neomuttrc b/neomutt/.config/neomutt/neomuttrc
@@ -0,0 +1,1000 @@
+##########################################################################
+# 00 - Neomutt configuration
+##########################################################################
+# -------------------------------------------------------------------------
+# Name: tmpdir
+# -------------------------------------------------------------------------
+# This variable allows you to specify where NeoMutt will place its
+# temporary files needed for displaying and composing messages. If this
+# variable is not set, the environment variable $TMPDIR is used. Failing
+# that, then “/tmp” is used.
+# -------------------------------------------------------------------------
+
+# set tmpdir=/tmp
+# -------------------------------------------------------------------------
+# Name: alias_file
+# -------------------------------------------------------------------------
+# The default file in which to save aliases created by the
+# <create-alias> function. Entries added to this file are encoded in
+# the character set specified by $con‐ fig_charset if it is set or the
+# current character set otherwise.
+# -------------------------------------------------------------------------
+
+# set alias_file="~/.neomuttrc"
+# set alias_file="~/.neomutt/alias"
+set alias_file="~/.config/neomutt/alias"
+
+# -------------------------------------------------------------------------
+# Note: NeoMutt will not automatically source this file; you must
+# explicitly use the “source” command for it to be executed in case this
+# option points to a dedicated alias file.
+# -------------------------------------------------------------------------
+
+# source "~/.neomutt/alias"
+source "~/.config/neomutt/alias"
+# -------------------------------------------------------------------------
+# Name: query_command
+# -------------------------------------------------------------------------
+# This specifies the command NeoMutt will use to make external address
+# queries. The string may contain a “%s”, which will be substituted with
+# the query string the user types. NeoMutt will add quotes around
+# the string substituted for “%s” automatically according to shell quoting
+# rules, so you should avoid adding your own. If no “%s” is found in
+# the string, NeoMutt will append the user's query to the end of the
+# string. See “query” for more information.
+# -------------------------------------------------------------------------
+
+# set query_command = "/usr/bin/lbdbq '%s'"
+set query_command = "notmuch address %s"
+set query_format = "%5c %t %a %n %?e?(%e)?"
+
+##########################################################################
+# 01 - Basic personal setup
+##########################################################################
+# -------------------------------------------------------------------------
+# Name: alternates
+# -------------------------------------------------------------------------
+# alternates is used to inform NeoMutt about alternate addresses where you
+# receive mail; you can use regular expressions (regex) to specify
+# alternate addresses. This affects NeoMutt's idea about messages from
+# you, and messages addressed to you. unalternates can be used to write
+# exceptions to alternates patterns. To remove a regu‐ lar expression from
+# the alternates list, use the unalternates command with exactly the same
+# regex or use “*” to remove all entries. The optional -group flag
+# causes all of the subsequent regular expressions to be added to or
+# removed from the named group.
+
+alternates s_m@posteo.net
+alternates ashymad@posteo.net
+alternates czilukim@o2.pl
+# -------------------------------------------------------------------------
+# Name: realname
+# -------------------------------------------------------------------------
+# This variable specifies what “real” or “personal” name should be used
+# when sending mes‐ sages. If not specified, then the user's “real name”
+# will be read from /etc/passwd. This option will not be used, if
+# “$from” is set.
+# -------------------------------------------------------------------------
+
+set realname = "Szymon Mikulicz"
+
+
+# -------------------------------------------------------------------------
+# Name: from
+# -------------------------------------------------------------------------
+# When set, this variable contains a default “from” address. It can be
+# overridden using “my_hdr” (including from a “send-hook”) and
+# $reverse_name. This variable is ignored if $use_from is unset. If not
+# specified, then it may be read from the environment variable $EMAIL.
+# -------------------------------------------------------------------------
+
+set from="szymon.mikulicz@posteo.net"
+# -------------------------------------------------------------------------
+# Name: alias / unalias
+# -------------------------------------------------------------------------
+# alias defines a surrogate key for the given address(es). Each address
+# will be resolved into either an email address (user@example.com) or a
+# named email address (User Name <user@example.com>). The address
+# may be specified in either format, or in the format “user@example.com
+# (User Name)”. Note: If you want to create an alias for more than one
+# address, you must separate the addresses with a comma (“,”). unalias
+# removes the alias corresponding to the given key or all aliases when
+# “*” is used as an argument. The optional -group flag causes the
+# address(es) to be added to or removed from the named group.
+# -------------------------------------------------------------------------
+
+# unalias *
+# alias Lastname.Firstname Full Name <mailbox@domain.tld>
+# alias -group Groupname Lastname.Firstname Full Name <mailbox@domain.tld>
+##########################################################################
+# 02 - Mailbox and folders
+##########################################################################
+# -------------------------------------------------------------------------
+# Name: mbox_type
+# -------------------------------------------------------------------------
+# The default mailbox type used when creating new folders. May be any of
+# “mbox”, “MMDF”, “MH” or “Maildir”.
+# -------------------------------------------------------------------------
+
+# set mbox_type=mbox
+# set mbox_type=Maildir
+# -------------------------------------------------------------------------
+# Name: folder
+# -------------------------------------------------------------------------
+# Specifies the default location of your mailboxes. A “+” or “=” at the
+# beginning of a pathname will be expanded to the value of this
+# variable. Note that if you change this variable (from the default) value
+# you need to make sure that the assignment occurs before you use “+”
+# or “=” for any other variables since expansion takes place when han‐
+# dling the “mailboxes” command.
+# -------------------------------------------------------------------------
+
+# set folder=~/Mail
+# -------------------------------------------------------------------------
+# Name: spoolfile
+# -------------------------------------------------------------------------
+# If your spool mailbox is in a non-default place where NeoMutt cannot find
+# it, you can specify its location with this variable. If not specified,
+# then the environment variables $MAIL and $MAILDIR will be checked.
+# -------------------------------------------------------------------------
+
+# set spoolfile = ""
+# -------------------------------------------------------------------------
+# Name: postponed
+# -------------------------------------------------------------------------
+# NeoMutt allows you to indefinitely “postpone sending a message” which
+# you are editing. When you choose to postpone a message, NeoMutt saves it
+# in the mailbox specified by this variable. Also see the $postpone
+# variable.
+# -------------------------------------------------------------------------
+
+# set postponed = "~/postponed"
+# set postponed = "+draft"
+# -------------------------------------------------------------------------
+# Name: record
+# -------------------------------------------------------------------------
+# This specifies the file into which your outgoing messages should be
+# appended. (This is meant as the primary method for saving a copy of your
+# messages, but another way to do this is using the “my_hdr” command to
+# create a “Bcc:” field with your email address in it.) The value of
+# $record is overridden by the $force_name and $save_name variables, and
+# the “fcc-hook” command. Also see $copy.
+# -------------------------------------------------------------------------
+
+# set record = "~/sent"
+# set record = "+sent"
+# -------------------------------------------------------------------------
+# Name: trash
+# -------------------------------------------------------------------------
+# If set, this variable specifies the path of the trash folder where the
+# mails marked for deletion will be moved, instead of being irremediably
+# purged. NOTE: When you delete a message in the trash folder, it is
+# really deleted, so that you have a way to clean the trash.
+# -------------------------------------------------------------------------
+
+# set trash = ""
+# set trash = "+deleted"
+
+# -------------------------------------------------------------------------
+# Name: mailboxes
+# -------------------------------------------------------------------------
+# The mailboxes specifies folders which can receive mail and which will
+# be checked for new messages. When changing folders, pressing space will
+# cycle through folders with new mail. The named-mailboxes is an
+# alternative to mailboxes that allows adding a description for a mailbox.
+# NeoMutt can be configured to display the description instead of the
+# mailbox path. The unmailboxes command is used to remove a file name
+# from the list of folders which can receive mail. If “*” is specified as
+# the file name, the list is emptied.
+# -------------------------------------------------------------------------
+
+# unmailboxes *
+# mailboxes +Drafts +Sent +Spam
+##########################################################################
+# 03 - Compose email
+##########################################################################
+# -------------------------------------------------------------------------
+# Name: my_hdr / unmy_hdr
+# -------------------------------------------------------------------------
+# Using my_hdr, you can define headers which will be added to the messages
+# you compose. unmy_hdr will remove the given user-defined headers.
+# -------------------------------------------------------------------------
+
+# unmy_hdr *
+# my_hdr X-Location: Europe, Germany
+# -------------------------------------------------------------------------
+# Name: user_agent
+# -------------------------------------------------------------------------
+# When set, NeoMutt will add a “User-Agent:” header to outgoing
+# messages, indicating which version of NeoMutt was used for composing
+# them.
+# -------------------------------------------------------------------------
+
+# set user_agent
+
+# -------------------------------------------------------------------------
+# Name: editor
+# -------------------------------------------------------------------------
+# This variable specifies which editor is used by NeoMutt. It defaults to
+# the value of the $VISUAL, or $EDITOR, environment variable, or to
+# the string “vi” if neither of those are set. The $editor string may
+# contain a %s escape, which will be replaced by the name of the file to
+# be edited. If the %s escape does not appear in $editor, a space and the
+# name to be edited are appended. The resulting string is then executed by
+# running sh -c 'string' where string is the expansion of $editor described
+# above.
+# -------------------------------------------------------------------------
+
+# set editor = "vi"
+# set editor="vim -c 'set spell spelllang=de,en' -c 'set colorcolumn=72' -c 'startinsert' -c 'set tw=7 2 et' -c 'set wrap' '+/^$'"
+set editor = "nvim"
+# -------------------------------------------------------------------------
+# Name: edit_headers
+# -------------------------------------------------------------------------
+# This option allows you to edit the header of your outgoing messages along
+# with the body of your message. Although the compose menu may have
+# localized header labels, the labels passed to your editor will be
+# standard RFC2822 headers, (e.g. To:, Cc:, Subject:). Headers added in
+# your editor must also be RFC2822 headers, or one of the pseudo headers
+# listed in “edit- header”. NeoMutt will not understand localized header
+# labels, just as it would not when parsing an actual email. Note
+# that changes made to the References: and Date: headers are ignored for
+# interoper‐ ability reasons.
+# -------------------------------------------------------------------------
+
+# set edit_headers
+# -------------------------------------------------------------------------
+# Name: ispell
+# -------------------------------------------------------------------------
+# How to invoke ispell (GNU's spell-checking software).
+# -------------------------------------------------------------------------
+
+# set ispell="ispell"
+set ispell="aspell -e -c"
+# -------------------------------------------------------------------------
+# Name: attribution
+# -------------------------------------------------------------------------
+# This is the string that will precede a message which has been included in
+# a reply. For a full listing of defined printf(3)-like sequences see the
+# section on $index_format.
+
+# set attribution = "On %d, %n wrote:"
+# set attribution = "Am %{%A}, den %{%x} um %{%X} %{%Z} schrieb %F:"
+# -------------------------------------------------------------------------
+# Name: forward_format
+# -------------------------------------------------------------------------
+# This variable controls the default subject when forwarding a message. It
+# uses the same format sequences as the $index_format variable.
+# -------------------------------------------------------------------------
+
+# set forward_format = "[%a: %s]"
+# -------------------------------------------------------------------------
+# Name: signature
+# -------------------------------------------------------------------------
+# Specifies the filename of your signature, which is appended to all
+# outgoing messages. If the filename ends with a pipe (“|”), it is
+# assumed that filename is a shell command and input should be read from
+# its standard output.
+# -------------------------------------------------------------------------
+
+# set signature ="~/.neomutt/signatur"
+# -------------------------------------------------------------------------
+# Name: empty_subject
+# -------------------------------------------------------------------------
+# This variable specifies the subject to be used when replying to an email
+# with an empty subject. It defaults to "Re: your mail".
+# -------------------------------------------------------------------------
+
+# set empty_subject = "Re: your mail"
+
+# -------------------------------------------------------------------------
+# Name: autoedit
+# -------------------------------------------------------------------------
+# When set along with $edit_headers, NeoMutt will skip the initial
+# send-menu (prompting for subject and recipients) and allow you to
+# immediately begin editing the body of your message. The send-menu may
+# still be accessed once you have finished editing the body of your
+# message.
+#
+# Note: when this option is set, you cannot use send-hooks that depend on
+# the recipients when composing a new (non-reply) message, as the initial
+# list of recipients is empty.
+#
+# Also see $fast_reply.
+# -------------------------------------------------------------------------
+
+# set autoedit = no
+
+##########################################################################
+# 04 - Crypto
+##########################################################################
+# -------------------------------------------------------------------------
+# Name: crypt_use_gpgme
+# -------------------------------------------------------------------------
+# This variable controls the use of the GPGME-enabled crypto backends. If
+# it is set and NeoMutt was built with gpgme support, the gpgme code for
+# S/MIME and PGP will be used instead of the classic code. Note that
+# you need to set this option in .neomuttrc; it won't have any effect when
+# used interactively. Note that the GPGME backend does not support
+# creating old-style inline (traditional) PGP encrypted or signed
+# messages (see $pgp_autoinline)
+# -------------------------------------------------------------------------
+
+# set crypt_use_gpgme
+# -------------------------------------------------------------------------
+# Name: crypt_use_pka
+# -------------------------------------------------------------------------
+# Controls whether NeoMutt uses PKA (see
+# http://www.g10code.de/docs/pka-intro.de.pdf) during signature
+# verification (only supported by the GPGME backend).
+# -------------------------------------------------------------------------
+
+# set crypt_use_pka
+
+# -------------------------------------------------------------------------
+# Name: pgp_default_key
+# -------------------------------------------------------------------------
+# This is the default key-pair to use for PGP operations. It will be used
+# for encryption (see $postpone_encrypt and $pgp_self_encrypt). It will
+# also be used for signing unless $pgp_sign_as is set. The (now
+# deprecated) pgp_self_encrypt_as is an alias for this variable, and should
+# no longer be used. (PGP only
+# -------------------------------------------------------------------------
+
+# set pgp_default_key = "0x12345678"
+# -------------------------------------------------------------------------
+# Name: pgp_self_encrypt
+# -------------------------------------------------------------------------
+# When set, PGP encrypted messages will also be encrypted using the key in
+# $pgp_default_key. (PGP only)
+# -------------------------------------------------------------------------
+
+# set pgp_self_encrypt = yes
+# -------------------------------------------------------------------------
+# Name: crypt_autoencrypt
+# -------------------------------------------------------------------------
+# Setting this variable will cause NeoMutt to always attempt to PGP encrypt
+# outgoing messages. This is probably only useful in connection to the
+# “send-hook” command. It can be overridden by use of the pgp menu,
+# when encryption is not required or signing is requested as well. If
+# $smime_is_default is set, then OpenSSL is used instead to create S/MIME
+# messages and settings can be overridden by use of the smime menu instead.
+# (Crypto only)
+# -------------------------------------------------------------------------
+
+# set crypt_autoencrypt = no
+# -------------------------------------------------------------------------
+# Name: crypt_autopgp
+# -------------------------------------------------------------------------
+# This variable controls whether or not NeoMutt may automatically
+# enable PGP encryption/signing for messages. See also
+# $crypt_autoencrypt, $crypt_replyencrypt, $crypt_autosign,
+# $crypt_replysign and $smime_is_default.
+# -------------------------------------------------------------------------
+
+# set crypt_autopgp = yes
+# -------------------------------------------------------------------------
+# Name: crypt_autosign
+# -------------------------------------------------------------------------
+# Setting this variable will cause NeoMutt to always attempt to
+# cryptographically sign outgoing messages. This can be overridden by use
+# of the pgp menu, when signing is not required or encryp‐ tion is
+# requested as well. If $smime_is_default is set, then OpenSSL is used
+# instead to create S/MIME messages and settings can be overridden by use
+# of the smime menu instead of the pgp menu. (Crypto only)
+# -------------------------------------------------------------------------
+
+# set crypt_autosign = no
+##########################################################################
+# 05 - View / Look
+##########################################################################
+# -------------------------------------------------------------------------
+# Name: index_format
+# -------------------------------------------------------------------------
+#
+# This variable allows you to customize the message index display to your
+# personal taste.
+#
+# “Format strings” are similar to the strings used in the C function
+# printf(3) to format output (see the man page for more details). For an
+# explanation of the %? construct, see the status_format description. The
+# following sequences are defined in NeoMutt:
+#
+# %a Address of the author
+# %A Reply-to address (if present; otherwise: address of author)
+# %b Filename of the original message folder (think mailbox)
+# %B The list to which the letter was sent, or else the folder name (%b).
+# %C Current message number
+# %c Number of characters (bytes) in the message
+# %D Date and time of message using date_format and local timezone
+# %d Date and time of message using date_format and sender's timezone
+# %e Current message number in thread
+# %E Number of messages in current thread
+# %F Author name, or recipient name if the message is from you
+# %f Sender (address + real name), either From: or Return-Path:
+# %g Newsgroup name (if compiled with NNTP support)
+# %g Message tags (e.g. notmuch tags/imap flags)
+# %Gx Individual message tag (e.g. notmuch tags/imap flags)
+# %H Spam attribute(s) of this message
+# %I Initials of author
+# %i Message-id of the current message
+# %J Message tags (if present, tree unfolded, and != parent's tags)
+# %K The list to which the letter was sent (if any; otherwise: empty)
+# %L If an address in the “To:” or “Cc:” header field matches an address Defined by the users “subscribe” command, this displays "To <list-name>", otherwise the same as %F
+# %l Number of lines in the message (does not work with maildir, Mh, and possibly IMAP folders)
+# %M Number of hidden messages if the thread is collapsed
+# %m Total number of message in the mailbox
+# %N Message score
+# %n Author's real name (or address if missing)
+# %O Original save folder where NeoMutt would formerly have Stashed the message: list name or recipient name If not sent to a list
+# %P Progress indicator for the built-in pager (how much of the file has been displayed)
+# %q Newsgroup name (if compiled with NNTP support)
+# %R Comma separated list of “Cc:” recipients
+# %r Comma separated list of “To:” recipients
+# %S Single character status of the message (“N”/“O”/“D”/“d”/“!”/“r”/“*”)
+# %s Subject of the message
+# %T The appropriate character from the $to_chars string
+# %t “To:” field (recipients)
+# %u User (login) name of the author
+# %v First name of the author, or the recipient if the message is from you
+# %W Name of organization of author (“Organization:” field)
+# %x “X-Comment-To:” field (if present and compiled with NNTP support)
+# %X Number of MIME attachments (please see the “attachments” section for possible speed effects)
+# %Y “X-Label:” field, if present, and (1) not at part of a thread tree, (2) at the top of a thread, or (3) “X-Label:” is different from Preceding message's “X-Label:”
+# %y “X-Label:” field, if present
+# %Z A three character set of message status flags. The first character is new/read/replied flags (“n”/“o”/“r”/“O”/“N”). The second is deleted or encryption flags
+# (“D”/“d”/“S”/“P”/“s”/“K”). The third is either tagged/flagged (“*”/“!”), or one of the characters Listed in $to_chars.
+# %zc Message crypto flags
+# %zs Message status flags
+# %zt Message tag flags
+# %{fmt} the date and time of the message is converted to sender's time zone, and “fmt” is expanded by the library function strftime(3); a leading bang disables locales
+# %[fmt] the date and time of the message is converted to the local time zone, and “fmt” is expanded by the library function strftime(3); a leading bang disables locales
+# %(fmt) the local date and time when the message was received. “fmt” is expanded by the library function strftime(3); a leading bang disables locales
+# %>X right justify the rest of the string and pad with character “X”
+# %|X pad to the end of the line with character “X”
+# %*X soft-fill with character “X” as pad
+#
+# Date format expressions can be constructed based on relative dates. Using the date formatting operators along with nested conditionals, the date format can be modified based on how old a mes‐
+# sage is. See the section on “Conditional Dates” for an explanation and examples “Soft-fill” deserves some explanation: Normal right-justification will print everything to the left of the
+# “%>”, displaying padding and whatever lies to the right only if there's room. By contrast, soft-fill gives priority to the right-hand side, guaranteeing space to display it and showing pad‐
+# ding only if there's still room. If necessary, soft-fill will eat text leftwards to make room for rightward text.
+#
+# Note that these expandos are supported in “save-hook”, “fcc-hook” and “fcc-save-hook”, too.
+# -------------------------------------------------------------------------
+
+# set index_format="%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s"
+
+# -------------------------------------------------------------------------
+# Name: status_format
+# -------------------------------------------------------------------------
+# Controls the format of the status line displayed in the “index” menu.
+# This string is similar to $index_format, but has its own set of
+# printf(3)-like sequences:
+#
+# %b Number of mailboxes with new mail *
+# %d Number of deleted messages *
+# %f The full pathname of the current mailbox
+# %F Number of flagged messages *
+# %h Local hostname
+# %l Size (in bytes) of the current mailbox *
+# %L Size (in bytes) of the messages shown (i.e., which match the current limit) *
+# %m The number of messages in the mailbox *
+# %M The number of messages shown (i.e., which match the current limit) *
+# %n Number of new messages in the mailbox *
+# %o Number of old unread messages *
+# %p Number of postponed messages *
+# %P Percentage of the way through the index
+# %r Modified/read-only/won't-write/attach-message indicator, According to $status_chars
+# %R Number of read messages *
+# %s Current sorting mode ($sort)
+# %S Current aux sorting method ($sort_aux)
+# %t Number of tagged messages *
+# %u Number of unread messages *
+# %v NeoMutt version string
+# %V Currently active limit pattern, if any *
+# %>X Right justify the rest of the string and pad with “X”
+# %|X Pad to the end of the line with “X”
+# %*X Soft-fill with character “X” as pad
+#
+# For an explanation of “soft-fill”, see the $index_format documentation.
+#
+# * = can be optionally printed if nonzero
+#
+# Some of the above sequences can be used to optionally print a string if
+# their value is nonzero. For example, you may only want to see the number
+# of flagged messages if such messages exist, # since zero is not
+# particularly meaningful. To optionally print a string based upon one of
+# the above sequences, the following construct is used:
+#
+# %?<sequence_char>?<optional_string>?
+#
+#
+# where sequence_char is a character from the table above, and
+# optional_string is the string you would like printed if sequence_char is
+#nonzero. optional_string may contain other sequences as well as normal
+# text, but you may not nest optional strings.
+#
+#
+# Here is an example illustrating how to optionally print the number of new messages in a mailbox:
+#
+# %?n?%n new messages.?
+#
+# You can also switch between two strings using the following construct:
+#
+# %?<sequence_char>?<if_string>&<else_string>?
+#
+# If the value of sequence_char is non-zero, if_string will be expanded, otherwise else_string will be expanded.
+#
+# You can force the result of any printf(3)-like sequence to be lowercase
+# by prefixing the sequence character with an underscore (“_”) sign. For
+# example, if you want to display the local host‐ # name in lowercase, you
+# would use: “%_h”. If you prefix the sequence character with a colon
+# (“:”) character, NeoMutt will replace any dots in the expansion by
+# underscores. This might # be helpful with IMAP folders that don't like
+# dots in folder names.
+# -------------------------------------------------------------------------
+
+# set status_format = "-%r-NeoMutt: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---(%s/%S)-%>-(%P)---"
+
+
+# -------------------------------------------------------------------------
+# Name alias_format
+# -------------------------------------------------------------------------
+# Specifies the format of the data displayed for the ``alias'' menu. The
+# following printf(3)-style sequences are available:
+# %a Alias name
+# %f Flags - currently, a ``d'' for an alias marked for deletion
+# %n Index number
+# %r Address which alias expands to
+# %t Character which indicates if the alias is tagged for inclusion
+# -------------------------------------------------------------------------
+
+# set alias_format="%4n %2f %t %-10a %r"
+# -------------------------------------------------------------------------
+# Name: reverse_alias
+# -------------------------------------------------------------------------
+# This variable controls whether or not NeoMutt will display the ``personal''
+# name from your aliases in the index menu if it finds an alias that
+# matches the message's sender. For example, if you have the following
+# alias:
+# alias juser abd30425@somewhere.net (Joe User)
+#
+# and then you receive mail which contains the following header:
+# From: abd30425@somewhere.net
+#
+# It would be displayed in the index menu as ``Joe User'' instead of
+# ``abd30425@somewhere.net.'' This is useful when the person's e-mail
+# address is not human friendly.
+# -------------------------------------------------------------------------
+
+# set reverse_alias=no
+# -------------------------------------------------------------------------
+# Name: sort_alias
+# -------------------------------------------------------------------------
+# Specifies how the entries in the ``alias'' menu are sorted. The
+# following are legal values:
+# - address (sort alphabetically by email address)
+# - alias (sort alphabetically by alias name)
+# - unsorted (leave in order specified in .neomuttrc)
+# -------------------------------------------------------------------------
+
+# set sort_alias=alias
+# -------------------------------------------------------------------------
+# Name: color
+# -------------------------------------------------------------------------
+# color object foreground background
+# color { header | body } foreground background regex
+# color index-object foreground background pattern
+# color compose composeobject foreground background
+#
+# If your terminal supports color, these commands can be used to assign
+# foreground/background combinations to certain objects. The currently
+# defined objects are: attach_headers, attachment, body, bold, error,
+# hdrdefault, header, index, index_author, index_collapsed, index_date,
+# index_flags, index_label, index_number, index_size, index_subject,
+# index_tag, index_tags, indicator, markers, message, normal, progress,
+# prompt, quoted, quotedN, search, signature, status, tilde, tree,
+# underline.
+#
+# If the sidebar is enabled the following objects are also valid:
+# sidebar_divider, sidebar_flagged, sidebar_highlight, sidebar_indicator,
+# sidebar_new, sidebar_ordinary, sidebar_spoolfile.
+#
+# The body and header objects allow you to restrict the colorization to a
+# regular expression. The index-object permits you to select colored
+# messages by pattern.
+#
+# The header and body match regex in the header/body of a message,
+# index-object can match pattern in the message index. Note that IMAP
+# server-side searches (=b, =B, =h) are not supported for color index
+# patterns.
+#
+# Valid colors include: default, black, red, green, yellow, blue, magenta,
+# cyan, white, colorN.
+#
+# The uncolor command can be applied to the index, header and body objects
+# only. It removes entries from the list. You must specify the same pattern
+# specified in the color command for it to be removed. The pattern “*” is a
+# special token which means to clear the color list of all entries.
+#
+# For further information on colorization, please consult the NeoMutt
+# manual.
+# -------------------------------------------------------------------------
+
+# -------------------------------------------------------------------------
+# Name: sidebar_whitelist / unsidebar_whitelist
+# -------------------------------------------------------------------------
+# The sidebar_whitelist command specifies mailboxes that will always be
+# displayed in the sidebar, even if $sidebar_new_mail_only is set and the
+# mailbox does not contain new mail.
+# The unsidebar_whitelist command is used to remove a mailbox from the list
+# of whitelisted mailboxes. Use “unsidebar_whitelist *” to remove all
+# mailboxes.
+# -------------------------------------------------------------------------
+# -------------------------------------------------------------------------
+# Name: sidebar_component_depth
+# -------------------------------------------------------------------------
+# By default the sidebar will show the mailbox's path, relative to the
+# $folder variable. This specifies the number of parent directories to hide
+# from display in the sidebar. For example: If a maildir is normally
+# displayed in the sidebar as dir1/dir2/dir3/maildir, setting
+# sidebar_component_depth=2 will display it as dir3/maildir, having
+# truncated the 2 highest directories.
+# -------------------------------------------------------------------------
+# -------------------------------------------------------------------------
+# Name: sidebar_delim_chars
+# -------------------------------------------------------------------------
+# This contains the list of characters which you would like to treat as
+# folder separators for displaying paths in the sidebar. Local mail is
+# often arranged in directories: `dir1/dir2/mailbox'.
+# set sidebar_delim_chars='/'
+# IMAP mailboxes are often named: `folder1.folder2.mailbox'.
+# -------------------------------------------------------------------------
+# set sidebar_delim_chars='.'
+# -------------------------------------------------------------------------
+# Name: sidebar_folder_indent
+# -------------------------------------------------------------------------
+# Set this to indent mailboxes in the sidebar.
+# -------------------------------------------------------------------------
+# -------------------------------------------------------------------------
+# Name: sidebar_divider_char
+# -------------------------------------------------------------------------
+# This specifies the characters to be drawn between the sidebar (when
+# visible) and the other NeoMutt panels. ASCII and Unicode line-drawing
+# characters are supported.
+# -------------------------------------------------------------------------
+# -------------------------------------------------------------------------
+# Name: sidebar_format
+# -------------------------------------------------------------------------
+# This variable allows you to customize the sidebar display. This string is
+# similar to $index_format, but has its own set of printf(3)-like
+# sequences:
+# %B Name of the mailbox
+# %S * Size of mailbox (total number of messages)
+# %N * Number of unread messages in the mailbox
+# %n N if mailbox has new mail, blank otherwise
+# %F * Number of Flagged messages in the mailbox
+# %! “!” : one flagged message; “!!” : two flagged messages; “n!” : n flagged messages (for n > 2). Otherwise prints nothing.
+# %d * @ Number of deleted messages
+# %L * @ Number of messages after limiting
+# %t * @ Number of tagged messages
+# %>X right justify the rest of the string and pad with “X”
+# %|X pad to the end of the line with “X”
+# %*X soft-fill with character “X” as pad
+# * = Can be optionally printed if nonzero @ = Only applicable to the current folder
+#
+# In order to use %S, %N, %F, and %!, $mail_check_stats must be set. When
+# thus set, a suggested value for this option is "%B%?F? [%F]?%*
+# %?N?%N/?%S".
+
+set sidebar_format = "%B%?F? [%F]?%* %?N?%N/?%S"
+# -------------------------------------------------------------------------
+# Name: sidebar_indent_string
+# -------------------------------------------------------------------------
+# This specifies the string that is used to indent mailboxes in the
+# sidebar. It defaults to two spaces.
+# -------------------------------------------------------------------------
+# -------------------------------------------------------------------------
+# Name: sidebar_new_mail_only
+# -------------------------------------------------------------------------
+# When set, the sidebar will only display mailboxes containing new, or
+# flagged, mail.
+# -------------------------------------------------------------------------
+# Name: sidebar_next_new_wrap
+# -------------------------------------------------------------------------
+# When set, the <sidebar-next-new> command will not stop and the end of
+# the list of mailboxes, but wrap around to the beginning. The
+# <sidebar-prev-new> command is similarly affected, wrapping around to the
+# end of the list.
+# -------------------------------------------------------------------------
+
+
+# -------------------------------------------------------------------------
+# Name: sidebar_on_right
+# -------------------------------------------------------------------------
+# When set, the sidebar will appear on the right-hand side of the screen.
+# -------------------------------------------------------------------------
+# -------------------------------------------------------------------------
+# Name: sidebar_short_path
+# -------------------------------------------------------------------------
+# By default the sidebar will show the mailbox's path, relative to the
+# $folder variable. Setting sidebar_shortpath=yes will shorten the names
+# relative to the previous name. Here's an example:
+#
+# shortpath=no
+# shortpath=yes shortpath=yes, folderindent=yes, indentstr=".."
+# fruit fruit fruit
+# fruit.apple
+# apple ..apple
+# fruit.banana
+# banana ..banana
+# fruit.cherry
+# cherry ..cherry
+# -------------------------------------------------------------------------
+# -------------------------------------------------------------------------
+# Name: sidebar_sort_method
+# -------------------------------------------------------------------------
+# Specifies how to sort entries in the file browser. By default, the
+# entries are sorted alphabetically.
+#
+# Valid values:
+# ‐ alpha (alphabetically)
+# ‐ count (all message count)
+# ‐ flagged (flagged message count)
+# ‐ name (alphabetically)
+# ‐ new (unread message count)
+# ‐ path (alphabetically)
+# ‐ unread (unread message count)
+# ‐ unsorted
+#
+# You may optionally use the “reverse-” prefix to specify reverse sorting
+# order (example: “set sort_browser=reverse-date”).
+# -------------------------------------------------------------------------
+# -------------------------------------------------------------------------
+# Name: sidebar_visible
+# -------------------------------------------------------------------------
+# This specifies whether or not to show sidebar. The sidebar shows a list
+# of all your mailboxes.
+# -------------------------------------------------------------------------
+#
+# set sidebar_visible = yes
+# -------------------------------------------------------------------------
+# Name: sidebar_width
+# -------------------------------------------------------------------------
+# This controls the width of the sidebar. It is measured in screen
+# columns. For example: sidebar_width=20 could display 20 ASCII
+# characters, or 10 Chinese characters.
+# -------------------------------------------------------------------------
+#
+# set sidebar_width = 50
+
+##########################################################################
+# 06 - SMTP
+##########################################################################
+# -------------------------------------------------------------------------
+# Name: smtp_url
+# -------------------------------------------------------------------------
+# Defines the SMTP smarthost where sent messages should relayed for
+# delivery. This should take the form of an SMTP URL, e.g.:
+# smtp[s]://[user[:pass]@]host[:port]
+# where “[...]” denotes an optional part. Setting this variable overrides
+# the value of the $sendmail variable.
+
+# set smtp_url = ""
+# -------------------------------------------------------------------------
+# Name: smtp_pass
+# -------------------------------------------------------------------------
+# Specifies the password for your SMTP account. If unset, NeoMutt
+# will prompt you for your password when you first send mail via SMTP. See
+# $smtp_url to configure NeoMutt to send mail via SMTP.
+#
+# Warning: you should only use this option when you are on a fairly secure
+# machine, because the superuser can read your neomuttrc even if you are
+# the only one who can read the file.
+
+# set smtp_pass = ""
+# -------------------------------------------------------------------------
+# Name: smtp_authenticators
+# -------------------------------------------------------------------------
+# This is a colon-delimited list of authentication methods NeoMutt may
+# attempt to use to log in to an SMTP server, in the order NeoMutt should
+# try them. Authentication methods are any SASL mechanism, e.g. “plain”,
+# “digest-md5”, “gssapi” or “cram-md5”. This option is case-insensitive.
+# If it is “unset” (the default) NeoMutt will try all available
+# methods, in order from most-secure to least-secure. Support for the
+# “plain” mechanism is bundled; other mechanisms are provided by an
+# external SASL library (look for +USE_SASL in the output of neomutt -v).
+#
+# Example:
+# set smtp_authenticators="digest-md5:cram-md5"
+##########################################################################
+# 07 - IMAP
+##########################################################################
+# -------------------------------------------------------------------------
+# Name: imap_user
+# -------------------------------------------------------------------------
+# The name of the user whose mail you intend to access on the IMAP server.
+# This variable defaults to your user name on the local machine.
+
+# set imap_user = "imapuser"
+
+# -------------------------------------------------------------------------
+# Name: imap_pass
+# -------------------------------------------------------------------------
+# Specifies the password for your IMAP account. If unset, NeoMutt will
+# prompt you for your password when you invoke the <imap-fetch-mail>
+# function or try to open an IMAP folder.
+#
+# Warning: you should only use this option when you are on a fairly secure
+# machine, because the superuser can read your neomuttrc even if you are
+# the only one who can read the file.
+
+# set imap_pass = "imappasswd"
+
+##########################################################################
+# 08 - POP3
+##########################################################################
+##########################################################################
+# 09 - Notmuch
+##########################################################################
+# -------------------------------------------------------------------------
+# Name: nm_default_uri
+# -------------------------------------------------------------------------
+# This variable specifies the default Notmuch database in format
+# notmuch://<absolute path>.
+
+set nm_default_uri = "notmuch:///home/shyman/.mail"
+
+# -------------------------------------------------------------------------
+# Name: virtual-mailboxes
+# -------------------------------------------------------------------------
+
+virtual-mailboxes "INBOX" "notmuch://?query=tag:inbox"
+virtual-mailboxes "Trash" "notmuch://?query=tag:deleted"
+virtual-mailboxes "Sent" "notmuch://?query=tag:sent"
+virtual-mailboxes "Drafts" "notmuch://?query=tag:draft"
+virtual-mailboxes "Notes" "notmuch://?query=tag:note"
+# virtual-mailboxes "Linux" "notmuch://?query=tag:linux"
+# virtual-mailboxes "E-Mails von heute" "notmuch://?query=date:today"
+# virtual-mailboxes "E-Mails von gestern" "notmuch://?query=date:yesterday"
+# virtual-mailboxes "E-Mails von dieser Woche" "notmuch://?query=date:week.."
+# virtual-mailboxes "E-Mails von diesem Monat" "notmuch://?query=date:month.."
+
+# -------------------------------------------------------------------------
+# Name: nm_record
+# -------------------------------------------------------------------------
+# This variable specifies if the NeoMutt record should indexed by notmuch.
+#
+
+# set nm_record = no
+# -------------------------------------------------------------------------
+# Name: nm_record_tags
+# -------------------------------------------------------------------------
+# This variable specifies the default tags applied to messages stored to
+# the NeoMutt record. When set to 0 this variable disable the window
+# feature.
+
+# set nm_record_tags = "-inbox,sent,local"
+# -------------------------------------------------------------------------
+# Name: virtual_spoolfile
+# -------------------------------------------------------------------------
+# When set, NeoMutt will use the first defined virtual mailbox (see
+# virtual-mailboxes) as a spool file.
+# -------------------------------------------------------------------------
+
+# set virtual_spoolfile = no
+
+# --------------------------------------------------------------------------
+# FUNCTIONS – shown with an example mapping
+# --------------------------------------------------------------------------
+# open a different virtual folder
+bind index,pager X change-vfolder
+# read entire thread of the current message
+bind index,pager + entire-thread
+# generate virtual folder from query
+bind index,pager \eX vfolder-from-query
+# generate virtual folder from query with time window
+bind index < vfolder-window-backward
+bind index > vfolder-window-forward
+# toggle between mailboxes and virtual mailboxes
+# bind index,pager ??? sidebar-toggle-virtual
+
+##########################################################################
+# 10 - Hooks
+##########################################################################
+# -------------------------------------------------------------------------
+# Name: folder-hook
+# -------------------------------------------------------------------------
+# When NeoMutt enters a folder which matches regex (or, when regex is
+# preceded by an exclamation mark, does not match regex), the given command
+# is executed.
+# When several folder-hooks match a given mail folder, they are executed in
+# the order given in the configuration file.
+
+# -------------------------------------------------------------------------
+# Name: mbox-hook
+# -------------------------------------------------------------------------
+# When NeoMutt changes to a mail folder which matches regex, mailbox will
+# be used as the “mbox” folder, i.e. read messages will be moved to that
+# folder when the mail folder is left.
+# Note that execution of mbox-hooks is dependent on the $move configuration
+# variable. If set to “no” (the default), mbox-hooks will not be executed.
+# The first matching mbox-hook applies.
+
+# -------------------------------------------------------------------------
+# Name: message-hook
+# -------------------------------------------------------------------------
+# Before NeoMutt displays (or formats for replying or forwarding) a message
+# which matches the given pattern (or, when it is preceded by an
+# exclamation mark, does not match the pattern), the given command is
+# executed. When multiple message-hooks match, they are executed in the
+# order in which they occur in the configuration file.
+
+
+# -------------------------------------------------------------------------
+# Name: reply-hook
+# -------------------------------------------------------------------------
+# These commands can be used to execute arbitrary configuration commands
+# based upon recipients of the message. pattern is used to match the
+# message, see section “Message Matching in Hooks” in manual for details.
+# command is executed when pattern matches.
+#
+# reply-hook is matched against the message you are replying to, instead of
+# the message you are sending. send-hook is matched against all messages,
+# both new and replies. Note, reply-hooks are matched before the
+# send-hook, regardless of the order specified in the user's configuration
+# file.
+
+# -------------------------------------------------------------------------
+# Name: send-hook
+# -------------------------------------------------------------------------
+# These commands can be used to execute arbitrary configuration commands
+# based upon recipients of the message. pattern is used to match the
+# message, see section “Message Matching in Hooks” in manual for details.
+# command is executed when pattern matches.
+#
+# reply-hook is matched against the message you are replying to, instead of the
+# message you are sending. send-hook is matched against all messages, both new
+# and replies. Note, reply-hooks are matched before the send-hook, regardless
+# of the order specified in the user's configuration file.
+#
+# send2-hook is matched every time a message is changed, either by editing
+# it, or by using the compose menu to change its recipients or subject.
+# send2-hook is executed after send-hook, and can, e.g., be used to set
+# parameters such as the $sendmail variable depending on the message's sender
+# address. Note, send-hooks are only executed once after getting the initial
+# list of recip‐ ients.
+
+
+# -------------------------------------------------------------------------
+# Name: send-hook
+# -------------------------------------------------------------------------
+# These commands can be used to execute arbitrary configuration commands
+# based upon recipients of the message. pattern is used to match the
+# message, see section “Message Matching in Hooks” in manual for details.
+# command is executed when pattern matches.
+#
+# reply-hook is matched against the message you are replying to, instead of the
+# message you are sending. send-hook is matched against all messages, both new
+# and replies. Note, reply-hooks are matched before the send-hook, regardless
+# of the order specified in the user's configuration file.
+#
+# send2-hook is matched every time a message is changed, either by editing
+# it, or by using the compose menu to change its recipients or subject.
+# send2-hook is executed after send-hook, and can, e.g., be used to set
+# parameters such as the $sendmail variable depending on the message's sender
+# address. Note, send-hooks are only executed once after getting the initial
+# list of recip‐ ients.
+
+
+# -------------------------------------------------------------------------
+# Name: crypt-hook
+# -------------------------------------------------------------------------
+# The crypt-hook command provides a method by which you can specify the ID of
+# the public key to be used when encrypting messages to a certain recipient.
+# The meaning of keyid is to be taken broadly: This can be a different
+# email address, a numerical keyid, or even just an arbitrary search string.
+# You may use multiple crypt-hooks with the same regex; multiple matching
+# crypt-hooks result in the use of multiple keyids for a recipient.
+# -------------------------------------------------------------------------
+
diff --git a/nvim/.config/nvim/ginit.vim b/nvim/.config/nvim/ginit.vim
@@ -2,4 +2,15 @@ if exists('g:GtkGuiLoaded')
call rpcnotify(1, 'Gui', 'Font', 'Fira Code 13')
elseif exists('g:GuiLoaded')
Guifont Fira Mono:h10
+elseif exists('g:fvim_loaded')
+ FVimFontLineHeight "-1"
+ FVimCursorSmoothMove v:true
+ FVimCursorSmoothBlink v:true
+ FVimBackgroundOpacity 0.75
+ FVimBackgroundComposition 'acrylic'
+ nnoremap <A-CR> :FVimToggleFullScreen<CR>
endif
+
+set guifont=Fira\ Code:h14
+nnoremap <silent> <C-ScrollWheelUp> :set guifont=+<CR>
+nnoremap <silent> <C-ScrollWheelDown> :set guifont=-<CR>
diff --git a/nvim/.config/nvim/init.vim b/nvim/.config/nvim/init.vim
@@ -141,7 +141,7 @@ function SetTeXOptions()
\ . '|end(\s*\[[^]]*\])?\s*{[^}]*'
\ . '|\w*'
\ .')'
- " \ 'tex': g:vimtex#re#deoplete,
+ " \ 'tex': g:vimtex#re#deoplete,
call deoplete#custom#option('omni_patterns', {
\ 'tex': g:vimteplete,
\})
@@ -186,6 +186,8 @@ function SetI3Options()
packadd i3config.vim
endfunction
+au BufReadPost APKBUILD set syntax=sh noexpandtab
+
autocmd CompleteDone * silent! pclose
" vim settings
@@ -217,4 +219,16 @@ hi LineNr guibg=none
tnoremap <Esc> <C-\><C-n>
au TermOpen * setlocal nonumber norelativenumber
-au BufReadPost APKBUILD set syntax=sh noexpandtab
+" readline bindings for command mode
+cnoremap <c-a> <home>
+cnoremap <c-e> <end>
+cnoremap <c-p> <up>
+cnoremap <c-n> <down>
+cnoremap <c-b> <left>
+cnoremap <c-f> <right>
+cnoremap <c-k> <c-\>estrpart(getcmdline(), 0, getcmdpos() - 1)<cr>
+cnoremap <A-b> <s-left>
+cnoremap <A-f> <s-right>
+cnoremap <A-left> <s-left>
+cnoremap <A-right> <s-right>
+cnoremap <A-backspace> <c-w>
diff --git a/picom/.config/picom.conf b/picom/.config/picom.conf
@@ -1,223 +1,424 @@
-# Thank you code_nomad: http://9m.no/ꪯ鵞
-
#################################
-#
-# Backend
-#
+# Shadows #
#################################
-# Backend to use: "xrender" or "glx".
-# GLX backend is typically much faster but depends on a sane driver.
-backend = "glx";
-#################################
-#
-# GLX backend
+# Enabled client-side shadows on windows. Note desktop windows
+# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
+# unless explicitly requested using the wintypes option.
#
-#################################
+# shadow = false
+shadow = false;
-glx-no-stencil = true;
+# The blur radius for shadows, in pixels. (defaults to 12)
+# shadow-radius = 12
+#shadow-radius = 7;
-# GLX backend: Copy unmodified regions from front buffer instead of redrawing them all.
-# My tests with nvidia-drivers show a 10% decrease in performance when the whole screen is modified,
-# but a 20% increase when only 1/4 is.
-# My tests on nouveau show terrible slowdown.
-# Useful with --glx-swap-method, as well.
-#glx-copy-from-front = true;
+# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
+# shadow-opacity = .75
-# GLX backend: Use MESA_copy_sub_buffer to do partial screen update.
-# My tests on nouveau shows a 200% performance boost when only 1/4 of the screen is updated.
-# May break VSync and is not available on some drivers.
-# Overrides --glx-copy-from-front.
-#glx-use-copysubbuffermesa = true;
+# The left offset for shadows, in pixels. (defaults to -15)
+# shadow-offset-x = -15
+#shadow-offset-x = -7;
-# GLX backend: Avoid rebinding pixmap on window damage.
-# Probably could improve performance on rapid window content changes, but is known to break things on some drivers (LLVMpipe).
-# Recommended if it works.
-#glx-no-rebind-pixmap = true;
+# The top offset for shadows, in pixels. (defaults to -15)
+# shadow-offset-y = -15
+#shadow-offset-y = -7;
+# Avoid drawing shadows on dock/panel windows. This option is deprecated,
+# you should use the *wintypes* option in your config file instead.
+#
+# no-dock-shadow = false
-# GLX backend: GLX buffer swap method we assume.
-# Could be undefined (0), copy (1), exchange (2), 3-6, or buffer-age (-1).
-# undefined is the slowest and the safest, and the default value.
-# copy is fastest, but may fail on some drivers,
-# 2-6 are gradually slower but safer (6 is still faster than 0).
-# Usually, double buffer means 2, triple buffer means 3.
-# buffer-age means auto-detect using GLX_EXT_buffer_age, supported by some drivers.
-# Useless with --glx-use-copysubbuffermesa.
-# Partially breaks --resize-damage.
-# Defaults to undefined.
-glx-swap-method = -1; #"undefined";
-
-#################################
+# Don't draw shadows on drag-and-drop windows. This option is deprecated,
+# you should use the *wintypes* option in your config file instead.
#
-# Shadows
+# no-dnd-shadow = false
+
+# Red color value of shadow (0.0 - 1.0, defaults to 0).
+# shadow-red = 0
+
+# Green color value of shadow (0.0 - 1.0, defaults to 0).
+# shadow-green = 0
+
+# Blue color value of shadow (0.0 - 1.0, defaults to 0).
+# shadow-blue = 0
+
+# Do not paint shadows on shaped windows. Note shaped windows
+# here means windows setting its shape through X Shape extension.
+# Those using ARGB background is beyond our control.
+# Deprecated, use
+# shadow-exclude = 'bounding_shaped'
+# or
+# shadow-exclude = 'bounding_shaped && !rounded_corners'
+# instead.
#
-#################################
+# shadow-ignore-shaped = ''
-# Enabled client-side shadows on windows.
-# shadow = false;
-# Don't draw shadows on DND windows.
-# no-dnd-shadow = true;
-# Avoid drawing shadows on dock/panel windows.
-# no-dock-shadow = true;
-# Zero the part of the shadow's mask behind the window. Fix some weirdness with ARGB windows.
-# clear-shadow = true;
-# The blur radius for shadows. (default 12)
-# shadow-radius = 5;
-# The left offset for shadows. (default -15)
-# shadow-offset-x = -5;
-# The top offset for shadows. (default -15)
-# shadow-offset-y = -5;
-# The translucency for shadows. (default .75)
-# shadow-opacity = 0.5;
-
-# Set if you want different colour shadows
-# shadow-red = 0.0;
-# shadow-green = 0.0;
-# shadow-blue = 0.0;
-
-# The shadow exclude options are helpful if you have shadows enabled. Due to the way compton draws its shadows, certain applications will have visual glitches
-# (most applications are fine, only apps that do weird things with xshapes or argb are affected).
-# This list includes all the affected apps I found in my testing. The "! name~=''" part excludes shadows on any "Unknown" windows, this prevents a visual glitch with the XFWM alt tab switcher.
+# Specify a list of conditions of windows that should have no shadow.
+#
+# examples:
+# shadow-exclude = "n:e:Notification";
+#
+# shadow-exclude = []
#shadow-exclude = [
-# "! name~=''",
-# "name = 'Notification'",
-# "name = 'Plank'",
-# "name = 'Docky'",
-# "name = 'Kupfer'",
-# "name = 'xfce4-notifyd'",
-# "name *= 'VLC'",
-# "name *= 'compton'",
-# "name *= 'Chromium'",
-# "name *= 'Chrome'",
-# "class_g = 'Conky'",
-# "class_g = 'Kupfer'",
-# "class_g = 'Synapse'",
-# "class_g ?= 'Notify-osd'",
-# "class_g ?= 'Cairo-dock'",
-# "class_g ?= 'Xfce4-notifyd'",
-# "class_g ?= 'Xfce4-power-manager'",
-# "_GTK_FRAME_EXTENTS@:c"
+# "name = 'Notification'",
+# "class_g = 'Conky'",
+# "class_g ?= 'Notify-osd'",
+# "class_g = 'Cairo-clock'",
+# "_GTK_FRAME_EXTENTS@:c"
#];
-## Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners)
-#shadow-ignore-shaped = false;
-#################################
+# Specify a X geometry that describes the region in which shadow should not
+# be painted in, such as a dock window region. Use
+# shadow-exclude-reg = "x10+0+0"
+# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
#
-# Opacity
-#
-#################################
+# shadow-exclude-reg = ""
+
+# Crop shadow of a window fully on a particular Xinerama screen to the screen.
+# xinerama-shadow-crop = false
-#menu-opacity = 0;
-#inactive-opacity = 0;
-#active-opacity = 0;
-#frame-opacity = 0;
-#inactive-opacity-override = false;
-#alpha-step = 0.00;
-
-# Dim inactive windows. (0.0 - 1.0)
-# inactive-dim = 0.2;
-# Do not let dimness adjust based on window opacity.
-# inactive-dim-fixed = true;
-# Blur background of transparent windows. Bad performance with X Render backend. GLX backend is preferred.
-# blur-background = true;
-# Blur background of opaque windows with transparent frames as well.
-# blur-background-frame = true;
-# Do not let blur radius adjust based on window opacity.
-#blur-background-fixed = false;
-#blur-background-exclude = [
-# "window_type = 'dock'",
-# "window_type = 'desktop'"
-#];
#################################
-#
-# Fading
-#
+# Fading #
#################################
-# Fade windows during opacity changes.
-fading = false;
-# The time between steps in a fade in milliseconds. (default 10).
-#ade-delta = 4;
-# Opacity change between steps while fading in. (default 0.028).
+
+# Fade windows in/out when opening/closing and when opacity changes,
+# unless no-fading-openclose is used.
+# fading = false
+fading = false
+
+# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
+# fade-in-step = 0.028
#fade-in-step = 0.03;
-## Opacity change between steps while fading out. (default 0.03).
+
+# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
+# fade-out-step = 0.03
#fade-out-step = 0.03;
-# Fade windows in/out when opening/closing
-# no-fading-openclose = true;
+
+# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
+# fade-delta = 10
# Specify a list of conditions of windows that should not be faded.
-#fade-exclude = [ ];
+# fade-exclude = []
+
+# Do not fade on window open/close.
+# no-fading-openclose = false
+
+# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
+# no-fading-destroyed-argb = false
+
#################################
-#
-# Other
-#
+# Transparency / Opacity #
#################################
-# Try to detect WM windows and mark them as active.
-#mark-wmwin-focused = true;
-# Mark all non-WM but override-redirect windows active (e.g. menus).
-#mark-ovredir-focused = true;
-# Use EWMH _NET_WM_ACTIVE_WINDOW to determine which window is focused instead of using FocusIn/Out events.
-# Usually more reliable but depends on a EWMH-compliant WM.
-use-ewmh-active-win = true;
-# Detect rounded corners and treat them as rectangular when --shadow-ignore-shaped is on.
-#detect-rounded-corners = true;
-
-# Detect _NET_WM_OPACITY on client windows, useful for window managers not passing _NET_WM_OPACITY of client windows to frame windows.
-# This prevents opacity being ignored for some apps.
-# For example without this enabled my xfce4-notifyd is 100% opacity no matter what.
-#detect-client-opacity = true;
-
-# Specify refresh rate of the screen.
-# If not specified or 0, compton will try detecting this with X RandR extension.
-refresh-rate = 0;
-
-# Set VSync method. VSync methods currently available:
-# none: No VSync
-# drm: VSync with DRM_IOCTL_WAIT_VBLANK. May only work on some drivers.
-# opengl: Try to VSync with SGI_video_sync OpenGL extension. Only work on some drivers.
-# opengl-oml: Try to VSync with OML_sync_control OpenGL extension. Only work on some drivers.
-# opengl-swc: Try to VSync with SGI_swap_control OpenGL extension. Only work on some drivers. Works only with GLX backend. Known to be most effective on many drivers. Does not actually control paint timing, only buffer swap is affected, so it doesn’t have the effect of --sw-opti unlike other methods. Experimental.
-# opengl-mswc: Try to VSync with MESA_swap_control OpenGL extension. Basically the same as opengl-swc above, except the extension we use.
-# (Note some VSync methods may not be enabled at compile time.)
-vsync = true;
-
-# Unredirect all windows if a full-screen opaque window is detected, to maximize performance for full-screen windows, like games.
-# Known to cause flickering when redirecting/unredirecting windows.
-# paint-on-overlay may make the flickering less obvious.
-unredir-if-possible = false;
+
+# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
+# inactive-opacity = 1
+#inactive-opacity = 0.8;
+
+# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
+# frame-opacity = 1.0
+#frame-opacity = 0.7;
+
+# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0)
+# menu-opacity = 1.0
+
+# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows.
+# inactive-opacity-override = true
+#inactive-opacity-override = false;
+
+# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
+# active-opacity = 1.0
+
+# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
+# inactive-dim = 0.0
# Specify a list of conditions of windows that should always be considered focused.
-#focus-exclude = [ ];
+# focus-exclude = []
+#focus-exclude = [ "class_g = 'Cairo-clock'" ];
+
+# Use fixed inactive dim value, instead of adjusting according to window opacity.
+# inactive-dim-fixed = 1.0
+
+# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
+# like `50:name *= "Firefox"`. picom-trans is recommended over this.
+# Note we don't make any guarantee about possible conflicts with other
+# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
+# example:
+# opacity-rule = [ "80:class_g = 'URxvt'" ];
+#
+# opacity-rule = []
-# Use WM_TRANSIENT_FOR to group windows, and consider windows in the same group focused at the same time.
-detect-transient = true;
-# Use WM_CLIENT_LEADER to group windows, and consider windows in the same group focused at the same time.
-# WM_TRANSIENT_FOR has higher priority if --detect-transient is enabled, too.
-detect-client-leader = true;
#################################
+# Background-Blurring #
+#################################
+
+
+# Parameters for background blurring, see the *BLUR* section for more information.
+# blur-method =
+# blur-size = 12
#
-# Window type settings
+# blur-deviation = false
+
+# Blur background of semi-transparent / ARGB windows.
+# Bad in performance, with driver-dependent behavior.
+# The name of the switch may change without prior notifications.
+#
+blur-background = false
+
+# Blur background of windows when the window frame is not opaque.
+# Implies:
+# blur-background
+# Bad in performance, with driver-dependent behavior. The name may change.
#
+blur-background-frame = false
+
+
+# Use fixed blur strength rather than adjusting according to window opacity.
+blur-background-fixed = false
+
+
+# Specify the blur convolution kernel, with the following format:
+# example:
+# 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";
+#
+# blur-kern = ''
+blur-kern = "3x3box";
+
+
+# Exclude conditions for background blur.
+# blur-background-exclude = []
+blur-background-exclude = [
+ "window_type = 'dock'",
+ "window_type = 'desktop'",
+ "_GTK_FRAME_EXTENTS@:c"
+];
+
#################################
+# General Settings #
+#################################
+
+# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
+# daemon = false
+
+# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
+# `xrender` is the default one.
+#
+# backend = 'glx'
+backend = "glx";
+
+# Enable/disable VSync.
+# vsync = false
+vsync = true
+
+# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
+# dbus = false
+
+# Try to detect WM windows (a non-override-redirect window with no
+# child that has 'WM_STATE') and mark them as active.
+#
+# mark-wmwin-focused = false
+mark-wmwin-focused = true;
+
+# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
+# mark-ovredir-focused = false
+mark-ovredir-focused = true;
+
+# Try to detect windows with rounded corners and don't consider them
+# shaped windows. The accuracy is not very high, unfortunately.
+#
+# detect-rounded-corners = false
+detect-rounded-corners = true;
+
+# Detect '_NET_WM_OPACITY' on client windows, useful for window managers
+# not passing '_NET_WM_OPACITY' of client windows to frame windows.
+#
+# detect-client-opacity = false
+detect-client-opacity = true;
+
+# Specify refresh rate of the screen. If not specified or 0, picom will
+# try detecting this with X RandR extension.
+#
+# refresh-rate = 60
+refresh-rate = 0
+
+# Limit picom to repaint at most once every 1 / 'refresh_rate' second to
+# boost performance. This should not be used with
+# vsync drm/opengl/opengl-oml
+# as they essentially does sw-opti's job already,
+# unless you wish to specify a lower refresh rate than the actual value.
+#
+# sw-opti =
+
+# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
+# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
+# provided that the WM supports it.
+#
+# use-ewmh-active-win = false
+
+# Unredirect all windows if a full-screen opaque window is detected,
+# to maximize performance for full-screen windows. Known to cause flickering
+# when redirecting/unredirecting windows.
+#
+# unredir-if-possible = false
+
+# Delay before unredirecting the window, in milliseconds. Defaults to 0.
+# unredir-if-possible-delay = 0
+
+# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
+# unredir-if-possible-exclude = []
+
+# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
+# in the same group focused at the same time.
+#
+# detect-transient = false
+detect-transient = true
+
+# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
+# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if
+# detect-transient is enabled, too.
+#
+# detect-client-leader = false
+detect-client-leader = true
+
+# Resize damaged region by a specific number of pixels.
+# A positive value enlarges it while a negative one shrinks it.
+# If the value is positive, those additional pixels will not be actually painted
+# to screen, only used in blur calculation, and such. (Due to technical limitations,
+# with use-damage, those pixels will still be incorrectly painted to screen.)
+# Primarily used to fix the line corruption issues of blur,
+# in which case you should use the blur radius value here
+# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
+# with a 5x5 one you use `--resize-damage 2`, and so on).
+# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
+#
+# resize-damage = 1
+# Specify a list of conditions of windows that should be painted with inverted color.
+# Resource-hogging, and is not well tested.
+#
+# invert-color-include = []
+
+# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
+# Might cause incorrect opacity when rendering transparent content (but never
+# practically happened) and may not work with blur-background.
+# My tests show a 15% performance boost. Recommended.
+#
+# glx-no-stencil = false
+
+# GLX backend: Avoid rebinding pixmap on window damage.
+# Probably could improve performance on rapid window content changes,
+# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
+# Recommended if it works.
+#
+# glx-no-rebind-pixmap = false
+
+# Disable the use of damage information.
+# This cause the whole screen to be redrawn everytime, instead of the part of the screen
+# has actually changed. Potentially degrades the performance, but might fix some artifacts.
+# The opposing option is use-damage
+#
+# no-use-damage = false
+use-damage = false
+
+# Use X Sync fence to sync clients' draw calls, to make sure all draw
+# calls are finished before picom starts drawing. Needed on nvidia-drivers
+# with GLX backend for some users.
+#
+# xrender-sync-fence = false
+
+# GLX backend: Use specified GLSL fragment shader for rendering window contents.
+# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
+# in the source tree for examples.
+#
+# glx-fshader-win = ''
+
+# Force all windows to be painted with blending. Useful if you
+# have a glx-fshader-win that could turn opaque pixels transparent.
+#
+# force-win-blend = false
+
+# Do not use EWMH to detect fullscreen windows.
+# Reverts to checking if a window is fullscreen based only on its size and coordinates.
+#
+# no-ewmh-fullscreen = false
+
+# Dimming bright windows so their brightness doesn't exceed this set value.
+# Brightness of a window is estimated by averaging all pixels in the window,
+# so this could comes with a performance hit.
+# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
+#
+# max-brightness = 1.0
+
+# Make transparent windows clip other windows like non-transparent windows do,
+# instead of blending on top of them.
+#
+# transparent-clipping = false
+
+# Set the log level. Possible values are:
+# "trace", "debug", "info", "warn", "error"
+# in increasing level of importance. Case doesn't matter.
+# If using the "TRACE" log level, it's better to log into a file
+# using *--log-file*, since it can generate a huge stream of logs.
+#
+# log-level = "debug"
+log-level = "warn";
+
+# Set the log file.
+# If *--log-file* is never specified, logs will be written to stderr.
+# Otherwise, logs will to written to the given file, though some of the early
+# logs might still be written to the stderr.
+# When setting this option from the config file, it is recommended to use an absolute path.
+#
+# log-file = '/path/to/your/log/file'
+
+# Show all X errors (for debugging)
+# show-all-xerrors = false
+
+# Write process ID to a file.
+# write-pid-path = '/path/to/your/log/file'
+
+# Window type settings
+#
+# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
+# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
+# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
+# "tooltip", "notification", "combo", and "dnd".
+#
+# Following per window-type options are available: ::
+#
+# fade, shadow:::
+# Controls window-type-specific shadow and fade settings.
+#
+# opacity:::
+# Controls default opacity of the window type.
+#
+# focus:::
+# Controls whether the window of this type is to be always considered focused.
+# (By default, all window types except "normal" and "dialog" has this on.)
+#
+# full-shadow:::
+# Controls whether shadow is drawn under the parts of the window that you
+# normally won't be able to see. Useful when the window has parts of it
+# transparent, and you want shadows in those areas.
+#
+# redir-ignore:::
+# Controls whether this type of windows should cause screen to become
+# redirected again after been unredirected. If you have unredir-if-possible
+# set, and doesn't want certain window to cause unnecessary screen redirection,
+# you can set this to `true`.
+#
#wintypes:
#{
-# tooltip =
-# {
-# # fade: Fade the particular type of windows.
-# fade = true;
-# # shadow: Give those windows shadow
-# shadow = false;
-# # opacity: Default opacity for the type of windows.
-# opacity = 0.85;
-# # focus: Whether to always consider windows of this type focused.
-# focus = true;
-# };
+# tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
+# dock = { shadow = false; }
+# dnd = { shadow = false; }
+# popup_menu = { opacity = 0.8; }
+# dropdown_menu = { opacity = 0.8; }
#};
opacity-rule = [ "0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'" ];
diff --git a/sway/.config/sway/config b/sway/.config/sway/config
@@ -1,14 +1,88 @@
+# vim: filetype=i3config
set $mod Mod4
-font pango:Terminus 11px
+font pango:Tamsyn 7
floating_modifier $mod
+workspace 1 output HDMI-A-1
+workspace 2 output VGA-1
+
bindsym $mod+Return exec alacritty
bindsym $mod+Shift+q kill
-bindsym $mod+d exec rofi -modi drun -show drun
+bindsym $mod+d exec wofi --show drun
+
+bindsym $mod+Shift+d mode "remote"
+mode "remote" {
+ bindsym $mod+d exec ssh mikulicz@N-20L6PF16PQSK dmenu_path | dmenu | xargs ssh -X mikulicz@N-20L6PF16PQSK
+ bindsym $mod+Return exec alacritty -e ssh -X mikulicz@N-20L6PF16PQSK
+
+ bindsym $mod+Shift+d mode "default"
+
+ bindsym $mod+Shift+q kill
+
+ bindsym $mod+h focus left
+ bindsym $mod+j focus down
+ bindsym $mod+k focus up
+ bindsym $mod+l focus right
+
+ bindsym $mod+Left focus left
+ bindsym $mod+Down focus down
+ bindsym $mod+Up focus up
+ bindsym $mod+Right focus right
+
+ bindsym $mod+Shift+h move left
+ bindsym $mod+Shift+j move down
+ bindsym $mod+Shift+k move up
+ bindsym $mod+Shift+l move right
+
+ bindsym $mod+Shift+Left move left
+ bindsym $mod+Shift+Down move down
+ bindsym $mod+Shift+Up move up
+ bindsym $mod+Shift+Right move right
+
+ bindsym $mod+g split h
+
+ bindsym $mod+v split v
+
+ bindsym $mod+f fullscreen toggle
+
+ bindsym $mod+s layout stacking
+ bindsym $mod+w layout tabbed
+ bindsym $mod+e layout toggle split
+
+ bindsym $mod+Shift+space floating toggle
+
+ bindsym $mod+space focus mode_toggle
+
+ bindsym $mod+a focus parent
+
+ #bindsym $mod+d focus child
+
+ bindsym $mod+1 workspace 1 output HDMI-A-1
+ bindsym $mod+2 workspace 2 output VGA-1
+ bindsym $mod+3 workspace 3
+ bindsym $mod+4 workspace 4
+ bindsym $mod+5 workspace 5
+ bindsym $mod+6 workspace 6
+ bindsym $mod+7 workspace 7
+ bindsym $mod+8 workspace 8
+ bindsym $mod+9 workspace 9
+ bindsym $mod+0 workspace 10
+
+ bindsym $mod+Shift+1 move container to workspace 1
+ bindsym $mod+Shift+2 move container to workspace 2
+ bindsym $mod+Shift+3 move container to workspace 3
+ bindsym $mod+Shift+4 move container to workspace 4
+ bindsym $mod+Shift+5 move container to workspace 5
+ bindsym $mod+Shift+6 move container to workspace 6
+ bindsym $mod+Shift+7 move container to workspace 7
+ bindsym $mod+Shift+8 move container to workspace 8
+ bindsym $mod+Shift+9 move container to workspace 9
+ bindsym $mod+Shift+0 move container to workspace 10
+}
bindsym $mod+h focus left
bindsym $mod+j focus down
@@ -92,7 +166,7 @@ bindsym $mod+r mode "resize"
set $power_control "[l]ock log[o]ut [s]uspend [h]ibernate [r]eboot [p]oweroff"
mode $power_control {
- bindsym l exec swaylock -n -i ~/.i3/BG.png; mode "default"
+ bindsym l exec ~/.config/sway/lock.sh; mode "default"
bindsym o exec swaymsg exit; mode "default"
bindsym s exec systemctl suspend; mode "default"
bindsym h exec systemctl hibernate; mode "default"
@@ -104,7 +178,27 @@ mode $power_control {
}
bindsym $mod+n mode $power_control
-new_window pixel 2
+mode "brightness" {
+ bindsym grave exec ~/.i3/brightness.sh 00
+ bindsym 1 exec ~/.i3/brightness.sh 10
+ bindsym 2 exec ~/.i3/brightness.sh 20
+ bindsym 3 exec ~/.i3/brightness.sh 30
+ bindsym 4 exec ~/.i3/brightness.sh 40
+ bindsym 5 exec ~/.i3/brightness.sh 50
+ bindsym 6 exec ~/.i3/brightness.sh 60
+ bindsym 7 exec ~/.i3/brightness.sh 70
+ bindsym 8 exec ~/.i3/brightness.sh 80
+ bindsym 9 exec ~/.i3/brightness.sh 90
+ bindsym 0 exec ~/.i3/brightness.sh 100
+
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+bindsym $mod+Shift+b mode "brightness"
+
+default_border pixel 2
+titlebar_border_thickness 1
+titlebar_padding 2 2
gaps inner 10
# Pulse Audio controls
@@ -118,6 +212,8 @@ bindsym XF86AudioStop exec --no-startup-id cmus-remote -s
bindsym XF86AudioNext exec --no-startup-id cmus-remote -n
bindsym XF86AudioPrev exec --no-startup-id cmus-remote -r
+bindsym $mod+c exec alacritty --class CMUS -e fish -c cmus
+
# Screen brightness controls
bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 10 # increase screen brightness
bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 10 # decrease screen brightness
@@ -128,51 +224,46 @@ bindsym $mod+F11 exec --no-startup-id xbacklight -dec 10 # decrease screen brig
bindsym XF86TouchpadToggle exec --no-startup-id ~/.i3/toggle_touchpad.sh 'SynPS/2 Synaptics TouchPad'
# Input configuration
-input 9390:16389:Rapoo_Rapoo_Gaming_Keyboard {
+input type:keyboard {
xkb_layout pl
xkb_options caps:super
}
-input 1:1:AT_Translated_Set_2_keyboard {
- xkb_layout pl
- xkb_options caps:super
-}
-
-input 2:7:SynPS/2_Synaptics_TouchPad {
+input type:touchpad {
tap enabled
}
# Change wallpaper
-bindsym $mod+p exec ~/.fehbg Sway
+bindsym $mod+p exec ~/.fehbg -r
# Take screenshot
bindsym $mod+Shift+s exec grim -g "$(slurp)" - | wl-copy
-# class border backgr. text indicator child_border
-client.focused #4f4f4f #4f4f4f #ffffff #4f4f4f #4f4f4f
-client.unfocused #323232 #323232 #aaaaaa #323232 #4f4f4f
-client.focused_inactive #323232 #333333 #aaaaaa #323232 #4f4f4f
-client.urgent #383a3b #383a3b #ee0000 #383a3b #4f4f4f
+# class border bg text indicator
+client.focused #5c6370e6 #5c6370e6 #ffffff #5c6370e6
+client.unfocused #282c34e6 #282c34e6 #dcdfe4 #282c34e6
+client.focused_inactive #282c34e6 #282c34e6 #dcdfe4 #282c34e6
+client.urgent #383a3be6 #383a3be6 #e06c75 #383a3be6
for_window [instance="polybar"] gaps inner 0
for_window [instance="mpv"] pixel 0
for_window [instance="^r_x11$"] floating enable
for_window [instance="^octave\-gui$"] floating enable
for_window [instance="^matplotlib$"] floating enable
+for_window [app_id="CMUS"] floating enable
-exec /usr/lib/geoclue-2.0/demos/agent
exec redshift-gtk
exec mako
-output "*" background ~/.i3/BG.png fill
+exec ~/.fehbg
exec swayidle \
- timeout 300 'swaylock -n -i ~/.i3/BG.png' \
+ timeout 300 '~/.config/sway/lock.sh' \
timeout 600 'swaymsg "output * dpms off"' \
resume 'swaymsg "output * dpms on"' \
- before-sleep 'swaylock -n -i ~/.i3/BG.png'
+ before-sleep '~/.config/sway/lock.sh'
exec_always "killall waybar; waybar"
exec_always ~/.config/sway/import-gsettings.sh \
gtk-theme:gtk-theme-name \
icon-theme:gtk-icon-theme-name \
- cursor-theme:gtk-cursor-theme-name
+
diff --git a/sway/.config/sway/env b/sway/.config/sway/env
@@ -1,3 +1,11 @@
-QT_QPA_PLATFORM=wayland
+XDG_SESSION_TYPE=wayland
+QT_QPA_PLATFORM=wayland-egl
+QT_WAYLAND_FORCE_DPI=physical
QT_WAYLAND_DISABLE_WINDOWDECORATION=1
-QT_QPA_PLATFORMTHEME="qt5ct"
+QT_QPA_PLATFORMTHEME=qt5ct
+MOZ_ENABLE_WAYLAND=1
+SAL_USE_VCLPLUGIN=gtk3
+ECORE_EVAS_ENGINE=wayland_egl
+ELM_ENGINE=wayland_egl
+SDL_VIDEODRIVER=wayland
+_JAVA_AWT_WM_NONREPARENTING=1
diff --git a/tmux/.tmux.conf b/tmux/.tmux.conf
@@ -1 +1,3 @@
set -g default-terminal "screen-256color"
+set -g escape-time 0
+set -g status off
diff --git a/waybar/.config/waybar/config b/waybar/.config/waybar/config
@@ -1,12 +1,14 @@
+// vim: filetype=json
{
"layer": "top", // Waybar at top layer
- "position": "bottom", // Waybar position (top|bottom|left|right)
- "height": 20, // Waybar height
+ "position": "top", // Waybar position (top|bottom|left|right)
+ "output": "HDMI-A-1",
+ //"height": 10, // Waybar height
// "width": 1280, // Waybar width
// Choose the order of the modules
"modules-left": ["tray", "sway/workspaces", "sway/mode"],
"modules-center": ["custom/cmus"],
- "modules-right": ["idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "battery", "clock"],
+ "modules-right": ["idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "clock"],
// Modules configuration
// "sway/workspaces": {
// "disable-scroll": true,
@@ -34,7 +36,7 @@
}
},
"tray": {
- // "icon-size": 21,
+ "icon-size": 15,
"spacing": 10
},
"clock": {
@@ -49,7 +51,7 @@
},
"temperature": {
// "thermal-zone": 2,
- // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
+ "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
"critical-threshold": 80,
// "format-critical": "{temperatureC}°C ",
"format": "{temperatureC}°C "
@@ -100,7 +102,7 @@
"max-length": 40,
"escape": true,
"interval": 1,
- "exec": "$HOME/.config/polybar/cmus.sh 2> /dev/null",
+ "exec": "$HOME/.config/waybar/cmus.sh 2> /dev/null",
"on-click": "cmus-remote --pause",
"exec-if": "pgrep cmus"
}
diff --git a/zathura/.config/zathura/zathurarc b/zathura/.config/zathura/zathurarc
@@ -4,4 +4,4 @@ set default-bg rgba(40,44,52,0.9)
set statusbar-bg rgba(40,44,52,1)
set recolor true
set recolor-lightcolor rgba(40,44,52,0)
-set recolor-darkcolor rgba(220,223,228,1) foreground = #dcdfe4
+set recolor-darkcolor rgba(220,223,228,1)