当当前工作区中没有打开实例时启动新实例

当当前工作区中没有打开实例时启动新实例

我正在努力组织我的工作区。我每个正在处理的项目都有一个工作区。有些应用程序我可以固定到一个工作区,因为它们只需要用于一个项目。其他应用程序(如 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
gsettingsdconf

工作区相关选项:

  • /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输入位置路径。


截屏:

dconf-编辑器

答案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-windownew-window然后运行update-desktop-database ~/.local/share/applications(然后我们可能必须使用Alt+F2r→重新启动 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]

希望这可以帮助。

相关内容