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

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

Модерирует : 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

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

Maz



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

 
Предыдущие топики:  1 2 3 4 5 6  
 
Где взять последнюю версию?
На странице загрузки скачайте MSI-инсталлятор стабильной сборки нужной вам разрядности (32 или 64 бита) или дистрибутив в виде 7z-архива и установите/распакуйте в любую папку (FAR портабелен и может работать без установки).
Там же на свой страх и риск можно взять наиболее свежую "ночную" сборку (в ночных сборках устраняются выявленные недоработки, добавляются новые функции, но могут содержаться и серьёзные ошибки).
Архив всех предыдущих ночных сборок FAR
Last release на github - собирается практически сразу (в течение получаса) после каждого коммита.
 
Общие сведения о совместимости FAR и плагинов
 
Можно воспользоваться одной из пользовательских сборок FAR Manager
Вопросы, касающиеся сборок, следует задавать непосредственно их авторам, а не на официальном форуме.
 
Где взять дополнительные плагины, скрипты и макросы?
Плагринг. В настоящее время большинство авторов (возможно, уже и все) выкладывают плагины здесь. Кроме плагинов здесь появляется всё относящиеся к FAR: дополнения, консольные шрифты, скрипты и пр.
Анонсы плагинов на официальном форуме. Даже если автор не выкладывает по каким-либо причинам плагин на плагринге, он может дать анонс в этой теме.
Полезные скрипты и макросы.
Шрифт TTF, аналог Terminal 10x18
 
Инструкции по сборке ФАРа из исходников
Набор для самостоятельной сборки ФАРа
Как собрать FAR самостоятельно (старая инструкция)  
 
Ссылки на устаревшие версии
 
Прочее
Портабелизация в FAR 3 плагинов для FAR 1
Выдержка из 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, иначе плагин не будет загружен.

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

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

Всего записей: 39128 | Зарегистр. 26-02-2002 | Отправлено: 12:51 26-09-2022 | Исправлено: XPerformer, 10:20 14-09-2024
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
destiny child
 
в том же инце #191 лежит готовый Plugin_NTFSFile.lua делающий плагин слегка более управляемым.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34370 | Зарегистр. 31-07-2002 | Отправлено: 07:28 22-01-2023
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доделывать версию 1.2 скрипта под разные языки я не хочу -  громоздкая, и "мусор" за плагином в виде пустого каталога в времянке остаётся - я с ним и воевал ибо можно позвать win.DeleteFile(), но она только незалоченные файлы удалит, а пустой каталог остаётся. Вроде и может после пригодится и как-то выглядит мусором... Всё, что задумано буду делать в новой версии, а эта будет работать с теми хокеями, что есть в английском переводе. У меня они просто вынесены в начало строк меню чтобы не думать "На каком языке какие кнопки парадом командуют?" ибо это сильно мешает в работе.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34370 | Зарегистр. 31-07-2002 | Отправлено: 14:17 22-01-2023
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Переписано. v1.3, поддержка русского языка, утрамбовано.
 

Код:
-- NTFS File Information macros
--
-- v1.0 initial release
-- 09.01.2023 22:15:15 +0300
-- v1.1 refactoring and bufix. Thanks Shmuel Zeigerman (shmuz)
-- 14.01.2023 23:19:46 +0300
-- v1.2 refactoring, rename to Plugin_NTFSFile
-- 22.01.2023 06:02:37 +0300
-- v1.3 refactoring, multilingual support
-- 22.01.2023 16:07:24 +0300
--
-- VictorVG @ VikSoft.Ru
--
 
local function ntfsf()
local PID,MID,var,hk = "1D1BA1CB-3A05-4F4B-91B3-F8E71A55420E","B0476A89-0D49-4D3D-82ED-4F011B859572","","";
  hk = mf.akey(1,0)
  if win.GetEnv("farlang") == "Russian" then
    if hk == "CtrlAltV" then var = "В" elseif hk == "CtrlAltI" then var = "М" else
     if hk == "CtrlAltA" then var = "А" elseif hk == "CtrlAltP" then var = "п" else
      if hk == "CtrlAltE" then var = "Д" elseif hk == "CtrlAltS" then var = "ж" end end end
   else
    if hk == "CtrlAltV" then var = "v" elseif hk == "CtrlAltI" then var = "m" else
     if hk == "CtrlAltA" then var = "c" elseif hk == "CtrlAltP" then var = "p" else
      if hk == "CtrlAltE" then var = "d" elseif hk == "CtrlAltS" then var = "r" end end end
  end;
  Plugin.Menu(PID,MID) Keys(var);
end;
 
Macro { description="Get file version Info"; area="Shell"; key="CtrlAltV"; action=function() ntfsf() end;}
 
Macro { description="Check compression and get hashes"; area="Shell"; key="CtrlAltA"; action=function() ntfsf() end;}
 
Macro { description="Open/Close panel"; area="Shell"; key="CtrlAltP"; action=function() ntfsf() end;}
 
