标签: wmctrl

保存和恢复窗口位置

我遇到了一个错误,当机器从待机状态恢复时,通过显示端口 (MST) 连接的显示器没有恢复,但是如果它确实出现,窗口仍然在它覆盖的区域内。

从这种短暂的重启中恢复的唯一方法是禁用和重新启用显示,现在我可以通过命令行执行此操作,但是当禁用显示时,所有窗口都会重新排列到剩余的屏幕上。

有没有办法保留窗口位置并恢复它们,以便我的脚本可以执行此序列:-

  1. 枚举窗口,存储位置
  2. 显示关闭(打乱位置)
  3. 显示(让显示再次工作,耶!)
  4. 恢复窗户的位置

我可以很好地完成第 2 步和第 3 步,但是我迷失了第 1 步和第 4 步

我知道我可以为每个应用程序强制一个位置,但这不是我想要的,因为我可以做不同的事情并且在不同的位置有相同的应用程序,我也有多个终端打开,我需要以某种方式存储和恢复当前位置。

任何帮助,将不胜感激!

display window-manager multiple-monitors unity wmctrl

6
推荐指数
1
解决办法
5484
查看次数

以十六进制而不是十进制获取活动窗口 ID

如何在十六进制中获取焦点(活动)窗口的窗口 ID?

wmctrl

6
推荐指数
1
解决办法
3941
查看次数

如何强制应用程序窗口在启动应用程序后自动最大化?

我尝试使用 Docky,然后将其删除,之后我的浏览器(Chromium)无法以最大高度打开,每次我都应该自己最大化它。(XFCE 桌面)

window maximized xdotool wmctrl

6
推荐指数
1
解决办法
5549
查看次数

设置终端窗口的标题:wmctrl vs xdotool

编辑:我不是在寻找其他方法或更好的方法来更改窗口的标题或向终端中的选项卡添加标题。建议副本中 的答案在任何方面无法解决特定问题,即当wmctrl如上所述设置标题时为什么xdotool search … 选择窗口标题。


操作系统:Ubuntu 18.04

当我打开一个gnome-terminal窗口时,标题是dkb@dkb:~

我可以改变它使用

wmctrl -r :ACTIVE: -N "NewName"
Run Code Online (Sandbox Code Playgroud)

但是xdotool search …,没有“看到”这个标题:

dkb@dkb:~$ xdotool search --name NewName
dkb@dkb:~$ 
Run Code Online (Sandbox Code Playgroud)

我只是返回提示而不是提供相应的窗口标识符。

另一方面,我可以使用xdotool本身来设置标题,然后xdotool search …提供窗口标识符:

dkb@dkb:~$ xdotool getactivewindow set_window --name NewName
dkb@dkb:~$ xdotool search --name NewName
39845894
dkb@dkb:~$ 
Run Code Online (Sandbox Code Playgroud)

换句话说,如果标题被设定xdotoolxdotool search工作,它应该:

man xdotool

search [options] pattern 使用正则表达式模式搜索带有标题、名称或类的窗口。输出是以行分隔的 X 窗口标识符列表。

因此,虽然这不是什么大问题,但我想知道xdotool没有“看到” wmctrl设置的窗口标题的原因是什么 …

command-line xdotool wmctrl

6
推荐指数
1
解决办法
1561
查看次数

如何只关闭应用程序的一个窗口?

我知道如果我通过了 sid:

ps -ax | grep firefox

并使用:

kill -9 "sid"

我将关闭程序的所有窗口。

如何仅关闭通过终端运行的应用程序的一个窗口?

command-line window-manager kill wmctrl

5
推荐指数
1
解决办法
5780
查看次数

Unity中wmctrl -d和wmctrl -lG之间到底有什么关系?

来自 man wmctrl:

wmctrl 是一个可用于与与 EWMH/NetWM 规范兼容的 X Window 管理器交互的命令。wmctrl 可以向窗口管理器查询信息,并且可以请求采取某些窗口管理操作。

问题具体

wmctrl -d命令可用于获取有关桌面(视口/工作空间)的信息,该wmctrl -lG命令列出所有窗口,包括其几何信息。

