Переключение дисков по Ctrl/Alt/Shift+←/→

Здесь выкладываются готовые к использованию макросы и скрипты.
IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

Переключение дисков по Ctrl/Alt/Shift+←/→

Post by IgorZ »

Макрос написан по мотивам анси-плагина Change Active Drive by Ilya V. Gershman
Стрелки (или другие назначенные клавиши) в сочетании с LeftCtrl/LeftAlt/RightCtrl/RightAlt/Shift в указанных комбинациях меняют диск для левой/правой/активной/пассивной (в зависимости от настроек) панели. Замечания и предложения принимаются с благодарностью.

Attachments
CtrlAltMenuDisk.4.1.2.7z
(18.86 KiB) Downloaded 32 times
Last edited by IgorZ on Wed 04 Dec, 2019 07:22, edited 8 times in total.

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

Переключение дисков по Ctrl/Alt/Shift+<-/->

Post by IgorZ »

Latest post of the previous page:

Правка всё ещё требуется, или уже не актуальна в связи с исправлениями в Far-е?

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

Переключение дисков по Ctrl/Alt/Shift+<-/->

Post by John Doe »

Да, в фаре исправлено.

Но в скрипте я бы тоже кое-что изменил: сейчас все плагины анализируются в момент открытия настроек.
А рациональнее было бы это делать только при нажатии [ Processed plugins ]

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

Переключение дисков по Ctrl/Alt/Shift+<-/->

Post by IgorZ »

Версия 3.0.7 - Рефакторинг работы с плагинами. Мелкие правки.
John Doe wrote:Да, в фаре исправлено.

Но в скрипте я бы тоже кое-что изменил: сейчас все плагины анализируются в момент открытия настроек.
А рациональнее было бы это делать только при нажатии [ Processed plugins ]
Таки сделал. И выгрузку плагинов (спасибо за образец), и перенёс в обработчик [ Processed plugins ].

User avatar
Mauro72
Posts: 216
Joined: Wed 11 Aug, 2010 00:23
Location: Rosario, Argentina
Been thanked: 9 times

Переключение дисков по Ctrl/Alt/Shift+<-/->

Post by Mauro72 »

IgorZ,
- May be a blank space between drives [C D E F..]? Highlighted the current drive in uppercase, not lowercase.
- And a option to show always the drives in two panels?
Something like this:

Thanks!

User avatar
HaRT
Moderator
Posts: 9328
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 99 times
Been thanked: 212 times

Переключение дисков по Ctrl/Alt/Shift+<-/->

Post by HaRT »

Mauro72 wrote: Highlighted the current drive in uppercase, not lowercase
How is it now? If [CDEFGhIJKLNS], then it resembles a row of physical buttons, one of them pressed — quite intuitive…
Color highlight would be helpful anyway.
Фар есть инструмент, а не нянька. © 2009 DrKnS

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

Переключение дисков по Ctrl/Alt/Shift+<-/->

Post by IgorZ »

Mauro72 wrote:May be a blank space between drives [C D E F..]?
Only if as option.
Mauro72 wrote:Highlighted the current drive in uppercase, not lowercase.
Similarly.
Mauro72 wrote:And a option to show always the drives in two panels?
Please, more detail.

User avatar
Mauro72
Posts: 216
Joined: Wed 11 Aug, 2010 00:23
Location: Rosario, Argentina
Been thanked: 9 times

Переключение дисков по Ctrl/Alt/Shift+<-/->

Post by Mauro72 »

Please, more detail.
Easy, show the drives always, not only when press CTRL (left panel)/ALT (right panel) + arrows.

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

Переключение дисков по Ctrl/Alt/Shift+<-/->

Post by IgorZ »

Версия 3.0.8 - Настройка вывода символов панели с разделением пробелами. Настройка выделения текущего диска нижним регистром. Рефакторинг. Мелкие правки.
Mauro72 wrote:
Please, more detail.
Easy, show the drives always, not only when press CTRL (left panel)/ALT (right panel) + arrows.
No. This drives panels will need to redraw almost every time when FAR panels are redrawn. Before this is necessary to determine, is it really required, or no. All this will increase the load on the system and potentially lower reliability without increasing functionality.

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

Переключение дисков по Ctrl/Alt/Shift+<-/->

Post by IgorZ »

Версия 3.1.0 - Более гибкая настройка управления. Переработана справка.

Теперь можно назначать переключение любой панели на любые комбинации -> и <- с модификаторами. Ну и справка заодно приведена в соответствие с возможностями скрипта и переведена на стандартный механизм.

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

Переключение дисков по Ctrl/Alt/Shift+<-/->

Post by IgorZ »

Версия 3.1.1 - Мелкие правки. Изменены символы для обозначения плагинов, добавляющихся к списку дисков по умолчанию - оказывается, в каких-то случаях те, что были, могут приводить к ошибкам. Исправлен непереведённый с русского фрагмент в английской справке. Собственно, те, кто не пользуются английской справкой и уже переназначили обозначения плагинов, как им удобно, могут не беспокоиться.
Заодно причесал головной пост - устаревшие варианты скрипта формата .fmlua выкинул из текста, заменив на вложения.

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

Переключение дисков по Ctrl/Alt/Shift+<-/->

Post by IgorZ »

Версия 3.2.0 -
  • Максимально гибкая настройка управления. Теперь можно указывать любые комбинации, вплоть до (к примеру) AltShiftQ для левой панели и RCtrlRAltShiftW для правой. Вроде, за время тестирования все ошибки выловлены, но поскольку возможны скрытые камни в связи с какими-то комбинациями клавиш, на всякий случай пусть полежит и предыдущая версия.
  • Смена места хранения данных. Внимание: в связи с данным новшеством рекомендую перенести настройки скрипта при помощи специальной утилиты. Хотя, в принципе, должен и старые настройки находить, если новых нет. Но не гарантирую, что в любых обстоятельствах, и что так будет и в последующих версиях.
  • Мелкие правки.

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

Переключение дисков по Ctrl/Alt/Shift+<-/->

Post by IgorZ »

Версия 3.3.0 - Диски и плагины можно назначать на разные комбинации. После смены клавиш скрипты перезагружаются (чтобы обновить клавиши вызова макроса). Убрана область Menu из определения пункта меню плагинов. При выводе справки используется язык справки фара. Справка допилена. Nfo. Мелкие правки.
Поясню подробнее насчёт "Диски и плагины можно назначать на разные комбинации". В настройках можно указывать, какими клавишами переключать диски и плагины, к примеру

Code: Select all

║ 1 Левая Ctrl RAlt          3 Активная Shift              ║
║ 2 ПраваяAlt RCtrl          4 Пассивная                   ║
║ 5 <--   Left               6 -->      Right              ║
Теперь можно написать

Code: Select all

║ 1 Левая Ctrl RAlt          3 Активная Shift              ║
║ 2 ПраваяAlt RCtrl          4 Пассивная                   ║
║ 5 <--   \dNum7 \pNum1 Num4 6 -->      \dNum9 \pNum3 Num6 ║
Тогда пара Num7/Num9 будет выводить и, соответственно, переключать только диски, пара Num1/Num3 только плагины, а пара Num4/Num6, как и раньше, и те, и другие. В качестве признаков используются \d/\D и \p/\P.

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

Переключение дисков по Ctrl/Alt/Shift+<-/->

Post by IgorZ »

Версия 3.3.1 -
  • Нажатие буквы диска/символа плагина перемещает курсор в панели. К примеру, если скрипт активирован с помощью комбинации Ctrl+что-то, то CtrlC переместит курсор на диск C, а нажатие Ctrl/ переместит курсор на плагин, обозначенный символом / . Разумеется, не всякий символ получится так ввести, к примеру, Ctrl? не выйдет, только Ctrl/.
  • Изменён способ выделения начального диска в панели, на пробу. На схеме по умолчанию, во всяком случае, видно гораздо лучше, поскольку используется окраска с другим цветом фона. Раньше использовался цвет выделенного файла в панели, у которого фон, как правило, совпадает с фоном обычного файла, поэтому видно было не очень хорошо.
  • Рефакторинг, мелкие правки. В частности, теперь назначение на плагин русской буквы отрабатывает, вроде бы, полностью корректно.

