EMenu: Explorer Context Menu — Контекстное меню Проводника

Здесь можно обсудить ваш любимый плагин.
User avatar
Wave
Posts: 1885
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 14 times
Been thanked: 26 times

Re: EMenu: Explorer Context Menu — Контекстное меню Проводни

Post by Wave »

Latest post of the previous page:

Эх, меня больше всего достаёт, что есть пункты меню -- картинка -- Их у меня три штуки и тупо по позициям запоминаю, где который.
Пользуюсь ФАРом больше 20 лет © собирательный.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: EMenu: Explorer Context Menu — Контекстное меню Проводни

Post by John Doe »

Актуализированная версия стандартных макросов.
Attachments
eMenu.lua.7z
(648 Bytes) Downloaded 168 times
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: EMenu: Explorer Context Menu — Контекстное меню Проводни

Post by John Doe »

Это просто перевод штатного макроса на "новые рельсы", без каких-либо изменений.
А изменения требуются, я вижу как минимум 2.

1. Запрет вызова на плагиновых панелях
2. Команда "paste" должна выполняться не над выделенными объектами, а в текущую панель.

1 и 2 надо протестировать с Сетью и Деревом.

Кто возьмётся доделать?

P.S.
CtrlAltEnter вообще-то занимать не стоит, потому как на этой клавише сейчас важное действие.
Рекомендую CtrlShiftA
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Re: EMenu: Explorer Context Menu — Контекстное меню Проводни

Post by HaRT »

John Doe wrote:1. Запрет вызова на плагиновых панелях
Это слишком сильное ограничение.
Надо разрешать вызов меню даже для плагиновых панелях, если они показывают реальные файлы. Да, я знаю, что плагин отказывается работать на файлах из разных директорий (или в ФАР3 это уже не так?), но это недоработка в самом плагине, т.к. Проводник отлично показывает меню для многих файлов из разных директорий в результатах поиска.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: EMenu: Explorer Context Menu — Контекстное меню Проводни

Post by John Doe »

HaRT wrote:Надо разрешать вызов меню даже для плагиновых панелях, если они показывают реальные файлы.
Разумеется.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: EMenu: Explorer Context Menu — Контекстное меню Проводни

Post by John Doe »

Сейчас все команды даются посредством меню.
Несколько вложенных меню очевидно не рассчитаны на ручной вызов.
Но ведь и для макросов уже есть намного более правильное средство - Plugin.Call

Предлагается такой формат вызова Plugin.Call:

Code: Select all

Plugin.Call(<guid>[,action[, name], [files], [options]])

 Все параметры опциональны, т.е. могут быть "" или nil

 action: "txt"|"gui"|"cmd"|"item"
 name: имя команды (verb) или пункта меню - только для action ="cmd"|"item"
 files: список файлов
 options: опции, те же что в настройках плагина (пока не привожу), плюс здесь же указывается область действия команды (панель или MyComputer)

 Лучше если options будет не набором флагов, а для каждой настройки свой параметр-строка. Порядок перечисления не важен.
User avatar
Wave
Posts: 1885
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 14 times
Been thanked: 26 times

Re: EMenu: Explorer Context Menu — Контекстное меню Проводни

Post by Wave »

У меня в пользовательском меню есть несколько пунктов: repository update, repository commit, repository log, repository browser. А в системе установлены tortoisesvn, tortoisegit, tortoisehg. Так вот, эти пункты — макросы примерно такого поведения:

находим третий пункт меню -- картинка --, жмём энтер
если в нём есть пункт Shows the log…, жмём
если нет, выходим уровнем выше, находим первый пункт меню -- картинка --, жмём энтер
если там есть пункт Shows the log…, жмём
если нет, выходим, находим второй пункт меню -- картинка --, жмём его
находим Repository status changes и жмём
если же и такого нет, то дважды жмём эскейп.

Чё-та мне кажется, что Plugin.Call эту схему не реализует. Хотя у меня конечно извращённый случай и вообще, работающий механизм никуда не делся.
Ну и в очередной раз подниму вопрос по поводу пунктов меню -- картинка --
Пользуюсь ФАРом больше 20 лет © собирательный.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: EMenu: Explorer Context Menu — Контекстное меню Проводни

Post by John Doe »

У многих команд есть свой verb

Code: Select all

┌ Additional information in text menu ───┐
│ ( ) None                               │
│ ( ) Show helptext                      │
│ (•) Show commands                      │
│ [ ] Hide if the same                   │
└────────────────────────────────────────┘
User avatar
Wave
Posts: 1885
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 14 times
Been thanked: 26 times

Re: EMenu: Explorer Context Menu — Контекстное меню Проводни

Post by Wave »

от картинок это не спасает.
Пользуюсь ФАРом больше 20 лет © собирательный.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: EMenu: Explorer Context Menu — Контекстное меню Проводни

Post by John Doe »

С некоторых пор в меню дисков по правому клику (или по Apps) запускается eMenu.
(В списке плагинов по F11 его при этом нет, стоит добавить)

Plugin.Menu кстати тоже срабатывает: lm:post Keys'AltF1' Plugin.Menu("742910F1-02ED-4542-851F-DEE37C2E13B2")
Так что надо будет добавить в макросы ('окольными' путями и раньше можно было).
pp
Posts: 36
Joined: Wed 24 Jan, 2007 11:39
Location: Česká republika
Has thanked: 7 times
Contact:

Re: EMenu: Explorer Context Menu — Контекстное меню Проводни

Post by pp »

Привет!
Is it possible to use rclk_cmd for commands which are in a "submenu"?




rclk_cmd:tsvn_update works ok, but for rclk_cmd:tsvn_log I'm getting "Can't invoke menu command." :(
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

Re: EMenu: Explorer Context Menu — Контекстное меню Проводни

Post by 2useven10 »

  1. Macro {
  2.  
  3.   area="Shell"; key="CtrlShiftL"; flags="NoPluginPanels"; description="svn showchanges";
  4.  
  5.   action = function()
  6.  
  7.     local emenu = '742910F1-02ED-4542-851F-DEE37C2E13B2'
  8.  
  9.     if APanel.Current == '.svn' then Keys('Home') end
  10.  
  11.     Plugin.Command(emenu,'rclk_cmd:tsvn_log')
  12.  
  13.   end;
  14.  
  15. }
works for me...

BTW: Far.DisableHistory(0) -- enables all history
pp
Posts: 36
Joined: Wed 24 Jan, 2007 11:39
Location: Česká republika
Has thanked: 7 times
Contact:

Re: EMenu: Explorer Context Menu — Контекстное меню Проводни

Post by pp »

Unfortunately I'm getting the same error :( Your macro works fine with rclk_cmd:tsvn_update or rclk_cmd:tsvn_commit, but not with anything from the sub-menu.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Re: EMenu: Explorer Context Menu — Контекстное меню Проводни

Post by Shmuel »

I don't use EMenu, so can't help much.
But you can tell Tortoise SVN (via its "Settings") to place "SVN Show Log" in the top-level menu instead of a submenu.
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

Re: EMenu: Explorer Context Menu — Контекстное меню Проводни

Post by 2useven10 »

Unfortunately I'm getting the same error :( Your macro works fine with rclk_cmd:tsvn_update or rclk_cmd:tsvn_commit, but not with anything from the sub-menu.
You are right. I forgot, I've moved log to the upper level menu in the tortoise menu settings...
pp
Posts: 36
Joined: Wed 24 Jan, 2007 11:39
Location: Česká republika
Has thanked: 7 times
Contact:

Re: EMenu: Explorer Context Menu — Контекстное меню Проводни

Post by pp »

Shmuel, 2useven10: Thanks for the hint, I was not aware about this option in tortoise menu settings.
Post Reply

Return to “Обсуждение плагинов”