From a7a2234de9a4f5f7bc5cdd626f40d8505967d1c0 Mon Sep 17 00:00:00 2001 From: Jochen Keil Date: Sat, 11 Aug 2012 22:21:15 +0200 Subject: Documentation for the BufferedPipeReader plugin (+ sample script) The sample script is quite generic. It works for demo purposes and can be used as a template for users to write their own scripts. --- readme.md | 29 +++++++++++++++++++++++++++++ samples/status.sh | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100755 samples/status.sh diff --git a/readme.md b/readme.md index 5ea2cc4..e66b438 100644 --- a/readme.md +++ b/readme.md @@ -951,6 +951,35 @@ can be used in the output template as `%mydate%` - Reads its displayed output from the given pipe. +`BufferedPipeReader Alias [ (Timeout, Bool, "/path/to/pipe1") + , (Timeout, Bool, "/path/to/pipe2") + , .. + ]` + +- Display data from multiple pipes. +- Timeout (in tenth of seconds) is the value after which the previous content is + restored i.e. if there was already something from a previous pipe it will be + put on display again, overwriting the current status. +- A pipe with Timout of 0 will be displayed permanently, just like `PipeReader` +- The boolean option indicates whether new data for this pipe should make xmobar + appear (unhide, reveal). In this case, the Timeout additionally specifies when + the window should be hidden again. The output is restored in any case. +- Use it for OSD like status bars e.g. for setting the volume or brightness: + + Run BufferedPipeReader "bpr" + [ ( 0, False, "/tmp/xmobar_window" ) + , ( 15, True, "/tmp/xmobar_status" ) + ] + + Have your window manager send window titles to `"/tmp/xmobar_window"`. They will + always be shown and not reveal your xmobar. + Sending some status information to `"/tmp/xmobar_status"` will reveal xmonad + for 1.5 seconds and temporarily overwrite the window titles. +- Take a look at [samples/status.sh] + +[samples/status.sh]: http://github.com/jaor/xmobar/raw/master/samples/status.sh + + `XMonadLog` - Aliases to XMonadLog diff --git a/samples/status.sh b/samples/status.sh new file mode 100755 index 0000000..fc8af11 --- /dev/null +++ b/samples/status.sh @@ -0,0 +1,47 @@ +#!/bin/sh + + +STATUSPIPE="/tmp/xmobar_status_jrk" +NORMAL='#eee8d5' +MUTED='#cb4b16' +FGCOLOR="#657b83" + +function isMuted () { + # retrieve mute status + # return an arbitrary string for true or nothing at all + echo +} + +function getPercent () { + # somehow retrieve the percent value as plain int (e.g. "66") + echo "66" +} + + +function percentBar () { + local res= i=1 + local percent=$( getPercent ) + + if [ -n "$( isMuted )" ]; then + res="" + else + res="" + fi + + while [ $i -lt $percent ]; do + res+='#' + i=$((i+1)) + done + + res+="" + + while [ $i -lt 100 ]; do + res+='-' + i=$((i+1)) + done + + echo "$res" +} + + +echo "$( percentBar )" > "$STATUSPIPE" -- cgit v1.2.3