From 3777a430a392be708141923daa10fdd887706c0a Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Fri, 19 Feb 2016 21:55:09 +0100 Subject: Update volume in xmobar through a logger --- bin/volume | 13 +++++++++++++ system/xmobarrc.symlink | 3 +-- xmonad.symlink/xmonad.hs | 22 +++++++++++++--------- 3 files changed, 27 insertions(+), 11 deletions(-) create mode 100755 bin/volume 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","% ()"] 150 - , Run Volume "default" "Master" [] 10 , Run Cpu ["-L","3","-H","50","--normal","green","--high","red"] 10 , Run Memory ["-t","Mem: %"] 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% }{%date% | %uname% | %kbd% | %EHDL% " + , template = "%StdinReader% | %battery% | %cpu% | %memory% * %swap% | %eth0% - %wlan0% %wlan0stat% }{%date% | %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-", spawn "xbacklight -dec 5 -time 80") +myKeys xmproc = [ ("M-", spawn "xbacklight -dec 5 -time 80") , ("M-", spawn "xbacklight -inc 5 -time 80") - , ("", spawn "amixer sset 'Master' toggle") - , ("", spawn "amixer sset 'Master' 1%+") - , ("", spawn "amixer sset 'Master' 1%-") + , ("", xmoblog xmproc >> spawn "amixer sset 'Master' toggle") + , ("", xmoblog xmproc >> spawn "amixer sset 'Master' 1%+") + , ("", xmoblog xmproc >> spawn "amixer sset 'Master' 1%-") , ("", spawn "sudo pm-suspend") , ("", spawn "sudo -A ./bin/kbdbacklight up") , ("", spawn "sudo -A ./bin/kbdbacklight down") -- cgit v1.2.3