Unity可以为Spread Mode显示启动器图标吗?

发射器中有Expo Mode Super + S的Launcher图标。 有没有办法在启动器中放置Spread Mode Super + W的Launcher图标?

通常情况下,您可以使用compiz的d-bus集成来完成此操作,但它似乎在natty中被打破 。

相反,我们可以使用xdotool执行此操作。

安装xdotool:

sudo apt-get install xdotool 

创建一个名为~/scripts/compiz-scale.sh来调用scale:

 #! /bin/sh # Assumes compiz binding for Initiate Window Picker is Super-Tab xdotool keydown Super && xdotool key Tab xdotool keyup Super 

(如果您有不同的绑定,只需将Super替换为您使用的元键,将Tab替换为您使用的字母。)

使脚本可执行:

 chmod u+x ~/scripts/compiz-scale.sh 

创建一个名为~/scripts/compiz-scale.desktop的应用程序文件来运行您的脚本:

 #!/usr/bin/env xdg-open # link me to /usr/share/applications/ [Desktop Entry] Comment=Switch programs Exec=/home/YOURUSERNAME/scripts/compiz-scale.sh Icon=gnome-klotski Name=Scale Terminal=false Type=Application Version=1.0 

请务必将YOURUSERNAME替换为您的用户名。

要添加到启动程序,app文件必须是系统配置的一部分。 (如果您只想将其作为搜索结果使用,可以将其放在〜/ .local / share / applications中。)我们将添加一个指向您创建的文件的链接(因此您的设置可以移植到新安装)。

 sudo ln -s ~/scripts/compiz-scale.desktop /usr/share/applications/compiz-scale.desktop 

现在调用破折号并搜索“Scale”。 您的新应用应该会显示出来。 单击并将其拖动到启动器。 您现在应该可以从启动器调用比例。

但是,如果您更改了键绑定,它将会中断,您将不得不更新脚本。 此外,它不能快速多次调用。 启动器似乎有一些双击检测,阻止应用程序启动两次,所以你必须等待再次点击。

  • 首先安装xdotool 安装xdotool 来自软件中心
  • 创建一个文件~/.local/share/applications/spread.desktop
  • 使用gedit(或您首选的文本编辑器)打开该文件
  • 现在将以下内容粘贴到该文件中(并替换图标路径)

     [Desktop Entry] Name=Spread Mode Exec=xdotool key --delay 10 super+w Icon=plugin-scale Terminal=false Type=Application StartupNotify=true1 
  • 现在浏览到~/.local/share/applications/

  • 找到spread.desktop并使其可执行( 以下是如何做到这一点 )
  • 现在将该文件拖到启动器中,您就完成了。

要执行此操作,请右键单击桌面并创建启动器。

给它一个名称,如“传播模式”,并选择一个合适的图标

在命令字段中复制并粘贴以下内容

 xte "keydown Super_L" "key w" "keyup Super_L" 

接下来,在一个终端:

 sudo apt-get install xautomation 

将新的Spread Mode Launcher图标拖放到Unity Launcher中。

创建一个启动器并执行此操作:

 dbus-send --session --print-reply --dest=org.freedesktop.compiz /org/freedesktop/compiz/scale/allscreens/initiate_all_key org.freedesktop.compiz.activate string:"root" int32:`xwininfo -root | grep id: | awk '{ print $4 }'` 

(将其复制并保存到您在Exec行中使用的文件名)

我没有创建它,但在此function请求中找到了它。 所以感谢Daniel Fore

最初这不是为Unity而是为’基本操作系统’创建的。 应该工作。

默认情况下,Unity中的super+w键盘快捷键也会启用。

除按钮/启动器外,请注意您还可以将其指定给屏幕的“热点”角落。 (类似于Gnome 3执行此操作的方式;当您将鼠标移动到左上角时,它将以展开模式显示所有打开的窗口。)

要在Unity中执行此操作,它应该比它应该更难,但仍然很简单:

  • 安装Compiz配置设置管理器
  • 安装xdotool
  • 打开Compiz Config Settings Manager并转到命令
  • 对于Command0(或任何可用的),输入xdotool key Super+w
  • 单击Edge Bindings选项卡,然后按按钮为Command0指定一个键(如果尚未定义,则显示None)
  • 现在设置屏幕区域以将命令分配给。 左上角效果很好,因为出于某种原因,它在Unity中完全没有使用; 通常你甚至不能点击那里打开仪表板/镜头!

我认为你不能,因为工作区图标被硬编码到启动器中。

如果您打开CCSM并转到缩放插件,则可以设置屏幕的一角来执行此任务。

打开CCSM> Scale> Bindings