Reguły aplikacji
Ukrywaj poszczególne aplikacje w przełączniku lub przekazuj im bezpośrednio Command-Tab.
Większość ustawień filtrowania jest globalna. appExceptions to sposób na obsłużenie
pojedynczej aplikacji, która musi zachowywać się inaczej — narzędzia na pasku menu,
którego nigdy nie chcesz widzieć na liście, albo gry, która potrzebuje ⌘Tab dla siebie.
W oknie ustawień odpowiada za to panel Aplikacje. W config.json jest to tablica
obiektów, po jednym dla każdej aplikacji:
{
"appExceptions": [
{ "bundleID": "com.apple.ActivityMonitor", "hide": "whenNoWindows" },
{ "bundleID": "com.valvesoftware.steam", "ignore": "whenFullscreen" },
{ "bundleID": "com.some.menubarapp", "hide": "always" }
]
}Aplikacja bez wpisu stosuje ustawienia globalne. Zarówno hide, jak i ignore są
opcjonalne — wpis może zawierać jedno z nich albo oba.
Finder ma przygotowaną regułę
Przy pierwszym uruchomieniu, jeśli nie ma jeszcze żadnych reguł, BetterCmdTab sam
zapisuje jeden wpis: com.apple.finder z hide: "whenNoWindows". Finder nigdy tak
naprawdę się nie zamyka, więc bez tej reguły każdy przełącznik zawierałby stały wiersz
Findera. Możesz swobodnie usunąć lub zmienić ten wpis — to tylko początkowa wartość
domyślna, która nie jest później przywracana.
Pola
Per-app rules. An app with no entry follows the global settings.
| Pole | Typ | Opis |
|---|---|---|
bundleID wymagane | string | Bundle identifier of the app this rule applies to. |
hide | string | Whether this app is hidden from the switcher.
|
ignore | string | Whether the switcher shortcut is passed through to this app instead of opening the panel.
|
Znajdowanie identyfikatora pakietu
osascript -e 'id of app "Safari"'
# com.apple.SafariMożesz też odczytać go bezpośrednio z pakietu:
mdls -name kMDItemCFBundleIdentifier -r /Applications/Safari.apphide a filtry globalne
hide jest oceniany dodatkowo po globalnych ustawieniach zawartości i może wyłącznie
usuwać pozycje. Jeśli showWindowlessApps jest już
wyłączone, aplikacja bez okien pozostaje niewidoczna niezależnie od tego, czy ma regułę
whenNoWindows.
"dontHide"— wartość domyślna. Aplikacja jest wyświetlana jak każda inna."whenNoWindows"— widoczna, gdy ma otwarte okno, i ukryta, gdy go nie ma. Przydatne dla aplikacji działających w tle, które nie pokazują niczego na ekranie."always"— nigdy niewidoczna. Używaj dla aplikacji pomocniczych i działających wyłącznie na pasku menu, które pojawiają się jako dostępne do przełączenia, choć nie powinny.
Ukrycie aplikacji nie zatrzymuje jej działania ani nie usuwa jej z wyników wyszukiwania,
jeśli jest zainstalowana i
searchIncludesLaunchableApps jest włączone.
ignore: przekazywanie ⌘Tab
ignore określa, co dzieje się po naciśnięciu skrótu przełącznika, gdy dana aplikacja
jest na pierwszym planie. Zamiast otwierać panel, kombinacja klawiszy jest przekazywana
aplikacji.
"never"— wartość domyślna. Przełącznik zawsze się otwiera."whenFullscreen"— aplikacja otrzymuje ⌘Tab tylko w trybie pełnoekranowym. To ustawienie odpowiednie dla gier i klientów zdalnego pulpitu: zwykły tryb okienkowy zachowuje przełącznik, a sesje pełnoekranowe otrzymują niezmienioną kombinację klawiszy."always"— aplikacja zawsze otrzymuje ⌘Tab. Używaj wyłącznie dla maszyny wirtualnej lub sesji zdalnej z własnym przełącznikiem zadań.
Przy "always" nie można przełączyć się z aktywnej aplikacji za pomocą ⌘Tab — taki
jest cel tego ustawienia, ale oznacza to konieczność użycia innej drogi (skrótu o
ograniczonym zakresie, skrótu aplikacji albo Mission Control). Jeśli nie masz pewności,
wybierz "whenFullscreen".
Powiązane klucze
Dwie inne listy przyjmują same identyfikatory pakietów i są prostsze niż appExceptions:
pinnedBundleIDs— aplikacje zachowywane na początku przełącznika, w podanej kolejności.hideAllExcludedBundleIDs— aplikacje pomijane przez skrót „ukryj wszystkie okna”.
{
"pinnedBundleIDs": ["com.apple.Safari", "com.googlecode.iterm2"],
"hideAllExcludedBundleIDs": ["com.spotify.client"]
}appExceptions zastąpił klucz excludedBundleIDs. Jest on odczytywany
tylko przy uruchomieniu, gdy w ogóle nie istnieje klucz appExceptions; wtedy jego
identyfikatory pakietów stają się wpisami hide: "always". W każdej instalacji, która
ma już appExceptions — czyli w każdej po pierwszym uruchomieniu — jest ignorowany i
nigdy nie jest usuwany z pliku. Ustawiaj bezpośrednio appExceptions.