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 50…150120Overall size of the switcher panel, in percent.
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).

Wygląd

Kolor, rozmycie, narożniki i typografia 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
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.
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

Zawartość

Które aplikacje i okna wyświetla przełącznik oraz w jakiej kolejności.

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
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.
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 \.
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.

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.

Eksperymentalne

Domyślnie wyłączone ustawienia odpowiadające panelowi Eksperymentalne. 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.
experimentalInstantSpaceSwitchbooleanfalseSwitch Spaces without the macOS animation.
experimentalBrowserTabMRUbooleanfalseTrack browser tabs in the recency order.
experimentalBrowserTabPreviewsbooleanfalseShow thumbnails for browser tabs.
experimentalLivePreviewsbooleanfalseKeep window previews refreshing while the panel is open. Costs CPU/GPU.

Przestarzałe

Zastąpione klucze — zawsze ustawiaj zamiennik wskazany w opisie. Tylko panelSize jest migrowany, a następnie usuwany; currentSpaceOnly i scopedShortcutScopes nadal są zapisywane przy każdej zmianie, aby starsze wersje korzystające z tego samego pliku zachowały spójność. excludedBundleIDs i experimentalUnreadBadges są odczytywane najwyżej raz 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.
scopedShortcutScopesarray dokładnie 3 elementówLegacy fixed scoped-shortcut slots, migrated to scopedShortcutList. Edit scopedShortcutList instead.

Na tej stronie

Ekran i czasdisplayModerevealDelayMstitleRefreshIntervalMsUkładlayoutModepanelScalePercentlistWidthPercentgridMaxColumnsWyglądpanelAppearancepanelOpacitypanelCornerRadiusbackdropMaterialfontScalefontFaceboldSelectedLabelshowApplicationNamesshowWindowTitleLabelpreviewTitleAlignmenttitleTruncationModeZawartośćsortOrderspaceScopeapplicationsOnlywindowDrillEnabledshowMinimizedWindowsshowHiddenAppssinkHiddenAppsshowWindowlessAppsshowUnreadBadgesshowRecentlyClosedrecentlyClosedLimitpinnedBundleIDshideAllExcludedBundleIDsKartytabDrillEnabledexpandTabsAsWindowsexpandBrowserTabsAsWindowsbrowserTabRowLimitshowBrowserIconOnTabsWyszukiwaniefuzzySearchEnabledfuzzySearchRankBestMatchFirstsearchIncludesLaunchableAppssearchExpandsBrowserTabssearchDismissModeletterHintsEnabledletterChainTimeoutMsKlawiaturastayOpenOnReleasestayOpenOnQuickTapshiftTapStepsBackwardbacktickReversesAppSwitchingvimNavigationEnabledMysz i wskazywaniescrollToSwitchscrollReverseDirectionclickOutsideToDismissmouseHoverSelectionEnabledmouseClickSelectionEnabledhoverActionsEnabledhoverShowClosehoverShowMinimizehoverShowMaximizehoverShowHidehoverShowQuithoverShowForceQuitZarządzanie oknamicycleTileWidthsSkrótydirectActivationBindingsnextScopedShortcutIDSygnały i pasek menuhideMenuBarIconhapticOnCommitsoundOnCommitcommitSoundNamehideFromScreenSharingEksperymentalneexperimentalSwipeTriggerswipeModeswipeReverseDirectionswipeCommitOnReleaseswipeSensitivityexperimentalInstantSpaceSwitchexperimentalBrowserTabMRUexperimentalBrowserTabPreviewsexperimentalLivePreviewsPrzestarzałepanelSizecurrentSpaceOnlyexcludedBundleIDsexperimentalUnreadBadgesscopedShortcutScopes