Qt clipboard text changer for Linux (qtctcl)
Повторяет
функции Punto Switcher в ручном режиме - исправляет текст ошибочно
набранный в другой раскладке или в неправильном регистре по команде с
клавиатуры:
1 временно сохраняет содержимое буфера обмена
2 копирует текущее выделение (ctrl+ins)
3 конвертирует
Shift+Pause - переключение раскладки (только английский <-> русский)
Alt+Pause - переключение регистра
4 вставляет (shift+ins)
5 восстанавливает содержимое буфера обмена
Зачем программа вообще нужна если есть xneur.
1 я ее сделал для себя в качестве тренировки
2 xneur у меня работает не всегда хорошо. Ситуация как раз
наоборот - xneur работает в mozillе и иже с ним (этот текст я набираю в
kompozer и он отлично все исправляет) но в kde-шных приложениях часто
путает порядок букв. Моя же программа стабильно работает в KDE а в
mozillе иногда не срабатывает
3 на windows я
использовал Punto Switcher только в ручном режиме а xneur в ручном
режиме у меня даже в mozillе плохо работает
4 возможность задать другие преобразования над содержимым буфера обмена
большого размера т.к. я заметил что чем длиннее текст тем больше
вероятность что xneur перепутает порядок букв.
Сборка и установка
Для работы теоретически нужна только библиотека Qt, фактически
программа делалась и проверялась только на MOPSLinux5 (Slackware 11),
KDE 3.5.4, Qt 3.3.6, XLib 6.9.0
1 в начале файла .cpp поправить код клавиши переключения раскладок
какая у вас используется (чтобы посмотреть коды клавиш можно в
терминале запустить xev и в окне xev понажимать нужные клавиши)
2 qmake
3 должен появиться Makefile - в нем заменить LIBS = ... -lXext на -lXtst
4 make
5 получившийся исполняемый файл можно скопировать куда нибудь и либо
вставить в автозагрузку KDE (создать ~/.kde/Autostart/qtctcl.desktop),
либо если в KDE восстанавливается последняя сессия достаточно просто
один раз запустить.
Баги/todo
1 иногда
виснет из-за "XLib: unexpected async reply" (если отсутствует реакция
на горячие клавиши то это скорее всего оно и есть)
2 не получилось
сделать так чтобы программа перехватывала Pause/Break только с
модификаторами alt или shift а "чистое" нажатие проходило бы другим
приложениям, поэтому если программа запущена то Pause/Break не работает
вообще
3 иногда очень редко в mozille срабатывает не с
первого раза (также в thunderbird, kompozer и наверно других
аналогичных)
4 не проверяет что может быть уже
запущена - т.е. если случайно запустить две копии то они друг другу
мешаются
26
декабря 2006 новая версия - борьба с "XLib: unexpected async reply",
исключение обработки данных в буфере обмена в формате "_RDESKTOP_NATIVE" которое вызывает segmentation fault в rdesktop-е.
6 января 2007 продолжается (и похоже успешно) борьба с "XLib: unexpected async reply"
Скачать qtctcl.tar.gz
Гостевая книга
© bdimych@narod.ru 2006
Сайт создан в системе
uCoz