scale progress bar to terminal size

This commit is contained in:
Joey Hess 2015-04-14 16:39:30 -04:00
parent a2902cdaaf
commit a5d89633c3
2 changed files with 5 additions and 3 deletions

View file

@ -16,6 +16,7 @@ import Types.Messages
import Types.Key
import System.Console.AsciiProgress
import qualified System.Console.Terminal.Size as Terminal
import Control.Concurrent
{- Shows a progress meter while performing a transfer of a key.
@ -31,11 +32,12 @@ metered combinemeterupdate key af a = case keySize key of
showOutput
liftIO $ putStrLn ""
let desc = truncatepretty 79 $ fromMaybe (key2file key) af
cols <- liftIO $ maybe 79 Terminal.width <$> Terminal.size
let desc = truncatepretty cols $ fromMaybe (key2file key) af
result <- liftIO newEmptyMVar
pg <- liftIO $ newProgressBar def
{ pgWidth = 79
{ pgWidth = cols
, pgFormat = desc ++ " :percent :bar ETA :eta"
, pgTotal = size
, pgOnCompletion = do

View file

@ -113,7 +113,7 @@ Executable git-annex
cryptohash (>= 0.10.0),
esqueleto, persistent-sqlite, persistent, persistent-template,
monad-logger, resourcet,
ascii-progress (<= 0.2.1.2)
ascii-progress (<= 0.2.1.2), terminal-size
CC-Options: -Wall
GHC-Options: -Wall
Extensions: PackageImports