Skip to content

Commit

Permalink
Fix image support in Kitty
Browse files Browse the repository at this point in the history
  • Loading branch information
jaspervdj committed Feb 21, 2025
1 parent e934d32 commit d54ce90
Showing 1 changed file with 17 additions and 11 deletions.
28 changes: 17 additions & 11 deletions lib/Patat/Images/Kitty.hs
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,16 @@ module Patat.Images.Kitty


--------------------------------------------------------------------------------
import Control.Exception (throwIO)
import Control.Monad (unless, void, when)
import qualified Data.Aeson as A
import qualified Data.List as L
import Patat.Cleanup (Cleanup)
import qualified Patat.Images.Internal as Internal
import Data.Functor (($>))
import System.Environment (lookupEnv)
import System.Process (readProcess)
import Control.Exception (throwIO)
import Control.Monad (unless, void, when)
import qualified Data.Aeson as A
import Data.Functor (($>))
import qualified Data.List as L
import Patat.Cleanup (Cleanup)
import qualified Patat.Images.Internal as Internal
import System.Environment (lookupEnv)
import qualified System.IO as IO
import qualified System.Process as Process


--------------------------------------------------------------------------------
Expand Down Expand Up @@ -42,5 +43,10 @@ new config = do
drawImage :: FilePath -> IO Cleanup
drawImage path = icat ["--align=center", path] $> icat ["--clear"]
where
icat args = void $ readProcess
"kitty" ("+kitten" : "icat" : "--transfer-mode=stream" : args) ""
icat args = do
(Just inh, _, _, ph) <- Process.createProcess (Process.proc "kitty"
("+kitten" : "icat" : "--transfer-mode=stream" : "--stdin=no" : args))
{ Process.std_in = Process.CreatePipe
}
IO.hClose inh
void $ Process.waitForProcess ph

0 comments on commit d54ce90

Please sign in to comment.