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 来自软件中心
- 创建一个文件
~/.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