Phototonic vs sxiv
When comparing Phototonic vs sxiv, the Slant community recommends sxiv for most people. In the question“What are the best FOSS image viewers for UNIX-like systems?” sxiv is ranked 10th while Phototonic is ranked 15th. The most important reason people chose sxiv is:
Anti-aliasing is usually enabled on startup and can be toggled with 'a'. Disabling anti-aliasing means faster operation due to less CPU load. Changing the default is possible by compiling with this setting: # config.h static const bool ANTI_ALIAS = false;
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Clean and functional UI
Beside being pretty clean and easy-to-use, the UI is also pretty fast.
Pro Can be easily keyboard driven
Lots of pre-defined keyboard shortcuts.
Pro Highly customizable
Lots of options to personalize your experience. You can set Photonic to fit images by width and height, or width or height; rotate according to Exif orientation; show/hide image name in viewer; adjust space between thumbnails; adjust delay between slides.
Pro Anti-aliasing can be toggled
Anti-aliasing is usually enabled on startup and can be toggled with 'a'.
Disabling anti-aliasing means faster operation due to less CPU load.
Changing the default is possible by compiling with this setting:
# config.h
static const bool ANTI_ALIAS = false;
Pro Supports embedding into other X windows
Via option -e.
Pro Basic support for multi-frame images (aka animations)
Load all frames from GIF files and play GIF animations.
Pro Acts as a filter for images that interacts with the command line
Option -i (input) takes filenames from stdinput and outputs marked images to stdoutput via option -o (output).
Pro Userscripts can be applied to single images or thumbnail mode selection
Examples of how to use the key-handler are found here:
/usr/share/sxiv/exec/key-handler
Pro Image infobox can be configured
Can be configured in ~/.config/sxiv/exec/image-info. See also here.
Pro Rudimentary viewing manipulation
Images can be rotated (<,>), flipped (|,_) and scaled (w,W,e,E,=).
Pro View mode with marked files
Keys 'N' and 'P' move in list of marked files. This can be useful.
Pro Thumbnail mode
Pro Fast
Cons
Con No Dark mode
And not a lot of customization available.
Con No WebP image format support
Con Browsing a directory after opening a single file needs fixing
See here
There is a workaround implemented in ranger that works more or less out of the box
# This hook allows image viewers to open all images in the current
# directory, keeping the order of files the same as in ranger.
# The requirements to use it are:
# 1. set open_all_images to true
# 2. ensure no files are marked
# 3. call rifle with a command that starts with "sxiv " or "feh "
def sxiv_workaround_hook(command):
Con Jumping in thumbnail mode possible, but limited
By entering a number, followed by capital G the focus jumps to that image in the list counted from beginning. (G is default key for 'g_n_or_last'-action (see config.h in source).)
It has to be noted that prefixing a motion with a number also works as espected (vim style).
Alas, a jumping mode with lables (like with pqiv) would be an advantage.
Con It doesn't have pong
Con Thumbnail mode only with simple marking
Key 'm' marks files.
Con Keys not configurable except via keyhandler mode or compilation
Keys can be associated with userscripts, which can be defined in ~/.config/sxiv/exec/key-handler. Every associated button needs to be prefixed with the key combination C-x (although that prefix can be configured to another key or key combination in config.h).
It has to be noted that key configuration apart from the key-handler is possible via compilation (Customizable key and mouse button mappings in config.h), which must not be a bad way to configure buttons, but certainly means a barrier for the not so tech-savvy.
Easy instruction for compilation:
1) Enter in terminal: "git clone https://github.com/muennich/sxiv.git"
2) Edit file "config.h" according to this
3) Compile and install, namely enter directory and enter in terminal: "make && sudo make install" (beware of sudo/root unless you know what you do)
( 4) Iterate: 2), then: enter directory and enter in terminal: "make clean && make && sudo make install" )
See an example for remapping the navigation buttons:
// navigate thumbnail+image
{ 0, XK_Left, i_navigate, -1 },
{ 0, XK_Left, t_move_sel, DIR_LEFT },
{ 0, XK_Right, i_navigate, +1 },
{ 0, XK_Right, t_move_sel, DIR_RIGHT },
{ 0, XK_Down, t_move_sel, DIR_DOWN },
{ 0, XK_Up, t_move_sel, DIR_UP },
{ ShiftMask, XK_Right, i_navigate, +10 },
{ ShiftMask, XK_Left, i_navigate, -10 },