hbro-contrib-0.9.0.0: Hbro/Session.hs
module Hbro.Session where
-- {{{ Imports
--import Hbro.Types
-- import Hbro.Util
-- import Data.Foldable
-- import qualified Data.Text as T
-- import qualified Data.Text.IO as T
-- import Graphics.UI.Gtk.General.General
-- import Graphics.UI.Gtk.WebKit.WebView hiding(webViewGetUri)
-- import Prelude hiding(mapM_)
-- import System.Directory
-- import System.Environment
-- import System.Glib.Signals
-- import System.IO
-- import System.Posix.Process
-- import System.Process
-- }}}
--setupSession :: WebView -> String -> IO ()
--setupSession webView sessionDirectory = do
-- pid <- getProcessID
-- previousSession <- getDirectoryContents sessionDirectory
--
-- let sessionFile = sessionDirectory ++ show pid
--
-- _ <- on webView loadFinished $ \_ -> do
-- webViewGetUri webView >>= mapM_ ((writeFile sessionFile) . show)
--
-- _ <- quitAdd 0 $ do
-- removeFile sessionFile
-- return False
--
-- return ()
--loadFromSession :: [String] -> String -> IO ()
--loadFromSession dmenuOptions sessionDirectory = do
-- previousSession <- getDirectoryContents sessionDirectory
-- sessionURIs <- mapM getSessionURI previousSession
--
-- selection <- dmenu dmenuOptions (T.unlines sessionURIs)
--
-- case selection of
-- "" -> return ()
-- u -> do
-- _ <- spawn "hbro" ["-u", u]
-- return ()
--
--getSessionURI :: String -> IO T.Text
--getSessionURI fileName = do
-- configHome <- getEnv "XDG_CONFIG_HOME"
-- file <- T.readFile $ configHome ++ "/hbro/sessions/" ++ fileName
--
-- return $ (head . T.lines) file