• 2007-08-16

    窗口保持最前 - [LBE]

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://gosman.blogbus.com/logs/7752095.html

    原文:makes your windows stay on top, toggle it.
    作者:mysurface
    译者:gosman(lianmingchang2008#gmail.com)
    来自:http://gosman.blogbus.com
    版本:V 1.0.0
    时间:2007-8-16

    希望有一个快捷的方式使窗口保持最前吗?任何EWMH(Extended Window Manager Hints)兼容的窗口管理器,如GNOME(metacity)、fluxbox、xfce、compiz、beryl等都支持这个特性。

    可以在窗口菜单找到相应选项,比如compiz是"On top",Metacity是"Always On Top"。对Fluxbox,它使用的是Layer。

    按键绑定

    想要使"总在最前"有个快捷方式,需要作一些手动调整。我测试了三种不同的窗口管理器(Fluxbox、Metacity、Compiz)。

    Fluxbox

    我最喜欢的窗口管理器。Fluxbox添加键绑定很方便,只要修改~/.fluxbox/keys文件即可。

    如果你使用Fluxbox v1.0rc3或以上的版本,添加以下语句到keys文件。

    
    Mod1 a :ToggleCmd {RaiseLayer} {LowerLayer}

    Mod1指示Alt键,ToggleCmd实现键切换,更多信息参见Fluxbox的键绑定部分

    如果你阅读Fluxbox手册,会发现没有RaiseLayer和LowerLayer的内容。这是隐藏的高级代码。

    当你按键触发时,Layer的状态不会改变。你可以用Fluxbox的Layer菜单检查它的状态,你会发现并没有定义状态。要解决这个问题,用以下的语句替换。

    
    Mod1 a :ToggleCmd {MacroCmd {RaiseLayer} {RaiseLayer}} {MacroCmd {LowerLayer} {LowerLayer}}
    

    这要感谢_mark,现在它按预想的方式工作。

    旧版本的Fluxbox,可以使用wmctrl

    
    Mod1 a :ExecCommand wmctrl -r :ACTIVE: -b toggle,above

    Compiz

    对于Compiz,需允许Extra WM Actions,再检查属性,在Key域输入ALT+A来切换Always-On-Top动作。

    Gnome(Metacity)

    通过gconf-editor修改键值。在apps -> metacity -> windows_keybindings,修改toggle_above的值为a


    收藏到:Del.icio.us