Move everything that is desirable independent of the WM or shell into
xinitrc.
Move .Xresources and .Xmodmap into .config/X11.
Remove all unneeded GNOME bits from i3 config.
Make compositor launch script portable.
Add locker symlink and launch.sh similar to the compositor.
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.
Add blur using the fork from https://github.com/tryone144/compton.
picom seems to be very CPU heavy on my system, so until I figure out how
to fix that I will use this outdated version.
Make the dotfiles a bit more flexible by creating symlinks for stuff
like the wallpaper or the compositor. When switching/exchanging these
components only the symlinks have to be updated.
This fixes the bug that the scratchpad-terminal is not able to change
into a directory with multiple spaces since I forgot to substitute the
spaces globally.
Use better/more readable version of the command that starts the
scratchpad-terminal.
i3 seems to pass the exec arguments to /bin/sh so adding another call
was redundant.
Add support for directories with spaces when launching the
scratchpad-terminal.
NOTE: The exact same command but with 6 backlashes instead of 8 seems to
work just fine. That makes no sense in my head. Either I'm missing
something or there is a bug in the escaping of backslashes in i3.
Open the scratchpad-terminal in the same working directory as the
current window. This makes sense since I use it for small and quick
tasks that often need to take place in the same place.
Start the terminal in a separate workspace before switching back so that
the window does not break the workspaces layout or its content.
The script has to wait shortly so that the window is "done" (made
floating, sticky, etc.). This is a very dirty hack and should be
replaced in the future.
Combine keyboard related commands to have control over the order of
execution. Sometimes the layout was not set properly since xmodmap takes
a while an then xcape gets messed up.
Instead of using an own xkb layout, modify the layout with xmodmap.
Use xcape to use Caps_Lock as Ctrl and Escape depending on if it was
pressed in combination vs alone.
Add hints for xinput.
When restarting i3 check for connected second monitor: scale it and
restart polybar if there is one.
Put polybar tray on the main monitor.
Do not kill polybar and relaunch it when restarting i3, but restart it
using ipc (much faster).
Switch from gnome-terminal to st (see fork on github).
Open new terminal by default in the same working-dir as current window.
Modify scratchpad-terminal to work with every terminal.