2013-08-16 5 views
0

Просто с некоторыми проблемами с xdotool здесь - отличная программа, но, к сожалению, она не вела себя.XDOTOOL не будет передавать клики в определенное окно

from Tkinter import * 
import os 

class Ed: 
def __init__(self,parent): 
    self.button = Button(parent,command=self.passthrough) 
    self.button.pack() 
    parent.geometry('+100+100') 

def passthrough(self): 
    print 'clicked' 
    os.popen(""" 
    window=$(xdotool selectwindow click) 
    xdotool mousemove 110 140 
    xdotool click --window $window 
    """) 

root = Tk() 
app = Ed(root) 
root.mainloop() 

Программа должна отображать окно с кнопкой в ​​нем. Когда нажимается кнопка, курсор меняется, и вы перемещаете мышь из окна и щелкаете позади окна (например, GIMP). Затем мышь возвращается к кнопке, но нажимает на программу позади. Однако это не так. Извиняюсь заранее, это сложно описать.

Я был бы очень благодарен за любую помощь, которую вы можете предоставить.

Cheers!

ответ

1

В строке "xdotool нажмите --window $ окно", оно должно быть написано как "xdotool нажмите --window $ окно 1" 1 для MouseButton щелкать.

0

Вы не можете использовать popen для запуска произвольного списка команд. popen требует, чтобы вы дали ему одну команду для запуска.

Документация POPEN здесь: http://docs.python.org/2/library/os.html#os.popen

+0

Спасибо, я не знал об этом. Но, похоже, все равно пробегает все строки кода? – slyaer