Улучшение меню с дублирующимися хоткеями

Здесь обсуждается всё, что касается макросов.
User avatar
John Doe
Бюрократ
Posts: 12872
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

Улучшение меню с дублирующимися хоткеями

Post by John Doe »

Latest post of the previous page:

sToLp wrote: С другими пАрными хоткеями такого пока не наблюдал.
Вообще-то проявляется с любыми парами.
Проблема связана с тем, что Object.CheckHotkey не всегда учитывает, что хоткеи зависят от раскладки: http://bugs.farmanager.com/view.php?id=2881

Поэтому место, куда переходим с помощью по Alt-хоткей не всегда будет соответствовать команде, которая реально выполнится при простом нажатии хоткея. Исправлять это нужно в Object.CheckHotkey.

А цикличность восстановить проще: найдите строку local Pos = Object.CheckHotkey(hk,InitPos+1) и добавьте после неё

Code: Select all

if Pos==0 then Pos = Object.CheckHotkey(hk) end
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 107 times
Been thanked: 12 times

Улучшение меню с дублирующимися хоткеями

Post by sToLp »

John Doe wrote:цикличность восстановить проще: ...
Точно! Сделал по данной Вами инструкции и цикличность заработала нормально. Спасибо!
John Doe wrote:Object.CheckHotkey не учитывает, что хоткеи зависят от раскладки.

Поэтому место, куда переходим с помощью Alt-хоткей не всегда будет соответствовать команде, которая реально выполнится при простом нажатии хоткея. Исправлять это нужно в Object.CheckHotkey.
А после того, как компетентные товарищи поправят то, что нужно, какие то изменения в сабж необходимо будет вносить?
User avatar
John Doe
Бюрократ
Posts: 12872
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

Улучшение меню с дублирующимися хоткеями

Post by John Doe »

sToLp wrote: А после того, как компетентные товарищи поправят то, что нужно, какие то изменения в сабж необходимо будет вносить?
Не факт, что внесут.
А если внесут, то разберёмся.

Имхо, если в меню, например есть и "r" и "к", то они не должны попадать в общий цикл.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 107 times
Been thanked: 12 times

Улучшение меню с дублирующимися хоткеями

Post by sToLp »

John Doe wrote:Имхо, если в меню, например есть и "r" и "к", то они не должны попадать в общий цикл.
Любопытно! В особенности с учётом того, что после внесения рекомендованного дополнения эту пару я перепроверил несколько раз, и всякий раз цикличность была в полном порядке. Чем же таким необычным наделена эта пара, и с чем это может быть связано?
Или речь идёт о подобных парах вообще? Мне же как пользователю весьма удобно применение таких пар. Прежде всего потому, что это расширяет диапазон вариантов наборов команд, при хорошем различении хоткеев. Издавна русские буквы в хоткеях я проставляю БОЛЬШИМИ, а английские — small.
User avatar
John Doe
Бюрократ
Posts: 12872
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

Улучшение меню с дублирующимися хоткеями

Post by John Doe »

sToLp wrote: Или речь идёт о подобных парах вообще?
Да.
sToLp wrote: это расширяет диапазон вариантов наборов команд
Ничего не имею против.
sToLp wrote: и всякий раз цикличность была в полном порядке
Вот об этом я и говорю: по-хорошему должны быть независисые циклы: отдельно для "r", отдельно для "К".
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 107 times
Been thanked: 12 times

Улучшение меню с дублирующимися хоткеями

Post by sToLp »

John Doe wrote:должны быть независимые циклы: отдельно для "r", отдельно для "К".
Для данного сабжа мне точно удобнее крутить их в одном цикле (кстати, хорошо бы и в обратную сторону тоже). Но мне надо подумать над тем, что Вы изложили. Возможно, иногда нужно так как сейчас, иногда — по другому, раздельно крутить.
Спасибо за развитие очень полезного и перспективного, как я вижу, сабжа и за консультацию!
User avatar
John Doe
Бюрократ
Posts: 12872
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

Улучшение меню с дублирующимися хоткеями

Post by John Doe »

sToLp wrote: Лично мне недостаёт для полного комфорта работы с ними только возможности выбора пунктов по Ctrl-хоткей.
В шапке.
siberia-man
Posts: 103
Joined: Sat 28 Jun, 2014 23:07
Has thanked: 1 time
Been thanked: 5 times

