Settings reference

Every key in AltTabSettings.ini, which sits beside AltTab.exe. The file can be edited by hand — AltTab notices it changing and reloads it — or through the Settings dialog, which is the same thing with explanations attached. The dialog's Advanced page lists all of these too, including the few that have no control of their own.

Colours are 0xRRGGBB. Booleans are 1 or 0. Hotkeys are written the way they read: Ctrl+Alt+Tab.

This page is generated by Scripts/make_settings_reference.py from the INI the application itself writes and from ATSettingDescriptors() in source/AltTabSettings.cpp. Do not edit it by hand; run the script.

[Hotkeys] — Hotkeys

KeyTypeDefaultWhat it does
AltTabEnabledBoolean1Whether the switch-between-all-windows hotkey is active.
AltBacktickEnabledBoolean1Whether the switch-within-one-application hotkey is active.
AltCtrlTabEnabledBoolean1Whether the stay-open hotkey is active.
AltTabHotkeyAlt+TabThe combination that switches between every window. Needs at least one of Ctrl, Alt or Shift.
AltBacktickHotkeyAlt+Oem3The combination that cycles the windows of one application.
AltCtrlTabHotkeyCtrl+Alt+TabThe combination that opens the switcher and leaves it open when the modifiers are released.
IgnoreWhenFullscreenBoolean0While a window covering its whole monitor is in front — a game, a presentation, a video — the hotkeys leave the keys to Windows and that application. A maximized window stops at the taskbar and does not count; nor does the desktop. Off by default.
IgnoreInProcessesEnabledBoolean0Turn on IgnoreInProcesses. Off by default.
IgnoreInProcessesTextmstsc.exe/vmconnect.exeExecutables, separated by /, for which the hotkeys stand down while one of their windows is in front: a remote desktop or a VM wants Alt+Tab for the machine inside it. mstsc.exe/vmconnect.exe to begin with.
Custom1EnabledBoolean0Turn on your own switcher 1. Off by default, so its combination takes nothing from any application until you ask.
Custom1HotkeyAlt+1The combination for your own switcher 1: held, tapped and released like AltTab, but listing only what its filter allows.
Custom1FilterChoiceThisMonitorWhat that switcher lists: All, ThisMonitor (the monitor it opens on), OtherApps (leaves out the application in front and its similar group), UnderPointer (every window the mouse is over, stacked or not), Minimized, or AllDesktops (other virtual desktops' windows too).
Custom2EnabledBoolean0Turn on your own switcher 2. Off by default, so its combination takes nothing from any application until you ask.
Custom2HotkeyAlt+2The combination for your own switcher 2: held, tapped and released like AltTab, but listing only what its filter allows.
Custom2FilterChoiceOtherAppsWhat that switcher lists: All, ThisMonitor (the monitor it opens on), OtherApps (leaves out the application in front and its similar group), UnderPointer (every window the mouse is over, stacked or not), Minimized, or AllDesktops (other virtual desktops' windows too).
Custom3EnabledBoolean0Turn on your own switcher 3. Off by default, so its combination takes nothing from any application until you ask.
Custom3HotkeyAlt+3The combination for your own switcher 3: held, tapped and released like AltTab, but listing only what its filter allows.
Custom3FilterChoiceMinimizedWhat that switcher lists: All, ThisMonitor (the monitor it opens on), OtherApps (leaves out the application in front and its similar group), UnderPointer (every window the mouse is over, stacked or not), Minimized, or AllDesktops (other virtual desktops' windows too).
KeyTypeDefaultWhat it does
CueBannerTextTextSearch windows by title or process name...The placeholder shown in the search box while it is empty.
FontNameTextLucida HandwritingFont the search box draws with.
FontSizeInteger11Search box font size, in points.
FontStyleTextnormalnormal, italic, semibold, semibold italic, bold or bold italic.
FontColorColor0xFFFFFFSearch box text colour.
BackgroundColorColor0x2B2B2BSearch box background colour.

[ListView] — Window list

KeyTypeDefaultWhat it does
FontNameTextLucida HandwritingFont the window list draws with.
FontSizeInteger11Window list font size, in points.
FontStyleTextnormalnormal, italic, semibold, semibold italic, bold or bold italic.
FontColorColor0xFFFFFFWindow list text colour.
BackgroundColorColor0x1F1F1FWindow list background colour.
HighlightTextColorColor0x4CC2FFColour of the letters your search matched.
HighlightBackgroundColorColor0x434343Background behind the letters your search matched.
NotRespondingBackgroundColorColor0x52252CBackground for a row whose window is not responding, on Fonts and Colors. A theme derives its own instead.
SelectedBackgroundColorColor0x316179Background of the selected row. Picking a theme loads its own into this. The text on the row is chosen for you, black or white, so a pale colour cannot leave it unreadable.
SelectedOutlineColorColor0x4CC2FFThe frame drawn around the selected row. Absent from the file, it is derived from the theme's accent and the selected background — which is what every built-in palette resolves to.
HoverOutlineColorColor0x5D6F78The frame drawn around the row under the pointer, shown when [MouseHover] ShowHighlightRect is on. Absent from the file, it is derived from the selected row's colour at half strength.
BoldMatchedTextBoolean1Draw the letters your search matched in bold as well as in the matched colors. On many themes the accent is close in brightness to the title text, so weight is what makes a match visible.
QuickPickNumbersBoolean0Number the first nine rows, and let 1-9 in the open switcher activate that row — only while nothing has been typed, since after that a digit is search text. Off by default.
RowLabelChoiceAutoWhat a row says. Title is the window's title, which is what the switcher has always shown. Application gives the application's own name instead — the executable's file description, so Code.exe reads as Visual Studio Code — with the executable beneath it, the shape Task Manager uses. Both puts the two on one line, the application first: Word - Report.docx. Auto, the default, chooses between Title and Application: the application name when the live preview is on, the title when it is not. The reasoning is that the preview makes the title redundant — a title is how you tell two windows apart when you cannot see them, and once a live picture of the selected window is on screen the useful question is which application it belongs to. The second line is dropped when the process name has a column of its own, so the executable is not shown twice.
RowLabelFontChoiceSystemWhich font the executable line uses when RowLabel shows the application. The name above it always uses the window list's own font, so the rows match the rest of the list. System, the default, gives the executable the shell's plain interface face — what Task Manager uses — and ListFont puts both lines in the same face. The second line is the one a display face ruins: a decorative or italic font carries a title perfectly well and makes a smaller subtitle beneath it hard to read. Either way the executable is sized from the name above it — three points smaller, with a 7pt floor — so the two stay in proportion whatever the list font's size.
TitleEllipsisChoiceEndWhere a title too long for its row is cut: End (the default, as it always was), Middle (keeps both ends) or Start (keeps the end). Matched letters stay highlighted in what is left.
RowLabelExePointsInteger3How many points smaller the executable line is than the application name above it, when RowLabel shows the application. Three is the default — 8pt beneath an 11pt list font. Zero draws it at the same size as the name, which still reads as subordinate because of its plainer face and its faded colour. It never goes below 7pt however large this is, so a small list font cannot shrink the line into nothing.

[General] — General

KeyTypeDefaultWhat it does
SmartSearchBoolean0While searching: initials match (vsc finds Visual Studio Code), the best matches come first, and the window you activate for a search is remembered so it comes first for that search next time (kept in %LOCALAPPDATA%\AltTab\LearnedPicks.txt). Off by default.
PromptTerminateAllBoolean1Ask for confirmation before closing or terminating every window.
FuzzyMatchPercentInteger60How close a match counts, 1-100. 100 means exact substring matching only; lower values let files match filas.
RowCloseAnimationMsInteger100How long a row takes to fade and slide out when its window is closed, 0-1000. 0 removes it at once.
ShowDelayMsInteger0How long the switcher waits before it is drawn when it is opened by holding a hotkey, 0-1000. A quick Alt+Tab released inside the delay switches straight to the window without the switcher ever being seen. Keys pressed while it waits still count, and typing a search shows it at once. 0, the default, draws it at once; the stay-open hotkey and the tray click are never delayed.
WindowTransparencyInteger2220-255. 255 is opaque; the default 222 is slightly translucent. Ignored while ShowWindowPreview is on: the preview is always drawn opaque, so a see-through switcher would show the previewed window twice — sharp in the pane, faint behind it. Below 255 the switcher is a layered window, which changes how rounded corners are drawn.
WindowWidthPercentageInteger45Switcher width as a percentage of its monitor's width.
WindowHeightPercentageInteger45The most of its monitor's height the switcher may use. It is only ever as tall as the rows it has.
ShowSearchStringBoolean1Show the search box at the top of the switcher.
KeepOpenWhileTypingBoolean0Off by default. Off, releasing the hotkey activates the selected window whether or not you have typed. On, the switcher stays up once there is search text and waits for Enter, a click or Escape.
RoundedCornersBoolean1Round the switcher's corners, radius 8.
ShowColProcessNameBoolean0Show the process-name column.
CheckForUpdatesChoiceStartupStartup, Daily, Weekly or Never.
UpdateChannelChoiceStableStable or Stable (delayed 1 week). Stable offers a release as soon as it is published; the delayed form waits until it is a week old, so that other people meet a bad one first. To stop checking at all, set CheckForUpdates to Never. Nothing is installed without asking. A third value, Developer, offered pre-releases and is retired — it is still read, and treated as Stable.
CrashReportingChoiceAlwaysWhether a crash is reported to the project's Sentry. Never initialises nothing and opens no connection; Always (the default) sends the call stack, the module list and the version when AltTab crashes. No memory dump, so no window titles, file paths or search text, and no machine or user name. See PRIVACY.md.
SwitcherMonitorChoiceCursorWhich monitor the switcher opens on: Cursor, ActiveWindow or Primary.
SwitcherLayoutChoiceReportWhich view the switcher wears. Report is one row per window with its icon, title and optionally its process name. Icons is a grid of large icons with the selected window's title in a caption band beneath, like the Windows XP and 7 switchers. The window is the same width either way — the grid is centred in it — and only its height follows how many icons there are. Thumbnails is the same grid with a live picture of every window — a DWM thumbnail, as Windows' own Alt+Tab draws — under its title; it takes WindowWidthPercentage, the report view's width, and the separate live preview is off in it since every cell already is one. A minimized window shows its icon instead. Searching, the hotkeys, Delete and the context menu work the same way in all three.
ShowWindowPreviewBoolean0Show a live preview of the selected window — beside the list in the Report view, above the grid in the Icons one. It is a DWM thumbnail, the same mechanism the taskbar's own previews use, so it costs nothing to keep up to date. A minimized window has no live surface and gets its icon drawn large instead. Off by default, because the pane is the largest thing in the switcher once it is there: it halves the width the Report view has for titles.
WindowPreviewPlacementChoiceAutoWhere the live preview sits inside the switcher. Auto is what AltTab has always done — beside the list in the Report view, above the grid in the Icons one — so a file that has never heard of this setting behaves exactly as before. Beside puts it in a column to the right; Above and Below make it a band the full width of the window, which leaves the titles their room. The band placements are usually the better shape: a column beside a list is nearly square, and the window it shows is not, so roughly half of it ends up empty while the titles elide. Middle is for the Icons view: the preview between the icons and the caption, so the selected window's name sits directly under its picture; the Report view has no caption, so there it is the same as Below. Not the same setting as PreviewPlacement, which is about the Settings window's own preview switcher.
WindowPreviewPercentageInteger50How much of the switcher the preview takes: the width when it sits Beside the list, the height when it is a band Above or Below. 50 is what the pane was fixed at before this setting existed. The right number depends on your monitor and your titles — at 1920 pixels wide a 50% column leaves about fifty characters of title, where the same share of a 3840 monitor leaves twice that.
DesktopScopeChoiceCurrentWhich virtual desktops' windows are listed: Current (this desktop only, what AltTab always did), All (every desktop, with a window on another desktop labelled with that desktop's name at the right of its row), or Others (only the other desktops'). Choosing a window on another desktop takes you to that desktop. Names are the ones given in Task View, or Desktop N by position.
CurrentMonitorOnlyBoolean0List only the windows on the monitor the switcher opens on, so a second screen's windows stay out of the way. This is not the same as SwitcherMonitor: that decides where the switcher appears, this decides what it lists, and the two work together. A window belongs to whichever monitor holds most of it. The monitor is decided when the switcher opens and held until it closes, so moving the mouse does not change the list underneath you. If that monitor has no windows the list is empty, which is deliberate — falling back to every window would make the setting silently do nothing some of the time.
IconsWidthPercentageInteger30How wide the Icons view is, as a percentage of its monitor. Its own number, separate from WindowWidthPercentage, because the two views want different widths: a row per window needs room for long titles, a grid of 48px cells does not. A fixed percentage rather than a minimum over the icons' own width — the width must not change with the number of windows open, so the grid is centred in whatever this leaves over.
PreviewPlacementChoiceAutoWhere the live preview switcher sits while the Settings window is open: Auto puts them on separate monitors when there are two, SameMonitor stacks them on the Settings window's own monitor, and OtherMonitor keeps them apart wherever it can. Stacked is what a screenshot of both needs; apart is what makes the size and centring settings worth judging.
SystemTrayIconEnabledBoolean1Show AltTab's icon in the notification area.
ThemeTextDarkThe theme whose colours are loaded. One of the built-in palettes, or one of your own from a [Theme.<Name>] section. Default is AltTab's own colours.
UseThemeColorsBoolean0A one-shot instruction, not a setting you leave on: set it to 1 and the theme named above is loaded into the colour settings the next time AltTab reads this file, and the key is cleared. That is how a file written by an older build keeps looking the same.
FollowSystemThemeBoolean0The switcher's colours follow Windows: Light or Dark as its app mode says, or the High Contrast colours exactly as chosen while that is on, and they change the moment Windows does. Never written into the colour keys, so the theme and colours here are kept for when it is off. Off by default.
MinimizedLastBoolean0Minimized windows go to the end of the list, in their usual order there. Applies to a search too. Off by default.
WindowOrderChoiceRecentHow the list is ordered before anything is typed: Recent (the default, the order the windows were used in), Title (alphabetically) or Application (each application's windows together, the most recently used application first). A sorted order also changes what a quick Alt+Tab goes to: the next window in that order.
CursorFollowsFocusChoiceNeverAfter a window is chosen, put the mouse pointer in its middle: Never (the default), Always, or OtherMonitor — only when the window is on another monitor than the pointer.
GroupByApplicationBoolean0One row per application while nothing has been typed — its most recently used window, with the number of the others after the title. Right shows that application's windows, Left folds them back. Off by default.

[MouseHover] — Mouse

KeyTypeDefaultWhat it does
ShowProcessInfoTooltipBoolean1Show the information tooltip when the pointer rests on a row.
ShowHighlightRectBoolean1Outline the row under the pointer.
ShowDeleteButtonBoolean1Show a close button on the row under the pointer.
TooltipDelayMsInteger100How long the pointer must rest before a tooltip appears, 0-5000.
BoldTooltipLabelsBoolean1Draw the tooltip's labels in bold, on the Mouse page. The values beside them keep the ordinary weight unless BoldTooltipValues is on.
BoldTooltipValuesBoolean0Bold the values in the row tooltip as well, not only the labels. Off by default: the two-column table reads well precisely because one column is heavier than the other.
WheelSelectsBoolean0A wheel notch moves the selection one row, as an arrow key would, instead of scrolling the list. Off by default.

[Backtick] — Switching within an application

KeyTypeDefaultWhat it does
SimilarProcessGroupsTextnotepad.exe/notepad++.exe&#124;iexplore.exe/msedge.exe/chrome.exe/firefox.exe&#124;explorer.exe/xplorer2_lite.exe/xplorer2.exe/xplorer2_64.exe&#124;cmd.exe/WindowsTerminal.exe/conemu.exe/conemu64.exeApplications treated as one for switch-within-an-application. Groups are separated by &#124;, executables within a group by /. The groups are mutually exclusive: an executable can be in only one of them. If the same name appears twice, the first group keeps it and the later one loses it — and a group left with fewer than two names is dropped, since it cannot group anything.

[ProcessExclusions] — Hidden applications

KeyTypeDefaultWhat it does
EnabledBoolean0Whether the list below is applied.
ProcessListText(empty)Executables whose windows are hidden from the switcher, separated by /.
TitleListText(empty)Windows whose title contains any of this text are hidden, case-insensitively; several separated by &#124;. Under the same Enabled as ProcessList. Empty by default.