├── .cursorrules ├── .github └── workflows │ └── release.yml ├── .gitignore ├── .mise.toml ├── .package.resolved ├── ExportOptions.plist ├── LICENSE ├── Project.swift ├── README.md ├── README.zh-CN.md ├── Screenshots └── main-20250913-220809.png ├── Tuist.swift ├── Tuist └── Signing │ └── TypeSwitch.entitlements └── TypeSwitch ├── Resources ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── icon_128x128.png │ │ ├── icon_128x128@2x.png │ │ ├── icon_16x16.png │ │ ├── icon_16x16@2x.png │ │ ├── icon_256x256.png │ │ ├── icon_256x256@2x.png │ │ ├── icon_32x32.png │ │ ├── icon_32x32@2x.png │ │ ├── icon_512x512.png │ │ └── icon_512x512@2x.png │ └── Contents.json ├── Base.lproj │ └── Localizable.strings ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json ├── en.lproj │ └── Localizable.strings ├── zh-Hans.lproj │ └── Localizable.strings └── zh-Hant.lproj │ └── Localizable.strings └── Sources ├── App └── TypeSwitchApp.swift ├── Core ├── Extensions │ └── Defaults+Extensions.swift └── Models │ ├── AppInfo.swift │ ├── InputMethod.swift │ └── InputSourceProperties.swift ├── Services ├── AppManagement │ ├── AppInfoService.swift │ └── AppListService.swift ├── InputMethod │ ├── InputMethodManager.swift │ └── InputMethodService.swift └── System │ └── LaunchAtLoginService.swift └── UI └── Views └── MenuBar ├── AppInfoView.swift ├── AppRowView.swift ├── ConfiguredAppsView.swift ├── MenuBarView.swift ├── RunningAppsView.swift └── SettingsView.swift /.cursorrules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/.cursorrules -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/.gitignore -------------------------------------------------------------------------------- /.mise.toml: -------------------------------------------------------------------------------- 1 | [tools] 2 | tuist = "4.36.0" 3 | -------------------------------------------------------------------------------- /.package.resolved: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/.package.resolved -------------------------------------------------------------------------------- /ExportOptions.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/ExportOptions.plist -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/LICENSE -------------------------------------------------------------------------------- /Project.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/Project.swift -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/README.md -------------------------------------------------------------------------------- /README.zh-CN.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/README.zh-CN.md -------------------------------------------------------------------------------- /Screenshots/main-20250913-220809.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/Screenshots/main-20250913-220809.png -------------------------------------------------------------------------------- /Tuist.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/Tuist.swift -------------------------------------------------------------------------------- /Tuist/Signing/TypeSwitch.entitlements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/Tuist/Signing/TypeSwitch.entitlements -------------------------------------------------------------------------------- /TypeSwitch/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /TypeSwitch/Resources/Assets.xcassets/AppIcon.appiconset/icon_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Resources/Assets.xcassets/AppIcon.appiconset/icon_128x128.png -------------------------------------------------------------------------------- /TypeSwitch/Resources/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Resources/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png -------------------------------------------------------------------------------- /TypeSwitch/Resources/Assets.xcassets/AppIcon.appiconset/icon_16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Resources/Assets.xcassets/AppIcon.appiconset/icon_16x16.png -------------------------------------------------------------------------------- /TypeSwitch/Resources/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Resources/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png -------------------------------------------------------------------------------- /TypeSwitch/Resources/Assets.xcassets/AppIcon.appiconset/icon_256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Resources/Assets.xcassets/AppIcon.appiconset/icon_256x256.png -------------------------------------------------------------------------------- /TypeSwitch/Resources/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Resources/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png -------------------------------------------------------------------------------- /TypeSwitch/Resources/Assets.xcassets/AppIcon.appiconset/icon_32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Resources/Assets.xcassets/AppIcon.appiconset/icon_32x32.png -------------------------------------------------------------------------------- /TypeSwitch/Resources/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Resources/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png -------------------------------------------------------------------------------- /TypeSwitch/Resources/Assets.xcassets/AppIcon.appiconset/icon_512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Resources/Assets.xcassets/AppIcon.appiconset/icon_512x512.png -------------------------------------------------------------------------------- /TypeSwitch/Resources/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Resources/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png -------------------------------------------------------------------------------- /TypeSwitch/Resources/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Resources/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /TypeSwitch/Resources/Base.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Resources/Base.lproj/Localizable.strings -------------------------------------------------------------------------------- /TypeSwitch/Resources/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Resources/Preview Content/Preview Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /TypeSwitch/Resources/en.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Resources/en.lproj/Localizable.strings -------------------------------------------------------------------------------- /TypeSwitch/Resources/zh-Hans.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Resources/zh-Hans.lproj/Localizable.strings -------------------------------------------------------------------------------- /TypeSwitch/Resources/zh-Hant.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Resources/zh-Hant.lproj/Localizable.strings -------------------------------------------------------------------------------- /TypeSwitch/Sources/App/TypeSwitchApp.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Sources/App/TypeSwitchApp.swift -------------------------------------------------------------------------------- /TypeSwitch/Sources/Core/Extensions/Defaults+Extensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Sources/Core/Extensions/Defaults+Extensions.swift -------------------------------------------------------------------------------- /TypeSwitch/Sources/Core/Models/AppInfo.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Sources/Core/Models/AppInfo.swift -------------------------------------------------------------------------------- /TypeSwitch/Sources/Core/Models/InputMethod.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Sources/Core/Models/InputMethod.swift -------------------------------------------------------------------------------- /TypeSwitch/Sources/Core/Models/InputSourceProperties.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Sources/Core/Models/InputSourceProperties.swift -------------------------------------------------------------------------------- /TypeSwitch/Sources/Services/AppManagement/AppInfoService.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Sources/Services/AppManagement/AppInfoService.swift -------------------------------------------------------------------------------- /TypeSwitch/Sources/Services/AppManagement/AppListService.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Sources/Services/AppManagement/AppListService.swift -------------------------------------------------------------------------------- /TypeSwitch/Sources/Services/InputMethod/InputMethodManager.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Sources/Services/InputMethod/InputMethodManager.swift -------------------------------------------------------------------------------- /TypeSwitch/Sources/Services/InputMethod/InputMethodService.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Sources/Services/InputMethod/InputMethodService.swift -------------------------------------------------------------------------------- /TypeSwitch/Sources/Services/System/LaunchAtLoginService.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Sources/Services/System/LaunchAtLoginService.swift -------------------------------------------------------------------------------- /TypeSwitch/Sources/UI/Views/MenuBar/AppInfoView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Sources/UI/Views/MenuBar/AppInfoView.swift -------------------------------------------------------------------------------- /TypeSwitch/Sources/UI/Views/MenuBar/AppRowView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Sources/UI/Views/MenuBar/AppRowView.swift -------------------------------------------------------------------------------- /TypeSwitch/Sources/UI/Views/MenuBar/ConfiguredAppsView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Sources/UI/Views/MenuBar/ConfiguredAppsView.swift -------------------------------------------------------------------------------- /TypeSwitch/Sources/UI/Views/MenuBar/MenuBarView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Sources/UI/Views/MenuBar/MenuBarView.swift -------------------------------------------------------------------------------- /TypeSwitch/Sources/UI/Views/MenuBar/RunningAppsView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Sources/UI/Views/MenuBar/RunningAppsView.swift -------------------------------------------------------------------------------- /TypeSwitch/Sources/UI/Views/MenuBar/SettingsView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ygsgdbd/TypeSwitch/HEAD/TypeSwitch/Sources/UI/Views/MenuBar/SettingsView.swift --------------------------------------------------------------------------------