A lightweight macOS menu bar app for faster and more predictable input source switching.
LangSwitcher helps reduce typing interruptions in shortcut-driven workflows such as Spotlight, ChatGPT, Terminal, browsers, and messengers.
If you often launch apps or search tools with keyboard shortcuts, you have probably experienced input source mismatches right before typing.
LangSwitcher helps solve that by combining direct language switching, app-specific keyboard rules, app launch shortcuts, and an input source toggle key in one native interface.
- Input Source Toggle Key (New in v0.4.0): Assign a single modifier key, such as Right Command or Right Option, as an input source toggle key.
- Custom Shortcuts: Bind your own shortcut combinations to switch directly to a specific input source.
- App-Specific Keyboards: Automatically switch to a predefined input source when a specific app becomes active.
- App Launch Shortcuts (New in v0.4.0): Launch an app or bring it to the front instantly with a global shortcut.
- Native HUD Feedback (New in v0.4.0): See language changes and rule test results with a native macOS-style HUD.
- Rules Test Mode: Verify rules safely without triggering actual app launches or input source changes.
- Backup & Restore: Export your settings to JSON and restore them anytime.
- Execution Logs: Review recent execution history and export logs for troubleshooting.
- Smart Conflict Detection: Detect duplicate or conflicting shortcuts before saving them.
- Modern Native UI: A clean settings window designed with macOS-style sidebar navigation.
Add the latest General tab screenshot here.
This section can highlight the updated terminology, input source toggle key setup, backup and restore actions, and default shortcut layout.
- OS: macOS 13.5 or later
- Architecture: Apple Silicon Macs only
- Go to the Releases page.
- Download the latest release and extract the zip file.
- Move
LangSwitcher.appto yourApplicationsfolder. - Right-click
LangSwitcher.appand choose Open. - If macOS says the app is damaged, run the following command in Terminal:
sudo xattr -r -d com.apple.quarantine /Applications/LangSwitcher.appLangSwitcher requires Accessibility permission to detect global keyboard shortcuts.
- Open System Settings > Privacy & Security > Accessibility.
- Click the
+button and addLangSwitcher.app. - Turn the toggle ON.
๐ When updating: If shortcuts stop working after replacing the old app, remove LangSwitcher from Accessibility settings and add it again.
- Open LangSwitcher from the menu bar and choose Preferences.
- In General, configure startup behavior, HUD visibility, rules test mode, and your input source toggle key.
- In Custom Shortcuts, assign shortcuts for direct language switching.
- In App-Specific Keyboards, set default input sources for individual apps.
- In App Launch Shortcuts, bind shortcuts to frequently used apps.
Manage startup options, update checks, HUD display, rules test mode, input source toggle key, backup and restore, and default shortcuts.
Create global shortcuts for switching directly to a selected input source.
Assign a default input source to specific apps so language switching feels automatic and predictable.
Register shortcuts that launch an app or bring an existing app window to the front.
Use this section for version info, support links, and exported execution logs.
- Make sure Accessibility permission is enabled.
- Review shortcut conflicts before assigning new combinations.
- Use Rules Test Mode before enabling a new workflow.
- Export execution logs when reporting an issue.
If you find this app helpful, consider buying me a coffee. Your support helps maintain the project.
| Cryptocurrency | Wallet Address |
|---|---|
| Bitcoin (BTC) | 14eZvFmfSnste92o66DcFq9ns7JqWepu1s |
| Dogecoin (DOGE) | D9sGuU6wXVCSnAPTESQsy1QcsxmTHt6VDW |
Contributions, bug reports, feature requests, and translation help are welcome.
This project is licensed under the GNU General Public License v3.0 (GPL-3.0). See the LICENSE file for details.
๐ฐ๐ท ํ๊ตญ์ด ๋ฒ์ ๋ณด๊ธฐ (Click to view Korean version)
LangSwitcher๋ macOS์์ ์ ๋ ฅ ์ธ์ด ์ ํ์ ๋ ๋น ๋ฅด๊ณ ์์ฐ์ค๋ฝ๊ฒ ๋ง๋ค์ด ์ฃผ๋ ๊ฐ๋ฒผ์ด ๋ฉ๋ด๋ฐ ์ฑ์ ๋๋ค.
Spotlight, ChatGPT, ํฐ๋ฏธ๋, ๋ธ๋ผ์ฐ์ , ๋ฉ์ ์ ์ฒ๋ผ ๋จ์ถํค ์ค์ฌ์ผ๋ก ์์ ํ ๋ ์๊ธฐ๋ ์ ๋ ฅ์์ค ๊ผฌ์์ ์ค์ด๋ ๋ฐ ์ด์ ์ ๋๊ณ ์์ต๋๋ค.
๋จ์ถํค๋ก ์ฑ์ ์ด์๋ง์ ์ ๋ ฅ ์ธ์ด๊ฐ ์์๊ณผ ๋ค๋ฅด๊ฒ ์กํ ๋ค์ ์ง์ฐ๊ณ ์ ๋ ฅํด์ผ ํ๋ ์ํฉ์ด ์์ฃผ ์๊น๋๋ค.
LangSwitcher๋ ์ง์ ์ธ์ด ์ ํ, ์ฑ๋ณ ์๋ ์ ํ, ์ฑ ์คํ ๋จ์ถํค, ์ ๋ ฅ ์์ค ์ ํ ํค๋ฅผ ํ๋์ ๋ค์ดํฐ๋ธ ์ธํฐํ์ด์ค๋ก ๋ฌถ์ด ์ด๋ฐ ๋ถํธ์ ์ค์ฌ ์ค๋๋ค.
- ์ ๋ ฅ ์์ค ์ ํ ํค (v0.4.0 ์ ๊ท): ์ฐ์ธก Command, ์ฐ์ธก Option ๊ฐ์ ๋จ์ผ ์์์ด ํค๋ฅผ ์ ๋ ฅ ์์ค ์ ํ ํค๋ก ์ง์ ํ ์ ์์ต๋๋ค.
- ์ฌ์ฉ์ ์ง์ ๋จ์ถํค: ํน์ ์ ๋ ฅ์์ค๋ก ๋ฐ๋ก ์ ํํ๋ ๋จ์ถํค๋ฅผ ์ง์ ์ค์ ํ ์ ์์ต๋๋ค.
- ์ฑ๋ณ ํค๋ณด๋ ์ค์ : ํน์ ์ฑ์ด ํ์ฑํ๋๋ฉด ๋ฏธ๋ฆฌ ์ง์ ํ ์ ๋ ฅ์์ค๋ก ์๋ ์ ํํ ์ ์์ต๋๋ค.
- ์ฑ ์คํ ๋จ์ถํค (v0.4.0 ์ ๊ท): ์ ์ญ ๋จ์ถํค๋ก ์ฑ์ ์คํํ๊ฑฐ๋ ์์ผ๋ก ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
- HUD ์๋ฆผ (v0.4.0 ์ ๊ท): ์ธ์ด ์ ํ๊ณผ ๊ท์น ํ ์คํธ ๊ฒฐ๊ณผ๋ฅผ macOS ์คํ์ผ์ HUD๋ก ํ์ธํ ์ ์์ต๋๋ค.
- ๊ท์น ํ ์คํธ ๋ชจ๋: ์ค์ ๋์ ์์ด ๊ท์น๋ง ์์ ํ๊ฒ ์ ๊ฒํ ์ ์์ต๋๋ค.
- ์ค์ ๋ฐฑ์ ๋ฐ ๋ณต์: ์ค์ ์ JSON ํ์ผ๋ก ์ ์ฅํ๊ณ ๋ค์ ๋ถ๋ฌ์ฌ ์ ์์ต๋๋ค.
- ์คํ ๋ก๊ทธ: ์ต๊ทผ ๋์ ๊ธฐ๋ก์ ํ์ธํ๊ณ ๋ฌธ์ ํด๊ฒฐ์ ํ์ฉํ ์ ์์ต๋๋ค.
- ์ค๋งํธ ์ถฉ๋ ๊ฐ์ง: ์ค๋ณต๋๊ฑฐ๋ ์ถฉ๋ํ๋ ๋จ์ถํค๋ฅผ ์ ์ฅ ์ ์ ํ์ธํ ์ ์์ต๋๋ค.
- ๋ชจ๋ ๋ค์ดํฐ๋ธ UI: macOS ์คํ์ผ์ ์ฌ์ด๋๋ฐ ๊ธฐ๋ฐ ์ค์ ํ๋ฉด์ ์ ๊ณตํฉ๋๋ค.
- ์ด์์ฒด์ : macOS 13.5 ์ด์
- ์ง์ ๊ธฐ๊ธฐ: Apple Silicon Mac ์ ์ฉ
- Releases ํ์ด์ง์์ ์ต์ ๋ฒ์ ์ ๋ค์ด๋ก๋ํฉ๋๋ค.
- ์์ถ์ ํ๊ณ
LangSwitcher.app์Applicationsํด๋๋ก ์ด๋ํฉ๋๋ค. LangSwitcher.app์ ์ฐํด๋ฆญํ ๋ค ์ด๊ธฐ๋ฅผ ์ ํํฉ๋๋ค.- ๋ง์ฝ ์ฑ์ด ์์๋์๋ค๊ณ ํ์๋๋ฉด, ์๋ ๋ช ๋ น์ด๋ฅผ ํฐ๋ฏธ๋์์ ์คํํฉ๋๋ค.
sudo xattr -r -d com.apple.quarantine /Applications/LangSwitcher.appLangSwitcher๋ ์ ์ญ ๋จ์ถํค๋ฅผ ๊ฐ์งํ๊ธฐ ์ํด ์์ฌ์ด ์ฌ์ฉ ๊ถํ์ด ํ์ํฉ๋๋ค.
- ์์คํ ์ค์ > ๊ฐ์ธ์ ๋ณด ๋ณดํธ ๋ฐ ๋ณด์ > ์์ฌ์ด ์ฌ์ฉ์ผ๋ก ์ด๋ํฉ๋๋ค.
+๋ฒํผ์ ๋๋ฌLangSwitcher.app์ ์ถ๊ฐํฉ๋๋ค.- LangSwitcher ์ค์์น๋ฅผ ์ผ์ง ์ํ๋ก ๋ฐ๊ฟ๋๋ค.
๐ ์ ๋ฐ์ดํธ ์: ๊ธฐ์กด ์ฑ์ ์ ๋ฒ์ ์ผ๋ก ๊ต์ฒดํ ๋ค ๋จ์ถํค๊ฐ ๋์ํ์ง ์์ผ๋ฉด, ์์ฌ์ด ์ฌ์ฉ ๋ชฉ๋ก์์ LangSwitcher๋ฅผ ์ ๊ฑฐํ ๋ค ๋ค์ ์ถ๊ฐํด ์ฃผ์ธ์.
- ๋ฉ๋ด๋ฐ์์ LangSwitcher๋ฅผ ์ด๊ณ ์ค์ ์ผ๋ก ๋ค์ด๊ฐ๋๋ค.
- ์ผ๋ฐ ํญ์์ ์๋ ์คํ, HUD, ๊ท์น ํ ์คํธ, ์ ๋ ฅ ์์ค ์ ํ ํค๋ฅผ ์ค์ ํฉ๋๋ค.
- ์ฌ์ฉ์ ์ง์ ๋จ์ถํค์์ ํน์ ์ธ์ด๋ก ๋ฐ๋ก ์ ํํ๋ ๋จ์ถํค๋ฅผ ๋ฑ๋กํฉ๋๋ค.
- ์ฑ๋ณ ํค๋ณด๋ ์ค์ ์์ ์ฑ๋ง๋ค ๊ธฐ๋ณธ ์ ๋ ฅ์์ค๋ฅผ ์ง์ ํฉ๋๋ค.
- ์ฑ ์คํ ๋จ์ถํค์์ ์์ฃผ ์ฐ๋ ์ฑ์ ๋จ์ถํค์ ์ฐ๊ฒฐํฉ๋๋ค.
์๋ ์คํ, ์ ๋ฐ์ดํธ ํ์ธ, HUD ํ์, ๊ท์น ํ ์คํธ, ์ ๋ ฅ ์์ค ์ ํ ํค, ๋ฐฑ์ ๋ฐ ๋ณต์, ๊ธฐ๋ณธ ๋จ์ถํค๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
์ํ๋ ์ ๋ ฅ์์ค๋ก ๋ฐ๋ก ์ ํํ๋ ์ ์ญ ๋จ์ถํค๋ฅผ ์ถ๊ฐํฉ๋๋ค.
ํน์ ์ฑ์ด ํ์ฑํ๋์์ ๋ ์๋์ผ๋ก ์ฌ์ฉํ ์ ๋ ฅ์์ค๋ฅผ ์ง์ ํฉ๋๋ค.
์ฑ ์คํ ๋๋ ์ฑ ์์ผ๋ก ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ์ํ ๋จ์ถํค๋ฅผ ๋ฑ๋กํฉ๋๋ค.
๋ฒ์ ์ ๋ณด, ์ง์ ๋งํฌ, ์คํ ๋ก๊ทธ ๋ด๋ณด๋ด๊ธฐ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ์์ฌ์ด ์ฌ์ฉ ๊ถํ์ด ํ์ฉ๋์ด ์๋์ง ํ์ธํด ์ฃผ์ธ์.
- ์ ๋จ์ถํค๋ฅผ ์ง์ ํ๊ธฐ ์ ์ ๊ธฐ์กด ์ถฉ๋ ์ฌ๋ถ๋ฅผ ํ์ธํด ์ฃผ์ธ์.
- ๊ท์น ํ ์คํธ ๋ชจ๋๋ก ๋จผ์ ๋์์ ์ ๊ฒํด ๋ณด์ธ์.
- ๋ฌธ์ ๊ฐ ์์ผ๋ฉด ์คํ ๋ก๊ทธ๋ฅผ ํจ๊ป ์ฒจ๋ถํด ์ฃผ์ธ์.
์ด ์ฑ์ด ๋์์ด ๋์ จ๋ค๋ฉด ์ปคํผ ํ ์ ํ์์ ๊ณ ๋ คํด ์ฃผ์ธ์. ํ๋ก์ ํธ ์ ์ง๋ณด์์ ํฐ ํ์ด ๋ฉ๋๋ค.
| ์ํธํํ | ์ง๊ฐ ์ฃผ์ |
|---|---|
| ๋นํธ์ฝ์ธ (BTC) | 14eZvFmfSnste92o66DcFq9ns7JqWepu1s |
| ๋์ง์ฝ์ธ (DOGE) | D9sGuU6wXVCSnAPTESQsy1QcsxmTHt6VDW |
๋ฒ๊ทธ ์ ๋ณด, ๊ธฐ๋ฅ ์ ์, ๋ฒ์ญ ๊ธฐ์ฌ, ํ ๋ฆฌํ์คํธ๋ฅผ ํ์ํฉ๋๋ค.
์ด ํ๋ก์ ํธ๋ GNU General Public License v3.0 (GPL-3.0) ๋ผ์ด์ ์ค๋ฅผ ๋ฐ๋ฆ ๋๋ค. ์์ธํ ๋ด์ฉ์ LICENSE ํ์ผ์ ์ฐธ๊ณ ํด ์ฃผ์ธ์.