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

54 lines
1.9 KiB
Markdown

# 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`:
```console
$ 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.