BetterCmdTab

Dokumentacja konfiguracji

Każdy klucz config.json — typ, wartość domyślna, akceptowany zakres i dozwolone wartości.

Wszystkie klucze akceptowane w ~/.config/bettercmdtab/config.json i w eksportowanych plikach ustawień. Klucze są wymienione bez prefiksu Switcher., ponieważ właśnie w taki sposób są zapisywane.

Wszystkie klucze są opcjonalne. Pominięcie klucza zachowuje jego bieżącą wartość — zobacz częściowe zmiany. Liczby spoza podanego zakresu są ograniczane zamiast odrzucane, a nierozpoznany ciąg znaków powoduje powrót do wartości domyślnej klucza.

Trzy klucze będące tablicami obiektów opisano osobno: appExceptions, scopedShortcutList i shortcutOverrides.

Ta strona jest generowana z tego samego pliku schema.json, który aplikacja zapisuje obok pliku konfiguracyjnego, dlatego typy, opisy i dozwolone wartości pochodzą bezpośrednio z aplikacji. Edytor pokazuje te same informacje w tekście. Opisy kluczy i etykiety dozwolonych wartości pozostają obecnie po angielsku, ponieważ pochodzą z angielskiego pliku schematu generowanego przez aplikację.

Ekran i czas

Gdzie otwiera się panel i jak szybko reaguje.

KluczTypWartość domyślnaOpis
displayModestring"mouseCursor"Which monitor the switcher opens on.
  • "mouseCursor"Monitor with the cursor
  • "activeWindow"Monitor with the active app
  • "mainDisplay"Main display
revealDelayMsinteger 40…500100How long the shortcut must be held before the panel appears — a quicker tap switches without showing it (milliseconds).
titleRefreshIntervalMsinteger 50…2000200Delay before window titles in the open switcher catch up after an app renames one (milliseconds). Lower reacts sooner, higher costs less CPU.

Układ

Jakiego układu używa przełącznik i jaki ma rozmiar.

KluczTypWartość domyślnaOpis
layoutModestring"iconDock"Switcher layout: list rows, an icon grid, or window previews.
  • "list"List
  • "iconDock"Grid View
  • "windowPreview"Previews
panelScalePercentinteger 35…150100Overall size of the switcher panel, in percent. 100% matches the macOS switcher.
listWidthPercentinteger 30…100100Width of list rows as a percentage of the automatic, screen-scaled width.
gridMaxColumnsinteger 0…120Column cap for the grid layout. 0 = automatic (as many as fit).
gridSingleRowbooleantrueKeep the grid on one row, shrinking the icons to fit, instead of wrapping. Ignored while gridMaxColumns caps the columns.

Wygląd

Kolor, rozmycie, narożniki, typografia i przechwytywanie podglądów panelu.

KluczTypWartość domyślnaOpis
panelAppearancestring"system"Light or dark switcher, independent of the rest of macOS.
  • "system"System
  • "light"Light
  • "dark"Dark
panelOpacityinteger 30…100100Opacity of the panel background, in percent.
panelCornerRadiusinteger -1…400Panel corner radius in points. 0 = automatic (follows the panel size), -1 = square corners.
backdropMaterialstring"hud"Blur material behind the rows. Ignored by the macOS 26 glass backdrop.
  • "hud"HUD (default)
  • "sidebar"Sidebar
  • "menu"Menu
  • "popover"Popover
  • "fullScreen"Full Screen
  • "underWindow"Under Window
animationsEnabledbooleantrueGlide the panel, the tiles and the tab strip between states. Off, or with macOS Reduce Motion on, every change is a hard cut.
fontScalestring"standard"Size of the name/title text, independent of the panel scale.
  • "extraSmall"Extra small
  • "small"Small
  • "standard"Default
  • "large"Large
  • "extraLarge"Extra large
fontFacestring"system"Typeface used for names and titles.
  • "system"System
  • "rounded"Rounded
  • "serif"Serif
  • "monospaced"Monospaced
boldSelectedLabelbooleantrueShow the highlighted entry's title in bold.
showApplicationNamesbooleantrueShow application names next to the icons.
showWindowStatusIconsbooleantrueShow the hidden, minimized, full-screen and no-window glyphs on each entry.
showWindowTitleLabelbooleantrueShow each window's title, not just its app.
previewTitleAlignmentstring"center"Where the title sits under each window-preview tile.
  • "leading"Left
  • "center"Center
  • "trailing"Right
