module XMonad.Util.Themes
(
listOfThemes
, ppThemeInfo
, xmonadTheme
, smallClean
, adwaitaTheme
, adwaitaDarkTheme
, robertTheme
, darkTheme
, deiflTheme
, oxymor00nTheme
, donaldTheme
, wfarrTheme
, kavonForestTheme
, kavonLakeTheme
, kavonPeacockTheme
, kavonVioGreenTheme
, kavonBluesTheme
, kavonAutumnTheme
, kavonFireTheme
, kavonChristmasTheme
, ThemeInfo (..)
) where
import XMonad.Layout.Decoration
data ThemeInfo =
TI { ThemeInfo -> String
themeName :: String
, ThemeInfo -> String
themeAuthor :: String
, ThemeInfo -> String
themeDescription :: String
, ThemeInfo -> Theme
theme :: Theme
}
newTheme :: ThemeInfo
newTheme :: ThemeInfo
newTheme = String -> String -> String -> Theme -> ThemeInfo
TI String
"" String
"" String
"" Theme
forall a. Default a => a
def
ppThemeInfo :: ThemeInfo -> String
ppThemeInfo :: ThemeInfo -> String
ppThemeInfo ThemeInfo
t = ThemeInfo -> String
themeName ThemeInfo
t String -> String -> String
`add` ThemeInfo -> String
themeDescription ThemeInfo
t String -> String -> String
`add` String
"by" String -> String -> String
`add` ThemeInfo -> String
themeAuthor ThemeInfo
t
where String
"" add :: String -> String -> String
`add` String
x = String
x
String
x `add` String
y = String
x String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
" - " String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
y
listOfThemes :: [ThemeInfo]
listOfThemes :: [ThemeInfo]
listOfThemes = [ ThemeInfo
xmonadTheme
, ThemeInfo
smallClean
, ThemeInfo
adwaitaTheme
, ThemeInfo
adwaitaDarkTheme
, ThemeInfo
darkTheme
, ThemeInfo
deiflTheme
, ThemeInfo
oxymor00nTheme
, ThemeInfo
robertTheme
, ThemeInfo
donaldTheme
, ThemeInfo
wfarrTheme
, ThemeInfo
kavonForestTheme
, ThemeInfo
kavonLakeTheme
, ThemeInfo
kavonPeacockTheme
, ThemeInfo
kavonVioGreenTheme
, ThemeInfo
kavonBluesTheme
, ThemeInfo
kavonAutumnTheme
, ThemeInfo
kavonFireTheme
, ThemeInfo
kavonChristmasTheme
]
xmonadTheme :: ThemeInfo
xmonadTheme :: ThemeInfo
xmonadTheme =
ThemeInfo
newTheme { themeName = "xmonadTheme"
, themeAuthor = "David Roundy"
, themeDescription = "The default xmonad theme"
, theme = def
}
smallClean :: ThemeInfo
smallClean :: ThemeInfo
smallClean =
ThemeInfo
newTheme { themeName = "smallClean"
, themeAuthor = "Andrea Rossato"
, themeDescription = "Small decorations with a Ion3 remembrance"
, theme = def { activeColor = "#8a999e"
, inactiveColor = "#545d75"
, activeBorderColor = "white"
, inactiveBorderColor = "grey"
, activeTextColor = "white"
, inactiveTextColor = "grey"
, decoHeight = 14
}
}
adwaitaTheme :: ThemeInfo
adwaitaTheme :: ThemeInfo
adwaitaTheme =
ThemeInfo
newTheme { themeName = "adwaitaTheme"
, themeAuthor = "Alex Griffin"
, themeDescription = "Matching decorations for Adwaita GTK theme"
, theme = def { activeColor = "#dfdcd8"
, inactiveColor = "#f6f5f4"
, urgentColor = "#3584e4"
, activeBorderColor = "#bfb8b1"
, inactiveBorderColor = "#cdc7c2"
, urgentBorderColor = "#1658a7"
, activeTextColor = "#2e3436"
, inactiveTextColor = "#929595"
, urgentTextColor = "#ffffff"
, fontName = "xft:Cantarell:bold:size=11"
, decoWidth = 400
, decoHeight = 35
}
}
adwaitaDarkTheme :: ThemeInfo
adwaitaDarkTheme :: ThemeInfo
adwaitaDarkTheme =
ThemeInfo
newTheme { themeName = "adwaitaDarkTheme"
, themeAuthor = "Alex Griffin"
, themeDescription = "Matching decorations for Adwaita-dark GTK theme"
, theme = def { activeColor = "#2d2d2d"
, inactiveColor = "#353535"
, urgentColor = "#15539e"
, activeBorderColor = "#070707"
, inactiveBorderColor = "#1c1c1c"
, urgentBorderColor = "#030c17"
, activeTextColor = "#eeeeec"
, inactiveTextColor = "#929291"
, urgentTextColor = "#ffffff"
, fontName = "xft:Cantarell:bold:size=11"
, decoWidth = 400
, decoHeight = 35
}
}
donaldTheme :: ThemeInfo
donaldTheme :: ThemeInfo
donaldTheme =
ThemeInfo
newTheme { themeName = "donaldTheme"
, themeAuthor = "Andrea Rossato"
, themeDescription = "Don's preferred colors - from DynamicLog...;)"
, theme = def { activeColor = "#2b4f98"
, inactiveColor = "#cccccc"
, activeBorderColor = "#2b4f98"
, inactiveBorderColor = "#cccccc"
, activeTextColor = "white"
, inactiveTextColor = "black"
, decoHeight = 16
}
}
robertTheme :: ThemeInfo
robertTheme :: ThemeInfo
robertTheme =
ThemeInfo
newTheme { themeName = "robertTheme"
, themeAuthor = "Andrea Rossato"
, themeDescription = "From Robert Manea's prompt theme"
, theme = def { activeColor = "#aecf96"
, inactiveColor = "#111111"
, activeBorderColor = "#aecf96"
, inactiveBorderColor = "#111111"
, activeTextColor = "black"
, inactiveTextColor = "#d5d3a7"
, fontName = "-*-profont-*-*-*-*-11-*-*-*-*-*-iso8859"
, decoHeight = 16
}
}
darkTheme :: ThemeInfo
darkTheme :: ThemeInfo
darkTheme =
ThemeInfo
newTheme { themeName = "darkTheme"
, themeAuthor = "Lucian Poston"
, themeDescription = "Dark Theme"
, theme = def { inactiveBorderColor = "#202030"
, activeBorderColor = "#a0a0d0"
, inactiveColor = "#000000"
, activeColor = "#000000"
, inactiveTextColor = "#607070"
, activeTextColor = "#a0d0d0"
, decoHeight = 15
}
}
deiflTheme :: ThemeInfo
deiflTheme :: ThemeInfo
deiflTheme =
ThemeInfo
newTheme { themeName = "deiflTheme"
, themeAuthor = "deifl"
, themeDescription = "deifl's Theme"
, theme = def { inactiveBorderColor = "#708090"
, activeBorderColor = "#5f9ea0"
, activeColor = "#000000"
, inactiveColor = "#333333"
, inactiveTextColor = "#888888"
, activeTextColor = "#87cefa"
, fontName = "-xos4-terminus-*-*-*-*-12-*-*-*-*-*-*-*"
, decoHeight = 15
}
}
oxymor00nTheme :: ThemeInfo
oxymor00nTheme :: ThemeInfo
oxymor00nTheme =
ThemeInfo
newTheme { themeName = "oxymor00nTheme"
, themeAuthor = "Tom Rauchenwald"
, themeDescription = "oxymor00n's theme"
, theme = def { inactiveBorderColor = "#000"
, activeBorderColor = "aquamarine3"
, activeColor = "aquamarine3"
, inactiveColor = "DarkSlateGray4"
, inactiveTextColor = "#222"
, activeTextColor = "#222"
, fontName = "-*-Bandal-*-*-*-*-12-*-*-*-*-*-*-*"
, decoHeight = 15
, urgentColor = "#000"
, urgentTextColor = "#63b8ff"
}
}
wfarrTheme :: ThemeInfo
wfarrTheme :: ThemeInfo
wfarrTheme =
ThemeInfo
newTheme { themeName = "wfarrTheme"
, themeAuthor = "Will Farrington"
, themeDescription = "A nice blue/black theme."
, theme = def { activeColor = "#4c7899"
, inactiveColor = "#333333"
, activeBorderColor = "#285577"
, inactiveBorderColor = "#222222"
, activeTextColor = "#ffffff"
, inactiveTextColor = "#888888"
, fontName = "-*-fixed-medium-r-*--10-*-*-*-*-*-iso8859-1"
, decoHeight = 12
}
}
kavonForestTheme :: ThemeInfo
kavonForestTheme :: ThemeInfo
kavonForestTheme =
ThemeInfo
newTheme { themeName = "kavonForestTheme"
, themeAuthor = "Kathryn Andersen"
, themeDescription = "Forest colours"
, theme = def { activeColor = "#115422"
, activeBorderColor = "#1a8033"
, activeTextColor = "white"
, inactiveColor = "#543211"
, inactiveBorderColor = "#804c19"
, inactiveTextColor = "#ffcc33"
}
}
kavonLakeTheme :: ThemeInfo
kavonLakeTheme :: ThemeInfo
kavonLakeTheme =
ThemeInfo
newTheme { themeName = "kavonLakeTheme"
, themeAuthor = "Kathryn Andersen"
, themeDescription = "Lake (blue/green) colours"
, theme = def { activeColor = "#001166"
, activeBorderColor = "#1f3999"
, activeTextColor = "white"
, inactiveColor = "#09592a"
, inactiveBorderColor = "#198044"
, inactiveTextColor = "#73e6a3"
}
}
kavonPeacockTheme :: ThemeInfo
kavonPeacockTheme :: ThemeInfo
kavonPeacockTheme =
ThemeInfo
newTheme { themeName = "kavonPeacockTheme"
, themeAuthor = "Kathryn Andersen"
, themeDescription = "Peacock colours"
, theme = def { activeColor = "#190f4c"
, activeBorderColor = "#2b1980"
, activeTextColor = "white"
, inactiveColor = "#225173"
, inactiveBorderColor = "#2a638c"
, inactiveTextColor = "#8fb2cc"
}
}
kavonVioGreenTheme :: ThemeInfo
kavonVioGreenTheme :: ThemeInfo
kavonVioGreenTheme =
ThemeInfo
newTheme { themeName = "kavonVioGreenTheme"
, themeAuthor = "Kathryn Andersen"
, themeDescription = "Violet-Green colours"
, theme = def { activeColor = "#37174c"
, activeBorderColor = "#333399"
, activeTextColor = "white"
, inactiveColor = "#174c17"
, inactiveBorderColor = "#336633"
, inactiveTextColor = "#aaccaa"
}
}
kavonBluesTheme :: ThemeInfo
kavonBluesTheme :: ThemeInfo
kavonBluesTheme =
ThemeInfo
newTheme { themeName = "kavonBluesTheme"
, themeAuthor = "Kathryn Andersen"
, themeDescription = "Blue colours"
, theme = def { activeColor = "#000066"
, activeBorderColor = "#111199"
, activeTextColor = "white"
, inactiveColor = "#9999ee"
, inactiveBorderColor = "#6666cc"
, inactiveTextColor = "black"
}
}
kavonChristmasTheme :: ThemeInfo
kavonChristmasTheme :: ThemeInfo
kavonChristmasTheme =
ThemeInfo
newTheme { themeName = "kavonChristmasTheme"
, themeAuthor = "Kathryn Andersen"
, themeDescription = "Christmas (green + red) colours"
, theme = def { activeColor = "#660000"
, activeBorderColor = "#990000"
, activeTextColor = "white"
, inactiveColor = "#006600"
, inactiveBorderColor = "#003300"
, inactiveTextColor = "#99bb99"
}
}
kavonAutumnTheme :: ThemeInfo
kavonAutumnTheme :: ThemeInfo
kavonAutumnTheme =
ThemeInfo
newTheme { themeName = "kavonAutumnTheme"
, themeAuthor = "Kathryn Andersen"
, themeDescription = "Autumn (brown + red) colours"
, theme = def { activeColor = "#660000"
, activeBorderColor = "#990000"
, activeTextColor = "white"
, inactiveColor = "#542d11"
, inactiveBorderColor = "#804d1A"
, inactiveTextColor = "#ffcc33"
}
}
kavonFireTheme :: ThemeInfo
kavonFireTheme :: ThemeInfo
kavonFireTheme =
ThemeInfo
newTheme { themeName = "kavonFireTheme"
, themeAuthor = "Kathryn Andersen"
, themeDescription = "Fire (orange + red) colours"
, theme = def { activeColor = "#660000"
, activeBorderColor = "#990000"
, activeTextColor = "white"
, inactiveColor = "#ff8000"
, inactiveBorderColor = "#d9b162"
, inactiveTextColor = "black"
}
}