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

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

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

Maz (23-11-2017 18:57): FAR Manager (часть 5)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

   

AlViS



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

 
Предыдущие топики:  1 2 3
 
Где взять последнюю версию?
На странице загрузки скачайте MSI-инсталлятор стабильной сборки нужной вам разрядности (32 или 64 бита) или дистрибутив в виде 7z-архива и установите/распакуйте в любую папку (FAR портабелен и может работать без установки).
Там же на свой страх и риск можно взять наиболее свежую "ночную" сборку (в ночных сборках устраняются выявленные недоработки, добавляются новые функции, но могут содержаться и серьёзные ошибки).
 
Общие сведения о совместимости 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, иначе плагин не будет загружен.

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

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

Всего записей: 2396 | Зарегистр. 03-01-2002 | Отправлено: 11:10 07-11-2015 | Исправлено: Victor_VG, 04:33 26-09-2017
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
shmuz
 
Ага, если подвинуть в редакторе сам диалог то под ним остаётся его изображение - воспроизводится к примеру с такой картинкой:
 

 
dialogtools.dll x64 собрана из Git в GCC Git-9e587bf от 26.04.2016 @zg0 DialogTools: paste selection fix.

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

Всего записей: 24892 | Зарегистр. 31-07-2002 | Отправлено: 21:49 22-11-2016
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возможно DialogTools колдует с сохранением экрана.

Всего записей: 1140 | Зарегистр. 09-03-2012 | Отправлено: 22:04 22-11-2016
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz
 
Похоже. Я его давно собрал и с тех пор пользуюсь.

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

Всего записей: 24892 | Зарегистр. 31-07-2002 | Отправлено: 23:36 22-11-2016
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Для ясности: я упомянул LF Search только потому, что он имеет эту функциональность (F4 в полях ввода диалогов) встроенную и не требующую макросов. При этом плагин знает, что для полей, где должен быть код на Lua, нужно открыть редактор с подсветкой Lua. Минус в том, что это делается только для своих диалогов, а не для всех.

Всего записей: 1140 | Зарегистр. 09-03-2012 | Отправлено: 13:09 23-11-2016
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz
 
В данном случае LFS просто сыграл роль индикатора показавшего "Явление есть, проявляется так...", а причина сидит в коде  DialogTools - достаточно его удалить и явление пропадает. Установлено на b4844.

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

Всего записей: 24892 | Зарегистр. 31-07-2002 | Отправлено: 15:07 23-11-2016
Alexyz21

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

Код:
Exception: Divide by zero
Address: 0x0608CE7D
Function: ProcessEditorEventW
Module: C:\Program Files\FAR\Plugins\FarColorer\bin\colorer.dll
 
0x0608CE7D
 
Terminate process? [Y/N]:

Всего записей: 1974 | Зарегистр. 16-06-2007 | Отправлено: 15:23 24-11-2016
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
ОС твоя привычная ХР SP2 и колорер собран в VC++2015? А посмотреть его РЕ32 хидер сложно:

Цитата:
linker version                14.00
 
  required OS version           6.00
  image version                 0.00
  subsystem version             6.00
  Win32 Version                 0
   
  Subsystem                     0002 (Windows GUI)
  DLL flags                     0140
                                0040 DYNAMIC_BASE (ASLR)
                                0100 NX_COMPAT

и сравни с тем, какой у меня стоит FarColorer-bin.7z:

Цитата:
linker version                10.00
 
  required OS version           5.01
  image version                 0.00
  subsystem version             5.01
  Win32 Version                 0
 
  Subsystem                     0003 (Windows character)
  DLL flags                     0140
                                0040 DYNAMIC_BASE (ASLR)
                                0100 NX_COMPAT

ы

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

Всего записей: 24892 | Зарегистр. 31-07-2002 | Отправлено: 16:01 24-11-2016
skipik



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
Заметил, что размер бинарника прилично вырос?
 

Всего записей: 3246 | Зарегистр. 07-07-2006 | Отправлено: 21:55 25-11-2016
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
skipik
 
Начиная с b4854  добавилась директория ./EXCEPTION (примерно 100 Кб кода, в хекс её размер для b4855 составляет 0х19200 байт) и изменились вызовы WinAPI:
 
Добавлены:
 
x64:
 
ChangeTimerQueueTimer() - Windows XP/Windows Server 2003
CreateTimerQueue() - Windows XP/Windows Server 2003
CreateTimerQueueTimer() - Windows XP/Windows Server 2003
DeleteTimerQueueTimer() - Windows XP/Windows Server 2003
GetLogicalProcessorInformation() - Windows XP SP3/Windows Server 2003
GetModuleHandleA() - Windows XP/Windows Server 2003
GetNumaHighestNodeNumber() - Windows XP SP2/Windows Server 2003
GetProcessAffinityMask() - Windows XP/Windows Server 2003
GetThreadTimes() - Windows XP/Windows Server 2003
GetVersionExW() - Windows 2000 Professional/Windows 2000 Server
InterlockedFlushSList() - Windows XP/Windows Server 2003
InterlockedPopEntrySList() - Windows XP/Windows Server 2003
InterlockedPushEntrySList() - Windows XP/Windows Server 2003
QueryDepthSList() - Windows XP/Windows Server 2003
RegisterWaitForSingleObject() - Windows XP/Windows Server 2003
ReleaseSemaphore() - Windows XP/Windows Server 2003
SetThreadAffinityMask() - Windows XP/Windows Server 2003
SignalObjectAndWait() - Windows XP/Windows Server 2003
SwitchToThread() - Windows XP/Windows Server 2003
UnregisterWait() - Windows XP/Windows Server 2003
UnregisterWaitEx() - Windows XP/Windows Server 2003
VirtualFree() - Windows XP/Windows Server 2003
 
x86:
 
ChangeTimerQueueTimer() - Windows XP/Windows Server 2003
CreateTimerQueue() - Windows XP/Windows Server 2003
CreateTimerQueueTimer() - Windows XP/Windows Server 2003
DeleteTimerQueueTimer() - Windows XP/Windows Server 2003
GetLogicalProcessorInformation() - Windows XP SP3/Windows Server 2003
GetModuleHandleA() - Windows XP/Windows Server 2003
GetNumaHighestNodeNumber() - Windows XP with SP2/Windows Server 2003
GetProcessAffinityMask() - Windows XP/Windows Server 2003
GetThreadTimes() - Windows XP/Windows Server 2003
GetVersionExW() - Windows 2000 Professional/Windows 2000 Server
RegisterWaitForSingleObject() - Windows XP/Windows Server 2003
ReleaseSemaphore() - Windows XP/Windows Server 2003
SetThreadAffinityMask() - Windows XP/Windows Server 2003
SignalObjectAndWait() - Windows XP/Windows Server 2003
SwitchToThread() - Windows XP/Windows Server 2003
UnregisterWait() - Windows XP/Windows Server 2003
UnregisterWaitEx() - Windows XP/Windows Server 2003
VirtualFree() - Windows XP/Windows Server 2003
 
удалены:
 
AcquireSRWLockExclusive()
AcquireSRWLockShared()
ReleaseSRWLockExclusive()
ReleaseSRWLockShared()
 
вот и вырос размер бинарника. Я проверил эти функции по их описанию MSDN в плане с какой версии WinAPI они реализованы. Ибо сюань что студия налинкует. Ей ума хватит. А то будут после вопросы что на старых осях что-то не стартует. Лучше сразу оговорить минимальные системные требования программы, чем после иметь бледный вид и тоненькие ножки. По мне так, и быть посему.
 
Итак мои выводы:
 
Наличие в списке импортов функции GetLogicalProcessorInformation() согласно описанию в MSDN реализованной в API ОС начиная с Windows XP SP3/Windows Server 2003 ограничивает нижний порог по совместимости с ОС требованием Минимально необходимая версия ОС Windows XP SP3/Windows Server 2003.

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

Всего записей: 24892 | Зарегистр. 31-07-2002 | Отправлено: 23:23 25-11-2016 | Исправлено: Victor_VG, 00:33 26-11-2016
Skif_off

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
Немного не так: kernel32.dll с функцией GetLogicalProcessorInformation() прилетает с одним из обновлений, ещё _до_ SP3. Поэтому если речь не о голой WinXP SP2, то работать скорее всего сможет. KB не вспомню, вроде их было не одно, себе для WinPE брал версию kernel32.dll для SP2 уже с GetLogicalProcessorInformation(), но без функций для DEP.
С другой стороны, WinXP SP2 со всеми обновками почти SP3

Всего записей: 5837 | Зарегистр. 28-01-2008 | Отправлено: 09:50 26-11-2016
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Skif_off
 
Я просто смотрел по таблицам в MSDN и от них плясал в оценках.

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

Всего записей: 24892 | Зарегистр. 31-07-2002 | Отправлено: 12:49 26-11-2016
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
<del>
 
Добавлено:
skipik
 
Часть вызовов API убрана для совместимости с W2k и размер Far.exe снова уменьшился.

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

Всего записей: 24892 | Зарегистр. 31-07-2002 | Отправлено: 15:43 26-11-2016 | Исправлено: Victor_VG, 16:29 26-11-2016
skipik



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
Да, тоже заметил.

Всего записей: 3246 | Зарегистр. 07-07-2006 | Отправлено: 17:53 26-11-2016
Skif_off

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В теме нередко заходила речь о Lua-скриптах, нет ли у знакомых с языком идей для решения проблемы?

Всего записей: 5837 | Зарегистр. 28-01-2008 | Отправлено: 18:59 26-11-2016
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Skif_off
 
В фар это легко решаемо к примеру плагином LUA File List - это коли готовый инструмент использовать во избежание ошибок, а своим скриптом - имя и тип файла под курсором получить легко, даже с путём, а дальше просто кидать это дело в файл или редактор накапливая строки и двигая курсор по панели вниз. В принципе можно построить листинг каталога вплоть до поддеревьев. Или совсем просто чтобы не возится - mf.print("edit:<ls -fR ./") Keys("Enter"). Ключи для ls ставим по месту, так получим список каталогов с файлами вида такой простыни. Сойдёт как заготовка?

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

Всего записей: 24892 | Зарегистр. 31-07-2002 | Отправлено: 19:14 26-11-2016
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Skif_off
В Far этой проблемы нет, то есть io.popen не открывает дополнительной консоли. Вот пример:

Код:
lua:tt={} for f in io.popen("dir * /b /s /l /x"):lines() do table.insert(tt,f) end far.Show(unpack(tt))


Всего записей: 1140 | Зарегистр. 09-03-2012 | Отправлено: 19:38 26-11-2016
Skif_off

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
shmuz
Спасибо, я в курсе, что в Far проблем не будет Вопрос в том, как можно решить проблему там, где она есть. С os.execute не прокатит, так понимаю?
Говорят, в *nix'ах с ls проблем не должно быть, а в Win не нашёл иного способа запустить консольную программу и читать её вывод.

Всего записей: 5837 | Зарегистр. 28-01-2008 | Отправлено: 22:15 26-11-2016
shmuz

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

Цитата:
Вопрос в том, как можно решить проблему там, где она есть

Это зависит от того, какой арсенал функций доступен из Lua в этом Double Commander, чего я не знаю.
В Far можно решить эту задачу ещё несколькими способами, например, используя far.RecursiveSearch или far.GetDirList или через LuaJIT FFI. Если в Double Commander нет ничего подобного, то можно найти/сделать и использовать внешнюю библиотеку (DLL).

Всего записей: 1140 | Зарегистр. 09-03-2012 | Отправлено: 22:32 26-11-2016
Skif_off

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

Цитата:
Это зависит от того, какой арсенал функций доступен из Lua в этом Double Commander, чего я не знаю.

Всё, что может Lua 5.1 из коробки + четыре функции средствами самого DC.
 
dll проекта LuaJIT Double Commander поддерживает (и было бы странно, если бы не поддерживал - это вроде та же версия Lua 5.1 + доп. фишки), автор даже выложил готовые, но это не очень универсально. Хотя мысль о FFI и CreateProcess таки посещала, дважды, но это слишком круто для меня
 
Судя по "префиксу", far.GetDirList - это дополнительная функция для Lua, которае реализуются возможностями самого Far? В DC недавно добавилось подобное и автором высказана мысль о добавлении функции получения листинга каталога: похоже, остаётся просто подождать...

Всего записей: 5837 | Зарегистр. 28-01-2008 | Отправлено: 01:34 27-11-2016 | Исправлено: Skif_off, 01:37 27-11-2016
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Skif_off
 
Можно поменять LS на ДИР, а можно отыскать её виндовую реализацию. В любом варианте DIR/LS читают листинг каталогов который можно скинуть к примеру в STDOUT и скормить редактору или сразу записать в файл. И по части сокрытия консоли проблемы нет - https://github.com/andrew-grechkin/cpp/tree/develop/apps/hidcon работает замечательно.

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

Всего записей: 24892 | Зарегистр. 31-07-2002 | Отправлено: 02:24 27-11-2016
   

Страницы: 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 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 4)
Maz (23-11-2017 18:57): FAR Manager (часть 5)


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru