import Phi.Types
import Phi.Widget
import Phi.Panel
import Phi.Border
import Phi.X11
import Phi.Widgets.AlphaBox
import Phi.Widgets.Clock
import Phi.Widgets.Taskbar
import Phi.Widgets.Systray
main :: IO ()
main = do
runPhi defaultXConfig defaultPanelConfig { panelPosition = Top } $ alphaBox 0.9 $ theTaskbar <~> brightBorder theSystray <~> brightBorder theClock
where
normalTaskBorder = BorderConfig (BorderWidth (-1) (-3) (-1) 7) 1 (BorderWidth 0 5 0 5) (0.9, 0.9, 0.9, 0.8) (0.45, 0.45, 0.45, 0.8) 5 0
activeTaskBorder = normalTaskBorder { borderColor = (1, 1, 1, 0.8)
, backgroundColor = (0, 0, 0, 1)
}
normalDesktopBorder = normalTaskBorder { margin = BorderWidth 2 3 2 3
, padding = BorderWidth 0 2 0 2
, borderColor = (0.7, 0.7, 0.7, 0.9)
, backgroundColor = (1, 1, 1, 0.9)
}
currentDesktopBorder = normalDesktopBorder { backgroundColor = (0.2, 0.2, 0.2, 0.9)
}
taskStyle = TaskStyle { taskFont = "Sans 7"
, taskColor = (1, 1, 1, 1)
, taskBorder = normalTaskBorder
, taskIconStyle = idIconStyle
}
normalDesktopStyle = DesktopStyle { desktopFont = "Sans 8"
, desktopLabelWidth = 15
, desktopLabelGap = (-5)
, desktopColor = (0, 0, 0, 1)
, desktopBorder = normalDesktopBorder
}
currentDesktopStyle = normalDesktopStyle { desktopBorder = currentDesktopBorder
, desktopColor = (1, 1, 1, 1)
}
theTaskbar = taskbar defaultTaskbarConfig { normalTaskStyle = taskStyle {taskIconStyle = desaturateIconStyle 0.7}
, activeTaskStyle = taskStyle {taskBorder = activeTaskBorder}
, desktopStyle = Just (normalDesktopStyle, currentDesktopStyle)
}
theSystray = systray
theClock = clock defaultClockConfig { clockFormat = "%R\n%A %d %B"
, lineSpacing = (-3)
, clockSize = 75
}
brightBorder :: (Widget w s c) => w -> Border w s c
brightBorder = border normalDesktopBorder