TotalTerminal不适用于全屏应用


8

TotalTerminal(前Visor)是终端的一个很棒的插件,可以将它变成一个Quake风格的控制台,可以向下滑动一个组合键。

TotalTerminal

这对于开发非常有用,因为我可以在编写代码或浏览时键入命令而无需额外的窗口喧嚣。

不幸的是,TotalTerminal在全屏应用中效果不佳。如果我将Sublime Text置于全屏模式并触发终端,Mission Control将滚动到最近的非全屏空间,然后才会显示终端。

这非常烦人。是否有可能修复或解决此问题?

Answers:


7

这是一个已知问题作者 不打算修复它。

我鼓励有人进一步实施它,因为我个人现在不使用全屏应用程序,我不打算很快解决这个问题。

幸运的是,vvlad描述了一种解决方法

作为一种解决方法,您可以LSUIElement在Terminal的Info.plist中进行设置

它有几个缺点,但其他方面就像一个魅力:

  • 终端不再显示在Dock上;
  • 在全屏应用程序窗口上打开的每个TotalTerminal遮阳板顶部都有一个顶部栏大小的空间;
  • 你不能再常规的终端窗口;
  • 你不能强制杀死终端进程。

这是它的样子:

全屏应用上的TotalTerminal

这个怎么运作

LSUIElement(String - Mac OS X)指定应用程序是否作为代理程序应用程序运行。如果此键设置为“1”,则启动服务将应用程序作为代理应用程序运行。代理应用程序不会出现在Dock或强制退出窗口中。虽然它们通常作为后台应用程序运行,但如果需要,它们可以到前台呈现用户界面。单击属于代理应用程序的窗口会使该应用程序转发以处理事件。

Dock和loginwindow是两个作为代理应用程序运行的应用程序。

怎么做

  1. 打开终端(假设您已经安装了TotalTerminal)
  2. sudo nano /Applications/Utilities/Terminal.app/Contents/Info.plist
  3. 在打开<dict>标签后立即添加这两行:

    <key>LSUIElement</key>
    <true />
  4. 按下保存并关闭文件 ^O Enter ^X
  5. 退出终端并再次启动它

TotalTerminal现在在其首选项面板中有一个选项,我发布了一个新的答案,包括截图
The Mighty Chris

我无法在OSX Yosemite 10.10中正常工作。每当显示TotalTerminal时,它都会切换回主空间。
rossipedia 2014年

@rossipedia - 请参阅下面的Yosemite修复答案。
cchamberlain 2015年

3

优胜美地用户

Apple改变了LSUIElement在优胜美地的运作方式。它将导致应用程序作为代理程序运行,但不会再使其覆盖全屏Windows。

要修复,请按照其他人的说明打开Info.plist文件,并添加以下两个元素:

<key>LSUIElement</key>
<true/>
<key>LSUIPresentationMode</key>
<string>4</string>

LSUIPresentationMode(Number - OS X)标识应用程序的初始用户界面模式。您可以在可能需要接管包含UI元素(如Dock和菜单栏)的部分屏幕的应用程序中使用此功能。大多数模式仅影响出现在屏幕内容区域中的UI元素,即不包括菜单栏的屏幕区域。但是,您也可以请求隐藏所有UI元素。

4 - 所有抑制模式。在此模式下,所有UI元素都被隐藏,包括菜单栏。UI元素可以响应于鼠标移动或其他用户活动而自动显示。此选项仅在OS X v10.3及更高版本中可用。

资源


1

TotalTerminal现在在其首选项面板中有一个选项,用于启用相同的底层选项@ Dan的答案说明了手动设置:

TotalTerminal首选项的屏幕截图

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.