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

Вам не хватает чего-то в Far? Вы считаете, что вашу идею стоит услышать? Пишите сюда.
User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

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

Post by NightRoman » Thu 24 Jan, 2013 08:24

Latest post of the previous page:

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

Smitis
Posts: 1574
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 18 times
Been thanked: 32 times

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

Post by Smitis » Thu 24 Jan, 2013 09:49

Опередил...
Разум когда-нибудь победит.

Smitis
Posts: 1574
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 18 times
Been thanked: 32 times

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

Post by Smitis » Thu 31 Jan, 2013 10:42

Всё-таки, добавил на мантис свой вариант
http://bugs.farmanager.com/view.php?id=2283
Разум когда-нибудь победит.

User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 107 times
Been thanked: 8 times

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

Post by sToLp » Fri 14 Nov, 2014 06:24

В развитие темы.
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 ══════════════╗

User avatar
John Doe
Бюрократ
Posts: 12287
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 164 times

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

Post by John Doe » Fri 14 Nov, 2014 09:42

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

User avatar
Wave
Posts: 1767
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 4 times
Been thanked: 15 times

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

Post by Wave » Fri 14 Nov, 2014 11:35

В ассоциациях можно использовать lua, то-есть можно сделать lua: eval("assotiation", 2) или что-то подобное, а в макросе уже развернуться.
Я примерно так делаю с пользовательским меню. Построчные команды там — неудобная штука для макроса, особенно для его отладки, поэтому у меня в меню куча пунктов такого вида.
Пользуюсь ФАРом больше 20 лет © собирательный.

User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 107 times
Been thanked: 8 times

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

Post by sToLp » Sat 15 Nov, 2014 01:15

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

User avatar
John Doe
Бюрократ
Posts: 12287
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 164 times

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

Post by John Doe » Mon 17 Nov, 2014 12:50

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

User avatar
SlashNet
Posts: 591
Joined: Fri 20 Mar, 2009 09:43
Location: Львов
Has thanked: 3 times

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

Post by SlashNet » Wed 23 May, 2018 16:31

Немного не по теме, но в продолжение этой темы.

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

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

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

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

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

Возможно ли такое? По функуциям прошёлся - что-то не нашёл нужной. Может кто подскажет?
ədиw wo⊥є ʚ o⊥ʎнdəʚədəu əɔʚ

Post Reply

Return to “Предложения и идеи”