zeniba-nsxiv/etc/MIGRATION.md
NRK b3eab414dd add a migration document (#507)
this should've been added ages ago back when `nsxiv` was first
released. but even now, there's still plently of people who
might be looking to migrate.

so add a simple MIGRATION.md which covers some of the
differences to be aware of when migrating.

this does not cover patches and `config.h` since any conflicts
in patches would be evident anyways.

ref: https://codeberg.org/nsxiv/nsxiv/issues/369
ref: https://codeberg.org/nsxiv/nsxiv/issues/506
ref: https://codeberg.org/nsxiv/nsxiv/issues/420

Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/507
Reviewed-by: eylles <eylles@noreply.codeberg.org>
2024-06-27 08:07:44 +00:00

1.9 KiB

Migrating from sxiv

nsxiv is mostly a drop-in replacement for sxiv, but not fully. This document outlines some key differences to be aware of if you're migrating from sxiv.

Configuration directory

sxiv looks for config files under the directory ${XDG_CONFIG_HOME:-${HOME}/.config}/sxiv. E.g ~/.config/sxiv/exec/key-handler.

nsxiv uses the same logic to find the config dir but uses the name "nsxiv". E.g ~/.config/nsxiv/....

The "exec" scripts such as key-handler and image-info in nsxiv has some more features, but all previous argument order are preserved. And so if you have any exec scripts, you can simply copy them over and they should just work.

Xresources

The xresources config for nsxiv is under the "Nsxiv" namespace whereas sxiv uses the "Sxiv" namespace. Some of the variables are also different between nsxiv and sxiv, below is a table that shows the old and new names:

sxiv nsxiv
Sxiv.background Nsxiv.window.background
Sxiv.foreground Nsxiv.window.foreground
Sxiv.barBackground Nsxiv.bar.background
Sxiv.barForeground Nsxiv.bar.foreground
Sxiv.font Nsxiv.bar.font

Default window class

The window class of nsxiv is set to "Nsxiv" by default (can be overwritten via -N flag). This usually shouldn't matter, unless you have scripts that search for "Sxiv" window class.

Thumbnail cache directory

Similar to config dir, the thumbnail cache dir of nsxiv is under the "nsxiv" name instead of "sxiv". E.g ~/.cache/nsxiv.

The "caching structure" in nsxiv is the same as sxiv. Which means that you can simply rename the directory to nsxiv:

$ mv  ~/.cache/sxiv  ~/.cache/nsxiv

If you want to have both sxiv and nsxiv installed at the same time, you can even use symlink to avoid duplicate cache.