Aside from some more needed things, the path deduplication function is
the most time-consuming invocation on zsh startup, taking almost
100ms on my system.
Perhaps it would be reasonable to re-introduce when the first invocation
from path is occurring but it is simply too much time taken for each
time I start a new shell instance for now.
Will be sourced on startup and provide basically the same icon prefix
as before. Made sure to not invoke 'classify+=' too often since each
invocation slows down vifm startup a little.
(see: https://github.com/vifm/vifm/issues/542)
With it being sourced externally we can now do fun things with classify
itself and it is easier to update from the rest of our settings.
Simple wrapper for xdg-open functionality. Simply refers
to xdg-open except if there exists mimeo on the system
which it will refer to instead.
So, a simple preference modificator for mimeo over
xdg-open since that is my preference too.
Also gave it a short name so I can do open whenever I
want and don't have to tax my left hand with tying xdg.
We now use chafa to preview images. We use its iterm mode
since that seems to be the best integrated into wezterm
currently.
We have to use uncached previews so it is a little slower,
but at least it functions perfectly after the first image
is displayed.
For anything markdown or that gets displayed as markdown
(e.g. docx files) in the vifm preview, we now use glow
or bat to display a nicely styled and colored version.
For glow I added a script which tries to detect the
current terminal background between dark/light to
correctly set the color scheme.
Replaced or extended all default references to zathura with
sioyek so it will automatically take on any tasks meant
for pdf reading. With the current configuration, hardly a
change should be noticed.
fasd is unmaintained and slower than zoxide. The transferral
was painless. I imported my old database and can continue as
before. It does not care about files but that is completely
fine for me. Same `z` invocation as before. Has the
'interactive' mode on `zi` which is also completely fine.
If a locally compiled version of viu exists it will use this for
full image preview display (full-color image). If it does not
exist it will instead fall back to the system viu and use
block-wise display for the preview. Location that local viu is
expected is `~/.local/bin/viu`.
The reason behind this is a bug (or at least unwanted
functionality) in viu which makes it not work correctly from
within vifm. You will have to fix this issue and compile a local
version of viu which vifm assumes to be in the local binary
directory and uses to display the pretty images.
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!).
Simplified the view mapping (`w`) to not 'enter' the view window that is
opened by default.
What happened previously is that pressing the mapping
would open the view pane (or create a vertical/horizontal split and then
open the view pane within it if only one pane is visible) and then move
the cursor into it so that you can scroll within.
The issue was that to close the view pane again, one had to exit it
first (through `Shift+w`) which really hurt the quick-glance into a file
and then move on kind of workflow I mostly use previews for.
This commit simplifies the view mapping to allow exactly that, pressing
`w` still does all the things it did previously, only does not move
focus into the preview window so keeps the workflow simpler.
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.
If given <nop> as prefix mapping, the suggestions box shows *all*
mappings that exist in the program. By removing the <nop> we make the
key do its usual action but at the same time restrict the suggestions
being displayed to those actually following the prefix.
On startup zsh would call all zsh env scripts (situated in `zsh/env`
or `zsh/env.d/*.zsh`) *and* all sh scripts (in `sh/env` or
`sh/env.d/*.sh`).
However, by that point, those scripts had already been sourced once - so
they just double up startup time.
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.
Add a simple alias to quickly use distrobox with `db` alias, and modify
pure prompt initialization slightly so that it displays a hostname when
in a distrobox container (akin to operating from ssh or normal container
usage).
HACKY implementation makes use of both an internal pure prompt api
(see here https://github.com/sindresorhus/pure/issues/585)
and a distrobox env var that I am not sure how exposed it is either.
Powerlevel10k uses a similar method though, so maybe it is fine
(see here 33916e91a7/internal/p10k.zsh (L8336)).
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.