当最大化时,有什么方法可以阻止窗口的标题栏与面板合并吗?


36

我正在使用具有大量屏幕房地产的台式机,因此在最大化窗口时,不需要窗口的标题栏与全局菜单栏合并。而且,我正在进行双屏设置,因此窗口最大化的事实并不意味着它是唯一可见的窗口。

在Unity之前,我将通过单击其标题栏切换到最大化窗口,或者通过单击其关闭按钮关闭该窗口(即使该窗口没有聚焦);我无法再执行此操作,因为该屏幕上缺少标题栏,并且全局菜单栏为空。这不是一个大问题-我可以单击窗口的某些镶边以使其聚焦-但这并不直观,并且迫使我重新学习鼠标行为。

我想关闭标题栏和全局菜单栏的合并,但是如何?

编辑:

我只是希望在最大化窗口时,窗口的标题栏不与顶部面板合并。就我而言,全局菜单应保留在顶部面板中。目前,它像这样最大化

在此处输入图片说明

我希望它这样最大化(在那个屏幕中,未最大化的窗口已调整大小以占用其余空间)

在此处输入图片说明


使用经典的Gnome 2桌面不是更好的选择吗?
本杰明

6
不,经典GNOME 2并不是更好的选择。Unity中的很多功能还不错,但是通过多显示器设置,即使窗口最大化,也可以单击窗口的标题栏来聚焦它,这很有用。Unity的将标题栏合并到面板中的行为使用户无法做到这一点。但这并不是把婴儿与洗澡水一起扔出去的原因。
理查德·特纳

可以使用自定义会话来完成此操作,但是它不能按您希望的那样工作,因为全局菜单仅在鼠标悬停时才可见,如第二个屏幕截图所示。您将只获得2个标题栏副本。
Veazer

@Veazer好吧,这是一个开始;至少剩下的问题就是如何修补全局菜单,使其始终显示而不是仅在鼠标悬停时显示。小心提交答案,解释如何使用自定义会话实现此目标?
理查德·特纳

您正在使用Unity 3D还是2D?如果是2D,则要窗口管理器使用metacity还是compiz?
Veazer

Answers:


2

Ctrl + Alt 5似乎是您目前最好的选择。抱歉。也许要消除诱惑,您可以在Ubuntu-Tweak中删除最大化按钮,但是从现在开始,如果最大化窗口,它将简单地标题栏与菜单栏合并


1
这事有进一步更新吗?
AlexP

ctrl + alt + 5在这里什么也不做,但是ctrl + alt + numpad5只是最大化,并且标题栏仍合并:(
Aquarius Power

@AlexP我在下面写了一个脚本可能对您也有帮助:)
Aquarius Power

4

当标题栏拖到Unity顶部/上级栏附近时,可以禁用窗口最大化到标题栏。

造访:http : //ubuntuforums.org/showthread.php?t=1743309(注意:第6则来自stevecomrie的文章)

  • 打开CompizConfig设置管理器
  • 单击“窗口管理”类别中的“网格”
  • 点击“边缘”标签
  • 打开“调整大小”下拉菜单
  • 将“顶部边缘”下拉菜单更改为“无”
  • 关闭CompizConfig,您就完成了。

这只是部分解决方案。当您运行某些应用程序时,它们仍将启动进入合并状态。而且,您仍然可以通过双击未合并的应用程序的标题栏无意间导致合并。任何对如何完全禁用统一面板与应用程序标题栏合并的任何和所有线索的人都将不胜感激!


该解决方案还可以用于禁用左/右边缘行为。
ImaginaryRobots 2012年

3

对于Unity 3D,您可以尝试此脚本。

基本上,它将检查最大化的窗口,并将其最小化,并将它们调整为最大可能的宽度高度(在进行测试后,您会发现它在您的机器上运行良好);如果您觉得某些工作不正常,也可以使用nXpos和nYpos。

demaximize.sh 1005 710 #for 1024x768至少可以在这里工作...

#!/bin/bash

# make tests to your system, this works 'here' at 1024x768
nWidth=$1 #1005
nHeight=$2 #710
nXpos=1
nYpos=22

while true; do 
    windowId=`xdotool getactivewindow`;
    if xwininfo -wm -id $windowId |tr -d '\n' |grep -q "Maximized Vert.*Horz";then
        wmctrl -i -r $windowId -b toggle,maximized_vert,maximized_horz;
        xdotool windowsize $windowId $nWidth $nHeight;
        xdotool windowmove $windowId $nXpos $nYpos;
        xdotool getwindowname $windowId
    fi; 
    sleep 0.5;
done

PS .:为使铬/铬更好地工作,请启用“使用系统标题和边框”选项


一种新颖的方法,但这确实是一个可怕的技巧,不是吗?:)
理查德·特纳

...这行得通,并且可以改善以使其工作得更好:),我当前的实现有220行代码:D,但这确实是一个可怕的hack ...我被迫修复了窗口放置“ bugs”?窗口管理器以及许多其他奇怪的事情,如果有一个窗口管理器选项不最大化而不只是使窗口具有最大可能的大小,那将是不必要的;以便将其伪最大化...
Aquarius Power

2

资料来源: http : //ubuntuguide.net/unity-2d-how-to-removeenable-maximized-window-titlebar

这可以通过gconftool处理。如果您安装了GUI前端“ gconf-edtor”,则只需启动它并导航到/apps/metacity/general,然后取消选中“ show_maximized_titlebars”以删除最大化的窗口标题栏。


或者,您可以在终端中执行以下命令将其删除:

gconftool --type bool --set /apps/metacity/general/show_maximized_titlebars false

运行以下命令以重新启用它:

gconftool --type bool --set /apps/metacity/general/show_maximized_titlebars true

1
自发布此问题以来,我已经很长时间没有使用过了,所以我无法测试人们的回答。我对您的答案寄予厚望,但是在Ubuntu 12.10上成熟的Unity中,它不起作用。也许它只适用于Unity 2D。...–
理查德·特纳

是的,这仅适用于Unity 2D。通知apps/metacity。Unity 3D使用Compiz,Unity 2D使用Metacity。
塞斯(Seth)

0

据我所知,这不可能(有传言称将其引入Ubuntu 12.04或12.10,但我们必须拭目以待)。现在和现在的一个可能解决方案是使用Emerald作为窗口装饰器,但是我不知道这是否可以100%起作用。


0

我几乎开始哭泣,试图摆脱Ubuntu 13.10上的全局菜单。您会看到我的主要应用程序(例如Eclipse和Android Studio)在合并时有时会“失败”。您最终将拥有仅部分展开的合并菜单,这意味着您无法再使用该程序。所以我找到了这个参考:

如何删除UBUNTU 13.10上的全局菜单栏

$ sudo apt-get remove indicator-appmenu

我也必须重新启动,现在生活要好得多。


很高兴您找到问题的解决方案,生活会更好,但这与所询问的问题无关,这与窗口标题栏有关,而不与全局菜单有关。
理查德·特纳2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.