免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1651 | 回复: 0
打印 上一主题 下一主题

wm_minimize.sh [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-29 22:10 |只看该作者 |倒序浏览
该脚本运行前要安装wmctrl.运行该脚本后,可以通过点击任务栏上的程序 最小化和还原 程序窗口。
#! /bin/sh
# minimize/restore windows on current desktop
# -----------------------------------
# vermaden [AT] interia [DOT] pl
# http://toya.net.pl/~vermaden/links.htm
CURRENT_DESKTOP=$( wmctrl -d | egrep "^[0-9][ ]{2}\*" | awk '{print $1}' )
WINDOW_LIST=$( wmctrl -l | egrep "^[0-9]x.{8}\ {2}${CURRENT_DESKTOP}" | awk '{print $1}' )
WINDOW_COUNT=0
for WINDOW in ${WINDOW_LIST} ;do
   WINDOW_COUNT=$(( ${WINDOW_COUNT} + 1 ))
done
minimize () {
  for WINDOW in ${WINDOW_LIST}; do
    wmctrl -t ${CURRENT_DESKTOP} -i -r ${WINDOW} -b add,hidden
  done
  }
restore () {
  for WINDOW in ${WINDOW_LIST}; do
    wmctrl -t ${CURRENT_DESKTOP} -i -r ${WINDOW} -b remove,hidden
  done
  }
MINIMIZED=0
for WINDOW in ${WINDOW_LIST}; do
  if xprop -id ${WINDOW} _NET_WM_STATE | grep -q NET_WM_STATE_HIDDEN; then
    MINIMIZED=$(( ${MINIMIZED} + 1 ))
  fi
done
if [ ${MINIMIZED} -eq ${WINDOW_COUNT} ]; then
  restore
else
  minimize
fi
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/17090/showart_453201.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP