Сохранение/восстановление именованных контекстов

Здесь обсуждается всё, что касается макросов.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Сохранение/восстановление именованных контекстов

Post by buniak_a_h »

На этом форуме имеется много скриптов, позволяющих запомнить и восстановить папки и файлы. Возможно, есть скрипты, позволяющие запомнить режимы просмотра и сортировки с привязкой к папкам. Возможно даже имеются скрипты, сохраняющие и восстанавливающие фильтры (опять же с привязкой к папкам). То, что я предлагаю - попытка сохранения именованного контекста, включающего папки, сортировку, режим просмотра, фильтр и список открытых редакторов-вьюеров. Полнота восстанавливаемых данных настраивается. Также предусмотрен сервис удаления ненужных контекстов.

Сохранение контекста вызывается по CtrlS в панелях и в диалоге выхода из ФАРа (там появилась подсказка).
Восстановление контекста вызывается из пункта МЕНЮ плагинов. Надпись появится только в случае наличия сохранённых контекстов. Хотя это, наверно, будет переделываться.

Версия 1.4.4 от 10.05.2022
  1. Исправлена неточность запуска ФАРа в нескольких панелях ConEMU. Теперь для этого используется команда плагина, таким образом ФАР запускается с теми ключами, что указаны в настройках ConEMU.
  2. Исправлена неточность восстановления фильтров при включённой настройке плагина Временная панель
    [x] Menu from file list
    Эта настройка не учитывалась, что приводило к неправильному восстановлению фильтров по расширению и появлению "мусора" в командной строке.
SaveContext.1_4_4.7z
(47.73 KiB) Downloaded 189 times
Last edited by buniak_a_h on Tue 10 May, 2022 02:29, edited 36 times in total.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Сохранение/восстановление именованных контекстов

Post by buniak_a_h »

Latest post of the previous page:

Сорри, я, кажется, нашёл, как запускать умолчательный процесс в новой панели КонЕму (аналогично [+]). Ещё пару экспериментов…
Если есть плагин conemu…
Last edited by buniak_a_h on Mon 09 May, 2022 05:18, edited 1 time in total.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Сохранение/восстановление именованных контекстов

Post by buniak_a_h »

ccaid, попробуйте сделать такое:
замените строку
mf.postmacro(function() Far.DisableHistory(1); panel.SetCmdLine(nil, '"'..win.GetEnv('FARHOME') .. '\\far.exe -new_console"'); Keys"Enter"; end)
на
mf.postmacro(function() Far.DisableHistory(1); panel.SetCmdLine(nil, 'conemu:run: -new_console'); Keys"Enter"; end)
У меня работает, но у меня нет специфических параметров запуска ФАРа, так что кроме Вас проверить некому.
ccaid
Posts: 908
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 24 times
Been thanked: 6 times

Сохранение/восстановление именованных контекстов

Post by ccaid »

buniak_a_h, то что нужно. спасибо.

основная документация ConEmu — в сети. например: про -new_console
Фар делают добрые люди
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Сохранение/восстановление именованных контекстов

Post by buniak_a_h »

ccaid wrote: Mon 09 May, 2022 11:08 основная документация ConEmu — в сети
Да я там и нашёл. Проблема в том, что я учил (точнее, проходил мимо) немецкий язык; по-аглицки читать мне тяжко. Плюс команду плагина :run: я тоже подсмотрел там, но это не в документации, а как пример использования. Т.е. список команд, распознаваемый плагином, остался неизвестным.
P/S. я ещё у себя написал не просто -new_console, а -new_console:b (т.е. первой открывается панель с последним закрытым ФАРом; она и остаётся активной. Остальные экземпляры открываются фоновыми.
Last edited by buniak_a_h on Mon 09 May, 2022 11:24, edited 1 time in total.
ccaid
Posts: 908
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 24 times
Been thanked: 6 times

Сохранение/восстановление именованных контекстов

Post by ccaid »

buniak_a_h, есть ещё одна проблемка — типа глюк. я раскрутил её до пределов своего понимания, дальше может быть вы подхватите.
воспроизводится на чистом Фаре с чистым профилем, Конэму не требуется.
для эффекта требуется сабжевый скрипт и комплектный TmpPanel. запускаем Фар с пустым (это необязательно) профилем; оказываемся в его папке; жмём Ctrl-I и настраиваем фильтр; например, ставим минус на *.map; жмём Alt-Shift-F9, идём в настройки TmpPanel, там ставим флажок на Menu from file list (Меню из файл-списка) в положение Вкл; идём в настройки скрипта и включаем стек; сохраняем настройки Фара по Shift-F9; выходим из Фара с сохранением контекста; опять запускаем Фар — в командной строке видим строку *.map.
Фар делают добрые люди
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Сохранение/восстановление именованных контекстов

Post by buniak_a_h »

ccaid, ну Вы наворотили!
Повторилось. Ищу…
Главная проблема в том, что диалог установки фильтра управляется только keystrocke-ами. Т.е. нет нормального программного интерфейса. Да ещё кошмар какой-то: выдаю Keys"CtrlI" (симулирую нажатие Ctrl+I), но это вовсе не означает показ диалога фиьтра. Пришлось делать идиотский цикл

Т.е. явно играют роль какие-то таймауты. Я просил помощи, но гуру промолчали…
Это я к тому, что (а) не факт, что получится; (б) если получится - не факт, что быстро и (в) не факт, что не испортится в другом месте. С заплатками всегда так - ни в чём нельзя быть уверенным.
Last edited by buniak_a_h on Tue 10 May, 2022 02:34, edited 1 time in total.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Сохранение/восстановление именованных контекстов

Post by buniak_a_h »

Разобрался. Таймауты ни при чём.

Выше я описал сложности. Подтвердите, что настройка временной панели в виде МЕНЮ для Вас актуальна, тогда буду думать.
Last edited by buniak_a_h on Tue 10 May, 2022 02:35, edited 1 time in total.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Сохранение/восстановление именованных контекстов

Post by buniak_a_h »

ccaid wrote: Mon 09 May, 2022 14:10 есть ещё одна проблемка — типа глюк…
Проблему оказалось решить легко и просто. Найдите в модуле FileFilterTools.lua строку
Plugin.Command(TmpPanel_Id, '+any "' ..fn..'"')
и добавьте параметр -menu
Должна получиться следующая строка:
Plugin.Command(TmpPanel_Id, '+any -menu "' ..fn..'"')
Версию обновлю чуть позже.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Сохранение/восстановление именованных контекстов

Post by buniak_a_h »

Версия 1.4.4 от 10.05.2022
  1. Исправлена неточность запуска ФАРа в нескольких панелях ConEMU. Теперь для этого используется команда плагина, таким образом ФАР запускается с теми ключами, что указаны в настройках ConEMU.
  2. Исправлена неточность восстановления фильтров при включённой настройке плагина Временная панель
    [x] Menu from file list
    Эта настройка не учитывалась, что приводило к неправильному восстановлению фильтров по расширению и появлению "мусора" в командной строке.
ccaid
Posts: 908
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 24 times
Been thanked: 6 times

Сохранение/восстановление именованных контекстов

Post by ccaid »

buniak_a_h, второй вопрос тоже закрыт.
Фар делают добрые люди
Prutkov
Posts: 44
Joined: Sat 08 Apr, 2023 04:58
Has thanked: 33 times
Been thanked: 2 times

Сохранение/восстановление именованных контекстов

Post by Prutkov »

buniak_a_h,
buniak_a_h wrote: Tue 09 May, 2023 08:57 У меня есть скрипт Сохранение-восстановление контекста.
Prutkov wrote: Tue 09 May, 2023 09:39 Ок, упомянутый Вами сабж посмотрю, и с нетерпением буду ждать его обновления.
В головном посте указана версия скрипта 1.4.4.
А в файле SaveContext.lua из скачанного архива значится 1.4.3.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Сохранение/восстановление именованных контекстов

Post by buniak_a_h »

Prutkov wrote: Wed 10 May, 2023 18:39 В головном посте указана версия скрипта 1.4.4.
А в файле SaveContext.lua из скачанного архива значится 1.4.3.
Да, действительно, в самом скрипте номер версии поменять забыл. Зато в истории версий (в *.hlf) есть сведения об 1.4.4 . Так что не верь глазам соим это на самом деле 1.4.4
Prutkov
Posts: 44
Joined: Sat 08 Apr, 2023 04:58
Has thanked: 33 times
Been thanked: 2 times

Сохранение/восстановление именованных контекстов

Post by Prutkov »

buniak_a_h, Замечательный скрипт!

Кроме прочих, многообразных и весьма полезных его особенностей, мне очень понравилась возможность не привязываясь к конкретной папке запомнить один или несколько открытых на редактирование или просмотр файлов и затем, при необходимости, быстро открыть их не разыскивая сами эти файлы.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Сохранение/восстановление именованных контекстов

Post by buniak_a_h »

Prutkov wrote: Thu 11 May, 2023 04:51 мне очень понравилась возможность <…> запомнить один или несколько открытых на редактирование или просмотр файлов и затем, при необходимости, быстро открыть
Собс-но, для того и делалось … :-)
Post Reply

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