问题
我使用的是默认的 Ubuntu 22.04 桌面。我经常需要在桌面上移动窗口,我想使用脚本来实现这一点。
wmctrl
这看起来像是过去的一个解决方案,它仍然可以用于某些应用程序(例如:Signal 桌面),但例如它无法识别终端窗口(不再识别?)。
dbus
我读过一些帖子,人们过去常常dbus
进行一些自动化。我觉得这可能是解决方案。我只是很难找到信息,甚至不知道这是否可能。
使用时d-feet
,我在系统和会话总线中看到很多东西。我甚至设法获取了一些信息(org.gnome.Terminal 有很多方法)。但现在我已经遇到了第一个阻碍:他们期望什么样的参数?
/org/gnome/Terminal/window/1
Activate (String action_name, Array of [Variant] parameter, Dict of {String, Variant} platform_data) ↦ ()
如果我想激活一个窗口,除了窗口 ID 之外还能需要什么?
其他应用
Signal 提供了一些方法,但它们都是关于通知的。Thunderbird 和 pycharm 没有提供任何功能。
概括
我认为如果我想管理窗口(移动、最大化、最小化、激活),我应该与桌面服务对话?而不是应用程序本身?我如何找到有关该做什么的更多信息?是否有关于这些方法需要哪些参数的文档?如果您只有指向其他文档的指针,我完全没问题,因为这似乎是一个新领域,人们手头没有一个可以解决所有问题的超级命令。