diff --git a/bin/xmobar.hs b/bin/xmobar.hs new file mode 100644 index 0000000..6722a01 --- /dev/null +++ b/bin/xmobar.hs @@ -0,0 +1,100 @@ +import Xmobar + +fgColor0 = "black" +fgColor1 = "#888888" +bgColor0 = "#eeeeee" +bdColor = "#cccccc" + +wrapColor c s = "" ++ s ++ "" + +sep = wrapColor fgColor1 " : " + +myTemplate = concat + [ "%UnsafeStdinReader%" + , " }{ " + , "%wlp0s20f3wi%" + , sep, "%alsa:default:Master%" + , sep, "%battery%" + , sep, "%bright%" + , sep, "%locks%" + , sep, "%date% " + ] + +config = defaultConfig { + font = "xft:DejaVu Sans Mono:size=11:bold:antialias=true" + , additionalFonts = + [ "xft:FontAwesome:pixelsize=13:antialias=true:hinting=true" + , "xft:Symbola:size=13:bold:antialias=true" + ] + , textOffset = 16 + , textOffsets = [ 16, 17 ] + , bgColor = bgColor0 + , fgColor = fgColor0 + , position = BottomSize C 100 24 + , border = NoBorder + , borderColor = bdColor + + , sepChar = "%" + , alignSep = "}{" + , template = myTemplate + + , lowerOnStart = False + , hideOnStart = False + , allDesktops = True + , overrideRedirect = True + , pickBroadest = False + , persistent = True + , iconRoot = "/home/ndwar/.local/share/xmobar/icons" + + , commands = + [ Run $ Alsa "default" "Master" + [ "-t", "%" + , "--" + , "-O", "\xf028" + , "-o", "\xf026 " + , "-c", fgColor0 + , "-C", fgColor0 + ] + + , Run $ Battery [ "--template", "" + , "--Low", "10" + , "--High", "80" + , "--low", "red" + , "--normal", fgColor0 + , "--high", fgColor0 + , "--" + , "-P" + , "-o" , "\xf0e7" + , "-O" , "\xf1e6" + , "-i" , "\xf1e6" + ] 50 + + , Run $ Brightness ["-t", "\xf185%" + , "--" + , "-D", "intel_backlight" + ] 10 + + , Run $ Wireless "wlp0s20f3" + [ "-t", "" + , "--" + , "--quality-icon-pattern", "" + ] 5 + + , Run $ Locks + [ "-N", "\x1f13d" + , "-n", wrapColor fgColor1 "\x1f13d" + , "-C", "\x1f132" + , "-c", wrapColor fgColor1 "\x1f132" + , "-s", "" + , "-S", "" + , "-d", " " + ] + + , Run $ Date "%Y-%m-%d %H:%M" "date" 10 + + , Run UnsafeStdinReader + ] + } + +main :: IO () +main = xmobar config diff --git a/my-xmonad.cabal b/my-xmonad.cabal index cc6961c..155b766 100644 --- a/my-xmonad.cabal +++ b/my-xmonad.cabal @@ -25,6 +25,13 @@ executable xmonad default-language: Haskell2010 ghc-options: -Wall -Werror -fno-warn-missing-signatures -threaded +executable xmobar + main-is: bin/xmobar.hs + build-depends: base + , xmobar + default-language: Haskell2010 + ghc-options: -Wall -Werror -fno-warn-missing-signatures -threaded + executable xit-event main-is: bin/xit-event.hs build-depends: base diff --git a/stack.yaml b/stack.yaml index 3ffa4e3..9077650 100644 --- a/stack.yaml +++ b/stack.yaml @@ -39,10 +39,28 @@ packages: # - git: https://github.com/commercialhaskell/stack.git # commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a # -extra-deps: [] +extra-deps: +- iwlib-0.1.0 +- github: ndwarshuis/xmobar + commit: 4d750adcdecf5c1085ff583cf69392fcaf5dfaf7 # Override default flag values for local packages and extra-deps # flags: {} +flags: + xmobar: + with_dbus: true + with_threaded: true + with_utf8: true + with_xft: true + with_mpd: false + with_mpris: false + with_inotify: false + with_iwlib: true + with_alsa: true + with_datezone: true + with_xpm: true + with_uvmeter: false + with_weather: false # Extra package databases containing global packages # extra-package-dbs: []