56 lines
2.9 KiB
Haskell
56 lines
2.9 KiB
Haskell
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.X11.Taskbar
|
|
--import Phi.Widgets.X11.Systray
|
|
|
|
|
|
main :: IO ()
|
|
main = do
|
|
runPhi defaultXConfig defaultPanelConfig { panelPosition = Bottom } $ 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 = "<span font='Sans 7'>%R</span>\n<span font='Sans 6'>%a, %b %d</span>"
|
|
, lineSpacing = (-1)
|
|
, clockSize = 55
|
|
}
|
|
brightBorder :: (Widget w s c d) => w -> Border w s c d
|
|
brightBorder = border normalDesktopBorder
|