X11:通过命令行移动现有窗口?

Mar*_*son 26 x11

给定一个X客户端窗口ID,有没有办法移动该窗口或从命令行更改其几何?

$ xlsclients -a
Window 0x3000001:
  Machine:  ohm
  Name:  Terminal
  Icon Name:  foo
  Command:  foo
  Instance/Class:  foo/bar

$ xmovewindow -id 0x3000001 --geometry +100+200  <-- this is what I would like to do
Run Code Online (Sandbox Code Playgroud)

and*_*vig 37

我认为xdotool会做这个工作.

xdotool允许您以编程方式(或手动)模拟键盘输入和鼠标活动,移动和调整窗口大小等.它使用X11的XTEST扩展和其他Xlib函数来完成此操作.

例如

$ xdotool windowfocus 0x1a00ad2
Run Code Online (Sandbox Code Playgroud)

将关注id为0x1a00ad2的窗口.还有一个windowmove命令,可能就是你要找的那个.

wmctrl稍微高级一点.它与EWMH/NetWM X窗口管理器兼容,您可以在他们的网站上阅读.我不认为你需要它与那些兼容.

  • 还有DevilsPie,它使用libwnck; 一般来说,它也应该与EWMH/NetWM窗口管理器兼容. (4认同)