whatisgithub

What is lockime?

oomol-lab/lockime — explained in plain English

Analysis updated 2026-05-18

89SwiftAudience · generalComplexity · 1/5LicenseSetup · easy

In one sentence

A macOS menu-bar app that locks your keyboard input source so it stays on the language you chose, globally, per app, or per website.

Mindmap

mindmap
  root((LockIME))
    What it does
      Locks keyboard input source
      Reverts unwanted switches instantly
      Supports per-app and per-URL rules
    Tech stack
      Swift
      SwiftUI
      macOS
      Sparkle updater
    Use cases
      Keep one language locked systemwide
      Set different input sources per app
      Type different languages per website
    Audience
      Multilingual Mac users
      macOS power users

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Keep your keyboard locked to one language across every app on your Mac.

USE CASE 2

Set a different default input source for specific apps like a chat client or code editor.

USE CASE 3

Automatically switch input source based on which website you're viewing in your browser.

USE CASE 4

Review a log of every input source switch over the last 24 hours.

What is it built with?

SwiftSwiftUImacOSSparkle

How does it compare?

oomol-lab/lockimebasionwang-bot/hermespetjoeseesun/qmprompter
Stars899187
LanguageSwiftSwiftSwift
Setup difficultyeasyeasymoderate
Complexity1/52/53/5
Audiencegeneralgeneralgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

The per-URL enhanced mode requires granting macOS Accessibility permission.

GPL-3.0 license: you can use and modify the software, but any distributed derivative work must also be open source under the same license.

So what is it?

LockIME is a small macOS app that sits in your menu bar and keeps your keyboard input method from changing. On a Mac, you can have multiple input sources: for example, English and Chinese, or English and Japanese. Normally, some apps switch the active input source on their own, which can be disruptive if you want to stay in a specific language. LockIME watches for those switches and immediately reverts back to whichever input source you have locked. The locking can work in different ways. You can set a single global lock that applies everywhere, or you can configure per-app rules so that different programs each have their own locked input source. There is also an enhanced mode, gated behind an Accessibility permission, that lets you go even further and set rules per browser URL, useful if you want to type in Japanese on one website and English on another without manually switching. The app lives in the menu bar, so there is no separate window to manage. From the menu bar icon you can toggle locking on and off, see what input source is currently active, switch which one is locked, and view a 24-hour log of every switch that happened. Keyboard shortcuts are configurable for toggling the lock or cycling through your available input sources. The app supports nine languages and can switch between them without a restart. Installation is done through Homebrew with one command, or by downloading a disk image from the releases page. The app updates itself automatically through the Sparkle update framework. Because Macs with Apple silicon and Intel chips handle some low-level things differently, there are separate builds for each architecture: you download the one that matches your machine. LockIME is open source under the GPL-3.0 license and requires macOS 14 or later.

Copy-paste prompts

Prompt 1
Help me install LockIME on my Mac using Homebrew.
Prompt 2
Explain how to set up per-app input source rules in LockIME.
Prompt 3
Show me how to enable the enhanced per-URL mode in LockIME and what permission it needs.
Prompt 4
Help me configure keyboard shortcuts for toggling LockIME's lock.

Frequently asked questions

What is lockime?

A macOS menu-bar app that locks your keyboard input source so it stays on the language you chose, globally, per app, or per website.

What language is lockime written in?

Mainly Swift. The stack also includes Swift, SwiftUI, macOS.

What license does lockime use?

GPL-3.0 license: you can use and modify the software, but any distributed derivative work must also be open source under the same license.

How hard is lockime to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is lockime for?

Mainly general.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.