MultiPanel — стек панелей

Здесь выкладываются готовые к использованию макросы и скрипты.
User avatar
John Doe
Бюрократ
Posts: 12872
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

MultiPanel — стек панелей

Post by John Doe »



Панелей на экране помещается всё так же две, но каждую из них в любой момент можно поместить в MRU-стек, и в любой другой момент достать оттуда в изначальном их состоянии (режим, сортировка, выделение).
Запомнить в стеке можно произвольное число панелей.
Список панелей сохраняется между запусками фара.
Если папка панели в данный момент не существует, то это индицируется (пункт списка серый).
Панели плагинов в основном поддерживаются, а если же панель невозможно сохранить, то это индицируется (пункт списка серый).

Запуск: Ctrl-~ — переключиться между активной и сохранённой, с отображением списка.

Шорткаты в списке (Ctrl должен удерживаться):

Шорткаты в панелях:

source | download

Last edited by HaRT on Wed 05 Aug, 2020 15:46, edited 2 times in total.
Reason: Добавлен шоткат Shift-~, исправлены опечатки, слегка унифицировано форматирование.
AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

Re: MultiPanel — стек панелей

Post by AleXH »

Ну это просто праздник какой-то! :) Большое спасибо за столь нужный скрипт.

Сейчас скрипт блокирует сортировку панелей по CtrlF3/F4.

Предлагаю дополнить вызов меню панелей без удержания по нажатию и отпусканию LCtrl.
Last edited by AleXH on Wed 16 Jul, 2014 08:58, edited 2 times in total.
User avatar
Alexey Samlyukov
Posts: 1760
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 5 times
Contact:

Re: MultiPanel — стек панелей

Post by Alexey Samlyukov »

а мне вот было всегда интересно, почему клавиши CtrlF3/F4, хотя с панелями связаны CtrlF1/F2 ? и почему хотя бы правые контролы не освободить под оригинальные сочетания?
User avatar
John Doe
Бюрократ
Posts: 12872
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

Re: MultiPanel — стек панелей

Post by John Doe »

Alexey Samlyukov wrote:а мне вот было всегда интересно, почему клавиши CtrlF3/F4, хотя с панелями связаны CtrlF1/F2 ? и почему хотя бы правые контролы не освободить под оригинальные сочетания?
Это же макросы, освободить легко.
Сочетания выбраны как в плагине MultiPanel, но если есть идеи получше, то предлагайте.

Как вариант, сочетания могли бы срабатывать при удержании, а короткое нажатие вызывало бы изначальную встроенную функцию фара.
User avatar
John Doe
Бюрократ
Posts: 12872
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

Re: MultiPanel — стек панелей

Post by John Doe »

AleXH wrote:Предлагаю дополнить вызов меню панелей без удержания по нажатию и отпусканию LCtrl.
С удержанием вам вообще неудобно? Или этот шорткат для другого сценария использования?
AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

Re: MultiPanel — стек панелей

Post by AleXH »

Или этот шорткат для другого сценария использования?
Это для альтернативного варианта - стандартного меню с выбором стрелками и вводом.
С удержанием вам вообще неудобно?
Нормально, надо привыкнуть просто.
Согласен с Alexey Samlyukov о применении CtrlF1/F2, но предлагаю их использовать для свопа левой, либо правой панелей, в то время как F3/F4 отвечают за активную и пассивную панели. F5 клонирование, F6, либо DEL - удаление, главное чтобы они в панели не прорвались :)
User avatar
John Doe
Бюрократ
Posts: 12872
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

Re: MultiPanel — стек панелей

Post by John Doe »

AleXH wrote:
Или этот шорткат для другого сценария использования?
Это для альтернативного варианта - стандартного меню с выбором стрелками и вводом.
Сделать можно. Но нужен ли альтернативный вариант?

И использовать в качестве шортката одиночный Ctrl идея не очень, т.к. пользователь может нажать его например для того, чтобы найти на линейке клавиш нужную команду, и так и не выбрав ничего, отпустить Ctrl.
Отличить длинное нажатие от короткого — в макросе сейчас невозможно (для одиночных модификаторов).
AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

Re: MultiPanel — стек панелей

Post by AleXH »

Но нужен ли альтернативный вариант?
Я перебьюсь, но мне кажется наличие такого варианта было бы уместным (хотя само предложение лишней работы нет :)) Но про Ctrl вы правы, получается что столь же удобной альтернативы и нет, поэтому остаётся только вариант с удержанием.
User avatar
John Doe
Бюрократ
Posts: 12872
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

alpha 1

Post by John Doe »

  • Сделал на пробу вариант без удержания, на LCtrl, по умолчанию отключен (NoMacro).
  • Макросы теперь срабатывают только на сочетания с левым Ctrl.
  • Экспериментально: макросы Ctrl[Shift]F3|F4] теперь срабатывают только при удержании Ctrl >200 мс (настраивается в переменной HoldDelay).
  • Сохранение панели теперь индицируется сообщением.
В шапке.
AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

Re: MultiPanel — стек панелей

Post by AleXH »

Имеет смысл сделать вызов меню по Ctrl до 200мс, если дольше, то предполагается что пользователь рассматривает строку функциональных клавиш и меню не вызывается. По ESC закрывать меню, если оно открыто, не меняя панель. Скорректировать надпись и шоркаты (не требуется Ctrl).
User avatar
John Doe
Бюрократ
Posts: 12872
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

Re: MultiPanel — стек панелей

Post by John Doe »

AleXH wrote:Имеет смысл сделать срабатывание вызов меню по Ctrl до 200мс
Имеет. Но средствами макроязыка это невозможно, как я уже писал (неоткуда узнать когда был нажат одиночный Ctrl).

Остальные предложенные модификации имеют смысл, если оставлять этот режим.
AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

Re: MultiPanel — стек панелей

Post by AleXH »

Тогда всё на ваше усмотрение
User avatar
John Doe
Бюрократ
Posts: 12872
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

alpha 2

Post by John Doe »

  • Доделан режим работы, не требующий удержания модификатора (макрос на одиночный Ctrl).
  • Несуществующие панели отображаются в списке серым.
    Более корректно обрабатывается ситуация, когда не удаётся открыть нужную панель.
  • Новая функция: "закрыть" панель.
    Если панель плагиновая, то выходим в реальную.
    Если панель реальная, то устанавливаются папка и режимы по умолчанию (DefPanel в коде).
    Шорткат в панелях — LCtrl[Shift]F8 (активная/пассивная)
  • Работа с настройками.
    Shift-F9 — сохранить настройки
    F9 — перезагрузить настройки (так например можно подхватить список панелей из другой сессии)
    F8 — удалить настройки
В шапке.
User avatar
John Doe
Бюрократ
Posts: 12872
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

Re: MultiPanel — стек панелей

Post by John Doe »

В работу с настройками закралась ошибка (
Перезалил
User avatar
John Doe
Бюрократ
Posts: 12872
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

Re: MultiPanel — стек панелей

Post by John Doe »

Хочу посоветоваться.
Сейчас отображаемая панель не является частью запоминаемого стека панелей.
Для пользователя это в большинстве случаев не имеет значения.
Но ощутить разницу можно: при сохранении настроек (в т.ч. при выходе) текущая панель не сохраняется. При восстановлении соответственно текущая панель не изменяется.
И с моей точки зрения, это хорошо.
С другой стороны, я понимаю что ожидания пользователя могут быть иными.
Если для вас это важно, то высказывайтесь.

Также интересует, какие ещё из (пока?) нереализованных функций плагина Multi-panel реально востребованы.
Например:
-- Возможность сохранять/восстанавливать именованных наборов панелей
-- У каждой панели собственный постоянный индекс, независимый от MRU
-- Режим, в котором список панелей не сортируется в порядке их использования
Post Reply

Return to “Полезные макросы и скрипты”