55 lines
1.1 KiB
Haskell
55 lines
1.1 KiB
Haskell
{-# 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
|