Page 2 of 2

Re: Дополнительная команда в ассоциациях файлов

Posted: Thu 24 Jan, 2013 08:24
by NightRoman

Latest post of the previous page:

Добавил пожелание на мантис
http://bugs.farmanager.com/view.php?id=2269

Re: Дополнительная команда в ассоциациях файлов

Posted: Thu 24 Jan, 2013 09:49
by Smitis
Опередил...

Re: Дополнительная команда в ассоциациях файлов

Posted: Thu 31 Jan, 2013 10:42
by Smitis
Всё-таки, добавил на мантис свой вариант
http://bugs.farmanager.com/view.php?id=2283

Дополнительная команда в ассоциациях файлов

Posted: Fri 14 Nov, 2014 06:24
by sToLp
В развитие темы.
John Doe wrote:Недостаток ассоциаций: всего одна строка для команды.
Верно. Ведь нынешняя форма меню ‘Редактирование ассоциаций файлов’ не охватывает новых возможностей ассоциаций файлов в Фаре. Она ориентирована на сопоставление задаваемой пользователем маске файлов лишь по одной команде на лишь шесть вариантов клавиш / сочетаний клавиш: Enter, CtrlPgDn, F3, AltF3, F4, Alt+F4. И всё это вкупе в одном меню:

Code: Select all

╔═════════════════ Редактирование ассоциаций файлов ═════════════════╗
║ Одна или несколько масок файлов:                                   ║
║                                                                   ↓║
║ Описание ассоциации:                                               ║
║                                                                    ║
╟────────────────────────────────────────────────────────────────────╢
║ [x] Команда, выполняемая по Enter:                                 ║
║                                                                    ║
║ [x] Команда, выполняемая по Ctrl+PgDn:                             ║
║                                                                    ║
║ [x] Команда просмотра, выполняемая по F3:                          ║
║                                                                    ║
║ [x] Команда просмотра, выполняемая по Alt+F3:                      ║
║                                                                    ║
║ [x] Команда редактирования, выполняемая по F4:                     ║
║                                                                    ║
║ [x] Команда редактирования, выполняемая по Alt+F4:                 ║
║                                                                    ║
╟────────────────────────────────────────────────────────────────────╢
║                         { OK } [ Отмена ]                          ║
╚════════════════════════════════════════════════════════════════════╝
При том, что имеющиеся ныне возможности задания ассоциаций существенно шире. И поэтому хотелось бы более приспособленного меню. То есть:
1. Отдельное меню на клавишу / их сочетание.
2. Возможность сопоставить команду любой доступной Фару клавише / сочетанию клавиш.
3. Возможность задавать неограниченное число команд на клавишу / их сочетание.

То есть хотелось бы примерно такого меню с ‘бесконечным’ блоком задания команды:

Code: Select all

╔════════════════ Редактирование ассоциаций файлов ════════════════╗
║ Клавиша / сочетание клавиш:                                      ║
║ Ctrl+Shift+PgUp                                                 ↓║
╟──────────────────────────────────────────────────────────────────╢
║ Одна или несколько масок файлов:                                 ║
║ *.*                                                             ↓║
║ Описание ассоциации:                                             ║
║ Сжать .!` &ФриАрком  в .!`.arc                                  ↓║
║ [x] Команда:                                                     ║
║ "%FARHOME%\FreeARC\bin\arc.exe" a "!.!.arc" "!.!" -p123456 -k -se --noarcext -y   ↓║
╟──────────────────────────────────────────────────────────────────╢
║ Одна или несколько масок файлов:                                 ║
║                                                                 ↓║
║ Описание ассоциации:                                             ║
║                                                                 ↓║
║ [x] Команда:                                                     ║
║                                                                 ↓║
╟──────────────────────────────────────────────────────────────────╢
║                         { OK } [ Отмена ]                        ║
╚══════════════════════════════════════════════════════════════════╝
И заголовок меню выбора ассоциации соответственно дополнить бы:

Code: Select all

╔═════════════ Выберите ассоциацию на CtrlShiftPgUp ══════════════╗

Дополнительная команда в ассоциациях файлов

Posted: Fri 14 Nov, 2014 09:42
by John Doe
Недостаток ассоциаций: всего одна строка для команды
Речь о том, что в одном пункте мог бы содержаться минискрипт из нескольких строк, как в меню пользователя.
sToLp wrote: 1. Отдельное меню на клавишу / их сочетание.
Предположим.
Значит один и тот же набор масок придётся отдельно вносить в меню каждой клавиши?
А если, например, забыть, на какой клавише назначены действия, то придётся перебрать все клавиши?
sToLp wrote: 2. Возможность сопоставить команду любой доступной Фару клавише / сочетанию клавиш.
Это кстати тоже спорный момент.
Поди потом разберись, кто отвечает за тот или иной шорткат: то ли это штатная команда, то ли ассоциация, то ли макрос.
sToLp wrote: То есть хотелось бы примерно такого меню с ‘бесконечным’ блоком задания команды:
То что на вашем скриншоте проще и удобнее сделать обычным меню (это если отвлечься от того факта, что предложенная группировка сильно неудобна).

Дополнительная команда в ассоциациях файлов

Posted: Fri 14 Nov, 2014 11:35
by Wave
В ассоциациях можно использовать lua, то-есть можно сделать lua: eval("assotiation", 2) или что-то подобное, а в макросе уже развернуться.
Я примерно так делаю с пользовательским меню. Построчные команды там — неудобная штука для макроса, особенно для его отладки, поэтому у меня в меню куча пунктов такого вида.

Дополнительная команда в ассоциациях файлов

Posted: Sat 15 Nov, 2014 01:15
by sToLp
John Doe wrote:Поди потом разберись, кто отвечает за тот или иной шорткат: то ли это штатная команда, то ли ассоциация, то ли макрос.
Но и сейчас ведь в случае чего приходится сыск вести в порядке приоритетов: сначала в fmlua-макросах, затем в lua, потом в ассоциациях. А то и заглядывать в хэлп нет ли позабытой или не освоенной штатной команды. А ведь ещё могут быть moon-макросы и макросы плагина [ESC], макросы ConEmu и ещё небось какие. И к тому же все скопом могут случиться.
Да, хорошо бы иметь некую универсальную команду, выводящую информацию о том, что понавешено на шорткат.

Дополнительная команда в ассоциациях файлов

Posted: Mon 17 Nov, 2014 12:50
by John Doe
sToLp wrote: сначала в fmlua-макросах, затем в lua
Не знаю зачем вам до сих пор fmlua-макросы, но разве плагин не отображает оба сорта в едином списке?
, потом в ассоциациях.
Одно дело когда за ассоциациями закреплён ограниченный список шорткатов, и совсем другое если шорткаты станут совсем произвольные.
sToLp wrote: А ведь ещё могут быть moon-макросы и макросы плагина [ESC], макросы ConEmu и ещё небось какие.
Moon и ConEmu тут не при чём, а у [ESC] действительно могут быть свои макросы. Но вряд ли кто сейчас захочет их использовать.
Да, хорошо бы иметь некую универсальную команду, выводящую информацию о том, что понавешено на шорткат.
Для макросов это элементарно.
Ассоциации можно достать только обходным путём (вытащить из базы).
Остаются штатные команды фара. Получить их нельзя, но можно вручную поддерживать список.

Дополнительная команда в ассоциациях файлов

Posted: Wed 23 May, 2018 16:31
by SlashNet
Немного не по теме, но в продолжение этой темы.

Так как работа в этом направлении не ведётся, то я решил для себя обойтитсь тем что есть.

1. Макросом назначить на сочетание CtrlPgDn вызов процедуры, которая вызывается по-умолчанию для этого хоткея, напрямую (не через сочетание клавиши)
Так как я пользуюсь этим сочетанием клавиш, но никогда его не переназначал в ассоциациях, мне надо стандартное действие.

2. В ассоциациях на сочетание CtrlPgDn для всех файлов назначить команду "показать messagebox" показывающую MessageBox с текстом "команда не назначена" (так сказать действие по-умолчанию, если не назначено ещё каких-нибудь-команд)
3. В ассоциациях подобавлять для нужных расширений на кнопкосочетание CtrlPgDn нужные мне действия.
4. Переназначить макросом сочетание CtrlPgDn на нужное и удобное мне сочетание (например ShiftApps).

В итоге: По клавишенажатию CtrlPgDn будет вызываться вход в архив и тому подобное, а по сочетанию ShiftApps будет показываться менюшка с выбором возможных действий для текущего файла (конечно будет также показываться пункт "показать messagebox", но мне это не страшно).

Соответственно мне надо чтоб макрос на CtrlPgDn вызывал процедуру входа в архив напрямую, а не через сочетание клавиш.

Возможно ли такое? По функуциям прошёлся - что-то не нашёл нужной. Может кто подскажет?