titleTruncationModestring"tail"Which part of a too-long title is replaced by an ellipsis.
  • "head"Beginning
  • "middle"Middle
  • "tail"End
browserTabPreviewsbooleanfalseShow thumbnails for browser tabs in the Previews layout.
livePreviewsbooleanfalseKeep window previews refreshing while the panel is open. Costs CPU/GPU; needs macOS 14 or later.

Zawartość

Które aplikacje i okna wyświetla przełącznik, w jakiej kolejności i jak przechodzi do wybranego.

KluczTypWartość domyślnaOpis
sortOrderstring"mru"Order apps and windows are listed in.
  • "mru"Most recent
  • "mruWindows"Most recent (windows)
  • "alphabetical"Alphabetical
  • "launchOrder"Launch order
spaceScopestring"allSpaces"Which Spaces windows are pulled from.
  • "allSpaces"All Spaces
  • "currentSpace"Current Space
  • "visibleSpaces"Visible Spaces
instantSpaceSwitchbooleanfalseSwitch Spaces without the macOS animation.
applicationsOnlybooleanfalseShow one entry per app instead of one per window.
windowDrillEnabledbooleantruePeek the highlighted app's windows with ↓ while "applications only" is on.
showMinimizedWindowsbooleantrueInclude minimized windows.
showHiddenAppsbooleantrueInclude apps hidden with ⌘H.
sinkHiddenAppsbooleantrueMove hidden apps to the bottom of the list instead of leaving them in place.
sinkMinimizedWindowsbooleantrueMove minimized windows to the bottom of the list instead of leaving them in their most-recently-used position.
showWindowlessAppsbooleantrueInclude running apps that have no open window.
showUnreadBadgesbooleantrueShow each app's Dock unread badge on its entry.
showRecentlyClosedbooleanfalseOffer recently closed apps in search so they can be reopened.
recentlyClosedLimitinteger 0…505How many recently closed apps to offer. 0 disables them.
pinnedBundleIDsarray[]Bundle IDs pinned to the front of the switcher, in the order they appear.
hideAllExcludedBundleIDsarray[]Bundle IDs the "hide all windows" shortcut leaves visible.

Karty

Jak karty przeglądarek i karty natywne pojawiają się na liście.

KluczTypWartość domyślnaOpis
tabDrillEnabledbooleantruePeek the highlighted window's tabs with the Peek tabs key.
expandTabsAsWindowsbooleanfalseList native system tabs (Finder, Terminal, TextEdit, …) as separate entries.
expandBrowserTabsAsWindowsbooleanfalseList browser tabs (Safari, Chromium) as separate entries.
browserTabRowLimitinteger 0…160Cap on tab entries per browser window. 0 = unlimited; anything else is taken as 2…16.
showBrowserIconOnTabsbooleanfalseBadge each browser-tab entry's favicon with the source browser's icon.
browserTabMRUbooleanfalseTrack browser tabs in the recency order.

Filtrowanie podczas pisania i przechodzenie po literach.

KluczTypWartość domyślnaOpis
fuzzySearchEnabledbooleantrueType to filter the switcher.
fuzzySearchRankBestMatchFirstbooleanfalseSort search results by match quality instead of keeping the list order.
searchIncludesLaunchableAppsbooleantrueInclude installed apps that aren't running, so search can launch them.
searchExpandsBrowserTabsbooleanfalseSearch browser tab titles too.
searchDismissModestring"holdModifier"Whether searching keeps the switcher open after the modifier is released.
  • "holdModifier"Hold ⌘
  • "stayOpen"Stay open until I choose
letterHintsEnabledbooleantrueShow the letter that jumps to each entry.
letterChainTimeoutMsinteger 200…30001000How long a typed letter-jump prefix stays active before it expires (milliseconds).

Klawiatura

Co dzieje się podczas przytrzymywania skrótu i jak działa przechodzenie między pozycjami.

