module Manatee.Environment where
import Control.Applicative
import Control.Concurrent.MVar
import Control.Concurrent.STM
import Graphics.UI.Gtk hiding (Frame, Window, frameNew)
import Manatee.Core.DBus
import Manatee.Core.Types
import Manatee.Toolkit.General.DBus
import Manatee.Toolkit.Widget.Interactivebar
import Manatee.Toolkit.Widget.PopupWindow
import Manatee.Types
import Manatee.UI.FocusNotifier
import Manatee.UI.Frame
import Manatee.UI.Window hiding (windowNew)
import Manatee.UI.WindowNode
import qualified Data.Map as M
import qualified Data.Set as Set
mkEnvironment :: IO Environment
mkEnvironment =
Environment <$> frameNew
<*> mkSessionClientWithName daemonBusName
<*> newTVarIO windowListNew
<*> newTVarIO windowNodeListNew
<*> newTVarIO (Tabbar M.empty)
<*> newTVarIO (BufferList M.empty)
<*> newTVarIO Set.empty
<*> newTVarIO 0
<*> newTVarIO 0
<*> newTVarIO (FocusNotifierList Set.empty Nothing)
<*> vBoxNew False 0
<*> interactivebarNew
<*> popupWindowNew
<*> newTVarIO 0
<*> newTVarIO 0
<*> newTVarIO 0
<*> newTVarIO Set.empty
<*> newMVar (Right [])
<*> newTVarIO []
<*> newTVarIO []
<*> newMVar (Right [])
<*> newTVarIO []
<*> newTVarIO []
<*> newTVarIO (TabCloseHistory [])
<*> newTVarIO []