Giter Club home page Giter Club logo

vifmimg's Introduction

Image previews using Überzug for vifm (vi file manager)

image

This script is used along vifm to generate image previews for various file types in vifm.

If you want image preview support for lf check out cirala/lfimg.

The script is currently able to handle the following formats:

  • Video files
  • eBook files
  • Images and icons
  • Audio files
  • Font files

Video previews are also supported by using ffmpegthumbnailer and works very well but just like the PDF previews there is a minor flash between each preview, this is due to ffmpegthumbnailer generating the preview file.

GIF files are as of now in the works, it works but in order to break out of the animation loop the user needs to hit the CTRL-C. Sometimes this breaks the preview entirely. When resizing the terminal window the animation replays. There is room for improvement here.

PDF/epub preview is also supported, this is done via pdftoppm and epub-thumbnailer and works almost flawlessly, a minor flash between the previews occur due to pdftoppm generating the image.

Ico files are supported and is utilizing ImageMagick.

Installation

  1. Copy the vifmimg and vifmrun scripts to a folder that is included in your $PATH variable for easy access to the files.

  2. Edit your ~/.config/vifm/vifmrc file and add fileviewer properties like so:

    fileviewer *.pdf
        \ vifmimg pdfpreview %px %py %pw %ph %c
        \ %pc
        \ vifmimg clear

    fileviewer *.epub
        \ vifmimg epubpreview %px %py %pw %ph %c
        \ %pc
        \ vifmimg clear

    fileviewer *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.mpeg,*.vob,
        \*.fl[icv],*.m2v,*.mov,*.webm,*.ts,*.mts,*.m4v,*.r[am],*.qt,*.divx,
        \ vifmimg videopreview %px %py %pw %ph %c
        \ %pc
        \ vifmimg clear

    fileviewer *.bmp,*.jpg,*.jpeg,*.png,*.xpm
        \ vifmimg draw %px %py %pw %ph %c
        \ %pc
        \ vifmimg clear

    fileviewer *.gif
        \ vifmimg gifpreview %px %py %pw %ph %c
        \ %pc
        \ vifmimg clear

    fileviewer *.ico
        \ vifmimg magickpreview %px %py %pw %ph %c
        \ %pc
        \ vifmimg clear
        
    fileviewer <audio/*>
        \ vifmimg audiopreview %px %py %pw %ph %c
        \ %pc
        \ vifmimg clear
        
    fileviewer <font/*>
        \ vifmimg fontpreview %px %py %pw %ph %c
        \ %pc
        \ vifmimg clear

You will also need to add these keybindings (preferably in the bottom of your vifmrc) in order to get the PDF scrolling functionalities:

    map > :!vifmimg inc<CR>
    map < :!vifmimg dec<CR>
  1. In order to launch Vifm with image preview from now you'll need to use the supplied vifmrun script

Prerequisites

Credits

  • Seebye for creating Überzug and the initial script that this script is heavily based upon.
  • Ranger's approach to file previewing as an inspiration source.

vifmimg's People

Contributors

eladyn avatar hieulw avatar sdushantha avatar thimc avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.