Cmdtab
The best macOS-style Alt-Tab app/window switcher replacement for Windows, written in straight C
Install / Use
/learn @stianhoiland/CmdtabREADME
cmdtab
Fast and super lightweight macOS-style Alt-Tab app/window switcher replacement for Windows, written in the Lord's language, C.
What's the deal?
- On Windows Alt-Tab cycles through different windows from different apps all mixed together, showing small window previews
- On macOS Cmd-Tab cycles through different apps, showing big, clear app icons
- On macOS there is a separate hotkey that cycles through windows of the same app
Here's a real life comparison GIF between Alt-Tab and cmdtab (notice the scrollbar in Alt-Tab, haha):
So, you like the way Apple does it, but you're using Windows? cmdtab for Windows fixes that:
- A hotkey to cycle apps (Chrome → Spotify → File Explorer)
- A different hotkey to cycle windows (Chrome1 → Chrome2 → Chrome3)
- Big readable app icons
- Super lightweight program (<50kb)
- Simple, clean, clear, commented C source code (easy to change/fix/extend by you/me/everyone!)
- Lots of tiny, useful QoL features, like reverse, arrow keys & enter, cancel, ~~restore~~, mouse support, wrap bump, quit app, close window, ~~delayed show~~...
- So fast!
- The best macOS-style window switcher for Windows!
- C!
Features
The basics of window switching are easy to understand, but why is cmdtab the best macOS-style window switcher alternative for Windows? Because it packs so many tiny, useful features into such a small and lightweight package without bloat:
- Configurable hotkey to cycle apps (default Alt-Tab)
- Configurable hotkey to cycle windows of the same app (default Alt-Tilde/Backquote)
- Reverse direction by holding Shift
- Arrow keys are supported (selects apps in switcher)
- Enter key is supported (switches to selected window)
- Mouse is supported (click an app icon to switch to that app)
- Big readable app icons (not those tiny bewildering window previews)
- Cancel and close the switcher by pressing Escape
- Smart key capture so key presses don't unexpectedly bleed through to other apps
- Wrap bump is hard to explain but easy to feel: Try holding Alt-Tab until the end, then press Tab again—works in reverse, too!
- Press Q to quit the selected app
- Press W to close the selected window
- ~~Option to return to the initial window when cancelling switcher by pressing Escape. This doesn't override or block Windows' native Alt-Escape hotkey~~
- Press F4 while the switcher is open to quit cmdtab
That's a lot of useful stuff, and the code is small! Go read it, and learn some C while you're at it.
Installing cmdtab
There's no installation. Just download the latest version from the Releases section, unzip, and run.
Run as administrator
cmdtab cannot see elevated applications like Task Manager unless you "Run as administrator", but works well otherwise.
Autorun
cmdtab will prompt you about autorun when you launch it, but the autorun that cmdtab enables if you choose "Yes" is not "Run as administrator". In the future, cmdtab will support autorun as admin, but for now you must manually configure this by using the command below.
It makes sense to have cmdtab "Run as administrator", and it makes sense to have cmdtab autorun on login. Doing either is easy, but doing both, i.e. autorun as admin, is not so easy. The only way to autorun as admin is to use the Windows Task Scheduler. To create an appropriate scheduled task from the Command Prompt run this command:
schtasks /create /sc onlogon /rl highest /tn "cmdtab elevated autorun" /tr "C:\Users\%USERNAME%\Downloads\cmdtab-v1.6.2-win-x86_64\cmdtab.exe --autorun"
You can further customize the scheduled task created by that command by running taskschd.msc.
Uninstalling
cmdtab leaves no trace on your system, except for a registry key if you choose "Yes" when cmdtab prompts you about autorun (and the scheduled task mentioned above if you manually created it). You can remove the autorun registry key by running cmdtab one last time before you delete cmdtab.exe and choose "No" to autorun.
Buildling from source
MSVC/CMake
These instructions require git, cmake, and Visual Studio or MSBuild.
git clone https://github.com/stianhoiland/cmdtab.gitcd cmdtabmkdir buildcmake -G "Visual Studio 17 2022" -B build- (in developer console)
devenv build\cmdtab.sln /build "MinSizeRel|x64" - or: (in developer console)
msbuild build\cmdtab.sln /property:Configuration=MinSizeRel - (run cmdtab)
build\MinSizeRel\cmdtab.exe
mingw-w64 GCC/make
These instructions require git, make, windres, and gcc.
git clone https://github.com/stianhoiland/cmdtab.gitcd cmdtabmake release- (run cmdtab)
./cmdtab.exe
Related Skills
node-connect
347.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
