Renewal — автообновление Far и внешних плагинов

Здесь можно обсудить ваш любимый плагин.
User avatar
artemsen
Posts: 752
Joined: Sun 07 Feb, 2010 08:55
Been thanked: 2 times

Renewal — автообновление Far и внешних плагинов

Post by artemsen »

Обсуждение плагина Renewal.

Скачать: https://sourceforge.net/projects/farplugs/files/
Last edited by artemsen on Thu 16 Feb, 2012 13:50, edited 1 time in total.
Pasha_ZZZ
Posts: 181
Joined: Mon 12 Jun, 2006 14:58
Been thanked: 4 times
Contact:

Renewal — автообновление Far и внешних плагинов

Post by Pasha_ZZZ »

Latest post of the previous page:

vodek wrote: Wed 23 Dec, 2020 19:51прогресса проверки то нет
Куда он делся? Макрос нажимает кнопку Проверить в начале. И потом, если обнов нет - Закрыть в конце. Прогресс он не убирает.
Last edited by Pasha_ZZZ on Fri 25 Dec, 2020 15:43, edited 1 time in total.
vodek
Posts: 31
Joined: Sat 12 May, 2012 09:29
Has thanked: 4 times

Renewal — автообновление Far и внешних плагинов

Post by vodek »

Pasha_ZZZ, не знаю куда делся прогресс? Я не брал.
User avatar
bigvax
Posts: 26
Joined: Fri 02 Jun, 2006 17:18
Location: где-то во времени
Has thanked: 2 times
Been thanked: 1 time
Contact:

Renewal — автообновление Far и внешних плагинов

Post by bigvax »

Привет!
Выявил ошибку в новой версии плагина, когда в системе Comspec указывает не на cmd.exe.
У меня в частности стоит tcc.exe (Take Command от Jpsoft).
В этом случае после закрытия консольного окна FARа, ничего не происходит, и не появляется модальное окошко Винды, о том что файл был обновлен.
При переписывании Comspec на cmd.exe - все работает.
Всегда виртуально Ваш, BigVax
2useven10
Posts: 4314
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 7 times
Been thanked: 220 times

Renewal — автообновление Far и внешних плагинов

Post by 2useven10 »

bigvax, Плагин при обновлении фар создаёт файл
%TEMP%\far_renewalXX\update,cmd (XX - 64 или 32)
Попробуйте выполнить в комстроке far
cmd.exe /C "путь к файлу"
Когда CopmSpec указывает на TCC, что при этом произойдёт?

И что произойдёт если просто выполнить файл по Enter (в TCC)?
Last edited by 2useven10 on Sun 27 Dec, 2020 10:43, edited 2 times in total.
User avatar
bigvax
Posts: 26
Joined: Fri 02 Jun, 2006 17:18
Location: где-то во времени
Has thanked: 2 times
Been thanked: 1 time
Contact:

Renewal — автообновление Far и внешних плагинов

Post by bigvax »

