Показывать выпадающее меню при нажатии "стрелка вверх"

Вам не хватает чего-то в Far? Вы считаете, что вашу идею стоит услышать? Пишите сюда.
Post Reply
fml2
Posts: 534
Joined: Mon 09 Jul, 2012 22:10
Has thanked: 2 times
Been thanked: 8 times

Показывать выпадающее меню при нажатии "стрелка вверх"

Post by fml2 »

На момент версии 3.0.4285 x86 главное меню (т.е. то, которое вызывается по F9) действует так: после его вызова нужно выбрать какой-то его пункт и нажать "Ввод" или "Стрелка вниз" для того, чтобы выпало соответствующее меню.

Хотелось бы, чтобы меню выпадало также и при нажатии "стрелка вверх". Причем после этого курсор должен стоять на последнем пункте выпавшего меню. Таким образом можно будет быстрее добраться до нижних пунктов. Кнопка "стрелка вверх" в описанном контексте (пока) не задействована.

Наверняка это можно сделать макросом, но я не понимаю, как ограничить его действие только на главное меню, причем в "невыпавшем" состоянии.
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Показывать выпадающее меню при нажатии "стрелка вверх"

Post by John Doe »

fml2 wrote: только на главное меню,
area
fml2 wrote: причем в "невыпавшем" состоянии.
Object.Height
fml2
Posts: 534
Joined: Mon 09 Jul, 2012 22:10
Has thanked: 2 times
Been thanked: 8 times

Показывать выпадающее меню при нажатии "стрелка вверх"

Post by fml2 »

Спасибо за подсказку! Получилось так (и вроде работает):

Code: Select all

-- Show the pull down menu from the main menu if the user
-- presses 'Up.' The menu cursor is set at the last entry
-- of the pulled menu.

Macro {
  description = "Pull down main menu at Up key";
  area = "MainMenu";
  key  = "Up";
  uid  = "A9E2A7EA-C18E-11E4-8DFC-AA07A5B093DB";

  condition = function()
    return Object.Height <= 1
  end;
  action = function()
    Keys("Down Up")
  end;
}
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Показывать выпадающее меню при нажатии "стрелка вверх"

Post by John Doe »

Имхо практичнее макрос, который при вызове меню по F9 будет его сразу и раскрывать.
fml2
Posts: 534
Joined: Mon 09 Jul, 2012 22:10
Has thanked: 2 times
Been thanked: 8 times

Показывать выпадающее меню при нажатии "стрелка вверх"

Post by fml2 »

Возможно, вы и правы, но написать такой макрос мне лично будет трудно, т.к. я не знаю, в каких контекстах F9 вызывает меню, т.е. не знаю, как правильно задать "area". Кроме того, такой макрос будет уже довольно сильным отступлением от стандартного Фара, а мне хотелось сделать пользование меню лишь немного удобнее, не меняя общей картины.
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Показывать выпадающее меню при нажатии "стрелка вверх"

Post by John Doe »

fml2 wrote: написать такой макрос мне лично будет трудно
Берём AltMenu.lua из Addons, и модифицируем по вкусу.

P.S.
У меня например так:
fml2
Posts: 534
Joined: Mon 09 Jul, 2012 22:10
Has thanked: 2 times
Been thanked: 8 times

Раскрытие главного меню при нажатии "стрелки вверх"

Post by fml2 »

В r12977 Фар был изменен так, что главное меню раскрывается при нажатии стрелки вверх. Но в выпавшем меню курсор устанавливается на верхний пункт (точно так же, как при нажатии "стрелки вниз"). По-моему, было бы логичнее в этом случае устанавливать его на нижний пункт.

Я, конечно, понимаю, что все это можно сделать макросами, но если уж встраивать такое, то так, чтобы надо было как можно меньше макросов.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Раскрытие главного меню при нажатии "стрелки вверх"

Post by DrKnS »

Раскрытие меню по ↑ было добавлено, т. к. это вполне стандартное поведение интерфейса.

Нестандартное позиционирование вполне можно получить макросами.
Post Reply

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