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

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

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

Maz (15-01-2020 17:38): FAR Manager (часть 6)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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



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

 
Предыдущие топики:  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, не удалось, то задаёте вопрос разработчикам.

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

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

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

Цитата:
разбивка с собой никаких пенальти не несёт?

С утра посмотрел уже код конкретно. "Пенальти" есть - дополнительный вызов функции с параметрами. Скорее всего это практически неощутимо.
 
Но вообще-то механизм priority и condition в отношении событий был введён не для эстетики, а для возможности управления порядком вызова обработчиков (что отражено в мануале).

Всего записей: 1892 | Зарегистр. 09-03-2012 | Отправлено: 09:22 07-09-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо за ответ.
 
Для Macro используются ещё область, флаги - всё это увязать, имхо непростая задача.
 
Добавлено:
 
Есть ли смысл в возврате condition нескольких значений для последующего их использования в action? Например как-то так:

Код:
condition(Event, Param)
  local a,b = 1,2
  return true, a, b
end;
action(Event, Param, _cond)
  _cond.a==1
  _cond.b==2

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

Всего записей: 3672 | Зарегистр. 16-06-2007 | Отправлено: 09:53 07-09-2019 | Исправлено: Alexyz21, 10:57 07-09-2019
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Если у вас на определённое событие есть только один обработчик, или больше одного, но порядок их исполнения не имеет значения - не заморачивайтесь с condition. Если порядок имеет значение, то, как правило, расстановка priority достаточна. То есть действительная необходимость в condition для обработчика событий - это весьма редкий случай.
 
Что касается вашего гипотетического кода, то в текущей реализации LuaMacro он работать не будет, а вносить изменения планов нет.

Всего записей: 1892 | Зарегистр. 09-03-2012 | Отправлено: 10:57 07-09-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
понятно, спасибо.
 
Вопросы к знатокам - FAR Team
 
1. Сейчас в диалогах (Shift)?F[56] при пустой строке и нажатии Enter диалог просто закрывается - разве не должно выводится предупреждение: Путь или имя файла не указаны, с возвратом в диалог и установкой фокуса в поле ввода?
 
2. Шоркат кнопки действия в диалоге Move/Rename - Rename при том, что диалог называется Move - может лучше кнопку переименовать в Move и изменить шоркат на e? - Тогда название диалога и шоркат будут согласованы. e в диалоге свободно и присутствует и в Move, и в Rename.
 
3. Текст на btnOK должен соответствовать выполняемой операции - разве нет?
 
Panel.ShiftF[56].lua - Extend Panel (Shift)?F[56] Dialog v1.1 с учётом вышесказанного.  
 

Всего записей: 3672 | Зарегистр. 16-06-2007 | Отправлено: 10:58 07-09-2019 | Исправлено: Alexyz21, 11:30 07-09-2019
citPiks



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

Цитата:
Panel.ShiftF[56].lua - Extend Panel (Shift)?F[56] Dialog v1.1

Не выдержал и одним глазом глянул. И я впечатлён скриптом.  
 
В данную версию добавил:
Код:
condition=function() return APanel.Visible and band(0xFFFF, _G.KbdLayout()) == 0x0409; end; -- исполнять только в англ. раскладке

 
А затем клонировал файл, добавив к его имени метку ru, и в него вместо этого кондишн поместил кондишн для русск. раскладки. А также все английские Copy, Clone, Rename и Move заменил в нём, соответственно, на Копировать, Клонировать, Переименовать и Переместить. Благо в первых двух командах первая буква (К) совпадает, и в следующей паре — последняя (ь) тоже совпадает. И с этими мизерными правочками, внесёнными буквально за пару минут, скрипт работает теперь отлично в обеих раскладках.

Всего записей: 373 | Зарегистр. 26-06-2016 | Отправлено: 12:07 07-09-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Panel.ShiftF[56].lua - 1.2 en,ru
 
 
Dialog_Maximize.moon - добавлен LFSearch Shell/Editor. Лицензия pd - понятия не имею что это такое, знаю только одну лицензию (с)тырено :D  Надеюсь авторы zg и HaRT не обидятся.
 
Shmuel, Editor Multi-Line Replace [ ] Function mode стоило бы выровнять влево. - Выровнял :P

Всего записей: 3672 | Зарегистр. 16-06-2007 | Отправлено: 14:28 07-09-2019 | Исправлено: Alexyz21, 23:06 07-09-2019
shmuz

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

