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

miv*_*ivk 12 configuration unity compiz application-switcher 12.04

在带有 Unity 的 Ubuntu 12.04(精确穿山甲)中,Alt+Tab允许您在窗口组之间切换,并且当它不是最后一个使用的窗口时从组切换到特定窗口非常烦人。

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

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

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

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

Jes*_*rer 5

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

搜索 compiz 显示:

~/.config/compiz-1
~/.config/compiz-1/compizconfig
~/.gconf/apps/compizconfig-1
~/.gconf/apps/compiz-1
~/.cache/compizconfig-1
Run Code Online (Sandbox Code Playgroud)

我备份这些目录再发再从“团结切换”改为“静态应用程序切换器”使用CCSM如图所示这里

然后我注销并重新登录并将我的备份与更改后的系统进行比较。以下是结果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>
    
    Run Code Online (Sandbox Code Playgroud)
  • ~/.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>
    
    Run Code Online (Sandbox Code Playgroud)

新的:

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

这些差异对我来说看起来不够大,因为我看不到任何显示更改的键绑定的地方,只有被禁用的那个,所以也许 compiz 是一个真正的痛苦,并且更改在二进制文件中:-(让我们希望不是!

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

人类可读的配置文件是不是很棒!:-D 如果 compiz 将设置保存在二进制文件中,那么这样做的编码人员需要非常严厉地交谈。>:-|

祝你好运。


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