Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 5)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158

Открыть новую тему     Написать ответ в эту тему

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

 
Предыдущие топики:  1 2 3 4
 
Где взять последнюю версию?
На странице загрузки скачайте MSI-инсталлятор стабильной сборки нужной вам разрядности (32 или 64 бита) или дистрибутив в виде 7z-архива и установите/распакуйте в любую папку (FAR портабелен и может работать без установки).
Там же на свой страх и риск можно взять наиболее свежую "ночную" сборку (в ночных сборках устраняются выявленные недоработки, добавляются новые функции, но могут содержаться и серьёзные ошибки).
Архив всех предыдущих ночных сборок FAR
Last release на github - собирается практически сразу (в течение получаса) после каждого коммита.
 
Общие сведения о совместимости FAR и плагинов
 
Можно воспользоваться одной из пользовательских сборок FAR Manager
Вопросы, касающиеся сборок, следует задавать непосредственно их авторам, а не на официальном форуме.
 
Где взять дополнительные плагины, скрипты и макросы?
Плагринг. В настоящее время большинство авторов (возможно, уже и все) выкладывают плагины здесь. Кроме плагинов здесь появляется всё относящиеся к FAR: дополнения, консольные шрифты, скрипты и пр.
Анонсы плагинов на официальном форуме. Даже если автор не выкладывает по каким-либо причинам плагин на плагринге, он может дать анонс в этой теме.
Полезные скрипты и макросы.
 
Инструкции по сборке ФАРа из исходников
Набор для самостоятельной сборки ФАРа
Как собрать FAR самостоятельно (старая инструкция)  
 
Ссылки на устаревшие версии
Выдержка из Far Manager Site and Forum ‹ FAQ :
Отличия FAR 3 от FAR 2
Отличия FAR 2 от FAR 1.7
 
Примечания
 
* 13 декабря 2008 г. произошло переименование веток: ANSI-ветка 1.71 превратилась в 1.75, а Unicode-ветка получила номер версии 2.0 (вместо 1.80). Т.е. версии 1.хх это ANSI ("старый" FAR), а версии 2.хх – Unicode ("новый" FAR). Эти ветки сильно различаются по способу взаимодействия с плагинами и системой!
* При обновлении ANSI-ветки 1.хх более старые версии плагинов могут работать в более новом FAR, но более новые плагины в большинстве случаев требуют обновления FAR (см. документацию).
* Unicode-плагины в ANSI-версии FAR не работают – у них иной способ взаимодействия (API) с Far.exe, поэтому даже не пытайтесь их использовать в FAR версии ниже 1.80.
* При обновлении Unicode-версии FAR 1.80/2.0/3.0 обращайте внимание на номер сборки: следует обязательно обновить все плагины для сборок 677/680/684, иначе они не будут работать. ANSI-плагины (кроме тех, которые работают в редакторе) можно применять в Unicode-версии FAR, в меню плагинов (вызываемом по F11) они будут помечены значком [A] справа от их имени. Unicode-плагины в FAR 1.80/2.x/3.х никаким значком после имени не помечаются.
* Unicode-версия FAR 1.80/2.x/3.х требует как минимум Windows 2000, т.е. она работает только в Windows 2000/XP/2003/Vista/2008/7/8/10.
* Плагины от FAR 2 несовместимы с FAR 3 и не запустятся.
* В FAR 3 выборочно могут работать плагины от FAR 1, однако не стоит брать от FAR 1 плагины для редактора или работающие с дисками: первые портят текст в Юникоде, вторые – файловую систему.
* В любом случае разрядность плагинов должна совпадать с разрядностью FAR, иначе плагин не будет загружен.
* Блондинку на скриншоте зовут Tommie Jo.

 
Принципиальные различия между hard link, symlink и junction
Как устранить взаимное влияние запущенных копий FAR в памяти
Как запустить Lua/MoonScript из FAR
Как правильно добавить в программу нужную DLL (или иную зависимость), чтобы при обновлении ОС или иных программ она не перестала работать
Патч для ansi-плагинов для хранения настроек плагинов в папке профиля, а не в реестре
Как распаковать UUE/XXE файлы патчей и использовать их?
 
ВНИМАНИЕ!
 
Правильное (корректное) завершение Far: всегда завершайте сеанс работы с Far по F10! Подробнее на форуме - Различие выхода из Far по F10 и крестиком
 
Общие правила обращения за помощью
  1. Решаете задачу самостоятельно, при необходимости ищете ответы в теме и других источниках. Предварительное изучение документации обязательно!
  2. Если ваших знаний не хватает, то задаёте вопрос в форуме и строго следуете инструкциям тех людей, которые вам помогают.
  3. Если решить задачу, следуя пунктам 1 и 2, не удалось, то задаёте вопрос разработчикам.

Невыполнение этих правил ведёт к тому, что никто не станет помогать решать вашу задачу.

Всего записей: 36031 | Зарегистр. 26-02-2002 | Отправлено: 18:55 23-11-2017 | Исправлено: Victor_VG, 10:00 09-09-2019
Alexyz21

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
в опере 12.18 их нет, но как оказалось можно скачать zip из релизов, но там иерархия чуть иная.

Всего записей: 1794 | Зарегистр. 16-06-2007 | Отправлено: 15:45 01-08-2019
Pasha_ZZZ



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Alexyz21
Ну в досовских браузерах возможно тоже ее нет. Используйте браузер текущей эпохи, хотя бы иногда.
 
Добавлено:
Даже на симанке с ее древним 52м фоксовским движком кнопка на месте - так что делайте выводы

Всего записей: 8299 | Зарегистр. 11-03-2002 | Отправлено: 15:50 01-08-2019
komisar666



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
можно и wget-ом по прямой ссылке: https://github.com/mpeterv/luacheck/archive/master.zip
и сырые файлы по ссылке напрямую можно тащить (web-вариант https://github.com/mpeterv/luacheck/blob/master/appveyor.yml меняем blob на raw и будет чистый файл)

Всего записей: 107 | Зарегистр. 21-07-2006 | Отправлено: 18:10 01-08-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Кнопка и не нужна. По линку https://github.com/mpeterv/luacheck/archive/master.zip ГитХаб отдаст master.zip с последней на момент скачивания версий репы.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 24198 | Зарегистр. 31-07-2002 | Отправлено: 18:27 01-08-2019
Alexyz21

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пользуюсь очень удобным скриптом JD Panel.SameFolderEx.lua клонирую панель ArcLite (открыт tar.xz), вижу, что у склонированной панели Path0 содержит путь внутрь tmp (архив составной), в то время как у панели-источника Path0 содержит путь в папку откуда был открыт архив. Соответственно есть разница в поведении при выходе из архива - в панели-источнике мы выйдем в папку на файл архива, а в клонированной окажемся в tmp, т.е. не там где ожидаем.
 
Как исправить?
 
UP. Добавить клонирование режима сортировки и её порядка (прямая, обратная)

Код:
local F = far.Flags
local function setSameFolder(p)
  local dir,PanelInfo = panel.GetPanelDirectory(nil,1-p),panel.GetPanelInfo(nil,1-p)
  panel.SetPanelDirectory(nil,p,dir)
  panel.SetSortMode(nil,p,PanelInfo.SortMode)
  panel.SetSortOrder(nil,p,bit64.band(PanelInfo.Flags,F.PFLAGS_REVERSESORTORDER)~=0)
  panel.RedrawPanel(nil,p,PanelInfo)
  local item = panel.GetCurrentPanelItem(nil,1-p)
  if item.FileAttributes:find"d" and item.FileName~=".." then
     dir.Name=item.FileName
     return dir
  end
end


Всего записей: 1794 | Зарегистр. 16-06-2007 | Отправлено: 19:10 01-08-2019 | Исправлено: Alexyz21, 00:08 02-08-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Shell_Tarball.lua

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 24198 | Зарегистр. 31-07-2002 | Отправлено: 19:16 01-08-2019
Alexyz21

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG, вопрос же совсем в другом. Подозреваю, что Path0 заполняется плагином и вопрос в том, есть ли возможность записать другой адрес выхода, и как это будет работать в матрёшках.
 
Кстати, линуксовый RamFS в винде Вы чем перепаковываете? - Чтобы он оставался абсолютно рабочим, разумеется...

Всего записей: 1794 | Зарегистр. 16-06-2007 | Отправлено: 19:26 01-08-2019 | Исправлено: Alexyz21, 19:38 01-08-2019
Smitis

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Alexyz21

Цитата:
Как исправить?

Перед "клонированием" на противоположной панели установить ту же папку, что и в текущей (Path0), установить на файл архива и уже потом "клонировать". Как-то так.

----------
Разум когда-нибудь победит

Всего записей: 1704 | Зарегистр. 09-02-2003 | Отправлено: 21:09 01-08-2019
Alexyz21

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smitis
Помимо этого наверное надо будет ещё и в архив войти, и лишь тогда клонировать. Оопс, а мы-то и не знаем в какой файл плагин изначально вошёл, это знает только плагин и хранит эту инфу он у себя где-то внутри, скопировать её мы не можем (

Всего записей: 1794 | Зарегистр. 16-06-2007 | Отправлено: 21:12 01-08-2019 | Исправлено: Alexyz21, 23:17 01-08-2019
Smitis

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Оопс, а мы-то и не знаем в какой файл плагин изначально вошёл

panel.GetPanelHostFile
Но не знаю, как там будет, если входить в архив в архиве.

----------
Разум когда-нибудь победит

Всего записей: 1704 | Зарегистр. 09-02-2003 | Отправлено: 00:08 02-08-2019
Alexyz21

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smitis, там будет последняя матрёшка в tmp - т.е. не подходит.

Всего записей: 1794 | Зарегистр. 16-06-2007 | Отправлено: 00:20 02-08-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
По поводу RamFS не скажу т.к. не работал с ней - у меня используются UFS2 (UFS + Soft Update - журналируемая редакция UFS), NFS (Sun Network File System) и ZFS.
 
По поводу файла в архиве - используй связку Panel.UNCPath и PanelCurrent . Пример использования:
 
Macro{
  id="4C4C45CA-8F68-4791-8941-5FAD1DC07920";
  area="Shell";
  key="AltEnter";
  description="Test APanel.UNCPath";
  action=function() far.Message(A) end;
}
 
например, лезем в тарбалл rufus-v3.7.1554-src.tar.gz, встаём на ./configure , жмём AltEnter - видим C:\Users\*\AppData\Local\Temp\FARA68.tmp\rufus-v3.7.1554-src.tar/\rufus-src\configure
 

 
тут нужно учесть что:  
 
1) Panel.UNCPath для элемента архива возвращает путь к каталогу в котором находится курсор;
2) в произвольном случае в возвращаемой [A|P]Panel.UNCPath.."\\"..[A|P]Panel.Current с панели ArcLite строке будет лишний "/" (увидим конструкцию вида HostFile_Path/\PanelFile_Path) который придётся убирать (вопросы "Что это?" к ArcLite, я это явление сам только что увидел );
3) чтобы получить UNC путь к файлу в архиве придётся использовать APanel.UNCPath.."\\"..APanel.Current при этом вызов имеет ограничение - вернёт путь к файлу под курсором - т.е. позиционировать курсор на нужный нам элемент должны мы.
4) до вызова Panel.UNCPath стоит проверить что Panel.OPIFlags ~= 0 т.е. у нас плагиновая панель а не реальная ФС.
 
Ну, вроде по идее усё.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 24198 | Зарегистр. 31-07-2002 | Отправлено: 02:06 02-08-2019 | Исправлено: Victor_VG, 02:42 02-08-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
С пунктом 2) я немного подумал и нашёл решение не требующее возни с ArcLite:

Код:
local function APP ()
  local UNC = APanel.UNCPath;
  if mf.rindex(UNC,"/") then UNC = mf.replace(UNC,"/","") end;
  return (UNC.."\\"..APanel.Current);
  end;
 
Macro{
  id="4C4C45CA-8F68-4791-8941-5FAD1DC07920";
  area="Shell";
  key="AltEnter";
  description="Display APanel.Current path";
  action=function()
 far.Message(APP())
 end;
}
}

вынес парсер пути в функцию АРР() и небольшой рефакторинг - на том же примере с тарбаллом выводится:
 
C:\Users\*\AppData\Local\Temp\FARE362.tmp\rufus-v3.7.1554-src.tar\rufus-src\configure
 


----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 24198 | Зарегистр. 31-07-2002 | Отправлено: 08:35 02-08-2019 | Исправлено: Victor_VG, 09:04 02-08-2019
Alexyz21

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG, в огороде бузина, в городе дядька - прежде чем отвечать, надо прочитать вопрос внимательно!!! Вопрос не в тарболе, это всего лишь частный пример для воспроизведения проблемы выхода из матрёшки не в изначальный каталог. Проблема гораздо шире - правильный возврат из "раскладки" матрёшки любыми плагами на КЛОНИРОВАННОЙ ПАНЕЛИ, а не оргинальной!
 
Для начала хотел попробовать по наитию что-то вроде

Код:
Event {
  description="Сохранение и восстановление каталога на панели Event"; group="PanelEvent";
  condition=function(id,Event) return Event==F.FE_CLOSE end;
  action=function(id) panel.SetPanelDirectory(id,1,_G.SavedPath0) end;
}

- среди эвент хандлеров его не вижу.  

Всего записей: 1794 | Зарегистр. 16-06-2007 | Отправлено: 08:53 02-08-2019 | Исправлено: Alexyz21, 09:12 02-08-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
как я понял ты вроде это хотел получить:

Цитата:
Оопс, а мы-то и не знаем в какой файл плагин изначально вошёл, это знает только плагин и хранит эту инфу он у себя где-то внутри, скопировать её мы не можем

Путь к файлу в который вошёл плагин элементарно получить вызвав PanelUNC.Path:

Цитата:
local function APF ()
  local UNC = APanel.UNCPath;
  if mf.rindex(UNC,"/") then UNC = mf.replace(UNC,"/","") end;
  return UNC;
  end;  

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

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 24198 | Зарегистр. 31-07-2002 | Отправлено: 09:18 02-08-2019
Alexyz21

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
правда, в случае типа тарбалла получим путь к времянке

Ну так в этом и вся суть! На оригинальной панели Path0 указывает на каталог входа, на клонированной на времянку. Путей передачи клонированной панели исходного каталога входа не вижу. Костыль с эвентом не взлетает, почему - хз.  

Всего записей: 1794 | Зарегистр. 16-06-2007 | Отправлено: 09:23 02-08-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Я уже перестал тебя понимать ибо у тебя тут обрывок мысли, там, а мне гадай да клещами из тебя тащи что ты хочешь сделать и что у тебя получается.  
 
Давай-ка так сделаем: ты чётко, по пунктам расписываешь постановку задачи, что на входе, что на выходе, какие свойства должны быть у результата, что сделал и что получил, и от этого мы будем ориентироваться.  
 
Ибо сейчас ты существуешь в какой-то изолированной вселенной откуда иной раз  выскакиваешь в общую и требуешь ответа на вопрос "Как сделать то, сам не знаю что?", а когда тебя не понимают ты злишься и обижаешься.

Цитата:
На оригинальной панели Path0 указывает на каталог входа, на клонированной на времянку

Стоп, стоп! Погодь - а если позвать Panel.UNCPath :
 
do while Panel.OPIFlags != 0 in Panel.UNCPath ; cd ../ end  
 
и пусть за нас цикл крутится пока не поймает условие "панель не плагиновая".

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 24198 | Зарегистр. 31-07-2002 | Отправлено: 09:41 02-08-2019 | Исправлено: Victor_VG, 10:00 02-08-2019
Alexyz21

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
Самая первая строчка инициирующего обсуждение проблемы сообщения:

Цитата:
Пользуюсь очень удобным скриптом JD Panel.SameFolderEx.lua клонирую панель ArcLite (открыт tar.xz)

 и дальше по тексту. Т.е. совсем не о том, что обсуждаете Вы.
 
Вложенный архив сначала распаковывается в tmp и уже он "потрошится" дальше. На оригинальной панели каталог входа запоминается в Path0, на клонированной панели она уже указывает в tmp и, сооответственно, при возврате из архива на файловую панель мы оказываемся во времянке, а не в исходном таталоге входа. Вопрос - как передать клонированной панели правильный каталог входа? Ответ (пока) - в АПИ этого не вижу. Может как-то и можно записать во внутреннюю структуру клонированной панели правильный Path0, но как - хз. Похоже плагин использует модифицированную версию процедуры panel.SetPanelDirectory(nil,p,dir) - в оригинальной в Path0 записывается путь к файлу, а плагин в него пишет лишь единожды при cоздании VFS, сохраняя таким образом исходный каталог входа.
 
 

Всего записей: 1794 | Зарегистр. 16-06-2007 | Отправлено: 10:08 02-08-2019 | Исправлено: Alexyz21, 12:41 02-08-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Так, понял. Тогда давай посмотрим по иному - почему мы должны ограничиваться только одним инструментом? Давай рассмотрим иное решение - через макро АПИ, а там где он не позволит звать фар АПИ или ФФИ.
 
Кстати это классическая задача, пусть с чуть иной формулировкой "Создать новое с заданным набором полезных свойств при ограниченных возможностях первично выбранного набора компонентов", и её способ её решения так же известен - где это возможно использовать уже известное не ограничиваясь, а новое придумывать только там где нет иных решений.  
 
Не решаемых задач в принципе не бывает, есть задачи для решения которых в данный момент нам не хватает знаний.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 24198 | Зарегистр. 31-07-2002 | Отправлено: 18:24 02-08-2019
Alexyz21

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
Имхо записать правильный Path0 в структуру клонированной панели возможно, только это нетривиальная для меня задача. Быстрее всего надо эту структуру создавать заново и слинковать вместо замещаемой, замещаемую скормить уборщику мусора. Но по уму лучше бы в API дать доступ к Path0, чтобы была возможность изменять каталог выхода.

Всего записей: 1794 | Зарегистр. 16-06-2007 | Отправлено: 20:59 02-08-2019 | Исправлено: Alexyz21, 21:15 02-08-2019
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158

Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 5)

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2018

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru