如何使用 Autokey 移动应用程序 windows?

How can I move application windows using Autokey?

我正在尝试调整大小和重新放置各种 windows 我在工作中使用的 Autokey 使我的早晨更快一些。根据我搜索的内容,Autokey 使用 python 到 运行 它的脚本。我还看到了六个可以为我完成这项工作的程序,但我正在尝试仅使用我可用的工具来完成这项工作。

我不一定需要向我详细说明。任何指向正确文档的方向都会有所帮助,或者 link 指向类似的脚本。我目前正在 运行ning fedora 20,并使用一些 shell 脚本打开我的 windows:

google-chrome "http://google.com/"&
google-chrome  "http://leafdns.com/"&
pidgin&
konsole --noclose -e &
autokey-gtk&
gedit "test"&

据我所知,在这个可以处理 window 移动的 shell 脚本中我无能为力。

我相信 wmctrl 就是您要找的。使用 gedit 和脚本获取 window id:

的示例
gedit --new-window &
sleep 1
get_window_id gedit
wmctrl -i -r "$window_id" -e 0,1025,0,953,1000

(示例来自 here,它还向您展示了如何创建 get_window_id 脚本)

要了解如何获取windowid,运行以下

wmctrl -l

您将获得所有检测到的 windows 及其名称的列表(有些将以程序的实际名称命名,但不是全部;在 Google Chrome 的情况下这是当前打开的网站的名称,至少对我来说是这样)

第一个值(类似于 0x03a00006)是 window 的 ID。它可能不是最简单的解决方案,但它是一个。至于如何通过python调用它,请阅读系统命令here

wmctrl 的替代品必须是 xdotool 或 xprop,但我怀疑它们是否更容易操作。您还可以查看平铺 window 管理,这可能是解决所有这些麻烦的好方法。