summaryrefslogtreecommitdiffhomepage
path: root/examples
diff options
context:
space:
mode:
authorjao <jao@gnu.org>2018-12-02 06:07:29 +0000
committerjao <jao@gnu.org>2018-12-02 06:08:37 +0000
commit2ff796f843bbd51e7cd0aa24b7b98251d263e487 (patch)
treef2f13f84ebf4e76cb1d6d57d2e91ec018e62073f /examples
parent6fc4f0cfcb809b51048e6a3d952b9c887e07b13b (diff)
downloadxmobar-2ff796f843bbd51e7cd0aa24b7b98251d263e487.tar.gz
xmobar-2ff796f843bbd51e7cd0aa24b7b98251d263e487.tar.bz2
Example xmobar.hs
Diffstat (limited to 'examples')
-rw-r--r--examples/Plugins/HelloWorld.hs24
-rw-r--r--examples/Plugins/helloworld.config12
-rw-r--r--examples/xmobar.hs76
3 files changed, 76 insertions, 36 deletions
diff --git a/examples/Plugins/HelloWorld.hs b/examples/Plugins/HelloWorld.hs
deleted file mode 100644
index d2267ae..0000000
--- a/examples/Plugins/HelloWorld.hs
+++ /dev/null
@@ -1,24 +0,0 @@
------------------------------------------------------------------------------
--- |
--- Module : Plugins.HelloWorld
--- Copyright : (c) Andrea Rossato
--- License : BSD-style (see LICENSE)
---
--- Maintainer : Jose A. Ortega Ruiz <jao@gnu.org>
--- Stability : unstable
--- Portability : unportable
---
--- A plugin example for Xmobar, a text based status bar
---
------------------------------------------------------------------------------
-
-module Xmobar.Plugins.HelloWorld where
-
-import Xmobar.Plugins
-
-data HelloWorld = HelloWorld
- deriving (Read, Show)
-
-instance Exec HelloWorld where
- alias HelloWorld = "helloWorld"
- run HelloWorld = return "<fc=red>Hello World!!</fc>"
diff --git a/examples/Plugins/helloworld.config b/examples/Plugins/helloworld.config
deleted file mode 100644
index 3818bfa..0000000
--- a/examples/Plugins/helloworld.config
+++ /dev/null
@@ -1,12 +0,0 @@
-Config { font = "-misc-fixed-*-*-*-*-10-*-*-*-*-*-*-*"
- , bgColor = "#000000"
- , fgColor = "#BFBFBF"
- , position = TopW C 90
- , commands = [ Run Cpu [] 10
- , Run Weather "LIPB" [] 36000
- , Run HelloWorld
- ]
- , sepChar = "%"
- , alignSep = "}{"
- , template = "%cpu% } %helloWorld% { %LIPB% | <fc=yellow>%date%</fc>"
- }
diff --git a/examples/xmobar.hs b/examples/xmobar.hs
new file mode 100644
index 0000000..1325ae7
--- /dev/null
+++ b/examples/xmobar.hs
@@ -0,0 +1,76 @@
+------------------------------------------------------------------------------
+-- |
+-- Copyright: (c) 2018 Jose Antonio Ortega Ruiz
+-- License: BSD3-style (see LICENSE)
+--
+-- Maintainer: jao@gnu.org
+-- Stability: unstable
+-- Portability: portable
+-- Created: Sat Nov 24, 2018 21:03
+--
+--
+-- An example of a Haskell-based xmobar. Compile it with
+-- ghc --make -- xmobar.hs
+-- with the xmobar library installed or simply call:
+-- xmobar /path/to/xmobar.hs
+-- and xmobar will compile and launch it for you and
+------------------------------------------------------------------------------
+
+
+import Xmobar
+
+-- Example user-defined plugin
+
+data HelloWorld = HelloWorld
+ deriving (Read, Show)
+
+instance Exec HelloWorld where
+ alias HelloWorld = "hw"
+ run HelloWorld = return "<fc=red>Hello World!!</fc>"
+
+-- Configuration, using predefined monitors as well as our HelloWorld
+-- plugin:
+
+config = defaultConfig {
+ font = "xft:Sans Mono-9"
+ , additionalFonts = []
+ , borderColor = "black"
+ , border = TopB
+ , bgColor = "black"
+ , fgColor = "grey"
+ , alpha = 255
+ , position = Top
+ , textOffset = -1
+ , iconOffset = -1
+ , lowerOnStart = True
+ , pickBroadest = False
+ , persistent = False
+ , hideOnStart = False
+ , iconRoot = "."
+ , allDesktops = True
+ , overrideRedirect = True
+ , commands = [ Run $ Weather "EGPH" ["-t","<station>: <tempC>C",
+ "-L","18","-H","25",
+ "--normal","green",
+ "--high","red",
+ "--low","lightblue"] 36000
+ , Run $ Network "eth0" ["-L","0","-H","32",
+ "--normal","green","--high","red"] 10
+ , Run $ Network "eth1" ["-L","0","-H","32",
+ "--normal","green","--high","red"] 10
+ , Run $ Cpu ["-L","3","-H","50",
+ "--normal","green","--high","red"] 10
+ , Run $ Memory ["-t","Mem: <usedratio>%"] 10
+ , Run $ Swap [] 10
+ , Run $ Com "uname" ["-s","-r"] "" 36000
+ , Run $ Date "%a %b %_d %Y %H:%M:%S" "date" 10
+ , Run HelloWorld
+ ]
+ , sepChar = "%"
+ , alignSep = "}{"
+ , template = "%cpu% | %memory% * %swap% | %eth0% - %eth1% }\
+ \ %hw% { <fc=#ee9a00>%date%</fc>| %EGPH% | %uname%"
+}
+
+main :: IO ()
+main = xmobar config