Тогда неплохо бы написать разработчикам либы.
» Far Manager
Цитата:
Тогда неплохо бы написать разработчикам либы.Сомневаюсь, что у него такой use-case вызовет интерес. Но попробовать никто не мешает, кто хочет - дерзайте, ссылка на либу http://spruce.sourceforge.net/gmime/
wseventeen
Цитата:
Главное, в следующий условно-стабильный билд FAR не включать февральскую версию - там сломано больше, чем поправлено. Да и, судя по мантису, сейчас NetBox - чуть ли не единственный из плагинов, в котором зарепорченные баги не правятся.
Цитата:
Все ссылки есть здесь: http://forum.farmanager.com/viewtopic.php?f=11&t=6316
Главное, в следующий условно-стабильный билд FAR не включать февральскую версию - там сломано больше, чем поправлено. Да и, судя по мантису, сейчас NetBox - чуть ли не единственный из плагинов, в котором зарепорченные баги не правятся.
Benchmark
Цитата:
"Условно-стабильные" билды никогда не компонуются из разных ночных билдов. Так что это пожелание имеет очень малые шансы на осуществление.
Цитата:
Главное, в следующий условно-стабильный билд FAR не включать февральскую версию
"Условно-стабильные" билды никогда не компонуются из разных ночных билдов. Так что это пожелание имеет очень малые шансы на осуществление.
shmuz2
Цитата:
Понимаю.
Это чтоб народ после не удивлялся, почему вдруг перестало работать то, что раньше работало нормально. Ну и предыдущую версию чтоб где-нть сохранили - гарантированно пригодится.
Цитата:
Так что это пожелание имеет очень малые шансы на осуществление.
Понимаю.
Это чтоб народ после не удивлялся, почему вдруг перестало работать то, что раньше работало нормально. Ну и предыдущую версию чтоб где-нть сохранили - гарантированно пригодится.
[more] [more] [/more]Benchmark
Насчёт "сохранить" на уровне исходников не обещаю, но чтой-то сможем в моей коллекции собранных билдов отыскать - у меня если FarColorer и NetBox прересобираются, то при сборке следующего билда скрипт автоархивирования и их сохраняет. Я его перед сборкой запускаю чтобы после не получить у себя путаницу. На сегодня там 678 различных сборок лежит, хотя степень автоматизации сборки Far много меньше чем Process Hacker который сейчас собирается полностью автоматом от получения с гит-а исходников до формирования архивов SDK, исходников, портативки, инсталлятора и чистки сборочного мусора всего парой скриптов. Спасибо dmex-у за PowerShell скрипт сборки ночнушек который стал основой, ну а остальное было не сложно написать. Внешне выглядит красиво:
http://s017.radikal.ru/i410/1604/d5/d0cc9adfe1abt.jpg
и работает в разы быстрее чем коли бы всё вручную собирать (там только сборку бинарников надо в восьми вариантах производить - где-то, что-то и упустить не долго). [/more]
Насчёт "сохранить" на уровне исходников не обещаю, но чтой-то сможем в моей коллекции собранных билдов отыскать - у меня если FarColorer и NetBox прересобираются, то при сборке следующего билда скрипт автоархивирования и их сохраняет. Я его перед сборкой запускаю чтобы после не получить у себя путаницу. На сегодня там 678 различных сборок лежит, хотя степень автоматизации сборки Far много меньше чем Process Hacker который сейчас собирается полностью автоматом от получения с гит-а исходников до формирования архивов SDK, исходников, портативки, инсталлятора и чистки сборочного мусора всего парой скриптов. Спасибо dmex-у за PowerShell скрипт сборки ночнушек который стал основой, ну а остальное было не сложно написать. Внешне выглядит красиво:
http://s017.radikal.ru/i410/1604/d5/d0cc9adfe1abt.jpg
и работает в разы быстрее чем коли бы всё вручную собирать (там только сборку бинарников надо в восьми вариантах производить - где-то, что-то и упустить не долго). [/more]
Benchmark
Цитата:
Цитата:
Да и, судя по мантису, сейчас NetBox - чуть ли не единственный из плагинов, в котором зарепорченные баги не правятся.Если не ошибаюсь, NetBox делает разработчик не из основной команды. И он куда-то запропал.
Ariman_UA
Миша периодически появляется - он по работе занят, но баги на гите отслеживает исправно, хотя там есть и свои тараканы связанные с тем, что с гитхаб надо отслеживать вручную - на почту не всегда получаешь уведомления (про это мне говорили dmex, wj32 и ряд иных коллег и знакомых) о новых коммитах и записях в списке инцов/реквестов, и более-менее единственный приемлемый способ контроля обновлений там это через SVN (Commit Monitor или TortoiseSVN) либо крон с задачей автопроверки гитхаба в кронтабе...
Миша периодически появляется - он по работе занят, но баги на гите отслеживает исправно, хотя там есть и свои тараканы связанные с тем, что с гитхаб надо отслеживать вручную - на почту не всегда получаешь уведомления (про это мне говорили dmex, wj32 и ряд иных коллег и знакомых) о новых коммитах и записях в списке инцов/реквестов, и более-менее единственный приемлемый способ контроля обновлений там это через SVN (Commit Monitor или TortoiseSVN) либо крон с задачей автопроверки гитхаба в кронтабе...
VictorVG4
Цитата:
Там ничего особенного делать не надо, достаточно оставить версию, которая сейчас идёт с текущим стабильным билдом. Всё.
Цитата:
Это всё понятно, к нему никаких вопросов. У нас у всех дела, работа и т.д. Речь лишь о том, чтобы в стабильную сборку попадало только то, что работает.
Цитата:
Насчёт "сохранить" на уровне исходников не обещаю, но чтой-то сможем в моей коллекции собранных билдов отыскать
Там ничего особенного делать не надо, достаточно оставить версию, которая сейчас идёт с текущим стабильным билдом. Всё.
Цитата:
Миша периодически появляется - он по работе занят
Это всё понятно, к нему никаких вопросов. У нас у всех дела, работа и т.д. Речь лишь о том, чтобы в стабильную сборку попадало только то, что работает.
Benchmark
Не вопрос. По размеру это свыше 4,2 Гб, но если что отыскать нужное не сложно - имена архивов шаблонные - Far-30.хххх-bin.7z, где хххх номер билда, а примерно нужный легко найти по времени сборки. Дальше греп.
А попаданию в сборку - с гита сорцы обновляет робот, и тогда нужно там менять структуру ветвей. У Process Hacker с плагинами так вообще пара разных репозиториев - https://github.com/processhacker2/processhacker2 - основной, там только отлаженные плагины, которые если кто правит, то по мелочи, и https://github.com/processhacker2/plugins-extra - эти плагины в разработке, там могут быть любые правки. То же возможный вариант.
Не вопрос. По размеру это свыше 4,2 Гб, но если что отыскать нужное не сложно - имена архивов шаблонные - Far-30.хххх-bin.7z, где хххх номер билда, а примерно нужный легко найти по времени сборки. Дальше греп.
А попаданию в сборку - с гита сорцы обновляет робот, и тогда нужно там менять структуру ветвей. У Process Hacker с плагинами так вообще пара разных репозиториев - https://github.com/processhacker2/processhacker2 - основной, там только отлаженные плагины, которые если кто правит, то по мелочи, и https://github.com/processhacker2/plugins-extra - эти плагины в разработке, там могут быть любые правки. То же возможный вариант.
При использовании FARx32 на 64-битной системе EMenu выбрасывает некоторые пункты контекстного меню, в том числе и связанные с 64-битными приложениями. Есть ли какой-нибудь способ побороть это? Дело не в лени перебираться на 64-битный Фар, а в отсутствии некоторых 64-битных плагинов и требуемой универсальности
Krot66
Теоретически есть - нужные рунтаймы поставить. Некоторые приложения при этом станут видимыми, иные придётся дублировать. К примеру 64-х битный Procesess Hacker частично дублирован - ./x86/processhacker.exe и ./x86/plugins/DotNetTools.dll добавлены в x64 сборку именно для решения задачи совместимости Win64 <-> Win32. Что именно ставить будет зависеть от конкретной программы. Некоторые программы придётся ставить в обеих разрядностях. Так решена эта задача у GCC, GIMP, PhotoLine, Paint Shop Pro, Photoshop и ряда других пакетов.
Теоретически есть - нужные рунтаймы поставить. Некоторые приложения при этом станут видимыми, иные придётся дублировать. К примеру 64-х битный Procesess Hacker частично дублирован - ./x86/processhacker.exe и ./x86/plugins/DotNetTools.dll добавлены в x64 сборку именно для решения задачи совместимости Win64 <-> Win32. Что именно ставить будет зависеть от конкретной программы. Некоторые программы придётся ставить в обеих разрядностях. Так решена эта задача у GCC, GIMP, PhotoLine, Paint Shop Pro, Photoshop и ряда других пакетов.
VictorVG4
Спасибо, но я имел ввиду что-то на уровне свмого ФАРа, что-нибудь вроде утилиты командной строки, вызывающей эксплорерное контекстное меню, которую можно будет затолкать в меню и повесить макрос
Спасибо, но я имел ввиду что-то на уровне свмого ФАРа, что-нибудь вроде утилиты командной строки, вызывающей эксплорерное контекстное меню, которую можно будет затолкать в меню и повесить макрос
Krot66
Так не сделать - 32-х и 64-х битные адресные пространства это разные сущности, не говоря уже о контексте состояния микропрограмм ЦП как устройства.
Так не сделать - 32-х и 64-х битные адресные пространства это разные сущности, не говоря уже о контексте состояния микропрограмм ЦП как устройства.
VictorVG4
Тот же пока чисто 32-битный Free Commander имеет файл FcContextMenu64.exe для этих нужд. И это проект одиночки. А тут гудение стольких великих умов - и до сих пор множество людей спотыкается на этом
Тот же пока чисто 32-битный Free Commander имеет файл FcContextMenu64.exe для этих нужд. И это проект одиночки. А тут гудение стольких великих умов - и до сих пор множество людей спотыкается на этом
Ariman_UA
Получил ответ от разработчика GMime:
---
Okay, so you need to fix your copy paste logic to remove those spaces.
Look. MIME is not allowed to have those spaces. Period. It is not
GMime's responsibility to ignore them. It is your responsibility to make
sure they aren't there.
Read up on how headers are folded in email. Notice that lines beginning
with whitespace characters are assumed to be part of the preceding header.
Adding your feature is not only the wrong thing to do, it's also a bad idea.
---
Т.е. вся загвоздка в том, что конец хидера определяется по наличию пустой строки, а не по началу блока данных. Но с другой стороны строка с данными имеет строгий набор символов, почему не чекать начало блока по этому признаку?
Получил ответ от разработчика GMime:
---
Okay, so you need to fix your copy paste logic to remove those spaces.
Look. MIME is not allowed to have those spaces. Period. It is not
GMime's responsibility to ignore them. It is your responsibility to make
sure they aren't there.
Read up on how headers are folded in email. Notice that lines beginning
with whitespace characters are assumed to be part of the preceding header.
Adding your feature is not only the wrong thing to do, it's also a bad idea.
---
Т.е. вся загвоздка в том, что конец хидера определяется по наличию пустой строки, а не по началу блока данных. Но с другой стороны строка с данными имеет строгий набор символов, почему не чекать начало блока по этому признаку?
Krot66
FC это GUI надстройка над системным шеллом, а Far самостоятельное консольное приложение. Ставьте две разные копии Far3 - x86 и х64 и они не будут мешать друг-другу. Простейшее, хотя и не самое удобное решение.
Добавлено:
Alexyz21
Потому, что символ 0х20 вставляет криво работающий софт, а если вместо него роль мусора станет изображать например 0х39 или иной байт? Как тогда либа определит факт начала блока данных? Ведь формального флага типа 0х7F как в блоке данных кода Manchester 2 в канале связи нет, и отличить мусор от данных учитывая что они могут начинаться с любого байта нельзя. Там флаг играет именно эту роль - отличить данные от помех и синхронизировать декодер по этой последовательности которая после вырезается из потока, а если в него попадает байт 0х7F то используется битстаффинг - принудительная вставка передатчиком после пяти единиц подряд нуля который удаляется декодером. А тут как тогда поступить?
FC это GUI надстройка над системным шеллом, а Far самостоятельное консольное приложение. Ставьте две разные копии Far3 - x86 и х64 и они не будут мешать друг-другу. Простейшее, хотя и не самое удобное решение.
Добавлено:
Alexyz21
Потому, что символ 0х20 вставляет криво работающий софт, а если вместо него роль мусора станет изображать например 0х39 или иной байт? Как тогда либа определит факт начала блока данных? Ведь формального флага типа 0х7F как в блоке данных кода Manchester 2 в канале связи нет, и отличить мусор от данных учитывая что они могут начинаться с любого байта нельзя. Там флаг играет именно эту роль - отличить данные от помех и синхронизировать декодер по этой последовательности которая после вырезается из потока, а если в него попадает байт 0х7F то используется битстаффинг - принудительная вставка передатчиком после пяти единиц подряд нуля который удаляется декодером. А тут как тогда поступить?
Alexyz21
Цитата:
Цитата:
Но с другой стороны строка с данными имеет строгий набор символов, почему не чекать начало блока по этому признаку?Это какой набор? Блок данных может содержать всё что угодно.
VictorVG4
Цитата:
Добавлю - строка с данными имеет специфический "вид", явно отличный от заголовка. Понятно, что жёстко чекать по пустой строке проще, но сколь mime-text есть текст, то стало быть к нему могут применяться копи-пэсты и стало быть нужно эту ситуацию обрабатывать. - Если матёрый VictorVG IV заблудился в трёх соснах с извлечением, то что можно сказать про неподготовленного юзера?
Добавлено:
Цитата:
Разве не [+/A-Za-z0-9] для base64?
Цитата:
строка с данными имеет строгий набор символов, почему не чекать начало блока по этому признаку?
Добавлю - строка с данными имеет специфический "вид", явно отличный от заголовка. Понятно, что жёстко чекать по пустой строке проще, но сколь mime-text есть текст, то стало быть к нему могут применяться копи-пэсты и стало быть нужно эту ситуацию обрабатывать. - Если матёрый VictorVG IV заблудился в трёх соснах с извлечением, то что можно сказать про неподготовленного юзера?
Добавлено:
Цитата:
Блок данных может содержать всё что угодно
Разве не [+/A-Za-z0-9] для base64?
Ariman_UA
Цитата:
Для таких случаев должен быть определен механизм, что делать дальше.
Если запропал автор одного из плагинов, идущих в стандартной поставке, то в стабильных версиях этот плагин обновляться не должен. И так до тех пор, пока либо автор не вернётся, либо кто-то не подхватит "знамя" дальнейшей разработки этого плагина. Ну либо бесхозный плагин исключается из стандартной поставки, хотя это худший вариант.
Иначе получаем нелепую ситуацию: автор вносит очередные изменения. Возможно, наломав дров - для промежуточной версии это нормально. А затем пропадает. Плагин как бы в разработке, но к употреблению ещё не пригоден. И, тем не менее, этот полуфабрикат может попасть в релизную версию, чего по уму быть не должно.
Цитата:
Если не ошибаюсь, NetBox делает разработчик не из основной команды. И он куда-то запропал.
Для таких случаев должен быть определен механизм, что делать дальше.
Если запропал автор одного из плагинов, идущих в стандартной поставке, то в стабильных версиях этот плагин обновляться не должен. И так до тех пор, пока либо автор не вернётся, либо кто-то не подхватит "знамя" дальнейшей разработки этого плагина. Ну либо бесхозный плагин исключается из стандартной поставки, хотя это худший вариант.
Иначе получаем нелепую ситуацию: автор вносит очередные изменения. Возможно, наломав дров - для промежуточной версии это нормально. А затем пропадает. Плагин как бы в разработке, но к употреблению ещё не пригоден. И, тем не менее, этот полуфабрикат может попасть в релизную версию, чего по уму быть не должно.
Alexyz21
Цитата:
По сути, особой разницы между заголовком и телом особо нет, поэтому разделяют их по пустой строке.
Benchmark
Цитата:
Цитата:
Разве не [+/A-Za-z0-9] для base64?С чего вдруг? Там может быть любой принтабельный символ. Base64 это лишь один из вариантов кодировки содержимого.
По сути, особой разницы между заголовком и телом особо нет, поэтому разделяют их по пустой строке.
Benchmark
Цитата:
Для таких случаев должен быть определен механизм, что делать дальше.Ну, как по мне, по идее, всё, что идет в стандартной поставке, должно быть в одном репозитории. Чтобы вся команда имела возможность вносить правки по необходимости. Но это чисто мои предпочтения.
Ariman_UA
И я так же так думаю ибо это позволяет оперативно устранять ошибки, а разработку вести в другом репо подобно Process Hacker. По моему это удобнее.
И я так же так думаю ибо это позволяет оперативно устранять ошибки, а разработку вести в другом репо подобно Process Hacker. По моему это удобнее.
FAR3 и RESearch крайние, теперь после отработки батча с заменами в редакторе, не обновляется заголовок окна, так и остаётся Searching, в предыдущих ночнушках возвращался к Edit.
Alexyz21
drkns 20.04.2016 22:42:13 +0200 - build 4631
1. При вызове диалогов через главное меню не устанавливался правильный заголовок консоли.
Да и в целом с этим заголовком творилась какая-то дичь. Многое переделано, возможны баги.
drkns 20.04.2016 22:42:13 +0200 - build 4631
1. При вызове диалогов через главное меню не устанавливался правильный заголовок консоли.
Да и в целом с этим заголовком творилась какая-то дичь. Многое переделано, возможны баги.
2 fml2 Показывать количество открытых окон в диалоге подтверждения закрытия Фара
Можно так [more]
Код: F=far.Flags
Event
group:"DialogEvent"
description:"Extend Quit Dialog"
action:(event,param)->
if event==F.DE_DLGPROCINIT and param.Msg==F.DN_INITDIALOG
id=far.SendDlgMessage param.hDlg,F.DM_GETDIALOGINFO
id=id and id.Id or ""
if id==win.Uuid far.Guids.FarAskQuitId
windows=far.AdvControl F.ACTL_GETWINDOWCOUNT,0,0
viewers,editors,ss=0,0,""
for ii=1,windows do
info=far.AdvControl F.ACTL_GETWINDOWINFO,ii,0
if info and F.WTYPE_VIEWER==info.Type then viewers+=1
if info and F.WTYPE_EDITOR==info.Type then editors+=1
if viewers>0 or editors>0
if viewers>0
ss..="\nOpen viewer(s): %d"..viewers
if editors>0
ss..="\nOpen editor(s): %d"..editors
ss..="\n\n"
code = (1==far.Message ss.."Do you want to quit FAR?","Quit",";YesNo") and 4 or 5
param.hDlg\send "DM_CLOSE",code
false
Можно так [more]
Код: F=far.Flags
Event
group:"DialogEvent"
description:"Extend Quit Dialog"
action:(event,param)->
if event==F.DE_DLGPROCINIT and param.Msg==F.DN_INITDIALOG
id=far.SendDlgMessage param.hDlg,F.DM_GETDIALOGINFO
id=id and id.Id or ""
if id==win.Uuid far.Guids.FarAskQuitId
windows=far.AdvControl F.ACTL_GETWINDOWCOUNT,0,0
viewers,editors,ss=0,0,""
for ii=1,windows do
info=far.AdvControl F.ACTL_GETWINDOWINFO,ii,0
if info and F.WTYPE_VIEWER==info.Type then viewers+=1
if info and F.WTYPE_EDITOR==info.Type then editors+=1
if viewers>0 or editors>0
if viewers>0
ss..="\nOpen viewer(s): %d"..viewers
if editors>0
ss..="\nOpen editor(s): %d"..editors
ss..="\n\n"
code = (1==far.Message ss.."Do you want to quit FAR?","Quit",";YesNo") and 4 or 5
param.hDlg\send "DM_CLOSE",code
false
Alexyz21
Цитата:
На больших базах попробую в Пн, а пока бегло опробовал на подручном материале. Кажется всё работает отлично! И новые примеры функций тоже очень кстати. БОЛЬШОЕ СПАСИБО!
Поскольку вариантов практически употребляемых сортировок больше, чем могу оперативно воспроизвести, очень удачно применяются их истории. Особенно с учётом того, что в них можно применять и комментарии (через два тире). За это Вам ОСОБАЯ БЛАГОДАРНОСТЬ!
Цитата:
Обновил Panel.CustomSortByName.lua
На больших базах попробую в Пн, а пока бегло опробовал на подручном материале. Кажется всё работает отлично! И новые примеры функций тоже очень кстати. БОЛЬШОЕ СПАСИБО!
Поскольку вариантов практически употребляемых сортировок больше, чем могу оперативно воспроизвести, очень удачно применяются их истории. Особенно с учётом того, что в них можно применять и комментарии (через два тире). За это Вам ОСОБАЯ БЛАГОДАРНОСТЬ!
Цитата:
За это Вам ОСОБАЯ БЛАГОДАРНОСТЬ!
Эт не мне - это шмелю с сотоварищи из фартима Двойной дефис - это стандартный оператор lua для комментариев.
Добавлено:
Цитата:
Кажется всё работает отлично!
Изменений в коде сортировок нет, поэтому работать будет одинаково. Заменён только msgbox на более модный сегодня far.Message - чем они конкретно различаются я даже не в курсе, если кто знает - просветите.
Цитата:
Заменён только msgbox на более модный сегодня far.Message - чем они конкретно различаются я даже не в курсе, если кто знает - просветите.
Я уже пользовался far.Message в течение примерно 6 лет до своего знакомства с macro-API и функцией msgbox, поэтому мода здесь ни при чём.
Различия можно выяснить из документации.
как куплю новые глаза, так сразу найду то место, где это сказано прямым текстом.
Angel_Ka
советую неудачные варианты поиска из истории удалять сразу, иначе она в перспективе разбухнет до тормозов.
Angel_Ka
советую неудачные варианты поиска из истории удалять сразу, иначе она в перспективе разбухнет до тормозов.
Alexyz21
Цитата:
Да. Спасибо! Именно так я и делаю. Догадался уже.
Цитата:
советую неудачные варианты поиска из истории удалять сразу, иначе она в перспективе разбухнет до тормозов.
Да. Спасибо! Именно так я и делаю. Догадался уже.
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
Предыдущая тема: оффтоп
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.