Есть код, отслеживающий буфер обмена. Реализован так (образец):
#!/usr/bin/python3 import tkinter as tk import sys from time import sleep lev_crit='CRITICAL' def log(func='MAIN',lev_crit='CRITICAL',cur_mes='Сообщение'): print(func,':',lev_crit,':',cur_mes) def clipboard_copy(line='Сообщение'): root.clipboard_clear() root.clipboard_append(line) def clipboard_paste(): return root.clipboard_get() def watch_clipboard(): cur_func=sys._getframe().f_code.co_name root.withdraw() old_clipboard=clipboard_paste() while True: log(cur_func,lev_crit,'Ожидание изменения буфера...') sleep(1) new_clipboard=clipboard_paste() log(cur_func,lev_crit,'Новый буфер: "%s"' % str(new_clipboard)) if old_clipboard!=new_clipboard: root.deiconify() break root=tk.Tk() #clipboard_copy('lamer') watch_clipboard() root.mainloop()
P.S. Я слышал, что time.sleep() лучше не использовать в циклах с tkinter, но комментирование sleep проблему не решает. Версия Python: 3.4.2.