aboutsummaryrefslogtreecommitdiff
path: root/src/Main.hs
diff options
context:
space:
mode:
authorJosh Rahm <rahm@google.com>2021-11-02 00:41:08 -0600
committerJosh Rahm <rahm@google.com>2021-11-02 00:41:08 -0600
commit0d13796f6cb360ec8c00bf84651d68df5a108a33 (patch)
tree7d8eb4f25a8d53f2f33508e29e918ecf4f416156 /src/Main.hs
parent1e38cda801d91f39ffe0eeb9808afb32f300098d (diff)
downloadrde-0d13796f6cb360ec8c00bf84651d68df5a108a33.tar.gz
rde-0d13796f6cb360ec8c00bf84651d68df5a108a33.tar.bz2
rde-0d13796f6cb360ec8c00bf84651d68df5a108a33.zip
Big powerpill added to my XMonad and XMobar.
Diffstat (limited to 'src/Main.hs')
-rw-r--r--src/Main.hs38
1 files changed, 30 insertions, 8 deletions
diff --git a/src/Main.hs b/src/Main.hs
index 25c930e..7e1cc68 100644
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -10,6 +10,7 @@ import Internal.Layout
import XMonad.Hooks.ManageHelpers
import XMonad.Layout.IndependentScreens
import Text.Printf
+import Data.List.Split
import XMonad.Hooks.EwmhDesktops
import Internal.Keys
@@ -29,7 +30,8 @@ main = do
, borderWidth = 2
, keys = \config -> mempty
, focusedBorderColor = "#ff6c00"
- , normalBorderColor = "#ffd9bf"
+ -- , normalBorderColor = "#ffd9bf"
+ , normalBorderColor = "#000000"
, layoutHook = myLayout
, startupHook = do
ewmhDesktopsStartup
@@ -55,15 +57,17 @@ main = do
statusBar
"xmobar"
xmobarPP {
- ppCurrent = xmobarColor "#ffffff" "red" . printf "%s"
- , ppVisible = xmobarColor "#8888ff" "" . printf "%s"
- , ppHidden = xmobarColor "#888888" "" . printf "%s"
- , ppWsSep = "<fn=1><fc=#808080> · </fc></fn>"
+ ppCurrent = xmobarColor "#ff8888" "red" . printf "<fn=1>%s</fn>"
+ , ppVisible = xmobarColor "#8888ff" "" . printf "<fn=0>%s</fn>"
+ , ppHidden = xmobarColor "#888888" "" . printf "<fn=2>%s</fn>"
+ , ppWsSep = "<fn=1><fc=#808080> </fc></fn>"
, ppTitle =
- xmobarColor "#8888ff" "" . printf "%s" .
- (printf "<fn=1>%s</fn>" :: String -> String)
+ xmobarColor "#808080" "" .
+ printf "<fn=3><fc=#bbbbbb>%s</fc></fn>" .
+ parseOut .
+ trunc 50
- , ppSep = xmobarColor "#404040" "" " ──── "
+ , ppSep = xmobarColor "#404040" "" " │ "
, ppLayout = const ""
, ppExtras = [showLayout]
, ppOrder = \ss ->
@@ -72,3 +76,21 @@ main = do
}
toggleStructsKey
config
+
+ where
+ parseOut :: String -> String
+ parseOut str =
+ let colors = ["#ff878f", "#e187ff", "#8f87ff", "#87fff7", "#8bff87", "#ffe987", "#ff8787"]
+ components = zip (cycle colors) (splitOnAll [" - ", " · ", " "] str)
+ in concatMap (\(color, str) ->
+ printf "<fc=%s>%s</fc> " color str) components
+
+ trunc amt str =
+ if length str > amt - 4
+ then take (amt - 4) str ++ " ..."
+ else str
+
+ splitOnAll arr str = splitOnAll' arr [str]
+ splitOnAll' [] str = str
+ splitOnAll' (a:as) str = splitOnAll' as (concatMap (splitOn a) str)
+