SPACE repeatable playlist-next alt+SPACE repeatable playlist-prev UP ignore DOWN ignore LEFT repeatable playlist-prev RIGHT repeatable playlist-next # simple reminder of default bindings #1 add contrast -1 #2 add contrast 1 #3 add brightness -1 #4 add brightness 1 #5 add gamma -1 #6 add gamma 1 #7 add saturation -1 #8 add saturation 1 # mouse-centric bindings MBTN_RIGHT script-binding image_viewer/drag-to-pan MBTN_LEFT script-binding image_viewer/pan-follows-cursor WHEEL_UP script-message cursor-centric-zoom 0.1 WHEEL_DOWN script-message cursor-centric-zoom -0.1 # panning with the keyboard: # pan-image takes the following arguments # pan-image AXIS AMOUNT ZOOM_INVARIANT IMAGE_CONSTRAINED # ^ ^ ^ # x or y | | # | | # if yes, will pan by the same if yes, stops panning if the image # amount regardless of zoom would go outside of the window ctrl+down repeatable script-message pan-image y -0.1 yes yes ctrl+up repeatable script-message pan-image y +0.1 yes yes ctrl+right repeatable script-message pan-image x -0.1 yes yes ctrl+left repeatable script-message pan-image x +0.1 yes yes # now with more precision alt+down repeatable script-message pan-image y -0.01 yes yes alt+up repeatable script-message pan-image y +0.01 yes yes alt+right repeatable script-message pan-image x -0.01 yes yes alt+left repeatable script-message pan-image x +0.01 yes yes # replace at will with h,j,k,l if you prefer vim-style bindings # on a trackpad you may want to use these #WHEEL_UP repeatable script-message pan-image y -0.02 yes yes #WHEEL_DOWN repeatable script-message pan-image y +0.02 yes yes #WHEEL_LEFT repeatable script-message pan-image x -0.02 yes yes #WHEEL_RIGHT repeatable script-message pan-image x +0.02 yes yes # align the border of the image to the border of the window # align-border takes the following arguments: # align-border ALIGN_X ALIGN_Y # any value for ALIGN_* is accepted, -1 and 1 map to the border of the window ctrl+shift+right script-message align-border -1 "" ctrl+shift+left script-message align-border 1 "" ctrl+shift+down script-message align-border "" -1 ctrl+shift+up script-message align-border "" 1 # reset the image ctrl+0 no-osd set video-pan-x 0; no-osd set video-pan-y 0; no-osd set video-zoom 0 + add video-zoom 0.5 - add video-zoom -0.5; script-message reset-pan-if-visible = no-osd set video-zoom 0; script-message reset-pan-if-visible # sxiv compatibility w no-osd set video-unscaled yes; keypress = e no-osd set video-unscaled no; keypress = h no-osd vf toggle hflip; show-text "Horizontal flip" v no-osd vf toggle vflip; show-text "Vertical flip" r script-message rotate-video 90; show-text "Clockwise rotation" R script-message rotate-video -90; show-text "Counter-clockwise rotation" alt+r no-osd set video-rotate 0; show-text "Reset rotation" d script-message ruler # Toggling between pixel-exact reproduction and interpolation a cycle-values scale nearest ewa_lanczossharp # Toggle color management on or off c cycle icc-profile-auto # Screenshot of the window output S screenshot window # Toggle aspect ratio information on and off A cycle-values video-aspect "-1" "no" p script-message force-print-filename # ADVANCED: you can define bindings that belong to a "section" (named "image-viewer" here) like so: #alt+SPACE {image-viewer} repeatable playlist-prev #SPACE {image-viewer} repeatable playlist-next # to load them conditionally with a command. See scripts-opts/image_viewer.conf for how you can do this