diff options
Diffstat (limited to '.local')
-rwxr-xr-x | .local/bin/mic | 45 |
1 files changed, 38 insertions, 7 deletions
diff --git a/.local/bin/mic b/.local/bin/mic index b53c966..492c773 100755 --- a/.local/bin/mic +++ b/.local/bin/mic @@ -3,6 +3,7 @@ use strict; use warnings; use Capture::Tiny qw(capture); +use Sys::Hostname qw(hostname); use constant { MIXER_PATH => '/usr/sbin/mixer', @@ -12,22 +13,52 @@ use constant { sub main { my $rec_vol; + my $host; - $rec_vol = `mixer rec | awk -F ':' '{print \$2}'`; - chomp $rec_vol; - if ($rec_vol == 0) { - capture { - system(MIXER_PATH, 'rec', '100'); + $host = hostname(); + if ($host eq "po-rbo.ln.ysosecure.com") { + system('/usr/bin/pactl', 'set-source-mute', '@DEFAULT_SOURCE@', 'toggle'); + my $muted = `/usr/bin/pactl get-source-mute \@DEFAULT_SOURCE\@ | awk '{print \$2}'`; + chomp $muted; + if ($muted eq "yes") { system( - NOTIF_PATH, + '/usr/bin/notify-send', '-u', 'low', '-t', '1750', 'mixer-set', - ' Microphone restored' + ' muted' ); + } + else { + system( + '/usr/bin/notify-send', + '-u', + 'low', + '-t', + '1750', + 'mixer-set', + ' restored' + ); + } + exit; + } + $rec_vol = `mixer rec | awk -F ':' '{print \$2}'`; + chomp $rec_vol; + if ($rec_vol == 0) { + capture { + system(MIXER_PATH, 'rec', '100'); }; + system( + NOTIF_PATH, + '-u', + 'low', + '-t', + '1750', + 'mixer-set', + ' Microphone restored' + ); } else { capture { |