如何在 GNOME 3 中移动子窗口而不移动或最小化父窗口?

Mon*_*ist 49 gnome window-manager dialog mutter window-management

我有带有 GNOME 3 的 Ubuntu 17.10。

会发生什么:
我(例如)打开了 LibreOffice Calc,其中包含一些数据列。我突出显示要绘制的列,然后选择 INSERT > CHART。图表子窗口对话框弹出在我的数据之上,所以我想把它移到一边。

当我抓住顶部栏并移动它时,父(电子表格)窗口最小化(我认为它实际上消失了)。继续上面的例子,如果我点击图表窗口上的完成,我可以看到最小化的电子表格应用程序,它是窗口标题栏和它正下方的菜单栏。

这似乎是非常奇怪的行为,当然属于“对用户没有用处”的类别,因为首先移动子窗口的整个想法只是为了能够更好地查看电子表格!

在其他应用程序中,例如 PDF 查看器,会出现稍微不同的问题。当我尝试移动子窗口(例如打印对话框)时,父窗口不会最小化,而是跟随子窗口四处移动。这并不比让父窗口完全消失更令人惊讶,但在允许用户查看父窗口中存在的信息方面同样无用。

更新 2017/11/06

下面 Pomsky 的回答解决了这个问题,但让我想知道为什么窗口管理器会决定所有子窗口都具有模式行为(或没有),而不是应用程序本身;此外,为什么模态行为会在子屏幕遮挡父屏幕上的有用信息时阻止它四处移动。这些对我来说都不是好的设计......

pom*_*sky 56

可以使用“ (GNOME) Tweaks ”(以前称为“ (GNOME) Tweak Tool ”)来完成。在Windows部分应该有一个“附加模态对话框”的切换按钮。禁用它。
在此处输入图片说明

要安装Tweaks,请运行

sudo apt install gnome-tweaks
Run Code Online (Sandbox Code Playgroud)

(或sudo apt install gnome-tweak-tool)。


替代解决方案:

打开终端并运行

gsettings set org.gnome.shell.overrides attach-modal-dialogs false
Run Code Online (Sandbox Code Playgroud)

这会将模态对话与父窗口分离,因此应该可以解决您的问题。

如果这不起作用,您需要按照OP 的回答切换另一个gsettings/dconf键或使用上述(GNOME)调整

  • “调整”解决方案确实有效。但是另一个选项“gsetting [...] false”不起作用:Inkscape 中有一项功能可以“实时预览”您想要进行的更改,并且在选中时,窗口会恢复为附加状态,即使将 gsettings 设置为 false。 (4认同)
  • Gnome Tweaks 工具有效,cmd 无效。 (2认同)
  • 显然有两个选项,Tweaks 设置的一个是“org.gnome.mutter Attach-modal-dialogs”。这个也可以从命令行运行。 (2认同)

Mon*_*ist 5

感谢上面 pomsky 的建议,它并不能完全完成工作,但引导我进行了我需要的转换。

我使用 dconf-editor 关闭 /org/gnome/mutter/attach-modal-dialogs。

就其价值而言,libreoffice 电子表格的最小化似乎是父窗口最大化的副作用。

更新

Pomsky 建议使用调整工具比使用 dconf-editor 好得多。