KluczTypWartość domyślnaOpis
stayOpenOnReleasebooleanfalseKeep the switcher open after the modifier is released.
stayOpenOnQuickTapbooleanfalseAlso keep it open after a quick tap of the shortcut.
shiftTapStepsBackwardbooleantrueTap Shift while switching to step backwards.
backtickReversesAppSwitchingbooleanfalseUse the window-switch shortcut (⌘`) to step backwards through apps.
vimNavigationEnabledbooleanfalseNavigate with h/j/k/l as well as the arrow keys.

Mysz i wskazywanie

Wybieranie wskaźnikiem i przyciski szybkich działań.

KluczTypWartość domyślnaOpis
scrollToSwitchbooleantrueMove the selection by scrolling.
scrollReverseDirectionbooleanfalseReverse the scroll direction.
clickOutsideToDismissbooleantrueClick outside the panel to dismiss it without switching.
mouseHoverSelectionEnabledbooleantrueHighlight the entry under the pointer.
mouseClickSelectionEnabledbooleantrueClick an entry to switch to it.
hoverActionsEnabledbooleanfalseShow action buttons on the entry under the pointer.
hoverShowClosebooleantrueInclude "close" among the hover actions.
hoverShowMinimizebooleantrueInclude "minimize" among the hover actions.
hoverShowMaximizebooleantrueInclude "maximize" among the hover actions.
hoverShowHidebooleantrueInclude "hide app" among the hover actions.
hoverShowQuitbooleantrueInclude "quit" among the hover actions.
hoverShowForceQuitbooleanfalseInclude "force quit" among the hover actions.

Zarządzanie oknami

Działanie skrótów układania okien.

KluczTypWartość domyślnaOpis
cycleTileWidthsbooleanfalseRepeating the tile-left/right shortcut cycles the window through half → two-thirds → one-third width.

Skróty

Same kombinacje klawiszy są zapisywane poza tym plikiem. Skróty zakresowe i ustawienia poszczególnych skrótów opisano na osobnych stronach.

KluczTypWartość domyślnaOpis
directActivationBindingsarray dokładnie 9 elementów["", "", "", "", "", "", "", "", ""]Bundle ID activated by each direct-activation slot, in slot order. An empty string leaves the slot unused.
nextScopedShortcutIDintegerInternal counter for allocating scoped-shortcut ids. Never decreases, so a removed id is never reused. Don't edit.

Sygnały i pasek menu

Dźwięk, haptyka, ikona paska menu i prywatność udostępniania ekranu.

KluczTypWartość domyślnaOpis
hideMenuBarIconbooleanfalseHide the menu-bar icon.
hapticOnCommitbooleanfalseTap the trackpad when the switcher commits a selection.
soundOnCommitbooleanfalsePlay a sound when the switcher commits a selection.
commitSoundNamestring"Tink"macOS system sound played on commit. A custom sound file stays on the Mac that chose it.
  • "Basso"
  • "Blow"
  • "Bottle"
  • "Frog"
  • "Funk"
  • "Glass"
  • "Hero"
  • "Morse"
  • "Ping"
  • "Pop"
  • "Purr"
  • "Sosumi"
  • "Submarine"
  • "Tink"
hideFromScreenSharingbooleanfalseKeep the switcher panel out of screen recordings and shared screens.

Przesunięcie po gładziku

Gest trzema palcami na gładziku i jego zachowanie. Domyślnie wyłączony; włączysz go w Skróty › Przesunięcie po gładziku. Te opcje mogą się zmienić lub zniknąć między wydaniami.

KluczTypWartość domyślnaOpis
experimentalSwipeTriggerbooleanfalseThree-finger trackpad swipe.
swipeModestring"openSwitcher"What the three-finger swipe does.
  • "openSwitcher"Open switcher
  • "switchSpaces"Switch Spaces
  • "quickSwitch"Quick switch (last 2 apps)
swipeReverseDirectionbooleanfalseReverse the swipe direction.
swipeCommitOnReleasebooleanfalseCommit the swipe selection when the fingers lift.
swipeSensitivityinteger 1…105How far fingers must slide to advance one app. Higher = more sensitive.

Przestarzałe

Zastąpione klucze — zawsze ustawiaj zamiennik wskazany w opisie. Tylko panelSize jest migrowany, a następnie usuwany; currentSpaceOnly, scopedShortcutScopes, experimentalBrowserTabMRU, experimentalInstantSpaceSwitch, experimentalBrowserTabPreviews i experimentalLivePreviews nadal są zapisywane przy każdej zmianie, aby starsze wersje korzystające z tego samego pliku zachowały spójność, więc licz się z ich obecnością w pliku. excludedBundleIDs i experimentalUnreadBadges są odczytywane jako wartości zapasowe tylko przy starcie i nigdy nie są usuwane.

KluczTypWartość domyślnaOpis
panelSizestringLegacy size preset, migrated to panelScalePercent at launch. Use panelScalePercent instead.
  • "small"
  • "standard"
  • "large"
currentSpaceOnlybooleanLegacy "only the current Space" flag, kept in sync with spaceScope for older builds. Edit spaceScope instead.
excludedBundleIDsarrayLegacy always-hidden bundle IDs, folded into appExceptions at launch. Edit appExceptions instead.
experimentalUnreadBadgesbooleanLegacy unread-badge flag, read once to seed showUnreadBadges. Edit showUnreadBadges instead.
experimentalBrowserTabMRUbooleanLegacy browser-tab recency flag, kept in sync with browserTabMRU for older builds. Edit browserTabMRU instead.
experimentalInstantSpaceSwitchbooleanLegacy instant-Space-switch flag, kept in sync with instantSpaceSwitch for older builds. Edit instantSpaceSwitch instead.
experimentalBrowserTabPreviewsbooleanLegacy browser-tab-preview flag, kept in sync with browserTabPreviews for older builds. Edit browserTabPreviews instead.
experimentalLivePreviewsbooleanLegacy live-preview flag, kept in sync with livePreviews for older builds. Edit livePreviews instead.
scopedShortcutScopesarray dokładnie 3 elementówLegacy fixed scoped-shortcut slots, migrated to scopedShortcutList. Edit scopedShortcutList instead.

Inne

Klucze obecne w schemacie, ale jeszcze nieprzypisane do sekcji dokumentacji.

KluczTypWartość domyślnaOpis
selectionColorstringColor of the selection highlight and the quick-jump letters. "transparent" (the default) leaves the highlight colorless and tints only the quick-jump letters; "system" follows the macOS accent; "custom" uses selectionColorHex.
  • "transparent"Transparent
  • "system"macOS accent
  • "blue"Blue
  • "purple"Purple
  • "pink"Pink
  • "red"Red
  • "orange"Orange
  • "yellow"Yellow
  • "green"Green
  • "graphite"Graphite
  • "custom"Custom…
selectionColorHexstringSelection color used when selectionColor is "custom", as #RRGGBB. Falls back to the macOS accent when absent or malformed.

Na tej stronie

Ekran i czasdisplayModerevealDelayMstitleRefreshIntervalMsUkładlayoutModepanelScalePercentlistWidthPercentgridMaxColumnsgridSingleRowWyglądpanelAppearancepanelOpacitypanelCornerRadiusbackdropMaterialanimationsEnabledfontScalefontFaceboldSelectedLabelshowApplicationNamesshowWindowStatusIconsshowWindowTitleLabelpreviewTitleAlignmenttitleTruncationModebrowserTabPreviewslivePreviewsZawartośćsortOrderspaceScopeinstantSpaceSwitchapplicationsOnlywindowDrillEnabledshowMinimizedWindowsshowHiddenAppssinkHiddenAppssinkMinimizedWindowsshowWindowlessAppsshowUnreadBadgesshowRecentlyClosedrecentlyClosedLimitpinnedBundleIDshideAllExcludedBundleIDsKartytabDrillEnabledexpandTabsAsWindowsexpandBrowserTabsAsWindowsbrowserTabRowLimitshowBrowserIconOnTabsbrowserTabMRUWyszukiwaniefuzzySearchEnabledfuzzySearchRankBestMatchFirstsearchIncludesLaunchableAppssearchExpandsBrowserTabssearchDismissModeletterHintsEnabledletterChainTimeoutMsKlawiaturastayOpenOnReleasestayOpenOnQuickTapshiftTapStepsBackwardbacktickReversesAppSwitchingvimNavigationEnabledMysz i wskazywaniescrollToSwitchscrollReverseDirectionclickOutsideToDismissmouseHoverSelectionEnabledmouseClickSelectionEnabledhoverActionsEnabledhoverShowClosehoverShowMinimizehoverShowMaximizehoverShowHidehoverShowQuithoverShowForceQuitZarządzanie oknamicycleTileWidthsSkrótydirectActivationBindingsnextScopedShortcutIDSygnały i pasek menuhideMenuBarIconhapticOnCommitsoundOnCommitcommitSoundNamehideFromScreenSharingPrzesunięcie po gładzikuexperimentalSwipeTriggerswipeModeswipeReverseDirectionswipeCommitOnReleaseswipeSensitivityPrzestarzałepanelSizecurrentSpaceOnlyexcludedBundleIDsexperimentalUnreadBadgesexperimentalBrowserTabMRUexperimentalInstantSpaceSwitchexperimentalBrowserTabPreviewsexperimentalLivePreviewsscopedShortcutScopesInneselectionColorselectionColorHex