From cb44b17d7233ee6030b81118a41599ed39dd4d89 Mon Sep 17 00:00:00 2001 From: ndwarshuis Date: Sun, 31 May 2020 20:56:57 -0400 Subject: [PATCH] ADD sound for volume controls --- lib/XMonad/Internal/Command/Desktop.hs | 9 ++++++--- lib/XMonad/Internal/Shell.hs | 16 +++++++++++++++- sound/smb_fireball.wav | Bin 0 -> 6756 bytes 3 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 sound/smb_fireball.wav diff --git a/lib/XMonad/Internal/Command/Desktop.hs b/lib/XMonad/Internal/Command/Desktop.hs index 933fb1c..d17db50 100644 --- a/lib/XMonad/Internal/Command/Desktop.hs +++ b/lib/XMonad/Internal/Command/Desktop.hs @@ -88,14 +88,17 @@ runNextTrack = spawnCmd myMultimediaCtl ["next"] runStopPlay :: X () runStopPlay = spawnCmd myMultimediaCtl ["stop"] +volumeChangeSound :: FilePath +volumeChangeSound = "smb_fireball.wav" + runVolumeDown :: X () -runVolumeDown = void (lowerVolume 2) +runVolumeDown = void (lowerVolume 2) >> spawnSound volumeChangeSound runVolumeUp :: X () -runVolumeUp = void (raiseVolume 2) +runVolumeUp = void (raiseVolume 2) >> spawnSound volumeChangeSound runVolumeMute :: X () -runVolumeMute = void toggleMute +runVolumeMute = void toggleMute >> spawnSound volumeChangeSound -------------------------------------------------------------------------------- -- | System commands diff --git a/lib/XMonad/Internal/Shell.hs b/lib/XMonad/Internal/Shell.hs index ed38666..1434643 100644 --- a/lib/XMonad/Internal/Shell.hs +++ b/lib/XMonad/Internal/Shell.hs @@ -4,12 +4,15 @@ module XMonad.Internal.Shell ( fmtCmd , spawnCmd + , spawnSound , (#!&&) , (#!||) , (#!>>) ) where -import XMonad.Core (X) +import System.FilePath.Posix + +import XMonad.Core (X, getXMonadDir) import XMonad.Internal.Process -------------------------------------------------------------------------------- @@ -18,6 +21,17 @@ import XMonad.Internal.Process spawnCmd :: String -> [String] -> X () spawnCmd cmd args = spawn $ fmtCmd cmd args +-------------------------------------------------------------------------------- +-- | Playing sound + +soundDir :: FilePath +soundDir = "sound" + +spawnSound :: FilePath -> X () +spawnSound file = do + path <- ( soundDir file) <$> getXMonadDir + spawnCmd "aplay" [path] + -------------------------------------------------------------------------------- -- | Formatting commands diff --git a/sound/smb_fireball.wav b/sound/smb_fireball.wav new file mode 100644 index 0000000000000000000000000000000000000000..56ed57f83c51c44e1e623c3efabdbdcd869627b9 GIT binary patch literal 6756 zcmeHLd3Y4Xw(l8sNM^dKx;um=Vc!&41RksGtAIdQL{UUQ!Wx!c+#Rw?M zjwr|$L{R}j5LpyNFoAS;RrSndpPBBuU1{2c``tg@{r7#Z&UcnN=XXw>s+sAYuZHyP z)oWBWK^W0>c+Z!nrq&V#LGajAXSg8r*d+*FK@`S~NgcC8;eN&}W&?_crIqNyKxXtrC z_MW(OYIp?mL69xrcmxnkyiJ`b1D;o>>>Rj|3dP{b+; zg|^Lg!2>QV))oJm=d&t89*eP=>nZ}D=M>Llgk0tmLN*7PznBds3I>A$Wk?`Q5-^hm zmBk6!EMBH(`&v1mcoilOl84GWq&<=#`K0I2Y;*$N zfpy>r_#U_d?u+9=Td@Y{?cWS8Ry?bk+7NBL-cUF6oBCUL0Y;=g*-lQ97Bq<-rGL?G z#$@A+5iq(3QUWIeYM^y+Z1A(-jbQaqpU}IZuS0=Q?VRB`i*kw(mf%1CkQz-|Pmy*y#^fkN$Yr(E?IrtI?pedLo?i6+ZqhhlEOMjNH zi+{ZDiZ3&Es_&&(;JX`hDt1WB;@BNkHpI@Z9QJL?+wk|C>`wQlWxss?Zgz6^9JP}Q zHIKGmJE;xOXX;scE&Lk(0aqrI$SM*;CAym~rvr@w8Z~+uX9I(b8lijSvS&|xH>q~q z1j&-iOAX`&Xo?huC(%Thh^~Squoqz9OK~1Z6k|b}|B!gxw^f`U`zP>u_T8(j8`*+h zUYnxd&1j@l#-)aWA-#j*rZ%>X$DoMEX@u zl`6<8N|J`5UFa0_p-16dxCvx~N?`@4#Leb>b474~I!&}OI~X-{d7 z=`s2l{TqEWegPL?3oj1v|I2-8TPjNEnB}T<`{|@oCZ;iM$_B(K+V9vcMdVcm$UDS^1Sz1^8 zp?(SX!sAI6E+ns#rPM>~8gJ0!2BqTyU5!VB1B|p#7CBb-Nc>w;V%(>aDR-CZ%O}xf zsRhbFAHh1PGF%SlfO7CJ@f~|T8KnEa6>s_uiYsGfc)%KaZ>)YdyQj|7J^D4R1%BV& zUq_roZsIJGLSCg|;xk^O+wJvw2YMUjgJX^Mp;i=|b>nYHp12!QuAFRtL;pajQV;Yi z+6w!j0LX$Bz&dy-r=vE5MD?}gGOkQ#ll6A3PR7$TKCqegh$YHLsGd9%^^o%6dNkTT zmqTDHye2*YN9BlGOL9&hMYiHAq$e3met{zWQp+}T@yP@8HhfUYM@K@XV4f`fm`4t@EH6^Tm<@u zuzDJ=(2MX`Jcm>v73g}hlX~eaV>|smwx`k`eI!ZfELsigqB3wj91WVlHR5}qdq`D} z*m)Gch$q?WMac%Tg;u1ajnlL+wuRCUt&{xdJG30uL{acQ90}^ebz(9o3Kpr`@jCq$ zo`|0%kYJK-e~%>E%gCk;e2tWzXq8j}okj~`0?M`Xl0YrER(uj13A3<4Qi~Uq;1eb{&!HdCG+Dx3GAH*wh3(}UH zB0rK*v@-?vQ=px%gHj(Il-&)2d^HN8&7e6~9l$k^1&G z?Gw74?lpYA70PKS$#Y?UDFF7O5ugD&C?0?waWm)=D5HOFKOeL7G305i(ChdJ9ZmWg zA@WXOX>8xPAPCDd!EAZ0I6|)D-=%!unV{Fku{2pXjSMwxQt3(56xNWMh`-8pynD5? z_*IgpziqVBR+%GZ11^PU(R^{CJi|L#1LO(P8b4{gtUYJ0l25=4xW(>cl>DK$ht`S2 zkx{szu~B>5%#b(0Oqhl)iQVM6-s;*I62Y(ISmSGLf_Y1R1A5RnM8rqsRo)8PDb*T0el%>piKMP z?4-1X15iEG0_015yx*ulkk9ZR_rLyFtw+%j~zzE?QHsZ%tKvFcmTTdwWB==~<+P?BBnaY@-eI8rEE;ES!f5 z;IrTtDbq7wjgmB6$^O-}&?V~)#RLmc0FDDcNZ2!1ElX!%NY>Fd`Vecm5(LZ9T{s1t zl=gU%RYa5Rx9B3;UGHseRQ?8=(QoiouwOdnc}A^8pT&>aPs+i1duyliE7*yCgztjw z(p#RM>f^LG?n0)~G5SpFl#&5XpaXC-cwbuYX{q+3kK6B&5p=HpjP<+nIk<*4!$V+> zwBMtsV`)`9gS4k>^e3zWWeLbfY48eoMq26#WG|t4`bHwrWBMqoVcfHzo-_cKgAJvV zo}<~PZ0}`qgM{^(R&tyIrbr%`1g|2+J32ej7^!!n$z%r3G>hWWM87-`#GxoW=1sa^ zFE9izK?(jWrFEo*-W$h<&cd!>s&u>POLZ@4k~3X7=c}XK%*n)`YDI+|d)b5q$p`Q?~7^lS> zjrE_ajJKbuYPs{-KN*L0L7V|Tkbe_ysiWyWnhi#Pm*h3(DYYBT2<(!Wzm2l1Fj-%Q z&*zSkpA)OeFXUzFb@6uvD-_MYR2mfANYb^r(F7%1>;P}lM4F=Y7TPIwK#JHNCmH)y zPdQUs3_~&b+8E<0?NG&$QU~;HrDdvWq-*PAvS7M2soWBEfH4!l=WhTT$_qV{)JjHY zx&mg4m6S&2IPEHVKG&@$y_e|cJyxn>C^St?O z^9Sa?oxdgjLjJvcrQorG=L%8_(hCk3WEK<_)GcgRIHqt;;nuE7ER3v< z?23F9xfr<~2}Ft_{%F-`vuNAsfauWZr0DeM!sxPSdUR*>c=UAiYV=l=M)RT-%osDl zY+$xFJDB~Cve^IP+b`I~v&yk}}=z8N;lTa_)vinr=n zjjUEyTdSMZ(;8$YSt*W|>n&@6wcJ`|ZL+pl+pQheUhAOsjdk4m&N^dV zuzsA`2u~w`N>tIt?)|vHU zeOP}sfDN%}1bdo|V$ZP`*%&s#rb%ovOR*`H&1SE#xh##%V{fwg>>aj%z02NXi`i1P zf~{n$ZCcCLu?=h^`+$AOKDOx-md<@Ocm~XK^AJ854S25jTci7+TF3V(DHgmdXTlZ|b&s3YUZK>K)E7qE=^#6?AHj6>Yw8D=SuY1iV!5nNh!lxxS&eca+1F2;#- z1i!Q4czzGVY|U?R99=SZ;;!Tfhj^Bg!E?B;B*tev#yuQo75Bq!PENifIf4(@>sEBN zljGEOQ5^4N^Lv{Tq>CzD|3BI8S|uHG&%<74EvGx@lpM6%KR<0=+u5Nbof9otk@xBL z?5@DO73`awlGPl%8-I8Y&hB^>p5s<_ckj+!U4q~qXU3(w3pbC~*y(e zWkFgOJM_>xkQ|K)#u0xg@jXx_AW%cd=ww`|$I`Qz