使用 .desktop 文件打开 Gnome 活动和应用程序视图

Seb*_*ian 9 gnome

是否可以在 Gnome 中打开活动和应用程序视图,其中包含两个.desktop我可以保存在~/.local/share/applications.

UnK*_*OWn 8

对于从 .desktop 文件调用的活动概览,创建一个文件,如 callActivitiesView.desktop 或具有以下内容的任何类似名称。

[Desktop Entry]
Type = Application
Name = callActivitiesView
Exec = gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval string:'Main.overview.toggle();'
Icon = emoji-people-symbolic
Run Code Online (Sandbox Code Playgroud)

注意:对于图标字段,您可以随意放置任何绝对路径或具有已知名称的任何系统图标。

对于从 .desktop 文件调用的应用程序视图,创建一个文件,如 callApplicationsView.desktop 或具有以下内容的任何类似名称。

[Desktop Entry]
Type = Application
Name = callApplicationsView
Exec = /usr/local/bin/cAV.sh
Icon = emoji-people-symbolic
Run Code Online (Sandbox Code Playgroud)

并使用 belwo 内容创建一个具有可执行权限的脚本文件(根据需要更改文件的路径)

#!/bin/bash

status=`gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval 'Main.overview.visible'`

if [ "$status" == "(true, 'false')" ]; then

dbus-send --session --type=method_call --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'Main.shellDBusService.ShowApplications()'
else
dbus-send --session --type=method_call --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'Main.overview.hide()'
fi
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明