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") | 
