Alt当使用+或单击启动器上该窗口的图标切换到窗口时,如何使启动器上的图标跳转到启动器的顶部Tab ?
答案1
介绍
下面的脚本使当前活动窗口的图标浮动到启动器的顶部。它可以手动运行,也可以作为启动应用程序的一部分来启动用户会话。
设置
用户可以从这里复制脚本源,或者通过以下方式获取脚本的副本git
:
sudo apt-get install git
cd /opt ; sudo git clone https://github.com/SergKolo/sergrep.git
sudo chmod -R +x sergrep
脚本文件是/opt/sergrep/float_active_app.sh
要使脚本在每次登录时自动启动,请参阅
如何在登录时自动启动应用程序?. 提供/opt/sergrep/float_active_app.sh
(完整路径)作为命令
来源
#!/usr/bin/env bash
#
###########################################################
# Author: Serg Kolo , contact: [email protected]
# Date: April 9 , 2016
# Purpose: Make the icon of currently active app float to
# the top of unity launcher
# Written for:
# Tested on: Ubuntu 14.04 LTS
###########################################################
# Copyright: Serg Kolo , 2016
#
# Permission to use, copy, modify, and distribute this software is hereby granted
# without fee, provided that the copyright notice above and this permission statement
# appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
ARGV0="$0"
ARGC=$#
get_active_app()
{
qdbus org.ayatana.bamf /org/ayatana/bamf/matcher \
org.ayatana.bamf.matcher.ActiveApplication
}
get_active_desktop_file()
{
active_app=$(get_active_app)
if [ -n "$active_app" ];then
qdbus org.ayatana.bamf "$active_app" \
org.ayatana.bamf.application.DesktopFile | \
awk -F '/' '{print "application://"$NF}'
fi
}
get_launcher_items()
{
gsettings get com.canonical.Unity.Launcher favorites | \
awk '{ gsub(/,|\[|\]/,""); print}'
}
make_new_list()
{
array=( $( get_launcher_items ) )
printf "%s, " "$active"
COUNT=0
for item in ${array[@]} ; do
COUNT=$(($COUNT+1))
if [ "$item" = "$active" ];then
continue
fi
if [ $COUNT -eq ${#array[@]} ];then
printf "%s " "$item"
else
printf "%s, " "$item"
fi
done
}
set_launcher_items()
{
gsettings set com.canonical.Unity.Launcher favorites "$1"
}
main()
{
local active=""
while true;
do
active="'$(get_active_desktop_file)'"
if [ "$active" = "'application://compiz.desktop'" ] || [ -z "$active" ] ;then
continue
fi
new_list="[$(make_new_list)]"
set_launcher_items "$new_list"
sleep 0.25
done
}
main