#!/usr/bin/perl # use strict; use POSIX ":sys_wait_h"; my $minus = shift; my $plus = 1; my $status = 0; if ($minus eq '-') { $plus = 0; } elsif ($minus eq "-s") { $status = 1; } if ($status) { my($vol, $jack) = &getstate; if ($vol =~ /(\d+?):/) { print "Vol: $1% $jack\n"; } exit; } else { if($plus) { system("mixer vol +5:+5"); } else { system("mixer vol -5:-5"); } } 1; sub getstate { my $vol = `mixer vol`; chomp $vol; $vol =~ s/Mixer vol\s*//; my $jack = `sysctl hw.snd.default_unit`; chomp $jack; if ($jack =~ /1/) { $jack = "Jack: off"; } else { $jack = "Jack: on"; } return($vol, $jack); }