从cmd + tab应用程序中删除iterm


10

我正在使用TotalTerminal在快捷方式上获得类似于终端的遮阳板。但是TotalTerminal被放弃了,所以我改用了iTerm2。我的问题是,当我使用快捷方式触发iTerms遮阳器行为和配置文件时,它也像普通应用一样被激活并进入Cmd+ Tab应用列表,但我不希望那样。有没有办法防止iTerm2的面罩配置文件出现此类行为?


1
通常,程序需要以菜单/不带界面的应用程序的形式向操作系统展示自己,而码头上没有任何图标。您是否已检查iTerm设置或联系开发人员?
bmike

我检查了iTerm首选项,但无法获得所需的行为。我尚未联系开发人员。
SASAŠijak

Answers:


8

当前,截至2016年10月,iTerm2已启用此功能。转到首选项->高级->常规-> Hide iTerm2 from the dock and from the ⌘-Tab app switcher


4
从v3.1.2开始,此首选项已移至“ 系统” ->“ 从Dock和⌘-Tab应用程序切换器中排除”下的“ 外观”选项卡。
Alex Lipov '17

完成此操作后,没有菜单栏可以再次访问设置。如果遇到问题,可以通过运行defaults write com.googlecode.iterm2 HideFromDockAndAppSwitcher 0then killall iTerm并重新启动它来撤消此更改。
BinarySplit '19

4

“启动服务键” LSUIElement.plist的iTerm2文件是你的朋友。

要在切换器中隐藏iTerm2,请打开“终端”并输入:

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

您将需要重新启动iTerm2才能使设置生效。

如果希望再次显示iTerm,请使用以下命令:

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

苹果公司的解释:

LSUIElement “应用程序是代理程序(UIElement)”。指定该应用程序是否是代理程序应用程序,即不应出现在“停靠”或“强制退出”窗口中的应用程序。有关详细信息,请参见LSUIElement。


此设置不适用于MAMP :(
Alisso,2016年

@Alisso,您能否提供更多细节?
crishoj '16

我通过键盘大师解决了这个问题:)(我在Keyboard Maestro中找到了“排除”选项卡-尽管起初也不是很明显。)
Alisso 2016年

这个答案对我不起作用(尽管被接受的答案起作用)。这很奇怪,因为他们基本上都这样做。
邦布

@bumbu,有任何错误消息吗?
crishoj '16

3

GitHub上有一些不错的修改。我发现的最简单的方法是:https :
//gist.github.com/CrazyApi/5377685

确保已设置热键来切换iTerm。禁用停靠图标后,将无法启动窗口。要获取TotalTerminal遮阳板样式,您需要将iTerm窗口偏好设置样式下拉菜单设置为“屏幕顶部”

将GitHub帖子中的代码放在您的bash_profile中:

  1. 打开iTerm(确保iTerm位于您的应用程序文件夹中或修改代码以指向正确的路径)
  2. 输入 nano .bash_profile
  3. 粘贴以下代码:

    # 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退出nano
  5. 是,然后按Enter以保存
  6. 启动iTerm并输入 toggleiTerm
  7. 输入1和输入
  8. 重新启动应用程序。

利润。


这按预期工作。唯一的问题是它还会永久隐藏菜单栏。但是由于可以用命令切换行为,所以我认为就足够了。仍然可以通过[cmd +,]来访问首选项
sparkonhdfs

这是第一个在Google中使用关键字“ osx remove cmd tab iterm”的命中。要点链接已死,但是根据编辑历史记录,答案中提供了所需的代码。
基督教徒

3

打开“ iTerm2首选项”,转到“ 外观”选项卡,然后在“ 系统项目”下,选中“ 从Dock和⌘-Tab应用程序切换器中排除”

方法


0

有一些应用程序可以“切换命中”,它们既可以作为窗口/传统应用程序运行(在应用程序切换器屏幕中显示),又可以作为后台应用程序或菜单栏应用程序运行。

有关示例,请查看DashTake FiveSkitch。每个都有在“前景”或“背景”中运行的首选项,当您对该首选项进行更改时,您必须退出并重新启动应用程序,系统才能知道如何处理底座,窗口和菜单栏以及应用程序切换器。

在此处输入图片说明

我没有迹象表明iTerm 2具有此功能,因此充其量如果您准备好运行并且仅缺少应用程序中的首选项切换,那么您最多将需要修改应用程序或重新编译它。我怀疑该应用程序将需要添加更多的程序来处理这两种情况,并且您需要在切换器中使用该应用程序,或者选择其他终端仿真工具。

基本上,操作系统可以容纳旨在退出停靠站和应用程序切换器的应用程序,但这并不像在要更改的任何应用程序上设置首选项那样简单。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.