我怎样才能(在 Unity 中与其他窗口管理器中):

  • 了解工作空间及其布置方式的概述?
  • 找出当前工作区是哪个?
  • 找出窗口绝对意义上的位置?
  • 列出当前工作区上的窗口?

从命令行,使用这两个命令?

背景资料


wmctrl -d 命令
列出桌面。在(例如)Xubuntu 上,当我运行时wmctrl -d,我可以在输出中清楚地看到当前工作区,以及工作区上的屏幕分辨率(DG)。

0  - DG: 1024x600  VP: N/A  WA: 0,31 1024x569  1
1  - DG: 1024x600  VP: N/A  WA: 0,31 1024x569  2
2  - DG: 1024x600  VP: N/A  WA: 0,31 1024x569  3
3  * DG: 1024x600  VP: 0,0  WA: 0,31 1024x569  4
Run Code Online (Sandbox Code Playgroud)

当前工作区标有* …

command-line window-manager unity workspaces wmctrl

5
推荐指数
1
解决办法
1349
查看次数

窗口“分组”?

我只是想知道,有没有办法对窗口进行“分组”?我的意思是,是否有一种方法可以将两个或多个窗口的边缘连接在一起,以便当一个窗口移动时,另一个窗口也随之移动,充当一个大窗口?或者至少是类似的东西,移动一个窗口会以相同的方式移动另一个窗口?我正在运行 Ubuntu GNOME 15.10 和 GNOME 3.18。

gnome window software-recommendation xdotool wmctrl

5
推荐指数
1
解决办法
1266
查看次数

wmctrl Ubuntu 17.10 切换,以上不切换

在尝试了以下问题的答案后:如何启动设置为“始终在顶部”的应用程序?,特别是@MichaelTunnell评论中的那个:

这对我来说是最好的选择,因为我可以使用此命令创建 bash 脚本或键盘快捷键(我这样做了),这样我就可以在需要时使用它,但在不需要时就不能使用。不过,我确实做了一些更改......我想要一个快捷方式来始终打开活动窗口的顶部,并且仅在我需要时才打开,所以这是我的命令。wmctrl -r :ACTIVE: -b toggle,above

我能够在 Ubuntu 16.10 或更低版本中始终在顶部切换,但不能在 Ubuntu 17.10 上切换,Ubuntu 17.10 是我现在安装的那个,并希望拥有相同的快捷方式

我也试过这篇文章,它基本上是 Michael Tunnell 评论的更详细的帖子:始终在 Ubuntu 上的键盘快捷键

快捷方式可以在下图中看到,它用于将窗口 Always-on-top 设置为 True,但即使我再次使用相同的命令“关闭它”,我也无法删除活动应用程序那个财产。

在此处输入图片说明

这是 GNOME Ubuntu 17.10 中的错误吗?或者我是否缺少此特定版本中的任何额外配置?

gnome shortcut-keys wmctrl 17.10

5
推荐指数
1
解决办法
727
查看次数

如何使用 openbox 在所有桌面上自动显示应用程序?

是否可以使用wmctrl或其他方式使特定窗口自动显示在所有桌面上?

我使用Prime Player Google Play Music miniplayer Chrome 扩展来控制音乐播放。我已经有了一个 bash 别名,我可以调用它使迷你播放器停留在其他窗口的顶部,但我还想让它把迷你播放器窗口发送到所有桌面,这样我就不必右键单击并选择发送到桌面所有桌面(通过 openbox)。

理想情况下,我会让一个脚本在后台运行一些东西,一旦它检测到迷你播放器窗口,它就会把它放在最上面并发送到所有桌面。这可能吗?

openbox window-management lxde wmctrl

4
推荐指数
1
解决办法
6069
查看次数

如何在屏幕的角落制作相同大小的窗口?

我最近看到了一个很好的问题的答案,我想知道,这是否也可以在带有 GNOME 3.18 和 GDM 的 Ubuntu GNOME 15.10 以及 Compiz 上实现,如该问题的答案所示?

但是键盘快捷键对我来说并不是那么重要,我只是真的希望能够将窗口拖到角落并让它们在我松开鼠标时自动调整到这些角落而不是侧面。

window-manager shortcut-keys window xdotool wmctrl

3
推荐指数
1
解决办法
969
查看次数