Commit Graph

1484 Commits

Author SHA1 Message Date
18c6a17562 kitty: Change to beam cursor
Otherwise the block cursor comes out now and then (e.g. in fzf).
2025-05-22 16:47:04 +02:00
711608d6c9 kitty: Update mouse_maps to use Alt as kitty_mod 2025-05-22 16:46:46 +02:00
a9998ed371 kitty: Only set the mappings I need/use 2025-05-22 16:41:20 +02:00
ab6eb1e844 kitty: Change color scheme to modified Tango
Colors taken from my st fork. Additionally make the magenta a bit more
saturated.

This reverts 428d75a090 ("dircolors: Use a non-system color for DIR").

Link: https://github.com/druckdev/st/blob/custom/config.h#L101-L119
2025-05-22 16:38:40 +02:00
000ac0f615 kitty: Enable close_on_child_death
Otherwise closing kitty takes forever on my system:

    > kitty -1 --instance-group no -o close_on_child_death=no &
    > kitty -1 --instance-group yes -o close_on_child_death=yes &
    > kitty_cmd="kitty -1 \
                       --wait-for-single-instance-window-close \
                       --instance-group"
    > zsh_cmd="zsh -ic exit"
    > hyperfine -N "$kitty_cmd no $zsh_cmd" \
                   "$kitty_cmd yes $zsh_cmd" \
                   "st -e $zsh_cmd"

    Benchmark 1: kitty -1 \
                --wait-for-single-instance-window-close \
                --instance-group no zsh -ic exit
      Time (mean ± σ):      5.543 s ±  0.023 s    [User: 0.002 s, System: 0.005 s]
      Range (min … max):    5.486 s …  5.570 s    10 runs

    Benchmark 2: kitty -1 \
                --wait-for-single-instance-window-close \
                --instance-group yes zsh -ic exit
      Time (mean ± σ):     509.9 ms ±  29.4 ms    [User: 1.0 ms, System: 2.2 ms]
      Range (min … max):   480.9 ms … 560.1 ms    10 runs

    Benchmark 3: st -e zsh -ic exit
      Time (mean ± σ):     475.0 ms ±  12.6 ms    [User: 304.3 ms, System: 171.5 ms]
      Range (min … max):   455.6 ms … 495.7 ms    10 runs

    Summary
      st -e zsh -ic exit ran
        1.07 ± 0.07 times faster than kitty -1 \
                --wait-for-single-instance-window-close \
                --instance-group yes zsh -ic exit
       11.67 ± 0.31 times faster than kitty -1 \
                --wait-for-single-instance-window-close \
                --instance-group no zsh -ic exit

Link: https://github.com/kovidgoyal/kitty/issues/378
TODO: Could the 500ms be decreased? (zsh related)
2025-05-22 16:32:59 +02:00
d89fd6653c kitty: Make kitty startup fast
Starting a new kitty process is quite slow. With --single-instance "new
invocations will instead create a new top-level window in the existing
kitty instance"[^1] to allow "kitty to share a single sprite cache on
the GPU"[^1], so that startup is almost instant.

For this to work best, launch one hidden "daemon" instance at startup so
that the kitty process is always running, even when no OS windows
exists.

[^1]: kitty(1)

Link: https://github.com/kovidgoyal/kitty/issues/330
2025-05-22 15:49:03 +02:00
9b0c97b003 i3: Switch to kitty 2025-05-22 01:13:45 +02:00
87ecc40627 i3: Save terminal related stuff in variables 2025-05-22 01:13:45 +02:00
f202f987c5 i3: Remove unneeded window class flag to st
This is the default already.
2025-05-22 01:13:45 +02:00
428d75a090 dircolors: Use a non-system color for DIR
I'm not a big fan of the standard blue that kitty ships with. Instead of
switching it's colors to my usual choice of Tango Dark, I want to adjust
the colors where they are used to theoretically make the terminal
experience a bit more terminal-agnostic.

