AltHistory: Alternative History — Альтернативная история

Здесь можно обсудить ваш любимый плагин.
Nikolay
Posts: 602
Joined: Sat 14 Jan, 2006 17:17
Has thanked: 1 time
Been thanked: 34 times

AltHistory: Alternative History — Альтернативная история

Post by Nikolay »

Latest post of the previous page:

HaRT wrote: Fri 21 Jan, 2022 19:06 Nikolay, как вам кажется, это сложно?
11 files changed, 135 insertions, 15 deletions
на [*] Восстановлена работоспособность опции "Сохранять транзитные папки"
User avatar
HaRT
Moderator
Posts: 10858
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

AltHistory: Alternative History — Альтернативная история

Post by HaRT »

Nikolay, обнаружился , в котором AltHistory сейчас неудобен, но есть возможность улучшить. Не могли бы вы сделать, чтобы при сбросе (непустого) фильтра (но не префикса) по Del он (полный фильтр) запоминался бы для последующего восстановления по BS? (А заодно это стало бы и способом восстановить фильтр при ошибочном сбросе.) В сочетании с «Режимом максимального сохранения текущего элемента при изменении фильтра» (по Ins) это как раз позволило бы реализовать указанный в начале сообщения сценарий.

Правда, при этом по Del будет затёрт доступный для восстановления фильтр из прошлого вызова этой истории; но мне кажется, предлагаемая функциональность важнее.
Last edited by HaRT on Mon 22 Aug, 2022 23:44, edited 2 times in total.
Reason: Текст существенно обновлён
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 10858
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

AltHistory: Alternative History — Альтернативная история

Post by HaRT »

Добавил я себе в файл AltHistory.lua , который открывает выбранную в истории директорию в Проводнике (например, чтобы туда что-нибудь перетащить-и-сбросить). Но чтобы сделать его ещё удобнее, мне не хватает возможности через API плагина определить тип открытой истории, поскольку в нынешнем виде макрос имеет смысл только в истории папок, а для истории команд я хочу добавить дополнительные возможности.
Nikolay, сложно ли это добавить?
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

AltHistory: Alternative History — Альтернативная история

Post by Shmuel »

HaRT, это можно сделать без API.
Определяете локальную переменную, например local State
Это определение должно предшествовать определению макросов.
При вызове, например, макроса истории папок, перед вызовом плагина ставите State="folders", аналогично в других макросах. А в вашем дополнительном макросе в condition пишете return State=="folders".
Last edited by Shmuel on Wed 26 Oct, 2022 11:16, edited 2 times in total.
User avatar
HaRT
Moderator
Posts: 10858
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

AltHistory: Alternative History — Альтернативная история

Post by HaRT »

Shmuel wrote: Wed 26 Oct, 2022 11:14 это можно сделать без API
Cпасибо, я пока продолжил развитие макроса без различения, из какой именно истории он вызван. Теперь .
Если он вызван на директории, то она открывается в Проводнике; если на файле — новое окно Проводника позиционируется на этом файле; если ни то, ни другое — выводится (немодальное) сообщение.
Last edited by HaRT on Wed 20 Mar, 2024 21:04, edited 1 time in total.
Reason: Добавлен комментарий про «фоновое» окно Проводника со ссылкой на обсуждение
Фар есть инструмент, а не нянька. © 2009 DrKnS
Nikolay
Posts: 602
Joined: Sat 14 Jan, 2006 17:17
Has thanked: 1 time
Been thanked: 34 times

AltHistory: Alternative History — Альтернативная история

Post by Nikolay »

HaRT wrote: Mon 22 Aug, 2022 23:11 есть возможность улучшить
HaRT wrote: Wed 26 Oct, 2022 01:12 сложно ли это добавить?
Улучшено, несложно
User avatar
HaRT
Moderator
Posts: 10858
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

AltHistory: Alternative History — Альтернативная история

Post by HaRT »

Nikolay, давно я напарываюсь на одну неприятную ошибку, да вот только сейчас собрался отрапортовать: не работает запуск команды из истории, когда находимся в редакторе/просмотрщике (немодальном).
Открываю один или более редакторов/просмотрщиков и из одного из них через Историю команд пытаюсь запустить какую-нибудь одну.
Но она не запускается. Вместо этого команда сносится в командную строку (в этом есть некий смысл), но там и остаётся. Активным становится предыдущий редактор/просмотрщик (когда их несколько) или панели (когда один). В новый активный редактор иногда вставляется разрыв строки (непонятно, почему не всегда).

Win 10 x64; Far Manager, version 3.0.6051.0 x86; AltHistory 4.2.775.0 (Alpha)
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

AltHistory: Alternative History — Альтернативная история

Post by Smitis »

Багрепорт.
Скрипт:
  1. CommandLine {
  2.  
  3.   description = "Notepad";
  4.  
  5.   prefixes = "notepad";
  6.  
  7.   action = function(prefix,file)
  8.  
  9.     win.system(('""%s" %s"'):format("notepad.exe",file))
  10.  
  11.   end;
  12.  
  13. }
В настройки внешнего редактора пишем команду notepad: "!\!.!"
Редактор нормально открывается по AltF4, но в историю команд попадает строка, заключенная в дополнительные кавычки "notepad: "путь_к_файлу"". В результате команда из истории вызывается с ошибкой.
Я думаю, команду с префиксом вообще не надо заключать в дополнительные кавычки.
Last edited by Smitis on Fri 03 Feb, 2023 12:51, edited 1 time in total.
Nikolay
Posts: 602
Joined: Sat 14 Jan, 2006 17:17
Has thanked: 1 time
Been thanked: 34 times

AltHistory: Alternative History — Альтернативная история

Post by Nikolay »

HaRT wrote: Mon 19 Dec, 2022 18:34 давно я напарываюсь на одну неприятную ошибку, да вот только сейчас собрался отрапортовать: не работает запуск команды из истории, когда находимся в редакторе/просмотрщике (немодальном).
Хех, восемь лет, как не работает, долго собирались :) Поправимо.
Smitis wrote: Fri 03 Feb, 2023 12:50 В настройки внешнего редактора пишем команду notepad: "!\!.!"
Редактор нормально открывается по AltF4, но в историю команд попадает строка, заключенная в дополнительные кавычки "notepad: "путькфайлу"". В результате команда из истории вызывается с ошибкой.
Ночь, и я, наверное, плохо соображаю. А как, вообще, "в историю команд (AltHistory) попадает строка"? Она ж предваряется пробелами согласно Config\HiddenCommandsSpacesCount.farconfig, и не должна в альтернативной истории команд отображаться. В стандартную историю команд эта строка попадает только при попытке открыть внешний просмотрщик/редактор из альтернативной истории просмотра и редактирования, но опять-таки, с пробелами. Вообщем, мне ничего не понятно и нужно пояснение, как что настроено, чтобы понять: как такое может быть.
То, что запуск префиксовидных внешних просмотрщиков/редакторов из альтернативной истории просмотра и редактирования не работает, это понятно: из-за ведущих пробелов, которые AltHistory вставляет, чтобы скрыть команду, "запускатор" Far не считает, что команда начинается с префикса и не обрабатывает префикс. Уж не знаю, что с этим делать:
  1. Убирать из плагина пробельную логику и замусоривать историю команд запусками внешних просмотрщиков/редакторов.
  2. Пытаться понять логику, почему в самом FAR нельзя теперь триммить пробелы в начале командной строки и если не найду логику, упрашивать FarGroup тримить начало командной строки при анализе.
  3. Упрашивать FarGroup предоставить "запускатор" в пользование плагинам, чтобы можно было внешний просмотрщик/редактор вызвать, не испортив командную строку и не замусорив историю команд.
Last edited by Nikolay on Wed 08 Feb, 2023 11:05, edited 1 time in total.
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

AltHistory: Alternative History — Альтернативная история

Post by Smitis »

Nikolay wrote: Tue 07 Feb, 2023 22:56 и не должна в альтернативной истории команд отображаться.
Теперь я ничего не понял.
Из основной истории (которую ведёт ФАР) внешний редактор через префикс открывается нормально.
Не открывается из истории AltHistory. Почему она там не должна отображаться? Это плохо, если не должна.
Last edited by Smitis on Thu 09 Feb, 2023 16:00, edited 5 times in total.
Разум когда-нибудь победит.
Nikolay
Posts: 602
Joined: Sat 14 Jan, 2006 17:17
Has thanked: 1 time
Been thanked: 34 times

AltHistory: Alternative History — Альтернативная история

Post by Nikolay »

Smitis wrote: Thu 09 Feb, 2023 15:55 Из основной истории (которую ведёт ФАР) внешний редактор через префикс открывается нормально.
Разумеется, поскольку фар умеет запускать внешний редактор. Мой плагин не умеет этого делать, поэтому запускает внешний редактор через командную строку ФАР, что мусорит в истории команд.
Не открывается из истории AltHistory. Почему она там не должна отображаться? Это плохо, если не должна.
Потому что это мусор (я про историю команд говорю, а не просмотра/редактирования). Чтобы этот мусор не отображался в истории команд AltHistory, плагин перед передачей команды в командную строку предваряет команду пробелами. Это нормально работает с внешними редакторами, представляющими собой вызов программ, но не работает с префиксами командной строки, поскольку фар не видит префикс, предварённый пробелами и передаёт команду Windows, которая не понимает, что такое "notepad:", конечно.
Варианты, что со всем этим делать, я выше описал.
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

AltHistory: Alternative History — Альтернативная история

Post by Smitis »

Nikolay, а понял, засорять историю команд конечно не нужно.
Мне кажется, наилучшим выходом был бы пункт 3.
Разум когда-нибудь победит.
Nikolay
Posts: 602
Joined: Sat 14 Jan, 2006 17:17
Has thanked: 1 time
Been thanked: 34 times

AltHistory: Alternative History — Альтернативная история

Post by Nikolay »

Smitis wrote: Thu 09 Feb, 2023 18:58 Мне кажется, наилучшим выходом был бы пункт 3.
Да, конечно, а пока костылище.
User avatar
Freeman
Posts: 35
Joined: Thu 20 Nov, 2014 20:10
Location: Санкт-Петербург
Has thanked: 5 times
Been thanked: 2 times
Contact:

AltHistory: Alternative History — Альтернативная история

Post by Freeman »

С какой-то версии после 2.4.2.464 плагин NetBox стал сохранять историю с префиксом и адресом сервера:

Code: Select all

NetBox:webdav.yandex.ru:/Backups
При переходе в такую папку AltHistory всякий раз подключается заново. Если пароль не сохранен в настройках подключения, он запрашивается. Это, естественно, сводит на нет всё удобство. В сборке Far 4907 и AltHistory 4.0.1 соединение переиспользуется (но нет префикса и кредов, приходится тыкать наугад, хотя это и проще, чем вводить каждый раз пароль).

Можно ли как-то вернуть переиспользование текущего соединения? Было бы идеально.
Пользователь Far с 1998 года
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

AltHistory: Alternative History — Альтернативная история

Post by Smitis »

Nikolay wrote: Thu 09 Feb, 2023 20:11 Да, конечно, а пока костылище.
Так гораздо лучше - засорение истории практически незаметно (ну попала лишняя команда туда, ну и что)
Last edited by Smitis on Wed 15 Feb, 2023 12:02, edited 1 time in total.
Разум когда-нибудь победит.
Nikolay
Posts: 602
Joined: Sat 14 Jan, 2006 17:17
Has thanked: 1 time
Been thanked: 34 times

AltHistory: Alternative History — Альтернативная история

Post by Nikolay »

Freeman wrote: Wed 15 Feb, 2023 11:26 При переходе в такую папку AltHistory всякий раз подключается заново. Если пароль не сохранен в настройках подключения, он запрашивается.
Это так, только если в настройках подключения не сохранён также и логин. Если логин сохранён, то вполне себе используется пароль, введённый ранее, NetBox так и сообщает: "Authenticating with pre-entered password".
Freeman wrote: Wed 15 Feb, 2023 11:26 Можно ли как-то вернуть переиспользование текущего соединения? Было бы идеально.
Ну, с этим в соответствующую ветку.
Post Reply

Return to “Обсуждение плагинов”