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

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

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

Maz (26-09-2022 12:52): FAR Manager (часть 7)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 200

   

Maz



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

 
Предыдущие топики:  1 2 3 4 5  
 
Где взять последнюю версию?
На странице загрузки скачайте 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, иначе плагин не будет загружен.
* Блондинку на скриншоте зовут Tommie Jo.

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

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

Всего записей: 38876 | Зарегистр. 26-02-2002 | Отправлено: 17:36 15-01-2020 | Исправлено: Luber, 12:33 31-05-2022
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Shell_Tarball.lua v1.0.3 - как-то так. В сегодняшней FarUE3 именно эта версия, но мало ли кому-то удобнее в виде кода...
 
Alexyz21
 
Может как раз в её наборе причина? Например как-то плагин зависает? Похоже зависал FarHint - уходил в состояние бесконечного ожидания внешнего события в одном из тредов. Или скрипт закольцевался - такое возможно. Ночью возясь с GCC поймал такое - закольцовывался вызов CMD. Пришлось звать TerminateProcess() для фар-а - гирлянда висела под его процессом и он её перезапускал. А причина - я решил чуть поправить чужой старый батник, а тот лучше не трогать - всё на живую нитку собрано.  
 
Добавлено:
FarUE3 x86-64 b5831 Git-c9f33fde6
 
Fix missing. Re-Commit.
 
P.S.
 
Случайно забыл файлы в локальном репо обновить. Пришлось перекоммитить.

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

Всего записей: 33287 | Зарегистр. 31-07-2002 | Отправлено: 09:48 21-06-2021
zzz528

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
обновил 5800 х86 - выдаёт ошибку при включении, но потом работает вроде нормально, папки и файлы закрашены также как были (ч\б расцветка).

Цитата:
       C:\FAR\Plugins\FarColorer\bin\colorer.dll
0x0000007F - The specified procedure could not be found.

Всего записей: 1693 | Зарегистр. 20-06-2005 | Отправлено: 21:01 21-06-2021 | Исправлено: zzz528, 21:01 21-06-2021
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zzz528
 
А у вас часом не ХР? Замените у себя FarColorer v1.4.x (в 5800 идёт v1.4.1) на версию 1.3.29. Это должно устранить проблему.

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

Всего записей: 33287 | Зарегистр. 31-07-2002 | Отправлено: 21:07 21-06-2021
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FarUE3 b5832 Git-0e9728f00 x86 и x86-64
 
* Far b5832 Git-0e9728f00
* Shell_Tarball.lua v1.0.4
* Refactoring. The Update required b5817 or newer. (only for x86)

 
Shell_Tarball.lua v1.0.4
 
* Оптимизация
* Рефакторинг

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

Всего записей: 33287 | Зарегистр. 31-07-2002 | Отправлено: 09:43 22-06-2021
Alexyz21



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

Код:
local ffi = require("ffi")
ffi.cdef[[
typedef struct { uint8_t red, green, blue, alpha; } rgba_pixel;
]]
 
local img = ffi.new("rgba_pixel[?]", n)

создаёт массив {red,green,blue,alpha}[n] с именованными полями, а как создать обычный, с безымянными индексами [n][m]?

Всего записей: 3515 | Зарегистр. 16-06-2007 | Отправлено: 18:21 23-06-2021
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21, если я правильно понял ваш вопрос, то:

Код:
local ffi = require("ffi")
ffi.cdef[[
  typedef uint8_t plain_pixel[4];
]]
 
local img = ffi.new("plain_pixel[?]", n)

Всего записей: 1863 | Зарегистр. 09-03-2012 | Отправлено: 19:02 23-06-2021
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
нужно описать двумерный массив -127<=байт<=128 m x n, где m и n будут возвращены диалогом, т.е. изначально размеры массива неизвестны.

Всего записей: 3515 | Зарегистр. 16-06-2007 | Отправлено: 19:58 23-06-2021 | Исправлено: Alexyz21, 20:04 23-06-2021
XPerformer



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
предполагаю, что ответ отрицательный, тем не менее спрошу, а вдруг...
В питоне есть возможность программно получить список всех установленных версий питона на машине, выбрать самую свежую или дать возможность пользователю выбрать движок.
У фара есть такая легальная возможность - определить какие билды параллельно установлены в системе? отдельным приложением или скриптом, запущенным не из-под фара. Ну или даже из-под фара подойдет

Всего записей: 2545 | Зарегистр. 20-06-2011 | Отправлено: 22:00 23-06-2021 | Исправлено: XPerformer, 22:01 23-06-2021
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XPerformer
FAR3 не гадит в реестр, поэтому нет. Но Вы можете скриптом сохранить нужную инфу, а затем прочитать её и обработать.

Всего записей: 3515 | Зарегистр. 16-06-2007 | Отправлено: 22:27 23-06-2021
shmuz

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

Цитата:
FAR3 не гадит в реестр

Конечно гадит, если установлен MSI-вариант сборки.

Всего записей: 1863 | Зарегистр. 09-03-2012 | Отправлено: 00:02 24-06-2021
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
MSI (это особенность технологии) сначала пишет в Реестр и конфиги программы указанные в сценарии значения, в т.ч. запись "установка успешна" в список установленных программ, после (если указано автором) удаляет старые копии файлов, и только в конце сценария копирует новые файлы и запускает программу. И этим отличается от классических инсталляторов, таких как Wise Install Maker, Inno Setup, NSIS и т.п. которые сначала выполняют проверку предыдущей копии, затем удаление старых и запись новых файлов с проверкой успешности, и только после успешного завершения своей работы пишут в Реестр и конфиги.
 
Я это много раз отслеживал мониторингом, и именно это приводит к основной массе ошибок MSI установок - если копирование выполнено не полностью или не выполнялось вообще, то в Реестре всё равно появляется запись об установке программы мешающая повторной установке и вызывающая ошибки удаления программы.

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

Всего записей: 33287 | Зарегистр. 31-07-2002 | Отправлено: 04:06 24-06-2021
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MSI вариант создаст в реестре в ветке FAR для всех копий фара полные отдельные подразделы с путями установки, версиями и пр. даже если копии установлены из одного и того же дистра? Ключи не будут пререзаписываться? - XPerformer интересует именно этот вариант, чтобы можно было рекурсивно собрать инфу обо ВСЕХ установленных копиях.
 
Говоря, что FAR3 не гадит, подразумевалось то, что FAR3 использует sqlite базу вместо реестра, плаги от FAR1 не в счёт. И скриптом можно создать нужные ключи, а затем и грабить их.
 
shmuz

Код:
local m,n = 6,5
local ffi = require("ffi")
ffi.cdef[[
  typedef uint8_t p[m];
]]
   
local t = ffi.new("p[?]", n)

- не взлетает.
 
Для фиксированного одномерного вижу
Код:
ffi.new("int[3]", {1}) --> 1, 1, 1

А как инициализировать массив m x n той же 1?

Всего записей: 3515 | Зарегистр. 16-06-2007 | Отправлено: 07:07 24-06-2021 | Исправлено: Alexyz21, 08:39 24-06-2021
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
MSI перезаписывает GUID ключ в [HKМ\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall], что приводит к тому, что найти по нему иные копии установки становится проблемой даже для него самого. Потому MSI в данном случае не вариант. Можно позвать far.RecursiveSearch() и в её калбаке организовать обработку с построением листа копий. Только это будет не мгновенно, а иного корректного варианта я с ходу не вижу.

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

Всего записей: 33287 | Зарегистр. 31-07-2002 | Отправлено: 08:34 24-06-2021
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG, реестр читается очень быстро, так как сидит в памяти, правда не уверен что целиком, а не кусками. Ключи, находящиеся в памяти, читаются быстрее чем из файлов на диске.
 

Цитата:
MSI перезаписывает GUID ключ в [HKМ\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall]

Именно поэтому и предлагал решить задачу скриптом - на старте записываем %FARHOME% в раздел реестра FAR3 под именем, например FARHOME_%FARHOME%:gsub("%W"), после можно найти все ключи рекурсивно. Либо послупить ещё проще - создать FAR3/FARHOME и в него добавлять %FARHOME%:gsub("%W")=%FARHOME% и что там нам ещё надо.
 

Всего записей: 3515 | Зарегистр. 16-06-2007 | Отправлено: 08:46 24-06-2021 | Исправлено: Alexyz21, 08:56 24-06-2021
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
1. Код некорректный, потому и не взлетает.
2. Попробуйте ffi.fill.
 
Да, и разводить обмен кучей сообщений по теме FFI не входит в мои намерения.

Всего записей: 1863 | Зарегистр. 09-03-2012 | Отправлено: 09:16 24-06-2021
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
С MSI это не получится т.к. в Реестре хранится запись только для последней по времени установки, а поскольку запись деинсталляции создаётся на этапе инициализации установки, то её достоверность не высока.

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

Всего записей: 33287 | Зарегистр. 31-07-2002 | Отправлено: 09:21 24-06-2021
XPerformer



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уточню суть задачи. Есть необходимость получить некоторые параметры Far (два-три, не более) в инсталлятор внешней программы, чтобы не заставлять пользователя вводить их вручную - не факт, что он их помнит, и не заставлять его дублировать настройку.
Пока вижу только один вариант- пусть пользователь вручную укажет путь к папке, где лежит его рабочая версия far

Всего записей: 2545 | Зарегистр. 20-06-2011 | Отправлено: 12:22 24-06-2021
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz, был бы ответ конкретным, то и допвопросов не было бы )
 
 
Добавлено:
XPerformer
прочитать переменную среды %FARHOME%

Всего записей: 3515 | Зарегистр. 16-06-2007 | Отправлено: 12:48 24-06-2021
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XPerformer
 
Да, этот сработает. А там читать параметры из БД средствами SQLite.
 
Ладно, я тут встретился с непоняткой в работе Editor_MouseSelect.lua - в b5832 Git-0e9728f00 при выделении фрагмента и нажатии Ctrl-MsLClick перетаскиванием текст копируется в новое место - вроде всё привычно, а вот уже в b5833 Git-89a229161 просто сбрасывается выделение и копирования не происходит.
 
В чём причина пока не понял, в скрипте (он не мой, но если что чинить похоже мне ) вроде явных причин для этого нет, но если можете проверить существует ли это явление у вас - скажу "спасибо".  
 
Возможно это вызвано изменениями в b5833 Git-89a22916:
 
Git: 24.06.2021  4:38:37,63
 
Updating 0e9728f00..89a229161
Fast-forward
 
 far/edit.cpp                 |  18 ++-----
 far/editcontrol.cpp          |  14 ++++--
 far/editcontrol.hpp          |   2 +
 far/editor.cpp               |   3 --
 
 far/keyboard.cpp             | 117 +++++++++++++++++++++++++------------------
 far/keyboard.hpp             |   4 +-
 far/macro.cpp                |  15 +++---
 
 28 files changed, 396 insertions(+), 183 deletions(-)
b5833 Git-89a22916
 

 
P.S.
 
"Люблю" рефакторинг - вечно свежие глюки вылезают.

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

Всего записей: 33287 | Зарегистр. 31-07-2002 | Отправлено: 12:50 24-06-2021 | Исправлено: Victor_VG, 13:08 24-06-2021
shmuz

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

Цитата:
shmuz, был бы ответ конкретным, то и допвопросов не было бы )  

Как правило, я конкретно отвечаю на правильно сформулированные вопросы.
Ваши же вопросы, как правило, сформулированы так, что надо быть телепатом, чтобы их понять.
Поэтому требуется несколько сообщений только для уточнения того, что вам нужно.
У меня для этого нет времени.

Всего записей: 1863 | Зарегистр. 09-03-2012 | Отправлено: 13:01 24-06-2021
   

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

Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 6)
Maz (26-09-2022 12:52): 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