首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用wmctrl关闭窗口

使用wmctrl关闭窗口
EN

Stack Overflow用户
提问于 2011-03-17 01:41:30
回答 3查看 3.4K关注 0票数 5

我能用在Ubuntu上的wine中运行的wmctrl关闭窗口吗?

对于上下文:

代码语言:javascript
复制
$ wmctrl -m
Name: compiz
Class: N/A
PID: N/A
Window manager's "showing the desktop" mode: OFF

另外:

代码语言:javascript
复制
$ wmctrl -l
0x0240a3be -1 mjol N/A
0x02000003  0 mjol Top Expanded Edge Panel
0x0200004c  0 mjol Bottom Expanded Edge Panel
0x01e00024  0 mjol x-nautilus-desktop
0x04800253  0 mjol using wmctrl to close windows - Stack Overflow - Google Chrome
0x03c0c8c3  0 mjol Terminal
0x03c53f25  0 mjol Terminal
0x04400001  0 mjol Untitled - SketchUp
0x04400003  0 mjol Instructor
0x04400009  0 mjol SketchUp

我要关闭的窗口是最后一个:

代码语言:javascript
复制
0x04400009  0 mjol SketchUp

我尝试过以下几种方法:

代码语言:javascript
复制
$ wmctrl -c "SketchUp"

$ wmctrl -c 0x04400009

$ wmctrl -i 0x04400009

$ wmctrl -c -i 0x04400009

但是什么都不起作用。

EN

回答 3

Stack Overflow用户

发布于 2012-10-30 22:54:34

可能有点晚了,但现在才第一次看到。读取wmctrl的信息,它说正确的语法是actions之前的'options‘,而-i是一个选项,-c是一个动作。试试wmctrl -i -c 0x04400009

票数 6
EN

Stack Overflow用户

发布于 2020-04-26 20:19:41

我也有同样的问题,我刚刚找到了怎么做!

下面的一行代码将优雅地关闭所有的Google Chrome窗口

代码语言:javascript
复制
wmctrl -lix |grep 'Google-chrome'|cut -d ' ' -f 1 |xargs -i% wmctrl -i -c %

说明:

wmctrl -lix列出所有窗口,包括它们的Id和类

grep 'Google-chrome' grep只支持带有Google-chrome类的窗口(这一点很重要,因为当你使用带有应用/快捷方式选项的站点时,它会得到自己的类,比如'calendar.google.com.Google-chrome‘

cut -d ' ' -f 1将输出压缩为仅获取ID列

xargs -i% wmctrl -i -c %使用ID 选项 -i和close 命令 -c将每个ID传递给wmctrl

注意:仅当我使用-i选项指定replace-string时xargs才有效。否则,它将只作用于第一项。

票数 2
EN

Stack Overflow用户

发布于 2013-04-30 16:50:03

根据the man page的说法,您应该首先使用select选项选择窗口,如-r -a,例如:

代码语言:javascript
复制
$ wmctrl -l      
0x01800006  0 hostname Terminal - byobu

$ wmctrl -a Terminal

这里实际上选择了终端窗口(并由于-a而引发了+ focus )。

然后,您可以使用调整大小/移动选项,如-e gravity,X,Y,width,height

关于你的问题,我刚刚测试了一下:

代码语言:javascript
复制
$ wmctrl -l                              
0x01800006  0 machine_hostname - byobu
0x06800002  0 moe Microsoft Excel - Classeur1

当我进入时,Excel (显然是在Wine中运行)优雅地关闭了

代码语言:javascript
复制
$ wmctrl -c Microsoft

大量的附加信息here

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5329397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档