Macro { description="Read NTFS info"; area="Shell"; key="CtrlAltI"; action=function() ntfsf() end;}
 
Macro { description="File defagmentation"; area="Shell"; key="CtrlAltE"; action=function() ntfsf() end;}
 
Macro { description="Compress NTFS files/folders"; area="Shell"; key="CtrlAltS"; action=function() ntfsf() end;}


----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34370 | Зарегистр. 31-07-2002 | Отправлено: 16:35 22-01-2023
destiny child



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG (пост)
Цитата:
Переписано. v1.3, поддержка русского языка, утрамбовано.  

Всего записей: 3845 | Зарегистр. 01-04-2006 | Отправлено: 20:17 22-01-2023
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
destiny child
 
Убирать пустой временный каталог %TMP%\far_ntfsfile я не стал т.к. имя каталога фиксировано, что удобно - несколько копий фар-а могут использовать одну копию рабочего каталога, а потому если добавить в скрипт обработчик события ExitFAR который удалит пустой каталог есть шанс создать проблемы другим копиям, при чистке времянки ничто не мешает удалить его вручную. Было бы удобно использовать аналог win.DeleteFile() - она молча удаляет все указанные ей не залоченные файлы, но она не рабоает с каталогами, а звать rmdir - ну её в болото!

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34370 | Зарегистр. 31-07-2002 | Отправлено: 20:29 22-01-2023
volodyalipkin



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

Цитата:
File defagmentation

Описка. Должно быть defragmentation

Всего записей: 771 | Зарегистр. 12-10-2002 | Отправлено: 01:23 23-01-2023
Rock

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

Цитата:
Описка. Должно быть defragmentation

Не должно быть  defragmentation в Фаре. Сложно вообразить себе человека, который будет запускать такую операцию не из стандартного приложения ОС.

Всего записей: 1258 | Зарегистр. 10-04-2003 | Отправлено: 02:27 23-01-2023
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
volodyalipkin
 
Спасибо, поправлю.
 
Rock

Цитата:
Не должно быть  defragmentation в Фаре. Сложно вообразить себе человека, который будет запускать такую операцию не из стандартного приложения ОС.

Утилита MS Defrag для Windows 2000 это урезанный вариант ранее портированного на NT 3.5.1 пакета Executive Software Diskeeper for OpenVMS и с 2000-го не обновлялась. Позднее Марк Русинович написал contig на основе ранее предоставленных специалистам Executive Software исходников, но свои исходники никогда не публиковал.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34370 | Зарегистр. 31-07-2002 | Отправлено: 17:32 23-01-2023
Zeroes



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
 
наверное имеет смысл добавить вначале макроса:
if not Plugin.Exist(PID) then return end
 
иначе без плагина по хоткею вставляются В/V в консоль
 
и area срабатывания может добавить Search ?,  искал например файл быстрым поиском - нашёл и сразу нажал хоткей если надо просмотр версии файла, а если не тот ищешь дальше не сбрасывая Qsearch окно.
 
 
 
 
у меня так получилось в конце:
 
local VersionInfo = '1D1BA1CB-3A05-4F4B-91B3-F8E71A55420E'
local VersionInfoMenuId = 'B0476A89-0D49-4D3D-82ED-4F011B859572'
 
if not Plugin.Exist(VersionInfo) then return end
 
local function ntfsf()
local var,hk = '','';
  hk = mf.akey(1,0)
  if win.GetEnv('farlang') == 'Russian' then
    if hk == 'AltV' then var = 'В' end
   else
    if hk == 'AltV' then var = 'V' end
  end;
  Plugin.Menu(VersionInfo,VersionInfoMenuId) Keys(var);
end;
 
Macro { area="Shell Search"; key="AltV"; description="Version Info plg"; action=function()
 
 if APanel.Folder then exit() end
 ntfsf()
 
end;
}

Всего записей: 537 | Зарегистр. 23-10-2003 | Отправлено: 18:11 23-01-2023 | Исправлено: Zeroes, 18:18 23-01-2023
wseventeen

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zeroes 5.5.12  
Plugin.Call("1D1BA1CB-3A05-4F4B-91B3-F8E71A55420E", "Menu", "version")
должно работать независимо от языка.
 
 
Добавлено:
А Plugin.Exist лучше в condition.
 
Добавлено:

Код:
local NTFSInfo = '1D1BA1CB-3A05-4F4B-91B3-F8E71A55420E'
Macro {
  area = "Shell Viewer";
  key = "CtrlShiftV";
  description = "Version Info plg";
  condition = function()  
    return Plugin.Exist(NTFSInfo)
  end;
  action = function()
    Plugin.Call(NTFSInfo, "Menu", "version")
  end;
}

Всего записей: 1440 | Зарегистр. 20-12-2007 | Отправлено: 19:37 23-01-2023
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zeroes
 
Можно попробовать. Ёлку сниму и сяду возится (мы её в эти дни снимаем - глаз  радует). А  каскад if был сделан как я говорил чтобы было проще плагин звать - ведь обычно мы выполняем последовательность действий F11 -> нажимаешь в списке строку плагина или его хоткей, а по дороге соображаешь какой пункт его меню тебе нужен и выбираешь команду в нём -> затем вводишь её и ждёшь пока выполнится что выходит долго, а через макрос - набрал хоткей -> без вывода прогресса (в фоновом режиме) выполнилась желаемая команда что выходит быстрее, а субъективно в чём-то и удобнее, но тут для контроля событий прогресс был бы не плох.
 
Добавлено:
wseventeen
 
Вот это здорово! Попробую 5.5.12 т.к. сам хотел попросить такое управление. Раньше, до v5.5.11 включительно вызов Plugin.Call(GUID,<command>) или не срабатывал (например  Plugin.Call(GUID,"version "..APanel.Current), или выводил основное  меню плагина как Plugin.Menu(GUID) что и заставило использовать Plugin.Menu(GUID,Menu-GUID) Keys(<hotkey>).

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34370 | Зарегистр. 31-07-2002 | Отправлено: 19:48 23-01-2023
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сделал. Версия скрипта 1.4 требует NTFSFile 5.5.12 и новее (версия плагина проверяется!) - NTFSFile.lua

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34370 | Зарегистр. 31-07-2002 | Отправлено: 23:48 23-01-2023 | Исправлено: Victor_VG, 00:13 24-01-2023
Pasha_ZZZ



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

Цитата:
версия плагина проверяется

Проверка версии как всегда "гениальна". Например, версии 5.5.2 - 5.5.9 будут рады

Всего записей: 12814 | Зарегистр. 11-03-2002 | Отправлено: 09:11 24-01-2023
El Sanchez



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

Цитата:
Проверка версии как всегда "гениальна". Например, версии 5.5.2 - 5.5.9 будут рады

Pasha_ZZZ, оно там раньше может отвалиться: far.FindPlugin может и nil возвратить, результат не проверяется никак, а используется вовсю. Ах да, есть же if Plugin.Exist(PID) then, но нет, не поможет.

Всего записей: 490 | Зарегистр. 23-12-2008 | Отправлено: 09:28 24-01-2023
shmuz

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

Цитата:
Проверка версии как всегда .....

Можно так:

Код:
local v = Info.GInfo.Version
return v[3] + 100*(v[2] + 100*v[1]) >= 50512

Всего записей: 1896 | Зарегистр. 09-03-2012 | Отправлено: 12:32 24-01-2023
Pasha_ZZZ



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
shmuz
По стандарту под номер версии выделяется 4 слова (QWORD). Соответственно, можно сдвигать компоненты версии на 48 -> 32 -> 16 -> 0 бит влево.

Всего записей: 12814 | Зарегистр. 11-03-2002 | Отправлено: 13:31 24-01-2023
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NTFSFile.lua v1.4.1 code рефакторинг, упростим проверки. Проверено на v5.5.10 - как и задумано не вызывается, v5.5.12 - все пункты меню вызываются хоткеями скрипта.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34370 | Зарегистр. 31-07-2002 | Отправлено: 13:48 24-01-2023
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pasha_ZZZ
В структуре VersionInfo (которая в данном случае и является стандартрм) есть 4 DWORD'а, а не QWORD. Но это не имеет никакого значения.
Формула, которую я привёл, не является моим изобретением, а широко используется во многих известных программах. Коэффициент обычно бывает 100 или 1000.

Всего записей: 1896 | Зарегистр. 09-03-2012 | Отправлено: 13:59 24-01-2023
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz
 
для NTFSFile на данный момент разработки упрощение проверок допустимо - первые две цифры массива GInfo.Version[1] и GInfo.Version[2] всегда равны 5, GInfo.Version[3] вернёт 8, 9, 10, 11 или 12 в зависимости от версии плагина - 5.5.8, 5.5.9, 5.5.10, 5.5.11 или 5.5.12, GInfo.Version[4] вернёт 0 для плагина SVN ревизий ниже 411 или 4040 для SVN r411, GInfo.Version[0] всегда вернёт 0.
 
Надо было это сразу сделать - я про это давно знаю, но решил посмотреть что выйдет с более громоздкой проверкой и убедился, что в данном случае в ней нет смысла.
 
 


----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34370 | Зарегистр. 31-07-2002 | Отправлено: 14:01 24-01-2023
wseventeen

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

Цитата:
упрощение проверок допустимо

Ну да, а следующая версия будет 5.6.0 (надо было сделать вместо 5.5.11), и что тогда? Трудно сделать нормально, даже когда код уже есть?
А вообще (на мой взгляд) клавиатурный вызов для всех операций там не нужен. Слишком специфичны и требуют повышенных привилегий. Поэтому и вызов через Plugin.Call сделан только для версии и контента.

Всего записей: 1440 | Зарегистр. 20-12-2007 | Отправлено: 14:36 24-01-2023 | Исправлено: wseventeen, 14:40 24-01-2023
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

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


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru