aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/volume13
-rw-r--r--system/xmobarrc.symlink3
-rw-r--r--xmonad.symlink/xmonad.hs22
3 files changed, 27 insertions, 11 deletions
diff --git a/bin/volume b/bin/volume
new file mode 100755
index 0000000..1250a80
--- /dev/null
+++ b/bin/volume
@@ -0,0 +1,13 @@
+#!/bin/bash
+outputs=(Left Right)
+i=1
+for o in ${outputs[@]}; do
+ vol=$(amixer get Master |grep "$o" |grep %)
+ if [[ "$vol" == *"off"* ]]; then
+ volumes[$i]="M"
+ else
+ volumes[$i]=$(echo $vol |awk '{print $5}'|sed 's/[^0-9%]//g')
+ fi
+ let i=i+1
+done
+echo ${volumes[*]}
diff --git a/system/xmobarrc.symlink b/system/xmobarrc.symlink
index 6371631..8686ebb 100644
--- a/system/xmobarrc.symlink
+++ b/system/xmobarrc.symlink
@@ -10,7 +10,6 @@ Config { font = "-*-Fixed-Bold-R-Normal-*-13-*-*-*-*-*-*-*"
, Run Network "wlan0" ["-L","0","-H","32","--normal","green","--high","red"] 10
, Run Com "wireless-status" ["wlan0"] "wlan0stat" 10
, Run Battery ["--normal","red","--high","green","-t","<left>% (<timeleft>)"] 150
- , Run Volume "default" "Master" [] 10
, Run Cpu ["-L","3","-H","50","--normal","green","--high","red"] 10
, Run Memory ["-t","Mem: <usedratio>%"] 10
, Run Swap [] 10
@@ -23,6 +22,6 @@ Config { font = "-*-Fixed-Bold-R-Normal-*-13-*-*-*-*-*-*-*"
]
, sepChar = "%"
, alignSep = "}{"
- , template = "%StdinReader% | %battery% | %default:Master% | %cpu% | %memory% * %swap% | %eth0% - %wlan0% %wlan0stat% }{<fc=#ee9a00>%date%</fc> | %uname% | %kbd% | %EHDL% "
+ , template = "%StdinReader% | %battery% | %cpu% | %memory% * %swap% | %eth0% - %wlan0% %wlan0stat% }{<fc=#ee9a00>%date%</fc> | %uname% | %kbd% | %EHDL% "
}
-- vim:ft=haskell:tw=9999:
diff --git a/xmonad.symlink/xmonad.hs b/xmonad.symlink/xmonad.hs
index 31be130..999370b 100644
--- a/xmonad.symlink/xmonad.hs
+++ b/xmonad.symlink/xmonad.hs
@@ -8,8 +8,15 @@ import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Layout.MultiColumns
import XMonad.Util.EZConfig
+import XMonad.Util.Loggers
import XMonad.Util.Run(spawnPipe)
+xmoblog proc = dynamicLogWithPP xmobarPP
+ { ppOutput = hPutStrLn proc
+ , ppTitle = xmobarColor "green" "" . shorten 50
+ , ppExtras = [logCmd "volume"]
+ }
+
main = do
putEnv "_JAVA_AWT_WM_NONREPARENTING=1" -- java GUIs; see https://code.google.com/p/xmonad/issues/detail?id=559#c11
xmproc <- spawnPipe "xmobar"
@@ -17,21 +24,18 @@ main = do
{ modMask = mod4Mask
, focusFollowsMouse = False
, layoutHook = avoidStruts $ myLayouts
- , logHook = dynamicLogWithPP xmobarPP
- { ppOutput = hPutStrLn xmproc
- , ppTitle = xmobarColor "green" "" . shorten 50
- }
+ , logHook = xmoblog xmproc
, manageHook = manageDocks <+> manageHook defaultConfig
, terminal = "uxterm"
, borderWidth = 1
}
- `additionalKeysP` myKeys
+ `additionalKeysP` (myKeys xmproc)
-myKeys = [ ("M-<F5>", spawn "xbacklight -dec 5 -time 80")
+myKeys xmproc = [ ("M-<F5>", spawn "xbacklight -dec 5 -time 80")
, ("M-<F6>", spawn "xbacklight -inc 5 -time 80")
- , ("<XF86AudioMute>", spawn "amixer sset 'Master' toggle")
- , ("<XF86AudioRaiseVolume>", spawn "amixer sset 'Master' 1%+")
- , ("<XF86AudioLowerVolume>", spawn "amixer sset 'Master' 1%-")
+ , ("<XF86AudioMute>", xmoblog xmproc >> spawn "amixer sset 'Master' toggle")
+ , ("<XF86AudioRaiseVolume>", xmoblog xmproc >> spawn "amixer sset 'Master' 1%+")
+ , ("<XF86AudioLowerVolume>", xmoblog xmproc >> spawn "amixer sset 'Master' 1%-")
, ("<XF86PowerOff>", spawn "sudo pm-suspend")
, ("<XF86KbdBrightnessUp>", spawn "sudo -A ./bin/kbdbacklight up")
, ("<XF86KbdBrightnessDown>", spawn "sudo -A ./bin/kbdbacklight down")