隐藏启动器中的两个终端之一?

我正在使用Ubuntu 14.04,我试图从启动器中删除正在运行的程序。

具体来说,我想推出两个终端。 一个用于我正常工作的几个选项卡,另一个用于运行ssh连接。 我想隐藏发射器中的第二个并“将它最小化到托盘”(这就是我在Windows中称之为的方式)。

有没有办法做到这一点?

为了让您能够接受您选择作为答案的解决方案,我将重复上述评论。 虽然这只是一个简单的解决方法,并不能真正与@ JacobVlijm令人印象深刻的答案并存!

所以我的暗示是在系统设置面板中启用不同的工作区。 当您在一个工作区中打开一个窗口时,在其他工作区中看不到它。

但是使用Unity时,无论如何,Launcher中的图标都会突出显示,即使唯一打开的窗口位于另一个工作区中。
在其他DE(我知道XFCE和LXDE)中,情况并非如此。 面板/任务栏不显示那里的非活动工作区的运行程序。

使用下面的脚本切换可见性(使用组合键),您可以在最小化时隐藏一个终端窗口(完全),就好像它不存在一样,而另一个终端窗口在最小化时在启动器中保持可见。

为隐藏的终端窗口创建单独的配置文件

诀窍是在gnome-terminal首选项中创建一个单独的配置文件,在窗口标题中有一个与众不同的名称。 这样就可以使用wmctrl -l命令识别终端窗口,并使用xdotoolwindowunmap命令取消映射 ,使其在Launcher中不可见。

切换可见性/使用组合键打开“隐藏”窗口

您必须设置一个组合键以切换终端窗口的可见性,因为它在启动器中不可见(请参见下文)。

如何设置

该脚本需要安装xdotoolwmctrl

 sudo apt-get install xdotool sudo apt-get install wmctrl 

然后:

  1. gnome-terminal首选项中创建单独的配置文件:选择“编辑”>“配置文件”,然后单击“新建”。

    • 将新配置文件命名为(隐藏)“隐藏”
    • 在“标题和命令”选项卡中,将窗口标题设置为(确切地)“Hidden_​​Profile”,放在窗口标题之前:

      在此处输入图像描述

      注意您可能必须注销/以使配置文件“可加载”

  2. 通过运行命令测试配置文件是否正常工作:

     gnome-terminal --window-with-profile=Hidden 

    应弹出一个窗口,窗口标题中带有“Hidden_​​profile”:

    在此处输入图像描述

  3. 将下面的脚本复制到一个空文件中,将其另存为run_hidden.py

  4. 通过命令测试运行它:

     python3 /path/to/run_hidden.py 

    它应该做什么:

    • 如果没有来自单独配置文件的终端窗口正在运行,则运行它:应从单独的(“hidable”)配置文件打开一个新终端。
    • 再次运行:窗口将(完全)隐藏,也来自启动器
    • 第三次运行:窗口应该重新出现
  5. 如果一切正常,请将脚本(运行命令)添加到快捷方式组合中:选择:系统设置>“键盘”>“快捷方式”>“自定义快捷方式”。 单击“+”并添加命令:

     python3 /path/to/run_hidden.py 

剧本

 #!/usr/bin/env python3 import subprocess import os home = os.environ["HOME"] hidden_windowid = home+"/.window_id.txt" get = lambda cmd: subprocess.check_output(cmd).decode("utf-8") def execute(cmd): subprocess.check_call(cmd) try: w_id = [l.split()[0] for l in get(["wmctrl", "-l"]).splitlines() if "Hidden_Profile" in l][0] execute(["xdotool", "windowunmap", w_id]) with open(hidden_windowid, "wt") as out: out.write(w_id) except IndexError: try: with open(hidden_windowid) as read: w_id = read.read() execute(["xdotool", "windowmap", w_id]) except subprocess.CalledProcessError: execute(["gnome-terminal", "--window-with-profile=Hidden"]) 

说明

该脚本使用wmctrl通过其(窗口)名称来标识窗口,因为我们在单独创建的配置文件中为此目的提供了该窗口。 一旦我们有了id ,我们就可以用xdotoolwindowunmap命令取消映射。

为了确保我们可以重新出现窗口, id存储在一个隐藏文件中; 如果重新映射失败,脚本会断定特殊配置文件没有打开窗口,它会通过命令打开一个窗口:

 gnome-terminal --window-with-profile=Hidden 

我过去常常使用Tilda 。 它具有很好的显示和隐藏function,就像它在Doom或Quake中的名字一样。 如果您更喜欢Python版本,它也就是名字的Guake 。

它基本上是另一个终端应用程序,它将自己绑定到一个关键组合,并且仅在您按下所述键组合时显示(当然也隐藏它)。

sudo apt-get install guake – 为Tilda看到它的页面。

现在,显然你可能不想要 另一个终端应用程序,因为有些人就足够了。 但有些人更喜欢不止一个,因为:

  • 它是用于不同目的的不同应用程序
  • 它向下滑动时很酷,很酷,它在不需要时保持隐藏状态
  • 他们喜欢雷神之锤

有一个内置的选项来做到这一点,但它有一点点错误:

  1. 使用Ctrl + Alt + t打开第一个终端(您想要显示的终端)
  2. 使用Ctrl + Alt + t打开第二个终端(您要隐藏的终端)。
  3. 将第二个终端设为活动窗口,然后按Ctrl + Alt + s并单击其他位置。

要恢复隐藏的终端,请单击启动器中的终端图标。

这种方法的问题在于,有时,由于存在错误,您需要先关闭所有可见的终端,以便隐藏终端再次显示。