Skip to content

akazukin5151/ueberzug-hs

Repository files navigation

ueberzug-hs

Hackage

Documentation

Haskell bindings for ueberzug to display images in the terminal

Make sure ueberzug is installed in the system path.

Note: ueberzug only works on Linux

Port of Ueberzug-rs

Examples

This draws the example image for 2 seconds, then clear it and wait for 1 second before exiting

import Control.Concurrent
import Graphics.Ueberzug

main = do
  ub <- newUeberzug
  -- assert it suceeded
  Right () <-
    draw ub $ defaultUbConf
      { identifier = "75933779_p0"
      , path = "./test/75933779_p0.jpg"
      , x = 10
      , y = 2
      , width = Just 10
      , height = Just 10
      , scaler = Just FitContain
      }
  threadDelay 2000000

  clear ub "75933779_p0"
  threadDelay 1000000

This draws the example image for 1 second, draws another one next to it for 1 second, clear the first image, wait 1 second, then clear the second image, and wait 1 second before exiting

main = do
  ub <- newUeberzug
  draw ub $ defaultUbConf
    { identifier = "75933779_p0_0"
    , path = "test/75933779_p0.jpg"
    , x = 10
    , y = 2
    , width = Just 10
    , height = Just 10
    , scaler = Just FitContain
    }
  threadDelay 1000000
  draw ub $ defaultUbConf
    { identifier = "75933779_p0_1"
    , path = "test/75933779_p0.jpg"
    , x = 20
    , y = 2
    , width = Just 10
    , height = Just 10
    , scaler = Just FitContain
    }
  threadDelay 1000000
  clear ub "75933779_p0_0"
  threadDelay 1000000
  clear ub "75933779_p0_1"
  threadDelay 1000000

Note that CI tests will fail on Hackage because there is no tty attached. They only work if manually ran.

License

MIT

About

Haskell bindings for ueberzug to display images in the terminal

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published