Last active
May 29, 2024 21:12
-
-
Save dsanson/9907c07b1441c676720c34f02301225b to your computer and use it in GitHub Desktop.
cli activation of built-in white noise on macos
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
declare -A noises | |
# to get these hashes, using the system to select the sound, then run: | |
# | |
# defaults export com.apple.ComfortSounds - | |
# | |
# Convert the base64 data field to hex. | |
noises["rain"]="62706C6973743030D4010203040506070A582476657273696F6E592461726368697665725424746F7058246F626A6563747312000186A05F100F4E534B657965644172636869766572D1080954726F6F748001AF10280B0C17181E1F2538393A5E5F606162636465666768696A6B6C6D166E6F7071373273747576777B7E55246E756C6CD50D0E0F101112131415165F10164855436F6D666F7274536F756E6441737365744B65795624636C6173735F10154855436F6D666F7274536F756E644E616D654B65795F10154855436F6D666F7274536F756E64506174684B65795F10164855436F6D666F7274536F756E6447726F75704B657980068027800280031005545261696ED3190E1A1B1C1D574E532E626173655B4E532E72656C61746976658000800580045F108366696C653A2F2F2F53797374656D2F4C6962726172792F41737365747356322F636F6D5F6170706C655F4D6F62696C6541737365745F436F6D666F7274536F756E64734173736574732F353033303231663562363033373561343766643762393130373830303866333361303963613938312E61737365742F4173736574446174612FD2202122235A24636C6173736E616D655824636C6173736573554E5355524CA22224584E534F626A656374DA262728290E2A2B2C2D2E2F15313233343235363757617373657449645B6F726967696E616C55524C596173736574547970655D666F726D617456657273696F6E5D6973446F776E6C6F6164696E675F1014636F6D7061746962696C69747956657273696F6E5E636F6E74656E7456657273696F6E5A70726F706572746965735B6973496E7374616C6C6564800780038008100180260810008009095F1028353033303231663562363033373561343766643762393130373830303866333361303963613938315F1029636F6D2E6170706C652E4D6F62696C6541737365742E436F6D666F7274536F756E6473417373657473D33B3C0E3D4D5D574E532E6B6579735A4E532E6F626A65637473AF100F3E3F404142434445464748494A4B4C800A800B800C800D800E800F801080118012801380148015801680178018AF100F4E4F505152535455551458545A5B5C8019801A801B801C801D801E801F8020802080028021801F80228023802480255F100F5F556E617263686976656453697A655A536F756E6447726F7570554275696C645E5F5F52656C6174697665506174685F10155F4D6561737572656D656E74416C676F726974686D5F10155F436F6D7072657373696F6E416C676F726974686D5F10185F5F43616E5573654C6F63616C43616368655365727665725D466F726D617456657273696F6E5F1014436F6D7061746962696C69747956657273696F6E59536F756E644E616D65595F5F4261736555524C5F10105F49735A697053747265616D61626C655D5F446F776E6C6F616453697A655C5F4D6561737572656D656E745F10105F4D6173746572656456657273696F6E12040C700056394D363339385F1056636F6D5F6170706C655F4D6F62696C6541737365745F436F6D666F7274536F756E64734173736574732F353033303231663562363033373561343766643762393130373830303866333361303963613938312E7A6970555348412D31537A6970095F105F68747470733A2F2F757064617465732E63646E2D6170706C652E636F6D2F323032322F6D6F62696C656173736574732F3037312D30373136322F31423036424243452D364446412D343631412D394436442D4146303741303833463841452F1203FA7C7D4F1014089E773A6E6C4F0B0F9C018FB55FF24A7092DB515436333938D2202178795F10134E534D757461626C6544696374696F6E617279A3787A245C4E5344696374696F6E617279D220217C7D5741584173736574A27C24D220217F805E4855436F6D666F7274536F756E64A281245E4855436F6D666F7274536F756E6400080011001A00240029003200370049004C00510053007E0084008F00A800AF00C700DF00F800FA00FC00FE010001020107010E0116012201240126012801AE01B301BE01C701CD01D001D901EE01F60202020C021A0228023F024E0259026502670269026B026D026F027002720274027502A002CC02D302DB02E602F802FA02FC02FE03000302030403060308030A030C030E03100312031403160328032A032C032E03300332033403360338033A033C033E03400342034403460348035A0365036B037A039203AA03C503D303EA03F403FE0411041F042C043F0444044B04A404AA04AE04AF05110516052D05320537054D0551055E0563056B056E0573058205850000000000000201000000000000008200000000000000000000000000000594" | |
noises["balanced"]="62706C6973743030D4010203040506070A582476657273696F6E592461726368697665725424746F7058246F626A6563747312000186A05F100F4E534B657965644172636869766572D1080954726F6F748001AF10270B0C17181E1F253738395D5E5F606162636465666768696A6B6C166D6E6F703672737475767A7D55246E756C6CD50D0E0F101112131415165F10164855436F6D666F7274536F756E6441737365744B65795624636C6173735F10154855436F6D666F7274536F756E644E616D654B65795F10154855436F6D666F7274536F756E64506174684B65795F10164855436F6D666F7274536F756E6447726F75704B6579800680268002800310015950696E6B4E6F697365D3190E1A1B1C1D574E532E626173655B4E532E72656C61746976658000800580045F108366696C653A2F2F2F53797374656D2F4C6962726172792F41737365747356322F636F6D5F6170706C655F4D6F62696C6541737365745F436F6D666F7274536F756E64734173736574732F626263643131336432373934323533303665343535616633643835646132616663663832633532622E61737365742F4173736574446174612FD2202122235A24636C6173736E616D655824636C6173736573554E5355524CA22224584E534F626A656374DA262728290E2A2B2C2D2E2F15311632331634353657617373657449645B6F726967696E616C55524C596173736574547970655D666F726D617456657273696F6E5D6973446F776E6C6F6164696E675F1014636F6D7061746962696C69747956657273696F6E5E636F6E74656E7456657273696F6E5A70726F706572746965735B6973496E7374616C6C656480078003800880250810008009095F1028626263643131336432373934323533303665343535616633643835646132616663663832633532625F1029636F6D2E6170706C652E4D6F62696C6541737365742E436F6D666F7274536F756E6473417373657473D33A3B0E3C4C5C574E532E6B6579735A4E532E6F626A65637473AF100F3D3E3F404142434445464748494A4B800A800B800C800D800E800F801080118012801380148015801680178018AF100F4D4E4F505152534E4E145753595A5B8019801A801B801C801D801E801F801A801A80028020801F80218022802380245F100F5F556E617263686976656453697A655A536F756E6447726F7570554275696C645E5F5F52656C6174697665506174685F10155F4D6561737572656D656E74416C676F726974686D5F10155F436F6D7072657373696F6E416C676F726974686D5F10185F5F43616E5573654C6F63616C43616368655365727665725D466F726D617456657273696F6E5F1014436F6D7061746962696C69747956657273696F6E59536F756E644E616D65595F5F4261736555524C5F10105F49735A697053747265616D61626C655D5F446F776E6C6F616453697A655C5F4D6561737572656D656E745F10105F4D6173746572656456657273696F6E12001EE00056394D363339385F1056636F6D5F6170706C655F4D6F62696C6541737365745F436F6D666F7274536F756E64734173736574732F626263643131336432373934323533303665343535616633643835646132616663663832633532622E7A6970555348412D31537A6970095F105F68747470733A2F2F757064617465732E63646E2D6170706C652E636F6D2F323032322F6D6F62696C656173736574732F3037312D30373136322F31423036424243452D364446412D343631412D394436442D4146303741303833463841452F12001D38CC4F10145F0BF2903F9860B94BA6CA39E7F76F3EEE4F24905436333938D2202177785F10134E534D757461626C6544696374696F6E617279A37779245C4E5344696374696F6E617279D220217B7C5741584173736574A27B24D220217E7F5E4855436F6D666F7274536F756E64A280245E4855436F6D666F7274536F756E6400080011001A00240029003200370049004C00510053007D0083008E00A700AE00C600DE00F700F900FB00FD00FF0101010B0112011A01260128012A012C01B201B701C201CB01D101D401DD01F201FA02060210021E022C02430252025D0269026B026D026F0271027202740276027702A202CE02D502DD02E802FA02FC02FE03000302030403060308030A030C030E03100312031403160318032A032C032E03300332033403360338033A033C033E03400342034403460348034A035C0367036D037C039403AC03C703D503EC03F6040004130421042E04410446044D04A604AC04B004B105130518052F05340539054F055305600565056D05700575058405870000000000000201000000000000008100000000000000000000000000000596" | |
noises["bright"]="62706C6973743030D4010203040506070A582476657273696F6E592461726368697665725424746F7058246F626A6563747312000186A05F100F4E534B657965644172636869766572D1080954726F6F748001AF10280B0C17181E1F2538393A5E5F606162636465666768696A6B6C6D166E6F7071373273747576777B7E55246E756C6CD50D0E0F101112131415165F10164855436F6D666F7274536F756E6441737365744B65795624636C6173735F10154855436F6D666F7274536F756E644E616D654B65795F10154855436F6D666F7274536F756E64506174684B65795F10164855436F6D666F7274536F756E6447726F75704B6579800680278002800310025A57686974654E6F697365D3190E1A1B1C1D574E532E626173655B4E532E72656C61746976658000800580045F108366696C653A2F2F2F53797374656D2F4C6962726172792F41737365747356322F636F6D5F6170706C655F4D6F62696C6541737365745F436F6D666F7274536F756E64734173736574732F376235653263323261623966333162373130633563633538663034373537313261323763383037302E61737365742F4173736574446174612FD2202122235A24636C6173736E616D655824636C6173736573554E5355524CA22224584E534F626A656374DA262728290E2A2B2C2D2E2F15313233343235363757617373657449645B6F726967696E616C55524C596173736574547970655D666F726D617456657273696F6E5D6973446F776E6C6F6164696E675F1014636F6D7061746962696C69747956657273696F6E5E636F6E74656E7456657273696F6E5A70726F706572746965735B6973496E7374616C6C6564800780038008100180260810008009095F1028376235653263323261623966333162373130633563633538663034373537313261323763383037305F1029636F6D2E6170706C652E4D6F62696C6541737365742E436F6D666F7274536F756E6473417373657473D33B3C0E3D4D5D574E532E6B6579735A4E532E6F626A65637473AF100F3E3F404142434445464748494A4B4C800A800B800C800D800E800F801080118012801380148015801680178018AF100F4E4F505152535455551458545A5B5C8019801A801B801C801D801E801F8020802080028021801F80228023802480255F100F5F556E617263686976656453697A655A536F756E6447726F7570554275696C645E5F5F52656C6174697665506174685F10155F4D6561737572656D656E74416C676F726974686D5F10155F436F6D7072657373696F6E416C676F726974686D5F10185F5F43616E5573654C6F63616C43616368655365727665725D466F726D617456657273696F6E5F1014436F6D7061746962696C69747956657273696F6E59536F756E644E616D65595F5F4261736555524C5F10105F49735A697053747265616D61626C655D5F446F776E6C6F616453697A655C5F4D6561737572656D656E745F10105F4D6173746572656456657273696F6E12001F900056394D363339385F1056636F6D5F6170706C655F4D6F62696C6541737365745F436F6D666F7274536F756E64734173736574732F376235653263323261623966333162373130633563633538663034373537313261323763383037302E7A6970555348412D31537A6970095F105F68747470733A2F2F757064617465732E63646E2D6170706C652E636F6D2F323032322F6D6F62696C656173736574732F3037312D30373136322F31423036424243452D364446412D343631412D394436442D4146303741303833463841452F12001DE9EC4F101448EA405886340B681EEFB499FD78F23AD914BC1D5436333938D2202178795F10134E534D757461626C6544696374696F6E617279A3787A245C4E5344696374696F6E617279D220217C7D5741584173736574A27C24D220217F805E4855436F6D666F7274536F756E64A281245E4855436F6D666F7274536F756E6400080011001A00240029003200370049004C00510053007E0084008F00A800AF00C700DF00F800FA00FC00FE01000102010D0114011C0128012A012C012E01B401B901C401CD01D301D601DF01F401FC020802120220022E02450254025F026B026D026F02710273027502760278027A027B02A602D202D902E102EC02FE03000302030403060308030A030C030E03100312031403160318031A031C032E03300332033403360338033A033C033E03400342034403460348034A034C034E0360036B03710380039803B003CB03D903F003FA04040417042504320445044A045104AA04B004B404B50517051C05330538053D05530557056405690571057405790588058B000000000000020100000000000000820000000000000000000000000000059A" | |
noises["dark"]="62706C6973743030D4010203040506070A582476657273696F6E592461726368697665725424746F7058246F626A6563747312000186A05F100F4E534B657965644172636869766572D1080954726F6F748001AF10280B0C17181E1F2538393A5E5F606162636465666768696A6B6C6D166E6F7071373273747576777B7E55246E756C6CD50D0E0F101112131415165F10164855436F6D666F7274536F756E6441737365744B65795624636C6173735F10154855436F6D666F7274536F756E644E616D654B65795F10154855436F6D666F7274536F756E64506174684B65795F10164855436F6D666F7274536F756E6447726F75704B6579800680278002800310035A42726F776E4E6F697365D3190E1A1B1C1D574E532E626173655B4E532E72656C61746976658000800580045F108366696C653A2F2F2F53797374656D2F4C6962726172792F41737365747356322F636F6D5F6170706C655F4D6F62696C6541737365745F436F6D666F7274536F756E64734173736574732F346262313932333236346532356236396165663566613339656632346638363839323233343239382E61737365742F4173736574446174612FD2202122235A24636C6173736E616D655824636C6173736573554E5355524CA22224584E534F626A656374DA262728290E2A2B2C2D2E2F15313233343235363757617373657449645B6F726967696E616C55524C596173736574547970655D666F726D617456657273696F6E5D6973446F776E6C6F6164696E675F1014636F6D7061746962696C69747956657273696F6E5E636F6E74656E7456657273696F6E5A70726F706572746965735B6973496E7374616C6C6564800780038008100180260810008009095F1028346262313932333236346532356236396165663566613339656632346638363839323233343239385F1029636F6D2E6170706C652E4D6F62696C6541737365742E436F6D666F7274536F756E6473417373657473D33B3C0E3D4D5D574E532E6B6579735A4E532E6F626A65637473AF100F3E3F404142434445464748494A4B4C800A800B800C800D800E800F801080118012801380148015801680178018AF100F4E4F505152535455551458545A5B5C8019801A801B801C801D801E801F8020802080028021801F80228023802480255F100F5F556E617263686976656453697A655A536F756E6447726F7570554275696C645E5F5F52656C6174697665506174685F10155F4D6561737572656D656E74416C676F726974686D5F10155F436F6D7072657373696F6E416C676F726974686D5F10185F5F43616E5573654C6F63616C43616368655365727665725D466F726D617456657273696F6E5F1014436F6D7061746962696C69747956657273696F6E59536F756E644E616D65595F5F4261736555524C5F10105F49735A697053747265616D61626C655D5F446F776E6C6F616453697A655C5F4D6561737572656D656E745F10105F4D6173746572656456657273696F6E12001F300056394D363339385F1056636F6D5F6170706C655F4D6F62696C6541737365745F436F6D666F7274536F756E64734173736574732F346262313932333236346532356236396165663566613339656632346638363839323233343239382E7A6970555348412D31537A6970095F105F68747470733A2F2F757064617465732E63646E2D6170706C652E636F6D2F323032322F6D6F62696C656173736574732F3037312D30373136322F31423036424243452D364446412D343631412D394436442D4146303741303833463841452F12001D7FA74F10141EFC55CCE0E4ED508962DBA19558B900622DA93E5436333938D2202178795F10134E534D757461626C6544696374696F6E617279A3787A245C4E5344696374696F6E617279D220217C7D5741584173736574A27C24D220217F805E4855436F6D666F7274536F756E64A281245E4855436F6D666F7274536F756E6400080011001A00240029003200370049004C00510053007E0084008F00A800AF00C700DF00F800FA00FC00FE01000102010D0114011C0128012A012C012E01B401B901C401CD01D301D601DF01F401FC020802120220022E02450254025F026B026D026F02710273027502760278027A027B02A602D202D902E102EC02FE03000302030403060308030A030C030E03100312031403160318031A031C032E03300332033403360338033A033C033E03400342034403460348034A034C034E0360036B03710380039803B003CB03D903F003FA04040417042504320445044A045104AA04B004B404B50517051C05330538053D05530557056405690571057405790588058B000000000000020100000000000000820000000000000000000000000000059A" | |
noises["ocean"]="62706C6973743030D4010203040506070A582476657273696F6E592461726368697665725424746F7058246F626A6563747312000186A05F100F4E534B657965644172636869766572D1080954726F6F748001AF10280B0C17181E1F2538393A5E5F606162636465666768696A6B6C6D166E6F7071373273747576777B7E55246E756C6CD50D0E0F101112131415165F10164855436F6D666F7274536F756E6441737365744B65795624636C6173735F10154855436F6D666F7274536F756E644E616D654B65795F10154855436F6D666F7274536F756E64506174684B65795F10164855436F6D666F7274536F756E6447726F75704B657980068027800280031004554F6365616ED3190E1A1B1C1D574E532E626173655B4E532E72656C61746976658000800580045F108366696C653A2F2F2F53797374656D2F4C6962726172792F41737365747356322F636F6D5F6170706C655F4D6F62696C6541737365745F436F6D666F7274536F756E64734173736574732F363466366162656466633933653836646665613663383264356232643835613332396333383666302E61737365742F4173736574446174612FD2202122235A24636C6173736E616D655824636C6173736573554E5355524CA22224584E534F626A656374DA262728290E2A2B2C2D2E2F15313233343235363757617373657449645B6F726967696E616C55524C596173736574547970655D666F726D617456657273696F6E5D6973446F776E6C6F6164696E675F1014636F6D7061746962696C69747956657273696F6E5E636F6E74656E7456657273696F6E5A70726F706572746965735B6973496E7374616C6C6564800780038008100180260810008009095F1028363466366162656466633933653836646665613663383264356232643835613332396333383666305F1029636F6D2E6170706C652E4D6F62696C6541737365742E436F6D666F7274536F756E6473417373657473D33B3C0E3D4D5D574E532E6B6579735A4E532E6F626A65637473AF100F3E3F404142434445464748494A4B4C800A800B800C800D800E800F801080118012801380148015801680178018AF100F4E4F505152535455551458545A5B5C8019801A801B801C801D801E801F8020802080028021801F80228023802480255F100F5F556E617263686976656453697A655A536F756E6447726F7570554275696C645E5F5F52656C6174697665506174685F10155F4D6561737572656D656E74416C676F726974686D5F10155F436F6D7072657373696F6E416C676F726974686D5F10185F5F43616E5573654C6F63616C43616368655365727665725D466F726D617456657273696F6E5F1014436F6D7061746962696C69747956657273696F6E59536F756E644E616D65595F5F4261736555524C5F10105F49735A697053747265616D61626C655D5F446F776E6C6F616453697A655C5F4D6561737572656D656E745F10105F4D6173746572656456657273696F6E1203F2200056394D363339385F1056636F6D5F6170706C655F4D6F62696C6541737365745F436F6D666F7274536F756E64734173736574732F363466366162656466633933653836646665613663383264356232643835613332396333383666302E7A6970555348412D31537A6970095F105F68747470733A2F2F757064617465732E63646E2D6170706C652E636F6D2F323032322F6D6F62696C656173736574732F3037312D30373136322F31423036424243452D364446412D343631412D394436442D4146303741303833463841452F1203E673ED4F1014DC2A7ECC86F7BD051CDB9B66BE3FF02512652BCD5436333938D2202178795F10134E534D757461626C6544696374696F6E617279A3787A245C4E5344696374696F6E617279D220217C7D5741584173736574A27C24D220217F805E4855436F6D666F7274536F756E64A281245E4855436F6D666F7274536F756E6400080011001A00240029003200370049004C00510053007E0084008F00A800AF00C700DF00F800FA00FC00FE010001020108010F0117012301250127012901AF01B401BF01C801CE01D101DA01EF01F70203020D021B02290240024F025A02660268026A026C026E0270027102730275027602A102CD02D402DC02E702F902FB02FD02FF03010303030503070309030B030D030F03110313031503170329032B032D032F03310333033503370339033B033D033F03410343034503470349035B0366036C037B039303AB03C603D403EB03F503FF04120420042D04400445044C04A504AB04AF04B005120517052E05330538054E0552055F0564056C056F0574058305860000000000000201000000000000008200000000000000000000000000000595" | |
noises["stream"]="62706C6973743030D4010203040506070A582476657273696F6E592461726368697665725424746F7058246F626A6563747312000186A05F100F4E534B657965644172636869766572D1080954726F6F748001AF10280B0C17181E1F2538393A5E5F606162636465666768696A6B6C6D166E6F7071373273747576777B7E55246E756C6CD50D0E0F101112131415165F10164855436F6D666F7274536F756E6441737365744B65795624636C6173735F10154855436F6D666F7274536F756E644E616D654B65795F10154855436F6D666F7274536F756E64506174684B65795F10164855436F6D666F7274536F756E6447726F75704B6579800680278002800310065653747265616DD3190E1A1B1C1D574E532E626173655B4E532E72656C61746976658000800580045F108366696C653A2F2F2F53797374656D2F4C6962726172792F41737365747356322F636F6D5F6170706C655F4D6F62696C6541737365745F436F6D666F7274536F756E64734173736574732F666334383464656136643931366266316638353732396531633932653933336433616164346462312E61737365742F4173736574446174612FD2202122235A24636C6173736E616D655824636C6173736573554E5355524CA22224584E534F626A656374DA262728290E2A2B2C2D2E2F15313233343235363757617373657449645B6F726967696E616C55524C596173736574547970655D666F726D617456657273696F6E5D6973446F776E6C6F6164696E675F1014636F6D7061746962696C69747956657273696F6E5E636F6E74656E7456657273696F6E5A70726F706572746965735B6973496E7374616C6C6564800780038008100180260810008009095F1028666334383464656136643931366266316638353732396531633932653933336433616164346462315F1029636F6D2E6170706C652E4D6F62696C6541737365742E436F6D666F7274536F756E6473417373657473D33B3C0E3D4D5D574E532E6B6579735A4E532E6F626A65637473AF100F3E3F404142434445464748494A4B4C800A800B800C800D800E800F801080118012801380148015801680178018AF100F4E4F505152535455551458545A5B5C8019801A801B801C801D801E801F8020802080028021801F80228023802480255F100F5F556E617263686976656453697A655A536F756E6447726F7570554275696C645E5F5F52656C6174697665506174685F10155F4D6561737572656D656E74416C676F726974686D5F10155F436F6D7072657373696F6E416C676F726974686D5F10185F5F43616E5573654C6F63616C43616368655365727665725D466F726D617456657273696F6E5F1014436F6D7061746962696C69747956657273696F6E59536F756E644E616D65595F5F4261736555524C5F10105F49735A697053747265616D61626C655D5F446F776E6C6F616453697A655C5F4D6561737572656D656E745F10105F4D6173746572656456657273696F6E120499780056394D363339385F1056636F6D5F6170706C655F4D6F62696C6541737365745F436F6D666F7274536F756E64734173736574732F666334383464656136643931366266316638353732396531633932653933336433616164346462312E7A6970555348412D31537A6970095F105F68747470733A2F2F757064617465732E63646E2D6170706C652E636F6D2F323032322F6D6F62696C656173736574732F3037312D30373136322F31423036424243452D364446412D343631412D394436442D4146303741303833463841452F120481ED234F1014F0F31F74632B40C5F4F9AF7DD1096830ECBC71595436333938D2202178795F10134E534D757461626C6544696374696F6E617279A3787A245C4E5344696374696F6E617279D220217C7D5741584173736574A27C24D220217F805E4855436F6D666F7274536F756E64A281245E4855436F6D666F7274536F756E6400080011001A00240029003200370049004C00510053007E0084008F00A800AF00C700DF00F800FA00FC00FE01000102010901100118012401260128012A01B001B501C001C901CF01D201DB01F001F80204020E021C022A02410250025B02670269026B026D026F0271027202740276027702A202CE02D502DD02E802FA02FC02FE03000302030403060308030A030C030E03100312031403160318032A032C032E03300332033403360338033A033C033E03400342034403460348034A035C0367036D037C039403AC03C703D503EC03F6040004130421042E04410446044D04A604AC04B004B105130518052F05340539054F055305600565056D05700575058405870000000000000201000000000000008200000000000000000000000000000596" | |
function enable_noise() { | |
defaults write com.apple.ComfortSounds comfortSoundsEnabled -bool YES | |
defaults write com.apple.ComfortSounds lastEnablementTimestamp $(date +%s) | |
launchctl kill SIGHUP gui/$(id -u)/com.apple.accessibility.heard | |
} | |
function disable_noise() { | |
defaults write com.apple.ComfortSounds comfortSoundsEnabled -bool NO | |
launchctl kill SIGHUP gui/$(id -u)/com.apple.accessibility.heard | |
} | |
function change_volume() { | |
if [[ "$2" =~ ^[0-9]+$ ]]; then | |
inc="$2" | |
else | |
inc=1 | |
fi | |
case "$1" in | |
up) | |
vol=$(defaults read com.apple.ComfortSounds relativeVolume) | |
new_vol=$(echo "scale=3; if ( $vol + .1 * $inc > 1 ) 1 else $vol + .1 * $inc" | bc) | |
defaults write com.apple.ComfortSounds relativeVolume -float "$new_vol" | |
enable_noise | |
;; | |
down) | |
vol=$(defaults read com.apple.ComfortSounds relativeVolume) | |
new_vol=$(echo "scale=3; if ( $vol - .1 * $inc < 0 ) 0 else $vol - .1 * $inc" | bc) | |
defaults write com.apple.ComfortSounds relativeVolume -float "$new_vol" | |
enable_noise | |
;; | |
*) | |
defaults read com.apple.ComfortSounds relativeVolume | |
;; | |
esac | |
} | |
function list_noises() { | |
echo "${!noises[@]}" | |
} | |
function select_noise() { | |
if [[ "$1" == "list" ]]; then | |
list_noises | |
else | |
defaults write com.apple.ComfortSounds ComfortSoundsSelectedSound -data "${noises["$1"]}" | |
enable_noise | |
fi | |
} | |
function toggle() { | |
status=$(defaults read com.apple.ComfortSounds comfortSoundsEnabled) | |
if [[ "$status" -eq 1 ]]; then | |
disable_noise | |
else | |
enable_noise | |
fi | |
} | |
function show_help() { | |
cat <<EOF | |
usage: noise [-d|-e|-t|-v [up|down]|-s [noise]|-l|-h] <noise> | |
-d: disable noise | |
-e: enable noise | |
-t: toggle noise | |
-v [up|down]: volume up|down | |
-s [noise]: switch to noise | |
-l: noises | |
-h: show this help | |
EOF | |
} | |
case "$1" in | |
-d*) | |
disable_noise | |
;; | |
-e*) | |
enable_noise | |
;; | |
-t) | |
toggle | |
;; | |
-v*) | |
shift | |
change_volume "$@" | |
;; | |
-s*) | |
select_noise "${2,,}" #convert to lowercase | |
;; | |
-l*) | |
list_noises | |
;; | |
-h|"") | |
show_help | |
;; | |
*) | |
select_noise "${1,,}" | |
;; | |
esac |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment