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

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

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

Postby CDK » Sun 22 Mar, 2015 12:36

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

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


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


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

PS: Far 3.0 (build 4305)

Shmuel
Posts: 4997
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 132 times

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

Postby Shmuel » Sun 22 Mar, 2015 16:14

CDK wrote:Source of the post Скажите, пожалуйста, как правильнее всего изменять настройки самого фара из макросов?

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

User avatar
zg
zero-gravity
Posts: 5220
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 42 times
Contact:

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

Postby zg » Sun 22 Mar, 2015 16:30

Shmuel wrote:

Code: Select all

if state ~= Hdlg:send("DM_GETCHECK",pos) then Keys("Space") end
есть же gray+/gray-.

Shmuel
Posts: 4997
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 132 times

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

Postby Shmuel » Sun 22 Mar, 2015 16:40

Спасибо, не знал.

User avatar
CDK
Posts: 288
Joined: Thu 28 Apr, 2005 08:28
Has thanked: 8 times
Been thanked: 2 times
Contact:

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

Postby CDK » Sun 22 Mar, 2015 18:51

Shmuel wrote:Source of the post API такого нет, чтобы произвольные настройки менять.

т.е. ничего аналогичного ECTL_SETPARAM нет?

Shmuel wrote:Source of the post Вот вариант вашего макроса, который не будет "мерцать диалогом":

А за счет чего убирается мерцание? Т.е. что именно в моем варианте его вызывает? (что неправильно у меня?)

Shmuel
Posts: 4997
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 132 times

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

Postby Shmuel » Sun 22 Mar, 2015 19:49

CDK wrote:Source of the post ничего аналогичного ECTL_SETPARAM нет?
Вроде бы нет.
CDK wrote:Source of the post А за счет чего убирается мерцание? Т.е. что именно в моем варианте его вызывает? (что неправильно у меня?)
DM_SETCHECK его вызывает. Не потому, что это неправильно у вас, а потому, что это так устроено в Фаре/LuaMacro (видимо, не идеально).

User avatar
CDK
Posts: 288
Joined: Thu 28 Apr, 2005 08:28
Has thanked: 8 times
Been thanked: 2 times
Contact:

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

Postby CDK » Mon 23 Mar, 2015 18:20

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


Но я тут открыл для себя far:config и соответственно возник вопрос - к нему тоже нет доступа из макросов для обращения напрямую к свойствам типа System.ElevationMode?

Shmuel
Posts: 4997
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 132 times

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

Postby Shmuel » Mon 23 Mar, 2015 18:38

Доступ только для чтения. Используйте Far.GetConfig (предпочтительно) или Far.Cfg_Get.

User avatar
DrKnS
Posts: 4497
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 2 times
Been thanked: 110 times
Contact:

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

Postby DrKnS » Mon 23 Mar, 2015 18:40

Можно засунуть в батник Far.exe /set:system.elevationmode=<mode>

User avatar
CDK
Posts: 288
Joined: Thu 28 Apr, 2005 08:28
Has thanked: 8 times
Been thanked: 2 times
Contact:

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

Postby CDK » Sun 16 Apr, 2017 07:50

Опять пришлось городить страшное "Down Down Down...". В связи с этим возник вопрос: а сделать SetConfig, хотя бы для части тех параметров, изменение которых доступно из интерфейса не хотите по соображениям безопасности - это будет наружу доступно не только макросам?
Last edited by CDK on Sun 16 Apr, 2017 07:52, edited 1 time in total.

Shmuel
Posts: 4997
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 132 times

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

Postby Shmuel » Sun 16 Apr, 2017 08:03

SetConfig - на мой взгляд - никакой безопасности не повредит, т.к. у макроса и так есть тыща способов эту безопасность сломать.
Посмотрите на мантисе: если ещё нет такого виша - поместите.
А вместо Down Down Down уже давно можно 3*Down.

User avatar
CDK
Posts: 288
Joined: Thu 28 Apr, 2005 08:28
Has thanked: 8 times
Been thanked: 2 times
Contact:

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

Postby CDK » Sun 16 Apr, 2017 08:40

Shmuel wrote:Source of the post уже давно можно 3*Down

Оу! Читерство :) Спасибо.

А нет ли возможности вызывать стандартные диалоги (в данном случае настройки) по GUID? Плагины вижу как вызывать, а диалоги что-то не нахожу.
PS: кажется этот вопрос уже всплывал.

Shmuel
Posts: 4997
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 132 times

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

Postby Shmuel » Sun 16 Apr, 2017 09:50

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


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

Who is online

Users browsing this forum: No registered users and 3 guests