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

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

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

Post by IgorZ » Fri 02 Nov, 2012 05:53

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

Attachments
CtrlAltMenuDisk.3.3.0.7z
последняя версия
(14.95 KiB) Downloaded 24 times
CtrlAltMenuDisk2.0.fmlua.7z
Версия 2.0 - последняя fmlua
(1.54 KiB) Downloaded 22 times
CtrlAltMenuDisk1.1.fmlua.7z
Совсем старая версия (1.1) для версий Фара без Mouse.LastCtrlState
(1.62 KiB) Downloaded 17 times
Last edited by IgorZ on Thu 15 Jun, 2017 09:30, edited 1 time in total.

User avatar
Max Rusov
Posts: 3599
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Been thanked: 6 times
Contact:

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

Post by Max Rusov » Fri 02 Nov, 2012 07:10

Можно и наоборот:


User avatar
Max Rusov
Posts: 3599
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Been thanked: 6 times
Contact:

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

Post by Max Rusov » Fri 02 Nov, 2012 07:11

А вообще, для таких вещей как раз и нужно условие "If"...

IgorZ
Posts: 448
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 5 times
Been thanked: 8 times

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

Post by IgorZ » Fri 02 Nov, 2012 07:19

Max Rusov wrote:Можно и наоборот:
Так бы и сделал, но GotoBookmark получает событие первым, и до моего макроса дело вообще не доходит. Возможно, нужный эффект можно получить с помощью приоритетов, но у меня не получилось.

User avatar
Max Rusov
Posts: 3599
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Been thanked: 6 times
Contact:

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

Post by Max Rusov » Fri 02 Nov, 2012 07:22

Надо было добавить "RCtrl:Up", правые модификаторы имеют приоритет.

IgorZ
Posts: 448
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 5 times
Been thanked: 8 times

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

Post by IgorZ » Fri 02 Nov, 2012 09:04

Не знал. Учту, спасибо.

P.S. Скорректированный текст макроса в первом посте.

User avatar
Max Rusov
Posts: 3599
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Been thanked: 6 times
Contact:

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

Post by Max Rusov » Fri 02 Nov, 2012 10:23

Подглючивает. Предлагаю подправить:


IgorZ
Posts: 448
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 5 times
Been thanked: 8 times

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

Post by IgorZ » Tue 06 Nov, 2012 05:09

Max Rusov wrote:Подглючивает. Предлагаю подправить:

Принято.

Скорректированный текст макроса в первом посте.

User avatar
ur4ltz
Posts: 76
Joined: Fri 08 Jan, 2010 14:07
Location: Харьков
Has thanked: 1 time

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

Post by ur4ltz » Mon 12 Nov, 2012 23:04

Макрос велеколепен!
Но вставлю свои 5 копеек, возможно сделать так чтобы он работал только если панели активные?

IgorZ
Posts: 448
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 5 times
Been thanked: 8 times

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

Post by IgorZ » Tue 13 Nov, 2012 04:16

ur4ltz wrote:Макрос велеколепен!
Но вставлю свои 5 копеек, возможно сделать так чтобы он работал только если панели активные?
Не сильно ясно, зачем (плагин, как раз, работает и при отключённых), но пожалуйста. Соответствующая опция добавлена. Новая версия в первом посте. Заодно сделал Shift отключаемым, если кому мешает.

User avatar
ur4ltz
Posts: 76
Joined: Fri 08 Jan, 2010 14:07
Location: Харьков
Has thanked: 1 time

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

Post by ur4ltz » Thu 15 Nov, 2012 22:43

IgorZ wrote:
ur4ltz wrote:Макрос велеколепен!
Но вставлю свои 5 копеек, возможно сделать так чтобы он работал только если панели активные?
Не сильно ясно, зачем (плагин, как раз, работает и при отключённых), но пожалуйста. Соответствующая опция добавлена. Новая версия в первом посте. Заодно сделал Shift отключаемым, если кому мешает.
Не знаю как кому но мне нужно иногда в ком строке блок выделить, удалить или поправить, Shift=<> вот здесь макрос и (мешает) перекрывает стандарт!

IgorZ
Posts: 448
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 5 times
Been thanked: 8 times

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

Post by IgorZ » Wed 19 Dec, 2012 10:26

v 2.0. Переделана логика (спасибо за Mouse.LastCtrlState). Теперь макрос вызывается и работает до конца, а не при каждом нажатии. Больше нет конфликта с Bookmark (c) Max Rusov и другими макросами, назначенными на отпускание одиночного модификатора. Мелкие правки. Сделана версия для чистого LuaMacro. Новые версии в первом посте даннной темы.

IgorZ
Posts: 448
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 5 times
Been thanked: 8 times

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

Post by IgorZ » Mon 04 Feb, 2013 05:29

v2.1. Небольшая оптимизация алгоритма, переход с mf.* на стандартные средства Lua.

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

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

Post by John Doe » Mon 04 Feb, 2013 15:48

После завершения смены диска на погашенной панели - не происходит перерисовки.
Т.е. список дисков остаётся на экране.

P.S.
Мелочь конечно.
Но если обрабатывать эту ситуацию, то наверно стоит в этом случае включать панель.

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

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

Post by John Doe » Mon 04 Feb, 2013 16:48

Предлагаю улучшение: не пытаться менять диск, если выбранный совпадает с текущим.
(В противном случае теряется позиция и выделение в панели.)


Сюда же: если не удалось получить букву текущей панели, то отобразить её как "#"

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

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

Post by John Doe » Mon 04 Feb, 2013 16:54

Дополнительная фича: исключить из отображения диски, перечисленные в local ExcludeDisks="aey", для этого в цикл заполнения списка дисков добавить условие not ExcludeDisks:upper():find(string.char(i))

Post Reply

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