如何停止打开应用程序并退出“活动概览”?

如何停止打开应用程序并退出“活动概览”?

我经常需要进入“活动概述”并打开许多应用程序,因此,如果每次我单击打开一个应用程序时,我都会离开 AO 并进入该应用程序,那就相当烦人了,尽管这在某些情况下很有用,但我更愿意留在 AO 中以及我所在的任何部分。

可以这样做吗?也许有扩展可以实现这一点?我更希望能够SHIFT单击应用程序上的某个东西来打开它,但不会将我带出 AO,这样当我不需要它时会更容易。

我正在运行带有 GNOME 3.20 的 Ubuntu GNOME 16.04。

答案1

稍微修改过的版本这个脚本允许一次选择多个应用程序:

在此处输入图片描述

剧本

#!/usr/bin/env python3
import subprocess
import os

dr = "/usr/share/applications"

apps = []

for f in [f for f in os.listdir(dr) if f.endswith(".desktop")]:
    try:
        content = open(dr+"/"+f).read()
        if not "NoDisplay=true" in content:
            lines = content.splitlines()
            name = [l for l in lines if l.startswith("Name=")][0].replace("Name=", "")
            command = [l for l in lines if l.startswith("Exec=")][0].replace("Exec=", "")
            comment = [l for l in lines if l.startswith("Comment=")]
            comment = comment[0].replace("Comment=", "") if comment else "No description"
            apps.append([name, command, comment])
    except:
        pass

apps.sort(key=lambda x: x[0]); apps = sum(apps, [])
displ_list = '"'+'" "'.join(apps)+'"'

try:
    chosen = subprocess.check_output([
        "/bin/bash",
        "-c",
        'zenity --list '+\
        '--multiple '+\
        '--column="Applications" '+\
        '--column="commands" '+\
        '--column="Description" '+\
        '--hide-column=2 --height 450 '+\
        '--width 500 '+\
        '--print-column=2 '+displ_list
        ]).decode("utf-8").split("|")
    for item in chosen:
        item = item.strip()
        item = item[:item.rfind(" ")] if "%" in item else item
        subprocess.Popen([
            "/bin/bash", "-c", item
            ])
except subprocess.CalledProcessError:
    pass

使用

  • 将以下脚本复制到一个空文件中,并将其另存为list_apps.py
  • 通过命令测试运行它(打开一个终端窗口,输入命令并按Return):

    python3 /path/to/list_apps.py
    
  • 如果一切正常,请将其添加到快捷键:选择:系统设置>“键盘”>“快捷键”>“自定义快捷键”。单击“+”并添加命令:

    python3 /pat/to/list_apps.py
    

    为您喜欢的快捷键组合。

解释

该脚本列出了.desktop中的所有文件/usr/share/applications,并检查文件中是否存在该行NoDisplay=true(这意味着它不打算用作 GUI)。然后,它会查看文件,查找应用程序名称和运行它的命令。

与链接答案的区别主要在于 zenity 窗口设置为允许多项选择

答案2

已经有这样的功能可以做到这一点,只需在活动概述中CTRL+CLICK一个项目(例如:应用程序、文件等)即可打开它,但不能关闭 AO。

相关内容