Divide config into different sections and move all relevant lines into
those.
Use the $TERMINAL variable wherever possible.
Cleanup some stuff and add a couple of comments.
Add vim modeline to indicate filetype.
Set the key repeat rate.
Ditch scratchpad-terminal.sh:
The reason why I created that script was that I liked to have
different bindings for showing and hiding the terminal. At this
point it just brings too much overhead in a dirty way for a feature
I do not really need. mod+space can still be used to toggle focus
and with mod+comma the window is now shown/hidden from/to
scratchpad.
Use a terminal flag to set the window name instead of using escape
sequences at the start of a new shell.
Instead of storing fzf's output and doing something with it (putting
into clipboard/editing buffer/stdout, etc.) there is a new keybinding
that stores the currently selected commit in the clipboard. fzf's output
is not piped or saved anymore since else `less` cannot be executed
inside of fzf. This is necessary for the second new keybinding that
executes the preview command piped into less. This is needed for example
when `glog` is started in a terminal that is too small to display all
information. In that case the peview window is not shown by default
anymore (but can still be toggled).
Since fzf can now only be aborted it always returns 130. Since this is
annoying `glog` returns 0 at the end form now on.
Refactoring:
Make the `commit_hash` regex more robust and by that simultaneously the
`del_ansi` regex obsolete.
Use `$dateshort` in `$date` since it depends from it.
Do not store the color flag in an extra variable. This was done earlier
to keep the lines under 80 characters but is not needed anymore.
Turn on wildmenu (Default in neovim).
Let vim first complete the longest common string between matches before
seleting full matches. (Similar to completion done by bash or zsh)
Restart from different implementation, since nicoulaj's dotfile repo
seems to be offline and I prefer majutsushi's cleaner version.
Add a slash after the dots since normally I continue on typing the path
and it does not hurt if I don't.
Add support for multiple arguments.
Make the code more modular and extendable for other raw formats by
keeping the differentiation code in the main loop and removing the
hardcoded file extension from extractRAW().
Write some of the EXIF tags that the original raw image had into the JPG
like Orientation and some technical details.
Use single quotes for nested aliases so that the alias is only then
expanded when the command is used. By that we ensure that the order of
the aliases in alias.zsh is irrelevant.
Add vim like text object selection bindings like ci(, ya", etc..
Copied from softmoth/zsh-vim-mode. Since all the other interesting parts
are already covered (for example by p10k) in my config, sourcing the
entire plugin would not make sense.
Instead of getting the primary monitor from xrandr we can use the output
of polybars `--list-monitors` that we get already. This results in a
slight performance boost.
Replace all occurrences of [ with [[ in bash and zsh scripts and
configs.
Performance wise it makes sense to use the builtin instead of calling an
external command also when from a functionality stand point `test` would
suffice.
Instead of hardcoding the paths of all the scripts, use env variables
that are set in launch.sh. This way the config also works with
XDG_CONFIG_HOME not set to ~/.config.
Sadly polybar only accepts references that stand on their own.
(So something like ${env:XDG_CONFIG_HOME:~/.config}/polybar/<script>
does not work.) Hence the mess with the associative array and the
variables for every module.
Convert all functions that are pretty much oneliners and do not contain
any real logic into aliases by using anonymous functions.
I am not too sure if I will keep it this way.
Reorder categories.
Remove unused aliases and PATH modification.
Refactor to keep lines under the maximum of 80 columns.
Use brace expansion where an alias has different names.
Simplify method for finding the wise and sose hash.