Цитата:
Editor Multi-Line Replace [ ] Function mode стоило бы выровнять влево.

Что, так как есть, скрипт не берёт?

Всего записей: 1892 | Зарегистр. 09-03-2012 | Отправлено: 17:48 07-09-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Он его не трогает, просто он стоит как бык ..., слишком независимо, вот
 
Интересно, как получить состояние FDLG_SMALLDIALOG для диалога, т.е. какой толщины рамка и стало быть, где находится левая граница. Сделал финт хвостом - взял XY рамки с 1-го элемента, поправил диалоги LFSearch
 
Можно добавить выравнивание по вертикали с указанным элементом, но тогда придётся парсер менять...

Всего записей: 3672 | Зарегистр. 16-06-2007 | Отправлено: 17:52 07-09-2019 | Исправлено: Alexyz21, 19:33 07-09-2019
citPiks



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

Цитата:
Panel.ShiftF[56].lua - 1.2 en,ru  

А так ещё лучше! И в практическом смысле применения скрипта, и в смысле пользы увидеть как более правильно en,ru в коде организовывать. Спасибо!
 
При этом, предпочтительно бы и предупреждение "Warning! Path or FileName don't s" в русском Фаре по русски бы выводить. Например: "Внимание! Введите путь или имя файла". И м.б. его не стоит красным выдавать? Это ведь как бы скорее недоработка пользователя, а не ошибка как таковая. Но это не принципиально, а так, вроде бы для смягчения восприятия было бы целесообразно, на мой взгляд.

Всего записей: 373 | Зарегистр. 26-06-2016 | Отправлено: 21:55 07-09-2019 | Исправлено: citPiks, 21:56 07-09-2019
Alexyz21



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

Всего записей: 3672 | Зарегистр. 16-06-2007 | Отправлено: 22:31 07-09-2019
citPiks



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В папке C:\tst имеем только 3 файла: проба1.txt, проба2.txt и проба3.txt с разным содержимым. Помечаем их все и вызываем F6. В диалоге "Переименование/Перенос" в поле "Переименовать или перенести 3 элемента в:" выставляем "проба4.txt" и нажимаем Enter.  
 
Ожидаемо появляется сообщение:
 

 
И если нажать на кнопку { Папка }, то 3 помеченных файла опять же ожидаемо будут перенесены из папки C:\tst в папку C:\tst\проба4.txt  
 
Но если нажать не на кнопку { Папка }, на кнопку [ Файл ], то появится следующее сообщение:
 

 
И если после этого нажать на кнопку [ Отменить ], то файл проба1.txt оказывается переименованным в проба4.txt
 
Win10 Far 3.0.0.5468 x86 без дополнительных плагинов и без макросов.
 
Добавлено:
Alexyz21

Цитата:
обновил оба

Спасибо за обновлённый Panel.ShiftF[56].lua! Вроде бы во всех режимах работает отлично.
 
И за добавление LFSearch в Dialog_Maximize.moon тоже особое спасибо!

Всего записей: 373 | Зарегистр. 26-06-2016 | Отправлено: 00:35 08-09-2019 | Исправлено: citPiks, 00:40 08-09-2019
zg

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

Цитата:
Лицензия pd - понятия не имею что это такое
public domain.
citPiks

Цитата:
 
И если после этого нажать на кнопку [ Отменить ], то файл проба1.txt оказывается переименованным в проба4.txt  
первый файл переименовался, при переименовании второго в то же имя появилось сообщение, вы его отменили, всё ожидаемо.

Всего записей: 464 | Зарегистр. 09-01-2003 | Отправлено: 00:50 08-09-2019
citPiks



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zg
 
Благодарю Вас за разъяснение! А то сам я запутался в предположениях и последовательные переименования выпали из виду. Но теперь всё понятно и логично.

Всего записей: 373 | Зарегистр. 26-06-2016 | Отправлено: 01:04 08-09-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dialog_Maximize.moon
 
API
0. сдвиг конца элемента в конец строки
1. сдвиг начала элемента на половину строки
2. сдвиг конца элемента на половину строки
3. сдвиг элемента в конец строки
 