SteelBlue3 (68) looks pretty to close to the blue I'm used to.
2025-05-22 01:13:45 +02:00
a7bd58d210 kitty: Configure to align with my st settings
Except for the font and color scheme. I'm feeling experimental and
surprisingly like what kitty configured per default. Will see, if it
stays like this.
2025-05-22 01:13:45 +02:00
23d14b4ec0 kitty: Add v0.42.0 default config 2025-05-22 01:13:44 +02:00
b5eb5203aa less: Add --ignore-case to LESS 2025-05-22 01:13:40 +02:00
d7289e1d69 vim:xdg: Fix E474 when &spl has multiple languages
Escape comma to not get

    E474: Invalid argument
2025-05-20 11:47:42 +02:00
2aeb664692 vim👨 Set 'showbreak' to NONE 2025-05-20 11:47:42 +02:00
442ee8c4d3 polybar: Remove one space between ramp and percent
I like that the percentage does not move when I press mute, so I want to
keep the alignment, but the percentage is too far away for my taste with
the previous two spaces when unmuted.
2025-05-14 18:44:31 +02:00
68e1af0328 zsh:conf: Fix HOME fallback
Actually use `_get_config_dir`'s exit code instead of `local`'s (i.e.
always™ zero). This was broken since always.
2025-05-14 18:17:18 +02:00
4914a94ee9 zsh:conf: Stop opening ~/.config as a fallback
This has been a bug for far too long. The entries `config`, `conf` and
`config.ini` of `CONF_PATTERNS` only make sense when looking outside of
`HOME`.
2025-05-14 18:15:28 +02:00
6d5245a56e zsh:conf: Remove trailing slashes before processing
Previously when the program name had a trailing slash, `conf` would not
find the right file as it would check for filenames that include a slash
(e.g. `prog/rc`). This was especially annoying, since conf's completion
function inserts a slash automatically when subdirectories exists.
2025-05-14 18:08:19 +02:00
0e4cf4f947 zsh:diffcmds: Add completion function
Completes as the first argument command names and uses then their
completion function to complete the rest.

