Как определить панель в disks

Здесь обсуждается всё, что касается макросов.
Post Reply
wolf
Posts: 1030
Joined: Fri 08 Apr, 2005 12:54
Location: Moscow

Как определить панель в disks

Post by wolf »

в смысле - как определить - для левой или для правой панели вызвано меню дисков?
хочется TAB прикрутить для смены этого меню...
ошибка — считать, что фар для пользователей. (с) zg
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 »

У Zeroes в макросах вроде такое было:
Esc $If (Disks) C $End $If (!PPanel.Visible) $If (APanel.Left) CtrlF2 $Else CtrlF1 $End $End Tab F9 Enter End Enter
User avatar
Zeroes
Мультикопипастер Броадкастер
Posts: 570
Joined: Wed 16 Mar, 2005 20:53
Location: Gomel \ Belarus
Has thanked: 1 time
Been thanked: 3 times
Contact:

Re: Как определить панель в disks

Post by Zeroes »

wolf wrote:в смысле - как определить - для левой или для правой панели вызвано меню дисков?
хочется TAB прикрутить для смены этого меню...
APanel.Left
PPanel.Left

REGEDIT4

;переход в меню выбора дисков на противоположной панели
;включение видимости панели в которой будет происходить смена диска если её небыло

[HKEY_CURRENT_USER\Software\Far\Users\Zeroes_And_Ones\KeyMacros\Disks\Tab]
"Sequence"="Esc $If (Disks) C $End $If (!PPanel.Visible) $If (APanel.Left) CtrlF2 $Else CtrlF1 $End $End Tab F9 Enter End Enter"
"DisableOutput"=dword:00000001
--- Zeroes & Ones ---
wolf
Posts: 1030
Joined: Fri 08 Apr, 2005 12:54
Location: Moscow

Post by wolf »

Zeroes, (APanel.Left) - это определение на какой панели стоит курсор, а не для какой панели вызвано меню. есть разница.
как видно из макры - APanel.Left используется только для включения панелей.

Хотя задачу предложенная макра решает удовлетворительно - пусть и перетаскивая курсор на новую панель, и в половине случаев переключая со второго нажатия...
ошибка — считать, что фар для пользователей. (с) zg
User avatar
WhiteDragon
Posts: 182
Joined: Thu 14 Apr, 2005 09:14
Location: Stavropol
Contact:

Post by WhiteDragon »

у меня бог знает с каких времен вот так:

Code: Select all

[HKEY_CURRENT_USER\Software\Far\KeyMacros\Disks\AltF1]
"Sequence"="Esc AltF1"
"DisableOutput"=dword:00000001

[HKEY_CURRENT_USER\Software\Far\KeyMacros\Disks\AltF2]
"Sequence"="Esc AltF2"
"DisableOutput"=dword:00000001
wolf
Posts: 1030
Joined: Fri 08 Apr, 2005 12:54
Location: Moscow

Post by wolf »

WhiteDragon тоже полезно, но не то о чем спрашивал :)
ошибка — считать, что фар для пользователей. (с) zg
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Post by Smitis »

wolf
Повесить макросы на Alt-F1 и Alt-F2 в которых запоминать в глобальной переменной, для какой панели вызывалось меню дисков.
User avatar
HaRT
Moderator
Posts: 10860
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Post by HaRT »

Smitis
Не поможет, т.к. смена диска вызывается и из меню.
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Post by Smitis »

HaRT
Но для большинства случаев поможет.
Post Reply

Return to “Обсуждение макросов”