Есть у меня программа
Easy Copy Paste
Очень мне нравится ей пользоваться. Ставлю везде, где "приседаю" поработать за компьютером. Очень помогает при смене клавиатур.
Но есть в ней один существенный недостаток. То работающий, то не работающий вызов процедуры копирования в буфер обмена по нажатию Ctrl-Ctrl.
Код смотрел, дебаг делал. Но эта не определённость в работе-неработе уже реально утомляла. Причём для других клавиш всё работало. Да и тройной клик по контролу работал отлично (это операция Cut).
И буквально пару дней назад меня "осенило"! Чтобы запрограммированная процедура была вызвана (копирование, вставка и т.п.) необходимо нажать нужное количество раз нужную клавишу (клавиши), а потом подождать некоторое время, достаточное малое, чтобы программа считала, что была вызвана ключевая последовательность нажатий, а не просто сделанный пользователем набор на клавиатуре. А так же для того, чтобы различить двойное, тройное и так далее нажатия клавиш.
И при операция Вставка из буфера (SHIFT-SHIFT), вырезание выделенного фрагмента (Ctrl-Ctrl-Ctrl) и т.п. пользователь видит изменения вызванные программой на экране - появляется или исчезает текст, соответственно.
А при операции Копирования (Ctrl-Ctrl) ничего не меняется на экране! Выделенный текст остается таким же выделенным, в независимости от того произошла обработка двойного нажатия клавиши или не произошла. И это отсутствие подтверждающей визуализации приводит к тому, что пользователь (я) нажимаю следующие клавиши достаточно быстро, да так , что EasyCopyPaste считает, что ключевой последовательности не набиралось.
Что я придумал? Добавил дополнительное нажатие клавиши после операции Копирования, которое снимает текущее выделение, тем самым подтверждая выполненную операцию.
И о МАГИЯ визуализации! Несрабатывания пропали!
Теперь тестирую данное изменения в работе. А потом опубликую новую версию.
PS Может изложено сумбурно, зато на эмоциях.
with the patch that eliminated the problem on my XP machine, and the second without the patch. Copy both into
$devlibs_path/bin. Copy one or the other over libglib-2.0-0.dll and look at the CPU time used when inkscape runs (it must
be restarted after the copy!) On my system the no15cpu version eliminates the CPU usage issue, whereas the has15cpu brings it back.
http://
Я скопировал no15cpu dll в папку Inkscape, переименовал, запустил. И загрузка процессора в простое стала 0. Однако прочтение всего топика по этому багу (или фиче) навело меня на мысль, что данный баг проявляется не всегда и не везде, но возможно только в некоторых конфигурациях Windows (особенно часто упоминается XP) и Inkscape.
И хотя в последнем посте упоминается, что данного бага нет в последней стабильной версии 0.4.8.4, у меня он проявился в 2 раза сильней - вместо 15% cpu load я имел все 33%.
Напоминаю, делайте резервные копии файлов, чтобы всегда можно было "откатиться" назад.