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

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

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

Post by NightRoman »

Latest post of the previous page:

Smitis wrote:Я даже представил, как это будет выглядеть
Ха-ха, интересно, может и что-то такое. Но мы все ж не о макросах, а о Фаровском запускателе. Но интересно подумать, да.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

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

Post by NightRoman »

Добавил пожелание на мантис
http://bugs.farmanager.com/view.php?id=2269
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

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

Post by Smitis »

Опередил...
Разум когда-нибудь победит.
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

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

Post by Smitis »

Всё-таки, добавил на мантис свой вариант
http://bugs.farmanager.com/view.php?id=2283
Разум когда-нибудь победит.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

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

Post 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 ══════════════╗
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

Недостаток ассоциаций: всего одна строка для команды
Речь о том, что в одном пункте мог бы содержаться минискрипт из нескольких строк, как в меню пользователя.
sToLp wrote: 1. Отдельное меню на клавишу / их сочетание.
Предположим.
Значит один и тот же набор масок придётся отдельно вносить в меню каждой клавиши?
А если, например, забыть, на какой клавише назначены действия, то придётся перебрать все клавиши?
sToLp wrote: 2. Возможность сопоставить команду любой доступной Фару клавише / сочетанию клавиш.
Это кстати тоже спорный момент.
Поди потом разберись, кто отвечает за тот или иной шорткат: то ли это штатная команда, то ли ассоциация, то ли макрос.
sToLp wrote: То есть хотелось бы примерно такого меню с ‘бесконечным’ блоком задания команды:
То что на вашем скриншоте проще и удобнее сделать обычным меню (это если отвлечься от того факта, что предложенная группировка сильно неудобна).
User avatar
Wave
Posts: 1885
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 14 times
Been thanked: 26 times

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

Post by Wave »

В ассоциациях можно использовать lua, то-есть можно сделать lua: eval("assotiation", 2) или что-то подобное, а в макросе уже развернуться.
Я примерно так делаю с пользовательским меню. Построчные команды там — неудобная штука для макроса, особенно для его отладки, поэтому у меня в меню куча пунктов такого вида.
Пользуюсь ФАРом больше 20 лет © собирательный.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

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

Post by sToLp »

John Doe wrote:Поди потом разберись, кто отвечает за тот или иной шорткат: то ли это штатная команда, то ли ассоциация, то ли макрос.
Но и сейчас ведь в случае чего приходится сыск вести в порядке приоритетов: сначала в fmlua-макросах, затем в lua, потом в ассоциациях. А то и заглядывать в хэлп нет ли позабытой или не освоенной штатной команды. А ведь ещё могут быть moon-макросы и макросы плагина [ESC], макросы ConEmu и ещё небось какие. И к тому же все скопом могут случиться.
Да, хорошо бы иметь некую универсальную команду, выводящую информацию о том, что понавешено на шорткат.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

sToLp wrote: сначала в fmlua-макросах, затем в lua
Не знаю зачем вам до сих пор fmlua-макросы, но разве плагин не отображает оба сорта в едином списке?
, потом в ассоциациях.
Одно дело когда за ассоциациями закреплён ограниченный список шорткатов, и совсем другое если шорткаты станут совсем произвольные.
sToLp wrote: А ведь ещё могут быть moon-макросы и макросы плагина [ESC], макросы ConEmu и ещё небось какие.
Moon и ConEmu тут не при чём, а у [ESC] действительно могут быть свои макросы. Но вряд ли кто сейчас захочет их использовать.
Да, хорошо бы иметь некую универсальную команду, выводящую информацию о том, что понавешено на шорткат.
Для макросов это элементарно.
Ассоциации можно достать только обходным путём (вытащить из базы).
Остаются штатные команды фара. Получить их нельзя, но можно вручную поддерживать список.
User avatar
SlashNet
Posts: 638
Joined: Fri 20 Mar, 2009 09:43
Location: Львов
Has thanked: 16 times
Been thanked: 16 times

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

Post by SlashNet »

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

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

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 “Предложения и идеи”