User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 107 times
Been thanked: 12 times

Переключение дисков по Ctrl/Alt/Shift+<-/->

Post by sToLp »

На мой взгляд, макрос стал почти идеальным.
Однако всегда ведь есть возможность совершенствования. В частности:
IgorZ wrote:
Fri 08 Dec, 2017 10:03
  • Изменён способ выделения начального диска в панели, на пробу...
Это очень хорошо. При этом, было бы предпочтительнее, чтобы курсор на позиции начального диска обозначался бы подсветкой также, как и на других позициях.

А так же было бы хорошо, чтобы меню можно было бы выводить не в одной позиции, а одновременно в двух (например, в самой верхней — 0 и в самой нижней — -1).

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

Переключение дисков по Ctrl/Alt/Shift+<-/->

Post by IgorZ »

sToLp wrote:
Sun 10 Dec, 2017 17:27
На мой взгляд, макрос стал почти идеальным.
Однако всегда ведь есть возможность совершенствования. В частности:
IgorZ wrote:
Fri 08 Dec, 2017 10:03
  • Изменён способ выделения начального диска в панели, на пробу...
Это очень хорошо. При этом, было бы предпочтительнее, чтобы курсор на позиции начального диска обозначался бы подсветкой также, как и на других позициях.
Не совсем понял, что имеется в виду. Подсветка текущего диска должна обладать бОльшим приоритетом, чем подсветка начального? То есть, если курсор текущей позиции стоит на начальном диске, то отмечать его не как начальный диск, а как текущую позицию? Если да, поменяйте в файле местами строки 408 и 409, то есть

Code: Select all

    far.Text(PanelPos+DrvNum+(SpDelim and DrvNum-1 or 0),OutStr,SelColor,DrvList:sub(DrvNum,DrvNum)) -- и курсор
и

Code: Select all

    far.Text(StartOut,OutStr,StartColor,DrvList:sub(StartDrv,StartDrv)) -- и стартовый диск
Кстати, если большинство считает аналогично, то поменяю в дистрибутиве - мне без особой разницы.
sToLp wrote:
Sun 10 Dec, 2017 17:27
А так же было бы хорошо, чтобы меню можно было бы выводить не в одной позиции, а одновременно в двух (например, в самой верхней — 0 и в самой нижней — -1).
Зачем??? :?
Last edited by IgorZ on Mon 11 Dec, 2017 07:59, edited 1 time in total.

User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 107 times
Been thanked: 12 times

Переключение дисков по Ctrl/Alt/Shift+<-/->

Post by sToLp »

IgorZ wrote:
Mon 11 Dec, 2017 07:55
sToLp wrote:
Sun 10 Dec, 2017 17:27
было бы предпочтительнее, чтобы курсор на позиции начального диска обозначался бы подсветкой также, как и на других позициях
Не совсем понял, что имеется в виду.
При прокрутке курсора по меню, когда он попадает вновь на начальный диск, то не подсвечивается (как бы пропадает) и становится непонятным: где же курсор в этот момент?

Дополнено:
Предложенный Вами вариант смены указанных строк местами данную задачу решает. Спасибо!

IgorZ wrote:
Mon 11 Dec, 2017 07:55
sToLp wrote:
Sun 10 Dec, 2017 17:27
А так же было бы хорошо, чтобы меню можно было бы выводить не в одной позиции, а одновременно в двух (например, в самой верхней — 0 и в самой нижней — -1).
Зачем??? :?
По нынешним временам мониторы бывают большими (и даже очень большими) и на них удобнее были бы дублированные меню.


А также (если это возможно и не слишком обременительно) было бы удобно, чтобы меню могло бы постоянно оставаться на экране и, кроме прочего, переключение можно было бы осуществлять кликом мыши. :oops:
Last edited by sToLp on Mon 11 Dec, 2017 10:24, edited 1 time in total.

Post Reply

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