Skip to content

rvcalisto/mxiv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MXIV

Media Explorer & Interactive Viewer

cover

Overview

MXIV is a keyboard-oriented media viewer intended to navigate heterogeneous galleries, displaying images & videos interchangeably. For interactivity, all actions can be called or keyboard-accelerated from the app's "CLI".

Features

  • Explorer - Navigate through files & folders without leaving the window
  • Multimedia - Display a large range of formats such as PNG, GIF, WEBP, WEBM, MP3, MP4...
  • Interactive - Fit display to width, height, set zoom, loop videos, play slideshows...
  • Searchable - Open multiple folders as one, find or filter files through the app CLI
  • Tabs - Create, switch or duplicate tabs. Then save, restore or delete session profiles
  • Tags - Simple but extendable JSON tag database for file tracking
  • Library - Gather folders & archives for tagging, search and quick access
  • Asynchronous - No frozen GUI while opening a mounted HDD or remote directory
  • Configurable - Accelerate any action with hotkeys, run your own scripts on a file
  • Keyboard Centric - Favor keyboard commands & shortcuts over buttons & menus ( it's a feature, I swear )

Runtime Dependencies

  • Electron - Application framework
  • 7z (provided by p7zip on Linux) - To temporarily extract and view archived media files
  • ImageMagick - To generate thumbnails for media folders & archives in library
  • Font Awesome - Icon Fonts ( included )

Usage

With Electron already installed:

# simple shortcut
electron "path/to/src"

Otherwise, see how to setup the repo, run or build MXIV packages.

Regardless of method, make sure 7z and convert binaries are available from your PATH to use their features, as they're not redistributed within the packages.

Repository Setup

# clone repository into a new "mxiv" folder
git clone "https://github.com/rvcalisto/mxiv.git" "mxiv"

# fetch and install electron, electron-forge
cd mxiv; npm install

# run mxiv
npm start

# build platform specific packages
npm run make