While there are errors that pop up when inserting text (_each time_), it
is still much preferable to the unbearable slowdowns that happen after a
while when running it in XWayland mode.
Since wezterm on wayland is an older release (does not track nightlies,
so currently last release is 2024023, a year old) it does not work as
well with wayland as I would hope.
There are two major issues:
- Cursor errors whenever a mouse pointer is above the window (can be
partly fixed with the xcursor_theme option, though still erroring when
hovering over links).
- Constant errors that inactive text input is sending updates in river
logs.
Until those are fixed, or I jump to a nightly version, we keep it
xwayland.
Prefer regular 'Iosevka' font in most cases, not the highly specific
'Iosevka Nerd Font'. This may break some things back in Archlinux-land
but it is required for iosevka to be correctly displayed in Voidlinux,
and, to be honest, also feels more clean than using such a highly
specialized font for everything.
Additionally, we generally make use of both where possible, defaulting
to the more specific 'Nerd Font' family variant but falling back to
regular old Iosevka.
One exception is 'wezterm' which, though it nicely includes a font
fallback option (and a very configurable one at that), _always_ produces
a warning when the first font in a fallback list is not found -- even
when the specific 'warn_about_missing_glyphs' option is ticked. No clue
why but for now this works well enough for me.
This is something I used to use quite a bit in tmux. I have a feeling I
will not be making extensive use of it in wezterm, but can always remove
it if I reach the point of forgetting the mapping later.
Added mapping `<leader><c-q>` to select a pane which will be moved out
to a new tab.
Slightly changed pane switching on `<leader><s-q>` to keep focus on the
pane instead of switching to the other pane.
Finally, added two simple relative tab movement maps to cycle forward
with `<leader>.` and reverse with `<leader>,`. This replaces the old tab
movement (moving the actual tab around) left and right which are now on
`<leader><s-,>` and `<ledaer><s-.>` respectively.
These bindings ensure that wezterm understands (and informs the shell)
that `<C-Return>` and `<S-Return>` are different key binds than just
`<Return>` on its own.
For example 'euporie' uses it to mimic the python notebook 'enter means
newline but ctrl-enter means execute' style of quick coding.
Since I (almost) never use the navigator, it has been put behind
`<leader>T`. The tab-hiding I used a (little) more often so that now
lies behind `<leader>t`. Simple change.
Tab display can be toggled on or off with `Ctrl+Shift+T`. The toggling
takes place per-window and not globally, so we can have a wezterm
terminal on desktop 1 with a tabbar and on desktop 2 without. Opening
a new terminal always defaults to an enabled tab bar.
Extended functionality to work in current directory with lower-case
letters and from home directory using upper-case. So, <leader>f
will search files in current dir, <leader>F in home dir.
Same for <leader>d/D and <leader>w/W.
HACK Also made it use fd instead of find by default for the speedup.
This should probably only be done after detecting if fd is even installed
on the system but I do not have time for this right now.
When copying the recent buffer into an editor for copying/editing/doing
whatever with, we should copy *logical* lines since that is generally
what we want to be working with instead of arbitrary line-breaks.
Wezterm helpfully provides us this possibility (thanks, Wez!).
Set up wezterm to continue to use Iosevka for everything *except*
italics (in all weights) which will instead be displayed by the Victor
font.
This ultimately results in cursive fonts for italics and Iosevka for
everything else, very pretty.
New versions of Iosevka seem to not be callable simply through 'Iosevka'
as before but require the full 'Iosevka Nerd Font' terminus for my case
of having the archlinux nerdfont package for the font installed.
This commit fixes wrong fonts in wayland and the wezterm terminal as
well as a longer running issue in mpv so they all correctly display
Iosevka.
Added new quickselect mode to quickly open a displayed url. Changed
original quickselect to use leader-f mapping (instead of shift+f) and
made new mode callable through the shift+f version.
from: https://github.com/wez/wezterm/issues/1362
Delegated scroll mode invocation to leader-b, as in original setup.