, добавлены:
4. сдвиг элемента в начало строки
5. п.1 + п.3
6. относительный сдвиг по X
7. относительный сдвиг по Y
8. относительный сдвиг по X и Y
9. относительный сдвиг по X начала и конца элемента
10. выравнивание по X координате указанного элемента
11. выравнивание по Y координате указанного элемента
12. ширина элемента согласно количеству колонок, положение согласно номеру колонки
13. произвольное изменение положения и размеров элемента
14. замена текста (надписи) у элемента

Всего записей: 3672 | Зарегистр. 16-06-2007 | Отправлено: 09:29 08-09-2019 | Исправлено: Alexyz21, 11:06 08-09-2019
citPiks



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Посмотрел только диалоги LFSearch/Shell и LFSearch/Editor, поскольку остальные позиции эвента, если я правильно понял, сохранились в редакции zg-HaRT`а. И просмотренные мною диалоги, вроде бы, все выглядят отлично, особенно с файлами с длинными именами. Большое спасибо!
 
Кажется, заодно в 'Panel.ShiftF[56].lua - 1.2' выявился нюанс. Когда на пассивной панели выставлена временная панель LFSearch, то при вызове на активной панели команды F5 в поле "Клонировать 'этот.файл' в:" и команды F6 в поле "Переименовать 'этот.файл' в:" макросом выставляется имя файла. Тогда как в нативных диалогах в этих случаях в соответствующих полях выставляется путь "LF Search: временная панель:".

Всего записей: 373 | Зарегистр. 26-06-2016 | Отправлено: 10:02 08-09-2019 | Исправлено: citPiks, 11:02 08-09-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Panel.ShiftF[56].lua - 1.3 добавлена поддержка плагиновых панелей.
 
FAR 5469, Shift?Ctrl][ не вставляет путь на плагиновую панель, вставляет BackSlash.

Всего записей: 3672 | Зарегистр. 16-06-2007 | Отправлено: 12:03 08-09-2019 | Исправлено: Alexyz21, 12:51 08-09-2019
citPiks



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

Цитата:
1.3

F5 и F6 копируют файлы на временную панель, а при смене пути на имя файла соответственно клонируют или переименовывают файлы. Т.е. делают всё как надо.
 
ShiftF5 при сохранении пути "Временная панель:" выдаёт сообщение типа:
Цитата:
Ошибка копирования
"проба.txt"
в
"C:\111\Временная панель:"
 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
 
Повторить Пропустить Пропустить все Отменить

ShiftF6 при сохранении пути "Временная панель:" выдаёт сообщение типа:
Цитата:
Ошибка переноса
"проба.txt"
в
"Временная панель:"
 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
 
Повторить Пропустить Пропустить все Отменить

 
При вставке в соответствующее поле вместо пути имени файла обе эти команды переходят в режим соответственно "Клонировать" или "Переименовать" — т.е. работают правильно.
 
Добавлено:

Цитата:
FAR 5469, Shift?Ctrl][ не вставляет путь на плагиновую панель, вставляет BackSlash.

А как можно преодолеть эту ситуацию?

Всего записей: 373 | Зарегистр. 26-06-2016 | Отправлено: 14:01 08-09-2019 | Исправлено: citPiks, 14:06 08-09-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
b5467
 
Требует коррекции LuaManager by IgorZ. При вызове из Area=Shell валится со стеком:
Стек:, в Area=Editor работает нормально.  
 
 
Добавлено:
P.S.
 
X-ы на оси починю - падать стали. Проверю дальше....

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

Всего записей: 34266 | Зарегистр. 31-07-2002 | Отправлено: 14:16 08-09-2019
citPiks



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

Цитата:
в Area=Editor работает нормально

А у меня вот и в этой макрообласти падает.

Всего записей: 373 | Зарегистр. 26-06-2016 | Отправлено: 14:35 08-09-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Panel.CustomSortByAttributes.lua 2.0 вернул [ ] Directory, изменил 3 шорката на атрибутах
 

Цитата:
А как можно преодолеть эту ситуацию?

Макрос как быстрый фикс, а вообще имхо это должен делать FAR.
 
 
 
Добавлено:
citPiks
У меня на временную панель всегда показывает Temporary panel:, если же пользователь сам отредактировал так строку, то ему виднее. Нам главное, чтобы поведение диалога в таких случаях было таким же, как и оригинального.

Всего записей: 3672 | Зарегистр. 16-06-2007 | Отправлено: 14:46 08-09-2019 | Исправлено: Alexyz21, 18:43 08-09-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 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 (часть 5)
Maz (15-01-2020 17:38): FAR Manager (часть 6)


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru