工作区和它们之间导航的快捷方式的想法很好。此外,与使用网格相比,我喜欢它的线性形式。
目前,我的具体问题是:有没有办法分配一个快捷键以便直接导航到当前工作区中没有的打开的程序,如 Chrome 或 VSCode?
答案1
仅限 Xorg
例如,如果一个终端打开了,则切换到该终端,否则启动一个终端,这是一条简单的单行命令:
sh -c "wmctrl -x -a Google-chrome || google-chrome"
这用于
wmctrl
检查类名为 ( )“Google-chrome”的窗口是否-x
正在运行,并切换到该窗口 ( )。如果失败,则改为运行-a
后面的命令(“或”),以启动 Chrome。您可以省略第二部分 ( ) 以获得实际要求的内容:使用热键切换到应用程序(但如果应用程序未运行,则不会执行任何操作)。||
|| ...
执行此操作的 bash 脚本是
jumpapp
。
Wayland 和 Xorg
wmctrl
无法在 Ubuntu 22.04 上的默认显示服务器 Wayland 上运行。选项和控制更加有限,但实现运行或提升行为的方法包括
指定一个按键来启动n停靠栏上的第 1 个应用程序或使用现有的应用程序 ( Super+ n。
固定的应用程序会保留其在 Dock 上的位置。假设您将 Chromium 固定在第一个位置,则默认情况下,Supe+1将切换到或启动 Chromium。
您可以使用
dconf-editor
编辑此快捷键,即更改或添加与该功能的键绑定,或使用命令执行此操作,例如gsettings set org.gnome.shell.keybindings switch-to-application-1 "['<Super>1', '<Super>w']"
这将添加快捷方式Super+W以切换到或启动 Chrome。
实现此功能的一个更强大、更灵活的方法是使用扩展跑动或加注由 e2rd 开发。只能希望 Gnome Shell 的未来版本能够继续支持此扩展。