It might be different in other file managers, but in Thunar both imv and
imv-dir are currently displayed as "imv" in the "open with" menu. This
makes them indisutinguishable and impossible to choose the one user
wants. This commit ensures that they have different names in the desktop
files.
This commit allows user to select a few files and open only them using
imv-dir. When user opens just one file (typically by double-clicking on
it in a file manager), imv-dir will behave like it used to and open
open the whole directory.
I think this behavior is more reasonable doesn't add much complexity to
imv-dir. Now imv-dir conveniently accomodates the three use-cases which
I think must be quite common:
1. If user wants to cycle through all files in current directory, they
can just double click on one of them.
2. If the user wants to cycle through just a few specific files (say,
if they have many files in this directory and don't want to see them
all), they select them and hit Enter.
3. If the user wants to see just one file and doesn't care about cycling
through them, they just click on one file. The cycling is available,
but they don't have to use it.
For me, 1 and 2 were the main use-cases and to accomodate them I had to
switch between imv and imv-dir as default image viewers, which is rather
suboptimal. Now both are cheaply accomodated by imv-dir.
This includes the commands available in contrib/. It's enabled by
default.
I moved the manpage and desktop file to their regular locations to avoid
complicating the meson file too much. They won't be installed when you
disable the contrib commands.
`imv` now supports HEIC, but other applications (e.g.: file managers) cannot determine this, since it's not listed as a supported mime type.
Adding this entry allows such applications to determine that `imv` can handle HEIC files.
This works the same way as the existing scale command except that it
changes the upscaling method.
Also did some code reduction on the scaling command.
This is partly for consistency, party to resolve a bug where binding [
in the config file would trick the ini parser into thinking it was
reading a section header, leading to the bind not being applied.