Изменение настроек Far макросом

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
Post Reply
User avatar
CDK
Posts: 309
Joined: Thu 28 Apr, 2005 08:28
Has thanked: 13 times
Been thanked: 3 times
Contact:

Изменение настроек Far макросом

Post by CDK »

Скажите, пожалуйста, как правильнее всего изменять настройки самого фара из макросов?

Нужно это для макроса, который при запуске проверяет запущен фар под админом или нет и в зависимости от этого изменяет "System settings"


Сейчас у меня это выглядит так:


Оно работает, но мне не очень нравится Keys(...) и SendDlgMessage с указанием номера чекбокса. Да и мерцает диалогом оно иногда при запуске.

PS: Far 3.0 (build 4305)
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Изменение настроек Far макросом

Post by Shmuel »

CDK wrote: Скажите, пожалуйста, как правильнее всего изменять настройки самого фара из макросов?
API такого нет, чтобы произвольные настройки менять.
Вот вариант вашего макроса, который не будет "мерцать диалогом":
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Изменение настроек Far макросом

Post by zg »

Shmuel wrote:

Code: Select all

if state ~= Hdlg:send("DM_GETCHECK",pos) then Keys("Space") end
есть же gray+/gray-.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Изменение настроек Far макросом

Post by Shmuel »

Спасибо, не знал.
User avatar
CDK
Posts: 309
Joined: Thu 28 Apr, 2005 08:28
Has thanked: 13 times
Been thanked: 3 times
Contact:

Изменение настроек Far макросом

Post by CDK »

Shmuel wrote: API такого нет, чтобы произвольные настройки менять.
т.е. ничего аналогичного ECTL_SETPARAM нет?
Shmuel wrote: Вот вариант вашего макроса, который не будет "мерцать диалогом":
А за счет чего убирается мерцание? Т.е. что именно в моем варианте его вызывает? (что неправильно у меня?)
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Изменение настроек Far макросом

Post by Shmuel »

CDK wrote: ничего аналогичного ECTL_SETPARAM нет?
Вроде бы нет.
CDK wrote: А за счет чего убирается мерцание? Т.е. что именно в моем варианте его вызывает? (что неправильно у меня?)
DM_SETCHECK его вызывает. Не потому, что это неправильно у вас, а потому, что это так устроено в Фаре/LuaMacro (видимо, не идеально).
User avatar
CDK
Posts: 309
Joined: Thu 28 Apr, 2005 08:28
Has thanked: 13 times
Been thanked: 3 times
Contact:

Изменение настроек Far макросом

Post by CDK »

Shmuel, спасибо. Теперь это выглядит так:


Но я тут открыл для себя far:config и соответственно возник вопрос - к нему тоже нет доступа из макросов для обращения напрямую к свойствам типа System.ElevationMode?
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Изменение настроек Far макросом

Post by Shmuel »

Доступ только для чтения. Используйте Far.GetConfig (предпочтительно) или Far.Cfg_Get.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Изменение настроек Far макросом

Post by DrKnS »

Можно засунуть в батник Far.exe /set:system.elevationmode=<mode>
User avatar
CDK
Posts: 309
Joined: Thu 28 Apr, 2005 08:28
Has thanked: 13 times
Been thanked: 3 times
Contact:

Изменение настроек Far макросом

Post by CDK »

Опять пришлось городить страшное "Down Down Down...". В связи с этим возник вопрос: а сделать SetConfig, хотя бы для части тех параметров, изменение которых доступно из интерфейса не хотите по соображениям безопасности - это будет наружу доступно не только макросам?
Last edited by CDK on Sun 16 Apr, 2017 07:52, edited 1 time in total.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Изменение настроек Far макросом

Post by Shmuel »

SetConfig - на мой взгляд - никакой безопасности не повредит, т.к. у макроса и так есть тыща способов эту безопасность сломать.
Посмотрите на мантисе: если ещё нет такого виша - поместите.
А вместо Down Down Down уже давно можно 3*Down.
User avatar
CDK
Posts: 309
Joined: Thu 28 Apr, 2005 08:28
Has thanked: 13 times
Been thanked: 3 times
Contact:

Изменение настроек Far макросом

Post by CDK »

Shmuel wrote: уже давно можно 3*Down
Оу! Читерство :) Спасибо.

А нет ли возможности вызывать стандартные диалоги (в данном случае настройки) по GUID? Плагины вижу как вызывать, а диалоги что-то не нахожу.
PS: кажется этот вопрос уже всплывал.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Изменение настроек Far макросом

Post by Shmuel »

CDK wrote: А нет ли возможности вызывать стандартные диалоги (в данном случае настройки) по GUID?
Нет такой возможности.
Post Reply

Return to “Нужна помощь”