Python 如何使用Autokey移动应用程序窗口?

Python 如何使用Autokey移动应用程序窗口?,python,linux,autokey,Python,Linux,Autokey,我正在尝试调整和重新定位我工作时使用的各种窗口,使用Autokey使我的早晨稍微快一点。根据我在谷歌上搜索到的内容,Autokey使用python来运行其脚本。我也看到了六个可以为我做这项工作的程序,但我正试图用我现有的工具来完成这项工作 我不一定需要向我详细说明。任何指向正确文档的方向或指向类似脚本的链接都会有所帮助。我目前正在运行fedora 20,并使用一个小shell脚本打开我的窗口: google-chrome "http://google.com/"& google-chro

我正在尝试调整和重新定位我工作时使用的各种窗口,使用Autokey使我的早晨稍微快一点。根据我在谷歌上搜索到的内容,Autokey使用python来运行其脚本。我也看到了六个可以为我做这项工作的程序,但我正试图用我现有的工具来完成这项工作

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

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

据我所知,在这个shell脚本中,我无法处理窗口移动。

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

gedit --new-window &
sleep 1
get_window_id gedit
wmctrl -i -r "$window_id" -e 0,1025,0,953,1000
(从中提取的示例还显示了如何创建get_window_id脚本)

要了解如何获取窗口id,请运行以下命令

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

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

wmctrl的替代方案必须是xdotool或xprop,但我怀疑它们是否更易于操作。您还可以研究平铺窗口管理,这可能是解决所有这些问题的一个很好的替代方案