在所有视口中的应用程序窗口之间切换的组合键

Kad*_*dir 12 shortcut-keys unity workspaces application-switcher 14.04

Alt-`用于在 Unity 中当前视口中的应用程序窗口之间切换。

是否有另一个组合键可以在所有视口中的应用程序窗口之间切换?

我不想改变默认的行为Alt- `,这是在当前视应用程序的窗口之间切换。

我正在使用 Ubuntu 14.04 和 Unity。

Jac*_*ijm 7

受到 Pineau 的回答的启发,我发现了一个肮脏的技巧来完成它:保持Alt+`在一个视口中的应用程序窗口之间切换,以及(例如)Alt+1在所有视口上的应用程序窗口之间切换。

外观上的小缺点是响应性不太准确,因为设置需要几分之一秒才能更改。然而,在实践中,你几乎不会注意到。

  1. 安装xdotool

    sudo apt-get install xdotool
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将以下scipt复制到一个空文件中并另存为 switch.sh

    #!/bin/bash
    
    dconf write /org/compiz/profiles/unity/plugins/unityshell/alt-tab-bias-viewport false
    sleep 0.2
    xdotool keydown alt key 0x60
    dconf write /org/compiz/profiles/unity/plugins/unityshell/alt-tab-bias-viewport true
    sleep 1
    
    Run Code Online (Sandbox Code Playgroud)
  3. 设置一个组合键来运行脚本:System Preferences > Keyboard > Shortcuts > Custom Shortcuts. 我选择Alt+ 1,因为它与另一个很接近。

    现在您可以使用任一Alt+1在(例如)gedit 的所有窗口之间切换:

    在此处输入图片说明

    Alt+`仅在当前工作区的 gedit 窗口之间切换:

    在此处输入图片说明

笔记:

  1. 在脚本中,上面的键Tab设置为key 0x60。这在其他布局上可能有所不同。如果它不起作用,请在终端中运行xev,然后按Return,然后按选项卡上方的键。在输出中,查找类似(keysym 0x60, grave). keysym 值是您在 (script-) 行中需要的值:

    xdotool keydown alt key 0x60
    
    Run Code Online (Sandbox Code Playgroud)
  2. sleep 0.2sleep 1使脚本在我的系统上正常工作的值,但它们可能会针对更快的系统进行优化(减少)。

更多选择

同样,您可以设置一个组合键以在所有视口上的所有应用程序窗口之间切换,脚本将是:

#!/bin/bash

dconf write /org/compiz/profiles/unity/plugins/unityshell/alt-tab-bias-viewport false
sleep 0.2
xdotool keydown alt key 0xff09
dconf write /org/compiz/profiles/unity/plugins/unityshell/alt-tab-bias-viewport true
sleep 1
Run Code Online (Sandbox Code Playgroud)

如果您为此设置了例如Alt+ Q,那么您将拥有一组不错的所有选项:

Alt+在当前视口上的当前应用程序窗口` 之间切换

Alt+在所有视口上的当前应用程序窗口1 之间切换

Alt+在当前视口上的所有应用程序窗口Tab 之间切换

Alt+在所有视口上的所有应用程序窗口Q 之间切换

在此处输入图片说明

Alt+ Tab: 在当前视口上的所有应用程序窗口之间切换

在此处输入图片说明

Alt+ Q: 在所有视口上的所有应用程序窗口之间切换


Glu*_*ate 6

使用的通用解决方案 wmctrl


概述

以下脚本应与所有符合 EWMH 的窗口管理器兼容(例如 xfwm4、openbox、kwin、compiz...)。它使用wmctrland xprop,可以安装:

sudo apt-get install x11-utils wmctrl
Run Code Online (Sandbox Code Playgroud)

安装

复制以下段落并另存为simple-window-switcher

sudo apt-get install x11-utils wmctrl
Run Code Online (Sandbox Code Playgroud)

将脚本标记为可执行文件并将其保存在您喜欢的任何位置(最好在您的 PATH 中,例如/usr/local/bin~/bin)。

用法

使用您的窗口管理器的键盘快捷键菜单分配simple-window-switcher给您选择的热键。您可以使用以下参数来控制脚本的行为方式:

  • -g:全局窗口切换(跨所有工作区)
  • -l:本地窗口切换(当前工作区);可能不适用于 Unity/Compiz(有关更多信息,请参阅评论部分)