2useven10 wrote: Sun 27 Dec, 2020 10:29 Попробуйте выполнить в комстроке far
cmd.exe /C "путь к файлу"
Когда CopmSpec указывает на TCC, что при этом произойдёт?
И что произойдёт если просто выполнить файл по Enter (в TCC)?
В окне ТСС (фар, разумеется, не запущен)
cmd.exe /c "C:\{TMP}\far_renewal64\update.cmd"
Все выполняется, в том числе:
msg max "Обновление Far Manager завершено." & rem start "C:\Program Files\Far\Far.exe" "C:\Program Files\Far\Far.exe"
cоответственно появляется модальное окошко «Обновление завершено»
Прямой запуск update.cmd из папки где оно лежит - тоже отрабатывает, что в принципе, ожидаемо, т.к. тот-же TCC настроен, на выполнение .bat и .cmd через cmd.exe, а вот .btm - выполняет уже сам.
Т.е. напрямую все выполняется, а вот в рабочей оснастке почему-то нет... :(
Всегда виртуально Ваш, BigVax
2useven10
Posts: 4314
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 7 times
Been thanked: 220 times

Renewal — автообновление Far и внешних плагинов

Post by 2useven10 »

bigvax wrote: Mon 28 Dec, 2020 20:59 В окне ТСС (фар, разумеется, не запущен)
Я как раз хотел увидеть когда фар разумеется запущен. Т.е. из комстроки фар.
2useven10
Posts: 4314
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 7 times
Been thanked: 220 times

Renewal — автообновление Far и внешних плагинов

Post by 2useven10 »

И запуск по Enter тоже из под фар.

И, кстати, TCC полноразмерный или TCC/LE?
Это к вопросу воспроизведения...
User avatar
bigvax
Posts: 26
Joined: Fri 02 Jun, 2006 17:18
Location: где-то во времени
Has thanked: 2 times
Been thanked: 1 time
Contact:

Renewal — автообновление Far и внешних плагинов

Post by bigvax »

2useven10 wrote: Mon 28 Dec, 2020 22:21 И запуск по Enter тоже из под фар.
Понял, сейчас сделаю.
2useven10 wrote: Mon 28 Dec, 2020 22:21 И, кстати, TCC полноразмерный или TCC/LE?
Это к вопросу воспроизведения...
Полноразмерный, но именно один голый TCC без самой оболочки Take Command - только сам TCC c нужными ему dll и прочим.
Если надо могу показать состав рабочего комплекта и конфиги.

Code: Select all

C:\>ver /r
TCC  27.00.16 x64   Windows 10 [Version 10.0.19042.685]
TCC Build 16   Windows 10 Build 19042
Зарегистрировано: BIGVAX
Это в запущенном FARе при ComSpec=C:\tcc.exe

Code: Select all

C:\{TMP}\far_renewal64>update.cmd
TCC: (Sys) C:\{TMP}\far_renewal64\update.cmd [11]  Параметр задан неверно.
 "fi"
C:\{TMP}\far_renewal64\update.cmd [11]  Использование: TASKLIST [/= /C /D /L /M /N /O /P[n] /T /U["владелец"] /X /Z] [имя]
C:\{TMP}\far_renewal64\Far Manager\changelog
C:\{TMP}\far_renewal64\Far Manager\changelog_eng
C:\{TMP}\far_renewal64\Far Manager\Far.exe
Попытка доступа к ресурсу, занятому другим приложением
Это, при тех-же условиях: cmd.exe /c "C:\{TMP}\far_renewal64\update.cmd"

Code: Select all

C:\{TMP}\far_renewal64>cmd.exe /c "C:\{TMP}\far_renewal64\update.cmd"
C:\{TMP}\far_renewal64>set "FAR_PID=1592"
C:\{TMP}\far_renewal64>set "A=x64"
C:\{TMP}\far_renewal64>set "N=0"
C:\{TMP}\far_renewal64>set "G=next"
C:\{TMP}\far_renewal64>call :check_far
C:\{TMP}\far_renewal64>set /a "N=N+1"
C:\{TMP}\far_renewal64>if "1" == "11" set "G=kill"   & goto :EOF
C:\{TMP}\far_renewal64>for /F %t in ('tasklist /nh /fi "PID eq 1592"') do set "t=%t"
TCC: (Sys) Параметр задан неверно.
 "fi"
Использование: TASKLIST [/= /C /D /L /M /N /O /P[n] /T /U["владелец"] /X /Z] [имя]
Ошибка в синтаксисе команды.
C:\{TMP}\far_renewal64>  if /i not "~0,3EOF

Т.е. сам вижу, что скрипт обрабатывается tcc.exe, хотя должен был быть отдан cmd.exe... :(
Почему так - не понимаю, ибо уже много лет как все настроено, что-бы .bat и .cmd обрабатывались cmd.exe, а tcc.exe обрабатывал-бы только .btm... Ж(
Всегда виртуально Ваш, BigVax
2useven10
Posts: 4314
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 7 times
Been thanked: 220 times

Renewal — автообновление Far и внешних плагинов

Post by 2useven10 »

bigvax, В последней версии Renewal батник сделан проще. Попробуйте его.
Если не будет работать, поставьте в начало батника руками ComSpec на cmd.exe (set ComSpec=....).
Я думаю батник запускается как надо (через cmd.exe), а вот то что запускается из него (tasklist) уже по ComSpec.

add: попробуйте заменить tasklist на tasklist.exe в update.cmd,
в новой версии ещё и findstr на findstr.exe
Last edited by 2useven10 on Sun 03 Jan, 2021 19:09, edited 3 times in total.
2useven10
Posts: 4314
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 7 times
Been thanked: 220 times

Renewal — автообновление Far и внешних плагинов

Post by 2useven10 »

Проверил сам. С .exe всё нормально обновляется из под TCC.
Как перезапустить фар под TCC не знаю, у меня настоен перезапуск через Far.lnk,
поэтому после обновления фар запустился в обычной консоли без TCC.

Сегодня обновлю плагин ещё раз - надеюсь будет работать и с TCC..
Last edited by 2useven10 on Sun 03 Jan, 2021 19:53, edited 1 time in total.
Pasha_ZZZ
Posts: 181
Joined: Mon 12 Jun, 2006 14:58
Been thanked: 4 times
Contact:

Renewal — автообновление Far и внешних плагинов

Post by Pasha_ZZZ »

Было бы замечательно, если бы при нахождении обнов где-то показывало, сколько "галочек" поставлено. Если плагов много и, например, верхний (допустим фар) к обновлению - непонятно, есть ли еще и внизу (за скроллом) обновы. Или перемещать все с обновами вверх.
А лучше и то, и другое.
buniak_a_h
Posts: 2854
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 154 times
Been thanked: 406 times
Contact:

Renewal — автообновление Far и внешних плагинов

Post by buniak_a_h »

Pasha_ZZZ, А ещё лучше выставлять не флаг LIF_GRAYED а флаг LIF_HIDDEN.
Last edited by buniak_a_h on Fri 08 Jan, 2021 10:19, edited 1 time in total.
Pasha_ZZZ
Posts: 181
Joined: Mon 12 Jun, 2006 14:58
Been thanked: 4 times
Contact:

Renewal — автообновление Far и внешних плагинов

Post by Pasha_ZZZ »

buniak_a_h wrote: Fri 08 Jan, 2021 10:17А ещё лучше выставлять не флаг LIF_GRAYED а флаг LIF_HIDDEN.
Поменял скрипт, добавил скрытие "серых" пунктов.
Первые 2 строки отвечают за автозакрытие диалога и скрытие серых строк соответственно.
buniak_a_h
Posts: 2854
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 154 times
Been thanked: 406 times
Contact:

Renewal — автообновление Far и внешних плагинов

Post by buniak_a_h »

Pasha_ZZZ wrote: Tue 12 Jan, 2021 18:21
buniak_a_h wrote: Fri 08 Jan, 2021 10:17А ещё лучше выставлять не флаг LIF_GRAYED а флаг LIF_HIDDEN.
Поменял скрипт, добавил скрытие "серых" пунктов.
Первые 2 строки отвечают за автозакрытие диалога и скрытие серых строк соответственно.
А я уже сделал макрос (повесил на CtrlH) чтоб включать-выключать :-) :
  1. local iItem = 2
  2. local F = far.Flags
  3. Macro{
  4.   id="4EB6F7FE-5884-40EE-9F61-24B411F8F902";
  5.   area="Dialog";
  6.   key="CtrlH";
  7.   description="сокрытие ";
  8.   flags="";
  9.   condition=function(key, data) return Dlg.Id == 'E3299E7A-1A22-47DD-B270-663BD2B74BCD' end;
  10.   action=function(data)
  11.    local hDlg = far.AdvControl("ACTL_GETWINDOWINFO").Id
  12.    local ListBox = hDlg:send("DM_GETDLGITEM", iItem)
  13.    local bWas = false
  14.    for i,v in ipairs(ListBox[6]) do
  15.     if band(v.Flags, F.LIF_GRAYED) == F.LIF_GRAYED then
  16.      v.Flags = bxor(v.Flags, F.LIF_HIDDEN)
  17.      bWas = true
  18.     end
  19.    end
  20.    if bWas then
  21.     hDlg:send(F.DM_LISTSET, iItem, ListBox[6])
  22.    end
  23.   end;
  24. }
Last edited by buniak_a_h on Tue 12 Jan, 2021 20:04, edited 1 time in total.
buniak_a_h
Posts: 2854
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 154 times
Been thanked: 406 times
Contact:

Renewal — автообновление Far и внешних плагинов

Post by buniak_a_h »

Pasha_ZZZ wrote: Tue 12 Jan, 2021 18:21 Поменял скрипт, добавил скрытие "серых" пунктов.
На самом деле не понял, о каком скрипте речь. Я запускаю плагин без скриптов…
Post Reply

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