diff options
author | Camil Staps | 2016-02-19 21:55:09 +0100 |
---|---|---|
committer | Camil Staps | 2016-11-30 19:11:07 +0100 |
commit | 3777a430a392be708141923daa10fdd887706c0a (patch) | |
tree | 14ce47a5291c85584e45a3bc11beb55e7ca60b9f | |
parent | TeX tabwidth 2 (diff) |
Update volume in xmobar through a logger
-rwxr-xr-x | bin/volume | 13 | ||||
-rw-r--r-- | system/xmobarrc.symlink | 3 | ||||
-rw-r--r-- | xmonad.symlink/xmonad.hs | 22 |
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") |