如何在不更改活动工作区的情况下将窗口发送到不同的工作区?

luc*_*rot 10 gnome workspaces

是否有键盘快捷键可以将窗口发送到不同的工作区,同时保留在当前工作区中,以便我现在可以忽略它?

我正在使用带有默认 GNOME 界面的全新安装的 Ubuntu 18.04。在 win10 上,我习惯于将窗口发送到不同的工作区,这样现在就不会打扰我,这要归功于virtualdesktopenhancer

这个问题完全一样,只是它不是关于 GNOME 而是关于 XFCE。我还没有尝试过那里的答案是否也适用于 GNOME,因为我希望有一个更简单的答案。
如果没有更简单的答案,我会很感激能解释如何设置这样一个键盘快捷键的答案。

这个问题在姊妹网站上完全重复 - 没有有效答案。我在这里问是因为这是特定于 ubuntu 的。

cip*_*cus 6

我不使用Gnome的权利,但我看到下聚焦或打开的窗口中GNOME的快捷键wmctrl可与侏儒。

因此,我粘贴了您链接的问题下的答案(在 Xfce 上):

将活动窗口移动到工作区 1:

wmctrl -r :ACTIVE: -t 0  
Run Code Online (Sandbox Code Playgroud)

将活动窗口移动到工作区 2:

wmctrl -r :ACTIVE: -t 1 
Run Code Online (Sandbox Code Playgroud)

将活动窗口移动到工作区 3:

wmctrl -r :ACTIVE: -t 2  
Run Code Online (Sandbox Code Playgroud)

等等...

  • 看起来,结合 [this answer](https://superuser.com/a/1033185/291007) 甚至可以执行“将窗口向下发送一个工作区”而不是“将窗口发送到工作区 3” (3认同)
  • `$((1+$(wmctrl -d | awk '{ if ($2 == "'*'") print $0}' | awk '{print substr($0,1,1)}')))` 给出您是下一个工作区编号 (3认同)

luc*_*rot 3

根据链接的质量检查

wmctrl -r :ACTIVE: -t 0  // Move active window to workspace 1
wmctrl -r :ACTIVE: -t 1  // Move active window to workspace 2
wmctrl -r :ACTIVE: -t 2  // Etc...
Run Code Online (Sandbox Code Playgroud)

在此基础上,这里有一个使用wmctrl 的命令,它将当前活动窗口发送到下一个工作区(相对),而不更改当前活动工作区。

wmctrl -r :ACTIVE: -t 0  // Move active window to workspace 1
wmctrl -r :ACTIVE: -t 1  // Move active window to workspace 2
wmctrl -r :ACTIVE: -t 2  // Etc...
Run Code Online (Sandbox Code Playgroud)

为命令创建快捷方式实际上非常简单:打开“设置”>“设备”>“键盘”,然后向下滚动以添加快捷方式。

如果快捷方式不起作用,但该命令在从终端运行时起作用,请将其保存在文件中 /fullpath/myfile.txt并设置bash /fullpath/myfile.txt为快捷方式命令。这应该适用于GnomeXfce