hum-0.1.0.0: src/Hum/Attributes.hs
-- |
module Hum.Attributes where
import Brick.AttrMap
import Brick.Types
import Brick.Widgets.Core
import Brick.Widgets.List ( listAttr
, listSelectedAttr
, listSelectedFocusedAttr
)
import qualified Brick.Util as BU
import Graphics.Vty ( defAttr )
import qualified Graphics.Vty as Vty
humAttrMap :: AttrMap
humAttrMap = attrMap
defAttr
[ (listAttr , Vty.withStyle (BU.fg Vty.white) Vty.defaultStyleMask)
, (listSelectedAttr , Vty.withStyle defAttr Vty.underline)
, (listSelectedFocusedAttr, Vty.withStyle defAttr Vty.reverseVideo)
, (listHighlightedAttr , BU.fg Vty.yellow)
, (headerAttr , Vty.withStyle defAttr Vty.underline)
, (queueAlbumAttr , BU.fg Vty.red)
, (queueTrackAttr , BU.fg Vty.magenta)
, (queueTitleAttr , BU.fg Vty.cyan)
, (queueArtistAttr , BU.fg Vty.green)
, (queueTimeAttr , BU.fg Vty.blue)
, (queueDateAttr , BU.fg Vty.yellow)
, ( queueNowPlayingAttr
, Vty.withStyle (Vty.withStyle defAttr Vty.bold) Vty.underline
)
, (queueTitleBoldAttr, Vty.withStyle defAttr Vty.bold)
, (editorAttr , BU.bg Vty.black)
]
wobAttr :: Vty.Attr
wobAttr = BU.fg Vty.white
queueAttr, queueAlbumAttr, queueTitleAttr, queueTrackAttr, queueArtistAttr, queueTimeAttr, queueDateAttr
:: AttrName
queueAttr = "queue"
queueAlbumAttr = queueAttr <> "album"
queueTitleAttr = queueAttr <> "title"
queueTrackAttr = queueAttr <> "track"
queueArtistAttr = queueAttr <> "artist"
queueTimeAttr = queueAttr <> "time"
queueDateAttr = queueAttr <> "date"
headerAttr :: AttrName
headerAttr = "header"
listHighlightedAttr :: AttrName
listHighlightedAttr = listAttr <> "highlighted"
queueNowPlayingAttr :: AttrName
queueNowPlayingAttr = queueAttr <> "now playing"
queueTitleBoldAttr :: AttrName
queueTitleBoldAttr = queueTitleAttr <> "bold"
editorAttr :: AttrName
editorAttr = "editor"
highlightOverQueueAttrs :: Widget n -> Widget n
highlightOverQueueAttrs = updateAttrMap
(mapAttrNames
( (listHighlightedAttr, )
<$> [ queueAlbumAttr
, queueTrackAttr
, queueTitleAttr
, queueArtistAttr
, queueTimeAttr
]
)
)