禁用 Alt+Tab 切换器按脚本或命令分组

禁用 Alt+Tab 切换器按脚本或命令分组

在采用 Unity 的 Ubuntu 12.04(Precise Pangolin)中,Alt+Tab允许您在窗口组之间切换,并且当该窗口不是最后使用的窗口时,从组中切换到特定窗口会非常烦人。

改变这种行为并得到一个显示所有窗口(不分组)的普通Alt+Tab切换器的一种方法是安装 ccsm(Compiz 配置设置管理器),并启用“静态切换器”或类似的东西(记不清了)。

我需要在几台机器上修改此设置,所以我不想为此安装复杂的软件包。(特别是当此软件包很容易让用户在更改错误设置时完全搞砸他们的系统时)。

因此,我正在寻找一种可靠的方法来更改此配置,通过一个或多个命令(gconftool?),或者直接修改配置文件。

基本上,我想直接在其他机器上执行 ccsm 曾经在我的机器上执行的操作,以恢复理智和简单的Alt+Tab行为。

答案1

我很害怕使用 ccsm,直到我读到博客使得 ccsm 所做的一切看起来只是编辑 compiz .xml 配置文件。

搜索 compiz 会显示:

~/.config/compiz-1
~/.config/compiz-1/compizconfig
~/.gconf/apps/compizconfig-1
~/.gconf/apps/compiz-1
~/.cache/compizconfig-1

我备份了这些目录,然后使用 ccsm 将“unity switcher”更改为“static application switcher”,如图所示这里

然后我退出并重新登录,并将我的备份与更改后的系统进行比较。以下是diff -r compiz_before_change/ compiz_after_relogin/

已更改:

  • 二进制文件~/.cache/compizconfig-1/place.pb
  • ~/.gconf/apps/compiz-1/general/screen0/options/%gconf.xml

    5c5
    <   <entry name="active_plugins" mtime="1354022954" type="list" ltype="string">
    ---
    >   <entry name="active_plugins" mtime="1354023761" type="list" ltype="string">
    70a71,73
    >       </li>
    >       <li type="string">
    >           <stringvalue>staticswitcher</stringvalue>
    
  • ~/.gconf/apps/compiz-1/plugins/unityshell/screen0/options/%gconf.xml

    2a3,5
    >   <entry name="alt_tab_forward_all" mtime="1354023761" type="string">
    >       <stringvalue>Disabled</stringvalue>
    >   </entry>
    

新的:

  • ~/.compiz-1/session: 108caf9cb18e534392135401026619047100000017270046

我觉得这些差异不够大,因为我看不到任何地方显示哪些键绑定被改变了,只有被禁用的键绑定,所以也许 compiz 真的很麻烦,而变化是在二进制文件中 :-( 但愿不是这样!

我认为,如果您扩展备份和比较,也许到整个 /home/ 文件夹,您将能够找出哪些文件包含您要进行的更改,然后您所要做的就是将它们从一台机器复制到另一台机器。

人类可读的配置文件不是很棒吗!:-D 如果 compiz 将设置保存在二进制文件中,那么这样做的程序员就需要接受非常严厉的训诫。>:-|

祝你好运。


PS 如果您想知道,我实际上在重新登录后对相同的文件进行了另一次备份,然后比较了两个备份。对我来说这似乎更快,但我的大脑有时会做出奇怪的事情 ;-)

相关内容