Задача: получить в приложении на gtk2, содержимое
primary selection - выделенный в другом приложении
текст.
Делаю так:
(приложение на pygtk, но думаю это не существенно)
========================================
#!/usr/bin/env python
import gtk
class Selection:
def __init__(self):
self.window = gtk.Window()
self.window.connect("selection_received", self.selection_received_cb)
def get_selection(self):
self.window.selection_convert("PRIMARY", "STRING", long(0))
gtk.main()
return self.data
def selection_received_cb(self, widget, data, val):
self.data = data.data
gtk.main_quit()
s = Selection()
print "selected:", s.get_selection()
========================================
Работает, но не всегда. Если выделен _русский_ текст
например в xterm - получаем строку в локальной кодировке.
Если выделение в gtk2-приложении - получаем что-то типа:
\x{043F}\x{0438}\x{0442}\x{043E}\x{043D}
Как нибудь это можно исправить? Возможно надо просить не "STRING",
а что-то ещё?
Есть ли у кого-нибудь пример как корректно получить selection?
(Не обязательно на питоне, можно на си)
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от drF_ckoff
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Gtk+ Python3 Как отослать (эмулировать) нажатие клавиш (2017)
- Форум Непонятно с pyGTK (2006)
- Форум Быдлокод Pygtk (2012)
- Форум pygtk: запустить редактирование ячейки в TreeView (2013)
- Форум Наследование от Gtk.Bin (2012)
- Форум [gtk][pygtk] Неправильная реакция на обработчики сигналов «test-collapse-row» и «test-expand-row» виджета gtk.TreeView (2011)
- Форум [Python] Прожорливый multiprocessing. (2011)
- Форум [PyGTK] gtk.Table (2012)
- Форум pygtk обработка флагов (2012)
- Форум ScrolledWindow в gtk.Layout() (2014)