Page 33 of 43

MultiArc: Archive support plugin — Модуль работы с архивами

Posted: Wed 30 Nov, 2016 14:33
by HaRT

Latest post of the previous page:

Stalker4, плагины для Фар 1.75 работают в Фар 3 — разумеется, битность (32/64) должна совпадать.

MultiArc: Archive support plugin — Модуль работы с архивами

Posted: Thu 01 Dec, 2016 11:21
by Stalker4
HaRT wrote: плагины для Фар 1.75 работают в Фар 3 — разумеется, битность (32/64) должна совпадать.
Скачал, поставил.
Есть небольшой вопрос: Как можно совместить работу arclite и multiarc, что бы первый только распаковывал rar, а второй только упаковывал rar ?

MultiArc: Archive support plugin — Модуль работы с архивами

Posted: Fri 02 Dec, 2016 14:49
by Ariman
Stalker4, можно отключить в настройках arclite создание архивов по Shift-F1. Тогда на эту комбинацию будет реагировать multiarc.

MultiArc: Archive support plugin — Модуль работы с архивами

Posted: Sat 03 Dec, 2016 14:33
by Smitis
А для быстрого переключения ArcLite <> MultiArc находясь внутри архива, можно воспользоваться макросом (если, например, вошли в архив через ArcLite, а затем понадобилось что-то записать в архив):
  1. local ARCLITE_ID = win.Uuid("65642111-AA69-4B84-B4B8-9249579EC4FA")
  2. local MULTIARC_ID = win.Uuid("C5508DDB-5175-4736-9A10-C8F6EED7B32F")
  3. Macro { -- Переключение ArcLite <--> MultiArc для RAR-архивов
  4.     description="Arcs: Switch between ArcLite/MultiArc";
  5.     area="Shell Search";
  6.     key="AltShiftA ShiftF1";
  7.     condition=function()
  8.         local pluginid = panel.GetPanelDirectory(nil,1).PluginId
  9.         return pluginid == ARCLITE_ID or pluginid == MULTIARC_ID
  10.     end;
  11.     action=function()
  12.         if Area.Search then Keys "Esc" end
  13.         -- ArcLite имеет заголовок панели вида arclite:Rar:test.rar, а MultiArc - RAR:test.rar
  14.         if Object.Title:sub(1,12)=="arclite:Rar:" or Object.Title:sub(1,4)=="RAR:" then
  15.             local dir = panel.GetPanelDirectory(nil,1)
  16.             local inf = panel.GetPanelInfo(nil,1)
  17.             local selected = APanel.Selected
  18.             mf.clip(5,2) -- для сохранения выделения через буфер
  19.             if selected then
  20.                 Keys "CtrlShiftIns"
  21.             end
  22.             dir.PluginId = dir.PluginId==ARCLITE_ID and MULTIARC_ID or ARCLITE_ID
  23.             if panel.SetPanelDirectory(nil,1,dir) then
  24.                 -- Позиционируем курсор так, чтобы не только текущий файл был тот же, но и его положение было то же самое
  25.                 Panel.SetPosIdx(0,-1)
  26.                 Panel.SetPosIdx(0,inf.TopPanelItem)
  27.                 Panel.SetPosIdx(0,inf.CurrentItem)
  28.                 if selected then
  29.                     Panel.Select(0,1,2,mf.clip(0))
  30.                 end
  31.             end
  32.         end
  33.     end;
  34. }

MultiArc: Archive support plugin — Модуль работы с архивами

Posted: Sat 03 Dec, 2016 15:12
by Shmuel
Smitis, здесь имеет смысл ARCLITE_ID и MULTIARC_ID сразу определять через win.Uuid("...."), тогда в макросе не потребуется ни win.Uuid(), ни upper().

MultiArc: Archive support plugin — Модуль работы с архивами

Posted: Sat 03 Dec, 2016 19:37
by Smitis
Да, тут есть место для оптимизации, например, убрать проверку ID плагинов в action, т.к. это сделано уже в condition. Просто этот макрос вырван из скрипта с другими макросами.
Подправил.
И ещё раз.

MultiArc: Archive support plugin — Модуль работы с архивами

Posted: Tue 06 Dec, 2016 07:33
by Stalker4
Smitis, Большое спасибо за скрипт. Пока это ИМНО самый удобный вариант вариант совмещения ArcLite и MultiArc.
Жаль, что MultiArc так и не перевели на Unicode, тогда можно было бы вообще отказаться от ArcLite.

Интересно, а тут на форуме есть разработчики ArcLite ? А то я бы хотел им написать предложение по добавлению исключения из обработки по формату архива отдельно для упаковки и распаковки ...

MultiArc: Archive support plugin — Модуль работы с архивами

Posted: Tue 06 Dec, 2016 08:27
by zg
а в каком месте вы предлагаете использовать исключения для упаковки?

MultiArc: Archive support plugin — Модуль работы с архивами

Posted: Wed 07 Dec, 2016 10:21
by Stalker4
zg wrote: а в каком месте вы предлагаете использовать исключения для упаковки?
Например в обшем случае в ArcLite делаем настройку, в виде таблицы которой перечислены форматы поддерживаемых архивов и два CheckBox'а "распаковка" и "упаковка". На строке "RAR" я снимаю галочку в колонке "упаковка". И после этого когда я пробую через Far добавить в rar-архив файл, то ArcLite игнорирует это действие, передавая тем самым возможность упаковки другим плагинам, например MultiArc.

Хотя как вариант, можно вообще без настройки встроить в Arclite игнорирование обработки упаковки в rar и даже сделать прямую (прозрачную) передачу в MultiArc (если он есть в системе).

Опять же в Arclite можно было бы встроить поддержку системы fmt-субплагинов (как MultiArc), которая бы использовалась для поддержки действий с архивами, которые не умеет сам Arclite (7z.dll)

MultiArc: Archive support plugin — Модуль работы с архивами

Posted: Wed 07 Dec, 2016 10:47
by zg
Stalker4 wrote:И после этого когда я пробую через Far добавить в rar-архив файл, то ArcLite игнорирует это действие, передавая тем самым возможность упаковки другим плагинам, например MultiArc.
это фантазии. на панели открыт конкретный плагин, ничего он никому передать не может.

MultiArc: Archive support plugin — Модуль работы с архивами

Posted: Wed 07 Dec, 2016 12:44
by HaRT
zg wrote: на панели открыт конкретный плагин, ничего он никому передать не может
Я так понимаю, что предложение Stalker4 относится к упаковке по ShiftF1 из панели c реальными путями.

MultiArc: Archive support plugin — Модуль работы с архивами

Posted: Wed 07 Dec, 2016 14:40
by zg
HaRT wrote:Я так понимаю, что предложение Stalker4 относится к упаковке по ShiftF1 из панели c реальными путями.
и в чём тогда вопрос?

Code: Select all

╔═ Plugin selection ══╗
║  arclite            ║
║  MultiArc           ║
╚═════════════════════╝

MultiArc: Archive support plugin — Модуль работы с архивами

Posted: Fri 09 Dec, 2016 10:17
by Stalker4
HaRT wrote: Я так понимаю, что предложение Stalker4 относится к упаковке по ShiftF1 из панели c реальными путями.
Честно говоря добавлением в архив в Far через ShiftF1 я почти не пользуюсь. Обычно, когда я через Far добавляю файл в архив, то на одной панели у меня открытый архив, а на другой панели (активной) файл и я находясь на файле жму F5 или F6.

Вообще то на мой взгляд наиболее правильным был бы вариант
В Arclite можно было бы встроить поддержку системы fmt-субплагинов (как MultiArc), которая бы использовалась для поддержки действий с архивами, которые не умеет сам Arclite (7z.dll)

MultiArc: Archive support plugin — Модуль работы с архивами

Posted: Mon 13 Mar, 2017 04:12
by iG0Lka
Здравствуйте.

Windows 10
Far 3.0.4900
Rar 5.20

У меня почемуто плагин при создании архива по Shift+F1 не добавляет в архив папки на русском языке.
Например при добавлении папки с именем "Прошивки"
Выдает : "архиватор вернул код завершения 6"

Если посмотреть окно консоли то там следущее:

Code: Select all

RAR 5.20   Copyright (c) 1993-2014 Alexander Roshal   2 Dec 2014
Cannot open Џа®иЁўЄЁ
Не удается найти указанный файл.
Creating archive 1.rar

Adding    tt                                                          OK
Done
Это както лечится?

MultiArc: Archive support plugin — Модуль работы с архивами

Posted: Mon 13 Mar, 2017 10:11
by abelenki
MultiArc не поддерживает Unicode.

MultiArc: Archive support plugin — Модуль работы с архивами

Posted: Mon 13 Mar, 2017 12:34
by iG0Lka
и какой выход?
Вроде раньше проблемы не было...
Попробовал консольной командой rar a -r - все запоковалось без проблем.

Вместо MultiArc можно чтото другое привязать?