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

Здесь можно обсудить ваш любимый плагин.
User avatar
abelenki
Posts: 455
Joined: Thu 02 Jul, 2009 07:39
Location: Perm, Russia
Has thanked: 135 times
Been thanked: 21 times
Contact:

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

Post by abelenki »

Latest post of the previous page:

1. в новый MultiArc 199, выложенный на плагринге, не попал changelog. добавьте пожалуйста.
2. Avira стала на новый Ace.fmt.

User avatar
John Doe
Бюрократ
Posts: 12821
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 286 times

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

Post by John Doe »

DrKnS wrote: свои посторонние плагины
На evilprogrammers
2useven10 wrote: из живых плагинов
не очень живые тоже иногда используются..

User avatar
DrKnS
Posts: 5600
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 9 times
Been thanked: 298 times

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

Post by DrKnS »

abelenki wrote: не попал changelog. добавьте пожалуйста
Ok.
Avira стала ругаться на новый Ace.fmt.
Я, право, даже не знаю, как это комментировать, не скатываясь в хамство, поэтому не буду.

User avatar
abelenki
Posts: 455
Joined: Thu 02 Jul, 2009 07:39
Location: Perm, Russia
Has thanked: 135 times
Been thanked: 21 times
Contact:

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

Post by abelenki »

имею странные результаты с новым MultiArc:

VM (*1) Windows Server 2008 R2 x64 / Far 4786 x86 / MultiArc 199 x86 / 7-Zip 16.02 x64 - при нажатии Enter на архив .7z ничего не происходит.
VM Windows XP x86 / Far 4786 x86 / MultiArc 199 x86 / 7-Zip 16.02 x86 - при нажатии Enter на архив .7z - заходит в архив; показывает пустую директорию.
RM (*2) Windows 10 1607 x64 / Far 4786 x86 / MultiArc 199 x86 / 7-Zip 16.02 x64 - при нажатии Enter на архив .7z - заходит в архив; показывает его содержимое корректно.
RM Windows 7 x86 / Far 4786 x86 / MultiArc 199 x86 / 7-Zip 16.02 x86 - при нажатии Enter на архив .7z - заходит в архив; показывает его содержимое корректно.
RM Windows Server 2008 R2 x64 * три штуки / Far 4786 x86 / MultiArc 199 x86 / 7-Zip 16.02 x64 - при нажатии Enter на архив .7z - заходит в архив; показывает его содержимое корректно.

*1 VM - виртуальная машина
*2 RM - реальное железо

тестируемый архив
используемая версия 7-Zip x86
используемая версия 7-Zip x64

Stalker4
Posts: 19
Joined: Fri 28 Oct, 2016 13:23

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

Post by Stalker4 »

Где можно скачать Multiarc для Far 3.0 x64 ?
На PlugRing похоже версия только для Far 1.75.

User avatar
HaRT
Moderator
Posts: 9421
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 105 times
Been thanked: 219 times

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

Post by HaRT »

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

Stalker4
Posts: 19
Joined: Fri 28 Oct, 2016 13:23

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

Post by Stalker4 »

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

Ariman
Posts: 1280
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 39 times
Contact:

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

Post by Ariman »

Stalker4, можно отключить в настройках arclite создание архивов по Shift-F1. Тогда на эту комбинацию будет реагировать multiarc.

Smitis
Posts: 1621
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 18 times
Been thanked: 40 times

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

Post 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. }
Разум когда-нибудь победит.

Shmuel
Posts: 6125
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 309 times

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

Post by Shmuel »

Smitis, здесь имеет смысл ARCLITE_ID и MULTIARC_ID сразу определять через win.Uuid("...."), тогда в макросе не потребуется ни win.Uuid(), ни upper().

Smitis
Posts: 1621
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 18 times
Been thanked: 40 times

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

Post by Smitis »

Да, тут есть место для оптимизации, например, убрать проверку ID плагинов в action, т.к. это сделано уже в condition. Просто этот макрос вырван из скрипта с другими макросами.
Подправил.
И ещё раз.
Разум когда-нибудь победит.

Stalker4
Posts: 19
Joined: Fri 28 Oct, 2016 13:23

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

Post by Stalker4 »

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

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

User avatar
zg
zero-gravity
Posts: 5817
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 147 times
Contact:

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

Post by zg »

а в каком месте вы предлагаете использовать исключения для упаковки?

Stalker4
Posts: 19
Joined: Fri 28 Oct, 2016 13:23

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

Post by Stalker4 »

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

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

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

User avatar
zg
zero-gravity
Posts: 5817
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 147 times
Contact:

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

Post by zg »

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

User avatar
HaRT
Moderator
Posts: 9421
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 105 times
Been thanked: 219 times

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

Post by HaRT »

zg wrote: на панели открыт конкретный плагин, ничего он никому передать не может
Я так понимаю, что предложение Stalker4 относится к упаковке по ShiftF1 из панели c реальными путями.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Post Reply

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