Added support to select the input volume to toggle when user presses the status bar icon.

This commit is contained in:
Douglas Fischer
2015-10-02 18:38:50 -03:00
parent 9414d7b5b8
commit 44c3d896db
3 changed files with 65 additions and 4 deletions

View File

@@ -1,11 +1,12 @@
#import "AppDelegate.h"
#define MAX_VOLUME 75
#define MAX_VOLUME 70
@interface AppDelegate ()
{
NSStatusItem *menuItem;
BOOL muted;
int inputVolumeToUnmute;
}
@end
@@ -19,6 +20,7 @@
- (void)initDefaults {
muted = NO;
inputVolumeToUnmute = MAX_VOLUME;
}
- (void)configureStatusBar {
@@ -47,8 +49,11 @@
- (void)toggleMute {
muted = !muted;
int volume = muted ? 0 : MAX_VOLUME;
[self updateInputVolume];
}
- (void)updateInputVolume {
int volume = muted ? 0 : inputVolumeToUnmute;
NSString *source = [NSString stringWithFormat:@"set volume input volume %d", volume];
NSAppleScript *script = [[NSAppleScript alloc] initWithSource:source];
@@ -56,6 +61,7 @@
NSString *imageName = muted ? @"mic_off" : @"mic_on";
menuItem.image = [NSImage imageNamed:imageName];
}
- (void)showMenu {
@@ -63,4 +69,15 @@
}
- (IBAction)didSetVolumeInput:(NSMenuItem *)sender {
for (NSMenuItem *item in sender.menu.itemArray) {
item.state = 0;
}
sender.state = 1;
inputVolumeToUnmute = [sender.title intValue];
[self updateInputVolume];
}
@end

View File

@@ -19,6 +19,50 @@
<customObject id="YLy-65-1bz" customClass="NSFontManager"/>
<menu id="d1i-xa-wlo">
<items>
<menuItem title="Input Volume" id="w4W-DI-DEg">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Input Volume" autoenablesItems="NO" id="iVL-f8-mAL">
<items>
<menuItem title="100" id="NOm-DS-Fei">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="didSetVolumeInput:" target="Voe-Tx-rLC" id="I1n-CB-cYw"/>
</connections>
</menuItem>
<menuItem title="90" tag="5" id="cSh-2l-eG8">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="didSetVolumeInput:" target="Voe-Tx-rLC" id="b1z-78-Fgk"/>
</connections>
</menuItem>
<menuItem title="80" tag="5" id="OoN-lP-2Ll">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="didSetVolumeInput:" target="Voe-Tx-rLC" id="itM-AQ-plW"/>
</connections>
</menuItem>
<menuItem title="70" state="on" id="ZNu-ZY-zwa">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="didSetVolumeInput:" target="Voe-Tx-rLC" id="Ykp-jU-4Cw"/>
</connections>
</menuItem>
<menuItem title="60" id="XY7-OS-7P1">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="didSetVolumeInput:" target="Voe-Tx-rLC" id="dqL-Vx-3KL"/>
</connections>
</menuItem>
<menuItem title="50" id="MrJ-HJ-Wld">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="didSetVolumeInput:" target="Voe-Tx-rLC" id="PVQ-c8-lcy"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem isSeparatorItem="YES" id="e5f-y4-vmV"/>
<menuItem title="Quit" id="kX5-as-WCF">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>

View File

@@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.1</string>
<string>1.3</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>