Skip to content

Opiniated image browser written in Rust and GTK4

Notifications You must be signed in to change notification settings

newinnovations/mview6

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MView6

Opiniated image browser written in Rust and GTK4

MView6 screenshot MView6 image information MView6 thumbnails

Features

  • Folder and archive browser
  • View images inside zip and rar archives
  • Supports most image formats including (animated) webp
  • Image rotation
  • Full keyboard navigation
  • Convenient zoom mode presets
  • Intuitive mouse / mouse-wheel zooming
  • Thumbnail view, multiple thumbnail sizes
  • Image information, including exif
  • Tagging images as favorites or trash
  • Hopping between sub-directories and archives while viewing

Help

Press h for help. Press h again for the second help page.

Navigation

Key(s) Function
home first image
end last image
z or or keypad 4 previous image
x or or keypad 6 next image
or keypad 8 previous 5 images
or keypad 2 next 5 images
page up previous 25 images
page down next 25 images
a previous favorite image
s next favorite image
w or keypad 7 hop to previous folder/archive
e or keypad 9 hop to next folder/archive
enter or keypad enter enter (open) folder/archive
backspace or keypad del leave (close) folder/archive and return to parent folder

What is hopping?

If you have several containers (archives or sub-folders) in a parent-folder, and you are browsing in one of the containers, hopping allows you to go the previous or next container without exiting the current, navigation in the parent and opening the previous or next container.

Sort file list

Click on the table headers or use the following keys

Key(s) Function
1 sort on category (folder/archive/image/favorite/trash)
2 sort on name
3 sort on size
4 sort on date

Thumbnails

Key(s) Function
t open thumbnail view
m cycle through thumbnail sizes

Bookmarks, (exif) information, full screen and exit

Key(s) Function
q quit application
d show bookmarks (edit in configuration file)
f or keypad * toggle full screen
esc exit full screen
i toggle image information
space or keypad / toggle folder/archive view

Example config file (location $HOME/.config/mview/mview6.json)

{
  "bookmarks": [
    {
      "name": "Home folder",
      "folder": "/home/martin"
    },
    {
      "name": "Pictures folder",
      "folder": "/home/martin/Pictures"
    },
    {
      "name": "Holiday 2024",
      "folder": "/home/martin/holiday_2024.zip"
    }
  ]
}

Rotate image

The rotation is not saved to image.

Key(s) Function
r rotate clock-wise
shift r rotate anti-clock-wise

Zoom

Zoom using mouse and mouse wheel, or use the following keys:

Key(s) Function
n toggle between no-zoom and zoom-fit
m or keypad 0 toggle between zoom-fill and zoom-max

Zoom modes explained

Mode Behavior
no_zoom Will show image 1:1, may fall outside window
zoom_fit Will not enlarge image, but will make sure it fits in the window by shrinking it when necessairy
zoom_fill Will shrink or enlarge image to fill the available window area. All of the image will be visible, there may be black margins
zoom_max Will shrink or enlarge image to fill the available window area. There will be no black margins, part of the image may fall off-screen

Marking images as "favorite" or "trash"

Key(s) Function
= or keypad + mark image as favorite (or unmark as trash)
- or keypad - mark image as trash (or unmark as favorite)

Marking is done by adding .lo. or .hi. to the image filename. For example image_123.jpg will be renamed to image_123.hi.jpg. This does currently not work inside zip or rar archives.

Building

cargo build --release

Put the executable ./target/release/MView6 somewhere in your path.

Requirements

The following libraries have to be installed

Ubuntu

sudo apt-get install libglib2.0-dev libgdk-pixbuf-2.0-dev libgraphene-1.0-dev libgtk-4-dev librsvg2-dev

MacOS

brew install pkg-config cairo gtk4

About

Opiniated image browser written in Rust and GTK4

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages