Индицировать привязку шортката к нативной команде Фара.

Вам не хватает чего-то в Far? Вы считаете, что вашу идею стоит услышать? Пишите сюда.
User avatar
John Doe
Бюрократ
Posts: 11848
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 26 times
Been thanked: 130 times

Индицировать привязку шортката к нативной команде Фара.

Post by John Doe » Wed 27 Sep, 2017 08:19

Latest post of the previous page:

Лучше собрать все макросы в одном посте.
И даже в одном макросе.
Посмотрел код, и рекомендую переписать таким образом.

Code: Select all

local cmds = {
  Viewer = {
    F1 = "Помощь - FAR\nПрограмма просмотра: клавиши управления",
    F2 = "Перенос строк (включён, выключен)",
    F3 = "Выход (NumPad5,F3,F10,Esc)",
  },
  --...
}

Macro {
  area="Common";  key="CtrlAltShift. CtrlAltJ";
  description="Справка о занятости клавиши / сочетания нативной командой Фара (sToLp по Capushon и zg)  CtrlAltShift.";
  action=function()
    local oldstate = mf.flock(0,0)
    local s = far.SaveScreen()
    far.Message(" Нажмите клавишу / сочетание ... ","","")
    local key = mf.waitkey()
    far.RestoreScreen(s)
    local area = Area.Current
    local msg = cmds[area][key]
    local title = area..": "..key
    if msg then
      local res = far.Message("вызывается внутренняя команда Far:\n\n"..msg,title,"Выполнить;Отменить")
      if res==1 then
        Keys(key)
      end
    else
      far.Message("Данный ключ не привязан к внутренней команде Far",title)
    end
    mf.flock(0,oldstate)
  end;
}
P.S.
Также хочу обратить ваше внимание, на существование аналогичного списка в поставке PowerShellFar: http://forum.farmanager.com/search.php? ... how-KeyMap
(Сейчас его в поставке нет, вероятно потому что автору надоело обновлять вручную)
Last edited by John Doe on Wed 27 Sep, 2017 08:32, edited 1 time in total.

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

Индицировать привязку шортката к нативной команде Фара.

Post by John Doe » Wed 27 Sep, 2017 09:13

sToLp wrote:
Thu 14 Sep, 2017 21:34
А этому посту прилагается блок макросов, эмулирующих НАТИВНЫЕ команды Far, назначенные на ключи сборного диапазона клавиш в макрообласти Shell: "Esc BS Ins Del Home End PgUp PgDn Enter Space Up Down Left Right", применяемые со штатными модификаторами и их сочетаниями.

Code: Select all

if cmd==1 then Keys("AltShiftEsc") end if cmd==2 then mf.print('"lua:mf.postmacro(eval,"Shell/AltShiftEsc",2)"') Keys("Enter") exit() end end;};
Не уловил, для чего тут mf.print, lua:, mf.postmacro, и почему нельзя просто eval("Shell/AltShiftEsc",2)
И тоже рекомендую переписать, согласно предыдущего примера. Лучше включить туда же, воспользоваться имеющейся таблицей.
sToLp wrote:
Thu 14 Sep, 2017 21:34
С возможностью переходов по кругу вызываемых ими меню в группах данного диапазона, соответствующих модификаторам.
Этого по описанию не понял. Может проиллюстрируете?

User avatar
sToLp
Posts: 817
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 79 times
Been thanked: 6 times

Индицировать привязку шортката к нативной команде Фара.

Post by sToLp » Mon 23 Oct, 2017 22:12

Попытка иллюстрации переходов по кругу меню в группе одного диапазона, двойными нажатиями соответственно на правый и левый контролы.
Attachments
illustr.mp4.7z
(4.84 MiB) Downloaded 25 times

User avatar
sToLp
Posts: 817
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 79 times
Been thanked: 6 times

Индицировать привязку шортката к нативной команде Фара.

Post by sToLp » Sat 28 Oct, 2017 14:35

John Doe wrote:
Wed 27 Sep, 2017 08:19
Лучше собрать все макросы в одном посте.
И даже в одном макросе.
Посмотрел код, и рекомендую переписать таким образом.
Большое спасибо за рекомендации! И особая Вам благодарность за оптимальный код!

Собрал Справку по клавишам, задействованным в панелях (макрообласть Shell), комстроке (Desktop), просмотрщике (Viewer), редакторе (Editor), "прочих меню" (Menu), диалогах (Dialog) и копировании текста с экрана (Grabber) в один файл.
Далее посмотрю что можно сделать по другим макрообластям.

Примечание:
Благодаря форме кода макроса, предложенной John Doe, прилагаемый файл можно использовать не только как макрос-справку, но и непосредственно как файл-справочник по нативным командам.
Attachments
[({dot_[(J_справкаОзадействованииКлавишИихСочетанийНативнымиКомандамиFar(вНесколькихМакрообластях)[20171029](sToLpПоJD)she.lua
(161.7 KiB) Downloaded 60 times
Last edited by sToLp on Sun 29 Oct, 2017 20:20, edited 1 time in total.

Post Reply

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