Skip to content

Commit 0418ff1

Browse files
authored
Merge pull request shadowsocks#1166 from rainux/menu-shortcut
Add some convenient shortcuts for main menu
2 parents ad20265 + 21bd9a7 commit 0418ff1

File tree

2 files changed

+15
-9
lines changed

2 files changed

+15
-9
lines changed

ShadowsocksX-NG/AppDelegate.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -595,6 +595,15 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
595595
item.title = profile.title()
596596
item.state = (mgr.activeProfileId == profile.uuid) ? .on : .off
597597
item.isEnabled = profile.isValid()
598+
// Use number keys for faster switch between the first 10 servers from main menu
599+
if i < 10 {
600+
var key = i + 1
601+
if key == 10 {
602+
key = 0
603+
}
604+
item.keyEquivalent = String(key)
605+
item.keyEquivalentModifierMask = .init()
606+
}
598607
item.action = #selector(AppDelegate.selectServer)
599608

600609
menu.insertItem(item, at: beginIndex)

ShadowsocksX-NG/Base.lproj/MainMenu.xib

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,26 +34,25 @@
3434
<menuItem title="Showsocks: On" enabled="NO" id="fzk-mE-CEV">
3535
<modifierMask key="keyEquivalentModifierMask"/>
3636
</menuItem>
37-
<menuItem title="Turn ShadowsocksX On" id="GSu-Tf-StS">
38-
<modifierMask key="keyEquivalentModifierMask"/>
37+
<menuItem title="Turn ShadowsocksX On" keyEquivalent="s" id="GSu-Tf-StS">
3938
<connections>
4039
<action selector="toggleRunning:" target="Voe-Tx-rLC" id="EvE-23-Wiv"/>
4140
</connections>
4241
</menuItem>
4342
<menuItem isSeparatorItem="YES" id="LXP-yK-yQu"/>
44-
<menuItem title="Auto Mode By PAC" id="r07-Gu-aEz">
43+
<menuItem title="Auto Mode By PAC" keyEquivalent="a" id="r07-Gu-aEz">
4544
<modifierMask key="keyEquivalentModifierMask"/>
4645
<connections>
4746
<action selector="selectPACMode:" target="Voe-Tx-rLC" id="l36-cd-xl7"/>
4847
</connections>
4948
</menuItem>
50-
<menuItem title="Global Mode" id="Mw3-Jm-eXA">
49+
<menuItem title="Global Mode" keyEquivalent="g" id="Mw3-Jm-eXA">
5150
<modifierMask key="keyEquivalentModifierMask"/>
5251
<connections>
5352
<action selector="selectGlobalMode:" target="Voe-Tx-rLC" id="7QH-HB-B2e"/>
5453
</connections>
5554
</menuItem>
56-
<menuItem title="Manual Mode" id="8PR-gs-c5N">
55+
<menuItem title="Manual Mode" keyEquivalent="m" id="8PR-gs-c5N">
5756
<modifierMask key="keyEquivalentModifierMask"/>
5857
<connections>
5958
<action selector="selectManualMode:" target="Voe-Tx-rLC" id="Xxb-28-6fi"/>
@@ -70,8 +69,7 @@
7069
<modifierMask key="keyEquivalentModifierMask" shift="YES"/>
7170
<menu key="submenu" title="Servers" id="9Y1-db-3HK">
7271
<items>
73-
<menuItem title="Server Preferences..." id="M5r-E7-44f">
74-
<modifierMask key="keyEquivalentModifierMask"/>
72+
<menuItem title="Server Preferences..." keyEquivalent="e" id="M5r-E7-44f">
7573
<connections>
7674
<action selector="editServerPreferences:" target="Voe-Tx-rLC" id="6Lv-6i-Neb"/>
7775
</connections>
@@ -105,8 +103,7 @@
105103
<action selector="showAllInOnePreferences:" target="Voe-Tx-rLC" id="2of-nZ-atc"/>
106104
</connections>
107105
</menuItem>
108-
<menuItem title="HTTP Proxy Export Line To Pasteboard" image="terminal-logo" id="lg6-To-GZA">
109-
<modifierMask key="keyEquivalentModifierMask"/>
106+
<menuItem title="HTTP Proxy Export Line To Pasteboard" image="terminal-logo" keyEquivalent="c" id="lg6-To-GZA">
110107
<connections>
111108
<action selector="copyExportCommand:" target="Voe-Tx-rLC" id="2U4-3M-sAK"/>
112109
</connections>

0 commit comments

Comments
 (0)