{-# LANGUAGE TypeFamilies #-} module Phi.Widgets.Taskbar ( TaskbarConfig(..) , defaultTaskbarConfig , taskbar ) where import Control.Concurrent import Control.Monad import Data.Typeable import Data.Time.LocalTime import Data.Time.Format import Graphics.Rendering.Cairo import Graphics.Rendering.Pango.Cairo import Graphics.Rendering.Pango.Enums (PangoRectangle(..)) import Graphics.Rendering.Pango.Layout import System.Locale import Phi.Phi import Phi.Types import Phi.Widget data TaskbarConfig = TaskbarConfig deriving Show defaultTaskbarConfig :: TaskbarConfig defaultTaskbarConfig = TaskbarConfig data Taskbar = Taskbar TaskbarConfig deriving Show data TaskbarState = TaskbarState deriving Show instance WidgetClass Taskbar where type WidgetData Taskbar = TaskbarState initWidget (Taskbar _) phi dispvar = do --withMVar dispvar $ \disp -> -- return () return TaskbarState minSize _ = 0 weight _ = 1 render (Taskbar config) _ w h = do return () taskbar :: TaskbarConfig -> Widget taskbar config = do Widget $ Taskbar config