我正在努力组织我的工作区。我每个正在处理的项目都有一个工作区。有些应用程序我可以固定到一个工作区,因为它们只需要用于一个项目。其他应用程序(如 Firefox)我需要在所有工作区中运行。现在,当我从没有 Firefox 实例的工作区打开 Firefox 时,我要么被带到一个有 Firefox 实例的工作区,要么启动一个新的 Firefox 实例。
当当前工作区中没有新实例时,如何才能始终启动新实例?打开 gnome-tweaks 中的“启动新实例”插件会启动新实例,即使当前工作区中有一个打开的实例。
基本上,当我打开 Firefox(或任何未固定到工作区的应用程序)时,我希望发生以下情况:
当前工作区中是否有正在运行的实例?-> 将焦点放在该实例上
,否则,在当前工作区中启动一个新实例。
我怎样才能实现这个目标?
答案1
你需要 ”隔离“您当前的工作区。您可以使用工作区隔离破折号例如 GNOME shell 扩展。但是,由于现在的 Ubuntu(版本 17.10 及更高版本)附带了 Ubuntu Dock(Dash to Dock 的一个分支),您只需在终端中运行以下命令即可激活它,无需执行任何额外操作:
gsettings set org.gnome.shell.extensions.dash-to-dock isolate-workspaces true
答案2
dconf-编辑器
在 Ubuntu 20.04 LTS 中,似乎比
dconf-editor
更强大 且更易于使用(比或)。gnome-tweaks
gsettings
dconf
工作区相关选项:
- /org/gnome/shell/extensions/dash-to-dock/isolate-workspaces
- /org/gnome/shell/app-switcher/current-workspace-only
- /org/gnome/shell/window-switcher/current-workspace-only
运行dconf-editor
,按Ctrl+L输入位置路径。
截屏:
答案3
然后我们需要设置:
gsettings set org.gnome.shell.extensions.dash-to-panel isolate-workspaces true
gsettings set org.gnome.shell.app-switcher current-workspace-only true
gsettings set org.gnome.shell.window-switcher current-workspace-only true
这可能对某些应用程序不起作用,除非您.desktop
按照如下所示编辑这些应用程序。
在此之前,请检查:启动新实例:无法在 Xorg 上的 Ubuntu 18.04 Gnome 上运行。
sublime 有一个“新窗口”桌面操作,但是 gnome-shell 无法识别它,因为它不用
new-window
作标识符。
例如:
[Desktop Entry]
Name=VSCodium
Comment=Code Editing. Redefined.
GenericName=Text Editor
Exec=/usr/share/codium/codium --unity-launch %F
Icon=vscodium
Type=Application
StartupNotify=false
StartupWMClass=VSCodium
Categories=TextEditor;Development;IDE;
MimeType=text/plain;inode/directory;application/x-codium-workspace;
Actions=new-empty-window;
Keywords=vscode;
[Desktop Action new-empty-window]
Name=New Window
Exec=/usr/share/codium/codium --new-window %F
Icon=vscodium
这里,查看Actions=new-empty-window;
其中的动作标识符new-empty-window
。这是行不通的。我们必须复制.desktop
文件进去~/.local/share/applications
然后替换new-empty-window
为new-window
然后运行update-desktop-database ~/.local/share/applications
(然后我们可能必须使用Alt+F2→ r→重新启动 gnome 会话Enter)。
对于某些应用程序来说,可能根本没有任何操作。例如,fsearch。
[Desktop Entry]
Version=1.0
Type=Application
Name=FSearch
Comment=A file search application focusing on performance and advanced features
Icon=io.github.cboxdoerfer.FSearch
TryExec=fsearch
Exec=fsearch
Categories=GTK;Utility;Core;
Keywords=search;fsearch;files;folders;music;video;documents;find;tool;everything;
StartupNotify=true
在这种情况下,我们必须像下面这样编辑文件:
[Desktop Entry]
Version=1.0
Type=Application
Name=FSearch
Comment=A file search application focusing on performance and advanced features
Icon=io.github.cboxdoerfer.FSearch
TryExec=fsearch
Exec=fsearch
Categories=GTK;Utility;Core;
Keywords=search;fsearch;files;folders;music;video;documents;find;tool;everything;
StartupNotify=true
Actions=new-window;
[Desktop Action new-window]
Name=New Window
Exec=fsearch --new-window
Icon=io.github.cboxdoerfer.FSearch
请注意,我已添加Actions=new-window;
以下内容[Desktop Entry]
,然后添加[Desktop Action new-window]
希望这可以帮助。