Улучшение меню с дублирующимися хоткеями

Post by siberia-man »

В случае меню выбора синтаксиса FarColorer
ctrl+letter - выбирает первую назначенную букву (например P) из списка больше одного пункта (например, P Perl, P PowerShell)
ctrl+W - вызывает фаровский список задач поверх меню колорера (W wsf, W MediaWiki)
User avatar
John Doe
Бюрократ
Posts: 12872
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

Улучшение меню с дублирующимися хоткеями

Post by John Doe »

siberia-man wrote:ctrl+letter - выбирает первую назначенную букву (например P) из списка больше одного пункта (например, P Perl, P PowerShell)
А что не так?
siberia-man wrote:ctrl+W - вызывает фаровский список задач поверх меню колорера (W wsf, W MediaWiki)
Думаю мой скрипт не при чём.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 107 times
Been thanked: 12 times

Улучшение меню с дублирующимися хоткеями

Post by sToLp »

John Doe wrote: В шапке.
Большое спасибо! И особое спасибо за полезное органичное дополнение — выбор пункта меню по Ctrl-<хоткей>!

Для того, чтобы основательно протестировать данный комбайн макросов нужно определённое время. По моим прикидкам, даже если не брать в расчёт Главное меню, листбоксы диалогов, tmp-меню и некоторые другие, в Фаре насчитается ещё около двух десятков видов меню. И применение сабжевых макросов во многих из них существенно ускоряет работу с ними, делает её более комфортной, более приятной.

Это, прежде всего, множественные меню пользователя (в локальных папках, в папке Фара, в профиле несколько контекстных меню), нативное меню плагинов (F11), меню дисков (Alt-F1-F2), Emenu, экраны [F12], три вида историй: команд (Alt-F8), папок (Alt-F12) и редактирования/просмотра (Alt-F10), far:config, меню настройки параметров плагинов, несчётное количество меню выбора на исполнение макросов, объёмное меню ассоциаций файлов, огромные меню "Macro Browser Alt." и нативного "Macro Browser". И это наверняка ещё не всё.
User avatar
John Doe
Бюрократ
Posts: 12872
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

Улучшение меню с дублирующимися хоткеями

Post by John Doe »

sToLp wrote: применение сабжевых макросов во многих из них существенно ускоряет работу с ними, делает её более комфортной, более приятной.
Лично я предпочитаю использовать другой набор: SmartMenuFilter.
User avatar
John Doe
Бюрократ
Posts: 12872
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

Улучшение меню с дублирующимися хоткеями

Post by John Doe »

В функцию condition обработчика Ctrl-<hotkey> to run hotkey необходимо добавить условие and param.Param2.UnicodeChar~="\0".
User avatar
John Doe
Бюрократ
Posts: 12872
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

Улучшение меню с дублирующимися хоткеями

Post by John Doe »

Исправлен баг, проявлявшийся если кликнуть правой кнопкой мыши вне диалога.
Edit: пардон, не то. Перевыложил.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 107 times
Been thanked: 12 times

Улучшение меню с дублирующимися хоткеями

Post by sToLp »

John Doe
Большое спасибо за совершенствование полезнейшего набора макросов ConcurrentHotkeys!

Не могли бы Вы кратко откомментировать последние изменения/дополнения? Чтобы хотя бы понемножку приближаться к пониманию обработчиков событий.

До публикации Вами Ctrl-hotkey — макроса я пробовал применять . И из любопытства попробовал сегодня запустить его параллельно с Вашим. И с удивлением обнаружил, что они не конфликтуют. Как же тогда определить который из них срабатывает?
User avatar
John Doe
Бюрократ
Posts: 12872
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

Улучшение меню с дублирующимися хоткеями

Post by John Doe »

В большинстве случаев срабатывает ваш, т.к. макросы выполняются до событий.
Кое-что ваш не отлавливает, тогда выполняется мой.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 107 times
Been thanked: 12 times

Улучшение меню с дублирующимися хоткеями

Post by sToLp »

Благодарю Вас за разъяснение! Если я правильно понял, то при возможности выгоднее применять макрос по событиям. Во-первых, потому, что обычный не всегда всё отлавливает. Во-вторых, в случае, если потребуются другие макросы в том же диапазоне ключей, то макрос по событиям заведомо не будет им препятствовать.
Post Reply

Return to “Обсуждение макросов”