Достучаться до far:config не через командную строку

Столкнулись с проблемой в использовании Far? Здесь можно получить помощь.
Post Reply
Yegor
Posts: 1326
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 32 times
Been thanked: 61 times

Достучаться до far:config не через командную строку

Post by Yegor »

Делаю себе переключалку между шелами (EDIT: с помощью макросов):
Cmd <-> Powershell <-> WSL
т.е. фактически для текущей сессии Фара меняю System.Executor.Comspec и System.Executor.ComspecArguments через far:config. Но хочу, чтобы вызов far:config не попадал в консоль.

Пример:

Code: Select all

C:\Far\Encyclopedia>ls
'ls' is not recognized as an internal or external command,
operable program or batch file.

C:\Far\Encyclopedia>far:config   <-- !!! здесь я переключился в Powershell, но хочу избавится от этой строки на экране !!!

C:\Far\Encyclopedia>ls

    Directory: C:\Far\Encyclopedia

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---           1/20/2021    11:34         784930 FarEncyclopedia.ru.chm
-a---           1/20/2021    11:34         173545 luafar_manual.chm
-a---           1/20/2021    11:34          86548 macroapi_manual.en.chm
-a---           1/20/2021    11:34          94728 macroapi_manual.ru.chm
Far 3.0.5730.0 x86 / Windows 10 2009 x64

P.S. lua:print('test') отпечатков не оставляет, может стоит поправить в консерватории (если она вообще тут как-то виновата)?
Last edited by Yegor on Thu 04 Feb, 2021 04:30, edited 2 times in total.
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Достучаться до far:config не через командную строку

Post by buniak_a_h »

На мой вопрос:
buniak_a_h wrote: Wed 25 Mar, 2020 23:43 Мне надо в процессе выполнения скрипта изменить настройки ФАРа.
Получить нынешнее состояние- Far.GetConfig. Также можно через вызовы SQLite (тут не только прочитать можно, но и поменять). Но это попахивает "хакерством". Есть ли цивилизованный способ поменять настройки (причём было бы здорово, если б только на текущий сеанс, если не включено автосохранение настроек и не вызвано сохранение по ShiftF9). Но вот только изменённые параметры не учитываются ФАРом. Как быть?
я получил ответ:
zg wrote: Thu 26 Mar, 2020 15:46 изменение настроек программы втайне от пользователя — зло. то же самое в программе с кучей деструктивных функций — очень большое зло. у фара был в прошлом пример, когда плагин случайно менял сочетание xlat на x и потом годами пользователи жаловались, что не работает кнопка x. при этом и версия исправленная давно вышла и написано про это везде было. поэтому реальный пример, почему это плохо — есть. иногда это бывает хорошо, пример editor.SetParam. но все изменения локальны и временны для конкретной копии. но даже тут не обошлось без приключений, хотя гораздо меньшего масштаба. а по ссылке пример человека, который пишет скрипт, который влияет буквально на всё в фаре, и при этом не утруждает себя чтением документации. давать в руки таких людей возможность перманентно менять состояние фара — не выглядит разумным. и да, возможно для вас польза от (в процессе работы панельного модуля надо запретить запись в историю, а затем восстановить) очевидна. я, например, не понимаю — зачем это.
Короче, авторы не хотят делать АПИ. Аргументируют безопасностью. Хотя скрипт для обхода этого запрета (вызывающий меню Far:Config и в нём поменять что надо) - не проблема Но все мои аргументы были отвергнуты.
Yegor
Posts: 1326
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 32 times
Been thanked: 61 times

Достучаться до far:config не через командную строку

Post by Yegor »

Меня устраивает через диалог, просто не нравится, что консоль портит. Поэтому и спрашиваю, может есть другой способ открыть этот диалог
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Достучаться до far:config не через командную строку

Post by Smitis »

Yegor wrote: Thu 04 Feb, 2021 01:07 для текущей сессии Фара меняю System.Executor.Comspec и System.Executor.ComspecArguments через far:config
Можно делать через переменные среды - в far:config эти параметры задать переменными, а в ФАРе переменные менять макросом.
Разум когда-нибудь победит.
Yegor
Posts: 1326
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 32 times
Been thanked: 61 times

Достучаться до far:config не через командную строку

Post by Yegor »

citRiks wrote: Thu 04 Feb, 2021 11:45@far:config
А слона-то я и не заметил. Спасибо!
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
Yegor
Posts: 1326
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 32 times
Been thanked: 61 times

Достучаться до far:config не через командную строку

Post by Yegor »

Smitis wrote: Thu 04 Feb, 2021 08:40 Можно делать через переменные среды - в far:config эти параметры задать переменными, а в ФАРе переменные менять макросом.
Тоже вариант, спасибо, но этим путем я уже не пошел.
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
Post Reply

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