What’s new in Lang Switcher
Before the first release
Lang Switcher started with a specification and one rule: the program does one thing.
- First came the tray icon, the keyboard hook and converting a word.
- Then came replacing what you typed and switching the layout — as a pair or in a cycle — plus protection for password fields, a list of exclusions and converting selected text through the clipboard.
- Next came the settings window, with an option to start at sign-in and a choice of hotkey, plus code signing and the installer.
- After that came light and dark themes, support for dead keys, sound feedback, an interface in 14 languages, letters from the author with a signed feed, and the “Write to the author…” wizard.
- Between stages, the code went through full audits, each followed by fixes, and the main use case was checked not only by automated tests but also on a test machine running the real program in Notepad, Word and Chrome.
0.103.0 —
The “Write to the author…” wizard now takes you somewhere you can actually write.
latest Download 0.103.0- A bug report can include the program’s journal and details of your computer, so the wizard now suggests emailing it to me. It shows my email address and two buttons, “Copy the text” and “Copy the address”. Lang Switcher doesn’t send anything and doesn’t open your email app.
- An idea includes only your text and the program’s version. In English and eleven other interface languages, the wizard’s “Copy and open GitHub Issues” button copies it and opens the program’s GitHub Issues. Before, the wizard opened a page where you couldn’t write anything.
- The thank-you letter, which arrives a month after you install the program, now invites you to say what you think of it in GitHub Issues, and its “Open GitHub Issues” button takes you there.
- The pause between replacement events (
inter_event_delay_ms, which you can only set in the settings file; 0 by default) is now capped at 250 ms instead of 1,000. Since Windows 10 version 1709, Windows gives a keyboard hook no more than a second, and a one-second pause used up all of it. A value above 250 in the file is treated as 250, and the file isn’t rewritten. If you’ve never touched this setting, nothing changes for you. - In the English and Hebrew interfaces, the line about the settings file in the “From the author” window now says the feed can be turned off there (in English, “Can be turned off in the settings file: [letters] feed = false.”). Before, it said the feed was already off.
- The “Open the download page” button and clicking the program’s name now take you to the site in the program’s interface language: the English pages for English and every other language except Russian and Ukrainian. Before, they always opened the Russian page, and the site then switched to your browser’s language or to the one you’d picked with its language button.
- What stays the same: the hotkey, conversion, the look of the windows, the program’s settings, the settings file (schema 8), the signature and the installer.
0.102.0 —
The welcome letter now shows its example in your language.
- The “Hello! My name is Panda.” letter, which the program shows when it starts for the first time, now gives its example in the interface language: a word in your language typed with the English layout on, and how the hotkey turns it into the word you meant. In German it’s
Gr[-e→ “Grüße”, in Frenchsqlut→ “salut”; in Hebrew and Arabic, the Latin letters you typed turn into a whole word. English and Polish go the other way: “руддщ” → “hello”. Russian keepsghbdtn→ “привет”, and the caption under the example names the same pair. - The program’s English strings now use American spelling: “recognized”, “grayed”, “behavior”.
- What stays the same: the hotkey, conversion, the program’s windows and settings, the settings file (schema 8), the signature and the installer.
0.101.0 —
The name drops “for Windows”, and uninstalling no longer leaves the journal behind.
- The program is now called just “Lang Switcher”, without “for Windows”: that’s the name of the setup wizard, the Start menu folder, the entry in Apps and the signature description the UAC prompt shows. The program itself and its windows already used that name.
- The certificate the installer creates on your computer is now called “Lang Switcher (local)”. When you update, the old one, “Lang Switcher for Windows (local)”, is removed automatically.
- Updating also removes the Start menu folder with the old name, so you’re left with one “Lang Switcher” folder with two shortcuts and one entry in Apps.
- Uninstalling no longer leaves the journal behind:
diag.login%APPDATA%\Lang_Switcheris always deleted. Answer “Yes” to “Remove the Lang Switcher settings file as well?”, and the settings, their backup and the messages saved by the “Write to the author…” wizard go too, along with the whole folder. “No” keeps the settings, as before. - What stays the same: the hotkey, conversion, the program’s windows and settings, the settings file (schema 8) and the signature.
0.100.0 —
You can add a program to the exclusions just by switching to it.6 items
- In the settings window, under “Exclusions”, you can now add a program automatically: click “Pick a program window” and switch to that program within 5 seconds. Its process name goes into the list and is selected, and “Added: …” appears under the button. The button counts down, and clicking it again cancels. If the program is already listed, you’ll see “Already in the list: …”; if you don’t switch to another window, “No window picked”.
- The old way, typing a process name and clicking “Add”, is still there, now under “Manually”. As before, exclusions take effect when you click “OK” or “Apply”, and “Cancel” undoes the automatically added ones too.
- In the list of exclusions, a click selects or deselects a row, so you can select several and remove them with a single click on “Remove”.
- Windows shows Microsoft Store apps (Calculator, Settings) inside a shared frame,
ApplicationFrameHost.exe. Now both picking a window and checking an exclusion use the app’s own process (CalculatorApp.exe, for example), so excluding one such app doesn’t exclude the rest. The “Write to the author…” wizard records the app’s own process too. - Only the file name of the process is read. The window title, which can contain the name of a document or an email, never is.
- What stays the same: the hotkey, conversion, the other sections of the settings, the settings file (schema 8), the signature and everything the installer does with the certificate.
0.99.0 —
The installer now looks like this site.5 items
- The setup wizard now matches the style of this site, panda-pishet-kod.dev: the same background color, with bamboo along the left and right edges, like the margins of these pages. The wizard follows the Windows theme: light in light mode, dark in dark mode (before, it was always light).
- At the bottom of every wizard page is my signature: the logo, “Panda Koder · programs made with heart” and the site’s address. Clicking the address opens the site in your browser, without the administrator rights the installer runs with. The installer itself never goes online.
- On the first page, “Ready to Install”, the line above the field no longer mentions a “Back” button that isn’t there.
- The uninstall windows use the same color as the wizard, but without the bamboo or the signature.
- What stays the same: the program itself (its windows, the hotkey and settings), the settings file (schema 8), the signature and everything the installer does with the certificate.
0.98.0 —
The installer shows the whole sentence about the certificate.4 items
- On the installer’s first page, “Ready to Install”, the sentence about the certificate the installer will create on your computer now wraps onto several lines and is fully visible. Before, it ran on one line past the right edge of the window.
- The README on the program’s GitHub page now has a section called “If the browser or Windows warns you”.
- Lang Switcher picks the font size of its windows to suit your screen, so that even its tallest window fits. That calculation now includes the “From the author” window with the feed turned on: the line saying when the feed was last read, the “Recent letters” button and the feed switch that appears after 90 days. On the screens tested (1920 × 1080 at 100, 125 and 150%, 1366 × 768, 2560 × 1440 and 3840 × 2160), the font size hasn’t changed, so you won’t see a difference.
- What stays the same: the hotkey and its settings, the settings file (schema 8), the signature and everything the installer does with the certificate.
0.97.0 —
The double Shift hotkey is handled faster.2 items
- When your hotkey is a double
Shift, the program now asks Windows about just three keys on everyShifttap —Ctrl,AltandWin— instead of every modifier at once. That’s enough to tell a tap fromAlt+ShiftorCtrl+Shift, and the result is exactly the same as before. Handling aShiftpress now takes less time and is back within the program’s response-time budget: 100 microseconds for 99 presses out of 100 (on my test machine it went from 168 to 94–99). You won’t feel the difference: it’s headroom, not a new feature. - What stays the same: the double-press rule (two short taps in a row within 400 ms, with nothing in between), combinations with
Ctrl,AltandShift, the defaultPausekey, the settings file (schema 8), the installer and the signature.
0.96.0 —
Words no longer vanish in the classic console.3 items
- In the classic Windows console — the
conhostwindow thatcmdand Windows PowerShell open in when Windows Terminal isn’t your default terminal — the word no longer disappears after you press the hotkey. In Windows PowerShell 5.1, the program would erase the word, but the console wouldn’t accept the replacement. Now the program switches the window’s layout first, then erases the word and presses the same keys you pressed:руддщ→hello, and pressing again brings backруддщ. Capitals work too. - If the word can’t be retyped key by key because it has a dead key or
AltGrin it (common in layouts with accents), in the classic console the word stays as you typed it, and you hear a dull thud. Nothing gets lost. - What stays the same: Windows Terminal, Notepad, browsers and every other window work as before, and selected text in consoles still isn’t converted. A replacement method you set by hand in the settings file (
[replacement] method = "backspace"or"selection") overrides the automatic choice, and with it the classic console behaves as it did in 0.95.0. The settings file (schema 8), the installer and the signature are unchanged.
0.95.0 —
A double press of Shift can now be your hotkey.6 items
- You can set a double press of
Shiftas the hotkey: in the settings, click “Set” and pressShifttwice in a row, and the field shows “Shift, Shift”. Two short taps ofShiftconvert the word, and two more bring it back. It’s handy if your keyboard has noPausekey and you’d rather not reach for a combination. - A tap means
Shiftpressed and released within 0.4 s, and the second tap has to start within 0.4 s of the first. Ordinary typing withShiftisn’t affected: capital letters,Alt+Shift(switching the layout) andShiftwith a mouse click (selecting) don’t count as taps. - The program doesn’t swallow
Shift, so other programs see it too. If a program has its own command for a doubleShift(like Search Everywhere in JetBrains IDEs), that command runs as well. - Windows treats pressing
Shiftfive times in a row as its own shortcut and offers to turn on Sticky Keys. While a doubleShiftis your hotkey, the program turns that shortcut off, but only until it exits, and nothing is written to the Windows settings. Choosing another key, exiting or uninstalling brings it back. If Sticky Keys is already on, the program leaves it alone. - Only
Shiftcan be a double press.CtrlandAltwork only together with another key, as in 0.93.0. - The settings file gets a new field,
[hotkey] trigger, and moves to schema 8. If you go back to 0.94.0 or earlier, the old version won’t rewrite the file, but it won’t understand the double press either, so it will respond toPauseinstead.
0.94.0 —
Letters that open on their own no longer show a focus frame on a button.2 items
- A letter the program opens on its own (the welcome letter after the first start, or a letter shown at a quiet moment) no longer shows the dotted frame on the “Open settings” button, as if it were already selected. The frame appears after your first
Tab, just as in a window you open with the mouse.Enterstill presses “Got it”, andSpacepresses the button that has focus. - What stays the same: windows you open yourself (from the tray menu or by clicking a notification) work as before, and the look of the windows, the texts, the settings file (schema 7), the installer and the signature are unchanged.
Questions and problemson GitHub Issues ↗ or by email: send.me@panda-pishet-kod.dev