Usuń iterm z aplikacji cmd + tab


10

Użyłem TotalTerminal, aby uzyskać skrót podobny do terminala na skrócie. Ale TotalTerminal jest porzucony, więc przełączyłem się na iTerm2. Mój problem polega na tym, że kiedy używam skrótu do wyzwalania zachowania i profilu wizjera iTerms, zostaje on również aktywowany jak normalna aplikacja i dostaje się do Cmd+ Tablisty aplikacji i nie chcę tego. Czy istnieje sposób, aby temu zapobiec w przypadku profilu daszka iTerm2?


1
Ogólnie rzecz biorąc, program musi prezentować się w systemie operacyjnym jako aplikacja menu / bez twarzy bez ikony w doku. Czy sprawdziłeś ustawienia iTerm lub skontaktowałeś się z programistą?
bmike

Sprawdziłem preferencje iTerm, ale nie mogłem uzyskać pożądanego zachowania. Nie skontaktowałem się jeszcze z programistami.
Saša Šijak

Odpowiedzi:


8

Obecnie od października 2016 r. ITerm2 włączył tę funkcję. Przejdź do Preferencji -> Zaawansowane -> Ogólne -> Hide iTerm2 from the dock and from the ⌘-Tab app switcher.


4
Począwszy od wersji 3.1.2 ta preferencja została przeniesiona na kartę Wygląd , w obszarze System -> Wyklucz z Docka i ⌘-Tab Application Switcher .
Alex Lipov

Po wykonaniu tej czynności nie ma paska menu, aby ponownie uzyskać dostęp do ustawień. Jeśli utkniesz można cofnąć tej zmiany, czyli działa defaults write com.googlecode.iterm2 HideFromDockAndAppSwitcher 0wtedy killall iTermi uruchomić go ponownie.
BinarySplit

4

„Klucz usługi uruchamiania” LSUIElementw .plistpliku iTerm2 to twój przyjaciel.

Aby ukryć iTerm2 przed przełącznikiem, otwórz Terminal i wprowadź:

/usr/libexec/PlistBuddy -c "Add :LSUIElement bool true" /Applications/iTerm.app/Contents/Info.plist

Musisz ponownie uruchomić iTerm2, aby ustawienie zadziałało.

Jeśli chcesz ponownie wyświetlić iTerm, użyj następującego polecenia:

 /usr/libexec/PlistBuddy -c "Delete :LSUIElement" /Applications/iTerm.app/Contents/Info.plist

Objaśnienie od Apple :

LSUIElement „Aplikacja jest agentem (UIElement)”. Określa, czy aplikacja jest aplikacją agenta, to znaczy aplikacją, która nie powinna pojawiać się w oknie Docku lub Force Quit. Szczegóły w LSUIElement.


To ustawienie nie działa w
MAMP

@Alisso, czy możesz podać trochę więcej szczegółów?
crishoj 19.04.16

Rozwiązałem go za pomocą klawiatury Maestro :) (Znalazłem zakładkę „wyklucz” w Klawiaturze Maestro - choć na początku też nie było to oczywiste.)
Alisso 22.04.16

Ta odpowiedź nie działała dla mnie (podczas gdy zaakceptowana zadziałała). To dziwne, ponieważ w zasadzie robią to samo.
bumbu

@bumbu, jakiś komunikat o błędzie?
crishoj

3

Istnieje kilka dobrych modyfikacji w GitHub. Najłatwiejszy do znalezienia jest tutaj:
https://gist.github.com/CrazyApi/5377685

Upewnij się, że masz ustawiony klawisz skrótu do przełączania iTerm. Po wyłączeniu ikony dokowania nie ma innego sposobu, aby uruchomić okno. Aby uzyskać styl wizjera TotalTerminal, musisz ustawić styl preferencji okna iTerm na „Góra ekranu”

Umieść kod z postu GitHub w swoim profilu bash:

  1. Otwórz iTerm (upewnij się, że iTerm znajduje się w folderze aplikacji lub zmodyfikuj kod, aby wskazywał prawidłową ścieżkę)
  2. Wchodzić nano .bash_profile
  3. Wklej ten kod:

    # toggle iTerm Dock icon
    # add this to your .bash_profile or .zshrc
    function toggleiTerm() {
        pb='/usr/libexec/PlistBuddy'
        iTerm='/Applications/iTerm.app/Contents/Info.plist'
    
        echo "Do you wish to hide iTerm in Dock?"
        select ync in "Hide" "Show" "Cancel"; do
            case $ync in
                'Hide' )
                    $pb -c "Add :LSUIElement bool true" $iTerm
                    echo "relaunch iTerm to take effectives"
                    break
                    ;;
                'Show' )
                    $pb -c "Delete :LSUIElement" $iTerm
                    echo "run killall 'iTerm' to exit, and then relaunch it"
                    break
                    ;;
            'Cancel' )
                break
                ;;
            esac
        done
    }
  4. Control + X, aby wyjść z nano
  5. Y i Enter, aby zapisać
  6. Uruchom iTerm i wpisz toggleiTerm
  7. Wpisz 1i wprowadź
  8. Uruchom ponownie aplikację.

Zysk.


Działa to zgodnie z oczekiwaniami. Jedynym problemem jest to, że ukrywa również pasek menu na stałe. Ale ponieważ zachowanie można zmienić za pomocą polecenia, myślę, że to wystarczy. Dostęp do preferencji nadal można uzyskać za pomocą [cmd +,]
sparkonhdfs

Jest to pierwszy hit w Google ze słowami kluczowymi „osx remove cmd tab iterm”. Link gist jest martwy, ale na podstawie historii edycji potrzebny kod jest podany w odpowiedzi.
Christian

3

Otwórz Preferencje iTerm2, przejdź do zakładki Wygląd i pod pozycją System zaznacz opcję Wyklucz z Docka i ⌘-Tab Application Switcher .

metoda


0

Istnieje kilka aplikacji, które mogą „przełączyć hit”, ponieważ działają jako aplikacja okienkowa / tradycyjna, gdzie pokazuje się na ekranie przełączania aplikacji oraz jako aplikacja w tle lub aplikacja paska menu.

Przykłady tego można znaleźć w Dash , Take Five i Skitch . Każda z nich ma preferencje do uruchamiania na „pierwszym planie” lub „w tle”, a kiedy wprowadzasz zmiany w tej preferencji, musisz zamknąć i ponownie uruchomić aplikację, aby system wiedział, jak obsługiwać stację dokującą, okna i menu pasek, a także przełącznik aplikacji.

wprowadź opis zdjęcia tutaj

Nie widzę żadnego znaku, że iTerm 2 ma tę funkcjonalność, więc w najlepszym razie będziesz musiał zmodyfikować aplikację lub ponownie skompilować ją, jeśli jest gotowa do pracy i po prostu brakuje przełączania preferencji w aplikacji. Podejrzewam, że aplikacja będzie wymagała więcej programowania, aby obsłużyć oba przypadki i będziesz musiał żyć z tą aplikacją w przełączniku lub wybrać inne narzędzie emulacji terminala.

Zasadniczo system operacyjny może pomieścić aplikację zaprojektowaną do rezygnacji ze stacji dokującej i przełącznika aplikacji, ale nie jest to tak proste, jak ustawienie jednej preferencji dla dowolnej aplikacji, którą chcesz zmienić.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.