TODO: <COMMENT>
2025-05-11 16:26:01 +02:00
671d924cca vim:fzf: Span fzf over full window in tmux
Use tmux popup windows for fzf in vim, so that it spans (almost) the
full tmux window. My use-case for this is, that sometimes I open fzf in
a split pane and notice then that the lines are too long for the width
of the pane. Since the fzf window won't resize if I resize the pane
(TODO: issue in fzf.vim), I have to first close it, resize and then
reopen fzf. I hope to fix this by using always the big tmux popup and
eliminating the need to resize at all. The issue remains when vim is in
a split window outside of tmux. I can imagine that this will become
annoying, but we'll see...
2025-04-30 17:44:15 +02:00
5b36728e07 git: Add indent-with-non-tab to core.whitespace
The rest was already enabled by default.
2025-04-30 17:03:05 +02:00
25c00c6efd vim:setts: Use ellipsis for lcs extends & precedes 2025-04-30 17:03:04 +02:00
ad025e7d9d vim:setts: Highlight trailing spaces a bit better
Switch from middle dot to bullet point, since it is a bit bigger.
2025-04-30 17:03:04 +02:00
d3cbc9d560 vim:setts: Change 'tabstop' to 8
I got used to code that is indented with (meant) tabs of width 8.
2025-04-30 17:03:04 +02:00
b2127ae3eb zsh:_conf: Set NULL_GLOB 2025-04-29 11:35:41 +02:00
aafb9a5a3a zsh:_conf: Fix some directory stack empty errors
Fix two cases where `popd` could try to pop from an empty stack.
2025-04-29 11:34:08 +02:00
b722b9aaec zsh:funcs: Fix non-empty dir filter in bfs/find wrapper
The previous filter would filter out every non-regular file (e.g.
symbolic links).
2025-03-28 16:23:05 +01:00
0cb18dedef zsh:keys:cmd-on-enter: Switch until conditions
The requirement does not need to be executed if the idx wrapped around
already.
2025-03-26 00:51:19 +01:00
a9bd4585aa zsh:keys:cmd-on-enter: Take gs out of rotation
It's a bit annoying, ll is sufficient.
2025-03-26 00:50:25 +01:00
3599a147b8 vim:coc: Abort when coc is not loaded 2025-03-26 00:48:48 +01:00
99d8b6133c git: Set trailer.where = end
Don't remember why I had to set it, or what problems I had without
(since it should be the default, no?), but does no harm.
2025-03-25 18:13:54 +01:00
f77b7b7ff6 git: Switch back to diff-so-fancy from delta
I'm not happy with the colors and diff-so-fancy is easier, since it's
just shipped with this repo via a submodule.
2025-03-25 18:08:22 +01:00
e04d78a9d8 vim:ftdetect: Glob clang-formats 2025-03-25 18:04:03 +01:00
bf4c5a1291 vim:keys: Alias <leader>g* to <leader>* 2025-03-25 18:03:59 +01:00
1d2e24cf4d zsh:autoload: Make $d local 2025-03-25 11:07:13 +01:00
2363545489 zsh:autoload: Allow nested directories
As well as wrapper in subdirectories.
2025-03-25 11:07:12 +01:00
cd54c3dfed zsh:autoload: Load wrapper only if command exists 2025-03-25 11:07:12 +01:00
071c2866e5 tmux:yank: Copy also in view-mode 2025-03-24 18:36:41 +01:00
a396df8cea tmux: Fix window reordering >3.4 2025-03-24 18:36:40 +01:00
597f86b4fd tmux: Reorder MouseDragEnd1StatusDefault blocks 2025-03-24 18:36:40 +01:00
0810a83c0b tmux: Bind MouseDragEnd1StatusDefault w/o run-shell
The special token `$` indicates the highest-numbered window. Also switch
to using before `^` when moving to the front for consistency.
2025-03-24 18:36:40 +01:00
52264362f3 *: Update email 2025-03-20 23:02:31 +01:00
393c4e055f vim:coc: Disable diagnostic signs
The line number highlighting is enough and this way I still see the git
signs (without messing with priorities).
2025-03-20 12:51:10 +01:00
63febddf82 vim:coc: Decrease message delay
The value of 25 is orientated at my key repeat rate of 50 (see xinitrc).
This way the message comes fairly quick while not refreshing on every
character when keeping a navigation key pressed.
2025-03-20 12:51:09 +01:00
2b1bdf0fee vim:coc: Disable inlay hints 2025-03-20 12:51:02 +01:00
0c8d1f4292 tmux: Put some parts in version >= 3.3 checks
Ubuntu 22.04 is shipped with 3.2a... There might be more issues with
that version, but these were the ones I could find for now.

Tmux commits needed:
- c03b57465bdf/866117636e47 ("Add different command historys for
  different types of prompts ("command", "search" etc). From Anindya
  Mukherjee.") for `prompt-history-limit`
- e06a4e041c68 ("Set mouse_x and mouse_y on the status line, GitHub
  issue 2913.") for mouse_x in MouseDragEnd1StatusDefault binding
- 9f6164a05cc0 ("Make send-keys without any arguments send the key it is
  bound to (if any). GitHub issue 2904.") for `C-d`, `Enter` bindings
2025-03-13 14:33:26 +01:00
e956b8955e zsh: Remove chpwd-readme hook
The hook was never added since the `functions` array was misspelled. I
fixed that and left it turned on the last few days and absolutely hate
it. No idea why I ever thought that this could be nice.
2025-03-13 14:32:02 +01:00
42b61423bb gpg: Decrease maximum cache TTL 2025-03-11 11:54:18 +01:00
6a87b14611 gpg: Move gpg.loopback back to .config and symlink
It was moved back in 020b39887e ("gpg,git: Move gpg.loopback into
PATH"), because git had problems with the "dynamic" path of HOME. I like
to have everything at one place though (And I searched for this script
in the wrong place, just now).
2025-03-11 11:45:48 +01:00