导致ctrl-v粘贴从pygtk应用程序发生到另一个窗口(在Linux中)

时间:2012-02-10 00:46:01

标签: python linux gtk pygtk

我正在使用pygtk,gtk剪贴板和keybinder。这就是我想要做的。

  1. 在另一个Windows文本字段(例如浏览器)
  2. 中捕获按键
  3. 弹出gtk应用并处理一些用户输入
  4. 将结果数据复制到gtk剪贴画
  5. 将剪贴板中的数据粘贴到原始窗口的文本字段
  6. 清除剪贴板
  7. 我正在抓住击键并弹出窗户。我可以复制到剪贴板。我可以关闭gtk应用程序并将焦点返回到原始的Windows文本字段。唯一的麻烦是我不知道如何完成第4步。就像现在一样,用户必须输入ctrl-v从剪贴板粘贴到文本字段,我想消除这个击键。

1 个答案:

答案 0 :(得分:1)

我能想到的最好的方法是使用python-wnck获取窗口名称,然后使用gnome-clipboard复制到缓冲区,然后使用命令和窗口名称对xdotool进行子进程调用。

paste_cmd = 'ctrl+v'
xdo_cmd = 'xdotool search "%s" windowactivate --sync key --clearmodifiers %s'

它似乎有效,但原生本能更好。