Page 1 of 9

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

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


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

Posted: Fri 02 Nov, 2012 07:10
by Max Rusov
Можно и наоборот:


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

Posted: Fri 02 Nov, 2012 07:11
by Max Rusov
А вообще, для таких вещей как раз и нужно условие "If"...

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

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

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

Posted: Fri 02 Nov, 2012 07:22
by Max Rusov
Надо было добавить "RCtrl:Up", правые модификаторы имеют приоритет.

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

Posted: Fri 02 Nov, 2012 09:04
by IgorZ
Не знал. Учту, спасибо.

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

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

Posted: Fri 02 Nov, 2012 10:23
by Max Rusov
Подглючивает. Предлагаю подправить:


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

Posted: Tue 06 Nov, 2012 05:09
by IgorZ
Max Rusov wrote:Подглючивает. Предлагаю подправить:

Принято.

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

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

Posted: Mon 12 Nov, 2012 23:04
by ur4ltz
Макрос велеколепен!
Но вставлю свои 5 копеек, возможно сделать так чтобы он работал только если панели активные?

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

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

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

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

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

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

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

Posted: Mon 04 Feb, 2013 05:29
by IgorZ
v2.1. Небольшая оптимизация алгоритма, переход с mf.* на стандартные средства Lua.

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

Posted: Mon 04 Feb, 2013 15:48
by John Doe
После завершения смены диска на погашенной панели - не происходит перерисовки.
Т.е. список дисков остаётся на экране.

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

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

Posted: Mon 04 Feb, 2013 16:48
by John Doe
Предлагаю улучшение: не пытаться менять диск, если выбранный совпадает с текущим.
(В противном случае теряется позиция и выделение в панели.)


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