Ru-Board.club
← Вернуться в раздел «Программы»

» Far Manager

Автор: Krot66
Дата сообщения: 18.06.2016 10:59
shmuz2
Истинно так, спасибо
Автор: VictorVG4
Дата сообщения: 18.06.2016 14:40
b4715 r14271 x64 Win7 SP1 x64 - это что за артефакты в момент запуска :



способ запуска не важен, но что интересно для их исчезновения хватает выбора окна Far после чего происходит его перерисовка и верхняя рамка приобретает нормальный вид с двумя сплошными линиями контура. Увидел сразу как собрал и стало интересно с чем встретился - ранее такого ни разу не видел...

Добавлено:
P.S.

понятно, что если нужно выиграть время для работы по устранению этой странности, то это легко костылится автостартующим макросом выполняющим к примеру Ctrl-R ибо явление наблюдается в изначально пустой копии без плагинов - Far.exe, .lng/.hlf, в Far.exe.ini:

[General]
UseSystemProfiles=0
UserProfileDir=%FARHOME%\Profile
GlobalUserMenuDir=%FARHOME%
DefaultLanguage=Russian
TemplateProfile=%FARHOME%\Default.farconfig
UserLocalProfileDir=%FARHOME%\Profile

самого профиля нет, настройки консоли ОС 80х25, Lucida Console,15, отброс повторений (чтобы не влиял разряд батареек в KBD - повтор нажатой клавиши на десятки строк и прочие глюки набора у A4TECH Padless N7100 признак разряда батарей по току (мышка просто выключается, а KBD начинает дико глючить)).
Автор: VictorVG4
Дата сообщения: 18.06.2016 17:01
Так, причину возникновения эффекта отыскал: режимы компиляции /Ox /Os в командной строке cl и эта странность стала проявляться только с r14270, а ранее такой режим компиляции на перерисовку рамки не влиял. Буду подбирать режим компиляции.
Автор: skipik001
Дата сообщения: 18.06.2016 17:55
VictorVG4

Цитата:
артефакты в момент запуска

У себя не наблюдаю такого. Но ОС Win 10.
Вить, попробуй мою сборку ради интереса. /Ox и /Os там есть.
Автор: VictorVG4
Дата сообщения: 18.06.2016 18:01
Экспериментально выяснил, что эффект появляется при использовании настройки cl: С++ :: Оптимизация :: Предпочитать краткость кода (/Os) т.е. налицо явный глюк компилятора MS VC++ 2015 Update 2. Вопрос - как можно обойти эту ошибку для ключей компиляции /Ox /Os ?

Добавлено:
skipik001

Взял, посмотрю. Может у меня сам компилятор сбился? На семёрке эффект проявляется только для этой комбинации ключей компиляции, правда я ОС не перезапускал - может в памяти мусор сидит? Дождусь завершение просчёта матмодели и ребутнусь - хоть у меня стоит 16 Гб ОЗУ, но и там где-то может сидеть мусор...

Добавлено:
С твоим вариантом на семёрке всё повторяется, значит ребутнусь и ещё раз посмотрим. Похоже студия где-то перегибает палку.

Добавлено:
Да, сейчас коллеги попробовали на удалённой рабочей станции (X79 / Xeon E5-2687W / 64 Gb регистровой DDR3-1600 / QUADRO K6000) под корпоративной семёркой - по их словам с вариантом собранным с cl /Ox /Os и у них всё повторяется.

Добавлено:
Собрал b4716 r14273, VC++ 2015 Update 2, cl /Ox /Os, проверил х86 и х64 без плагинов и с чистым профилем - визуальных артефактов отрисовки более нет.

DrKnS - ОГРОМНОЕ СПАСИБО!

У меня только один вопрос, но скорее для себя - насколько верна моя гипотеза о наличии ошибки в компиляторе?
Автор: VictorVG4
Дата сообщения: 24.06.2016 10:37
FarUE3 b4724 r14292 Fri Jun 24 10:44:02 +0300 2016

1. Far b4724 r14292
2. LuaManager v3.1.2
3. Поправка настроек LuaManager - автоустановка ширины колонок
4. Поправка в default.farconfig
5. readme.txt::FAQ для проблемы "В Win10 RS1 14371.0 консоль сломали!"
6. Рефакторинг. Обновление совместимо с SVN r14219 - SVN r14292


в х64 поправки совпадают с п1 - п5, макрос исправляющий поведение колеса настолько прост, что я и добавлять тело не стал:

Macro{
uid="D7D3F2E7-A66D-44A7-B513-F67BE9A165B2";
area="Common";
key="MsWheelUp";
description="MsWheel scroll for Windows 10 RS1 14371.0 Up";
priority=50;
sortpriority=50;
action=function() Keys("Up") end;
}

Macro{
uid="E91915A1-4ED5-4FD7-A629-B73C59F6DDFF";
area="Common";
key="MsWheelDown";
description="MsWheel scroll for Windows 10 RS1 14371.0 Dowm";
priority=50;
sortpriority=50;
action=function() Keys("Down") end;
}


кому нужен сам под свои задачи пример поправит, он написан только с целью показать возможность простого решения сей "задачи" и лично мне на данный момент не интересен. Хватит и того, что я его в readme.txt::FAQ поместил.

P.S.

Усе архивы обновлены, мелкие опечатки исправлены.
Автор: Alexyz21
Дата сообщения: 25.06.2016 22:04
sToLp
можно попробовать так:
Изменяем в Panel.CustomSortByName.lua:251

Код: if xRegexp then
sRegexp,sRgxRet = regex.match(sRegexp,"^(?:--[^\\n]+?\\n)?(.*?)(?:\\{!:(.*?)\\}|)$")
if sRegexp:match("%[%[..-%]%]") then sRegexp = regex.gsub(sRegexp,"\\[\\[(.+?)\\]\\]",function(s) return regex.gsub(s,"[^\\|]","\\%1") end) end
Автор: ivm3
Дата сообщения: 26.06.2016 00:55
Far 3.0 в немецком Windows 7 German.
Русские текстовые файлы не читаются.
Если устанавливаю сборку Far Manager,
то русские шрифты в текстовых файлах читаются,
но мне такие навороченные сборки не нужны.

Хочу настроить оригинальную версию Far'а в немецком
Windows 7 на чтение текстовых файлов с русскими
шрифтами. Прошу помочь.
Автор: VictorVG4
Дата сообщения: 26.06.2016 01:35
ivm3

Как вариант использовать шрифт Lucida Console - он UNICODE и поддерживает кириллицу.
Автор: ivm3
Дата сообщения: 26.06.2016 01:41
Спасибо. А это как сделать?

Добавлено:
АААААААААААААА! Дотумкался. Это в свойствах ярлыка?!

Добавлено:
А какой вариант используется, например, в сборке Far Manager UE3?


Добавлено:
VictorVG4
Спасибо еще раз, проблема, в общем, решена.

А есть вариант решения этой проблемы в настройках Far Manager?
Автор: VictorVG4
Дата сообщения: 26.06.2016 02:54
ivm3

Через плагин Console Control стартовый скрипт выставляет Lucida Console,15, но можно внести аналогичные изменения через настройки консоли в Реестр (для текущего пользователя, для остальных повторяем настройки) или через настройки локали ОС (наиболее универсальный способ). В настройках локали нужно подключить кириллицу в раскладках клавиатуры и указать использование UNICODE в т.ч. и для программ не поддерживающих UNICODE. Тогда ОС сама подключит нужные кодовые таблицы и шрифты. Если ОС не может отобразить текущую кодовую таблицы она выводит символы-заместили (обычно "плашки") вместо букв не латинских алфавита с кодами 0x80 - 0xFF.
Автор: sToLp
Дата сообщения: 26.06.2016 08:27
Alexyz21

Цитата:
sToLp
можно попробовать так:
Изменяем в Panel.CustomSortByName.lua:251

Ответ поместил туда.

Автор: DVall
Дата сообщения: 26.06.2016 11:29
Что-то у меня Far3 b4725 после запуска смд'шника.
Уходит в несознанку. Экран отображается, но на клавиатуру реакции 0.
И в чистую, и с конему......
Автор: VictorVG4
Дата сообщения: 26.06.2016 12:57
DVall

А что данный скрипт должен выводить на экран? Может там как у меня стоит перенаправление вывода не в stdout|tty254 а в /dev>/nul? Или echo off? Тогда в большинстве случаев вывод команд подавляется. Либо команда запускает дополнительную скрытую консоль и ждёт её результата? Тут сам скрипт смотреть надо. У меня в том же b4725 никто не чудит...

Добавлено:
И кстати, коли скрипт завис можно Ctrl-Shift-Tab отцепить консоль фара - раз, прервать безобразника по Ctrl-C (системная комбинация), снять его задачу таскменеджером по KillProcess() ...
Автор: citPiks
Дата сообщения: 26.06.2016 13:03
Alexyz21
Перечёл всю заведённую sToLp`ом тему Пользовательская сортировка файлов с макросами и вкурил идею предлагаемой маркировки файлов с макросами и их сортировки.
Разобрался и в применении макроса-гиганта Panel.CustomSortByName.lua. И поэтому прошу сделать его упрощённый вариант исключительно для сортировки lua-файлов, промаркированных по системе sToLp`а. Работающий непосредственно, без меню. Однако с однозначно включённым в макрос регексом (чтобы по своему вкусу можно таки корректировать было).
Надеюсь, что для Вас это не будет в тягость. Заранее благодарен.
Автор: VictorVG4
Дата сообщения: 26.06.2016 13:19
citPiks

Я кстати для себя использую другую систему - имя скрипта первым элементом включает его макрообласти, а второй название действия что упрощает ориентацию среди сотен скриптов моей коллекции. В принципе я уже прикидывал что как вариант можно сделать автомат-сортировщик который будет читать из макрсов поле area и по нему сортировать скрипты на панели, но по мне так проще скрипты сразу понятным способом поименовать, чем после левой задней ногой чесать правое переднее ухо, равно как искать приключения на собственную голову. Но, коли кто хочет, то хозяин - барин, и тут охота пуще неволи.
Автор: DVall
Дата сообщения: 26.06.2016 14:01

Цитата:
А что данный скрипт должен выводить на экран?

При чём тут вывод на экран?
Far3 b4720
Батники работают без проблем.
Far3 b4725
После отработника батника, фар перерисовынается но управление не возвращается....
Элементарные, типа

Код:

@echo OFF
cmdtime3.exe SYNC www.belgim.by

Автор: citPiks
Дата сообщения: 26.06.2016 14:11
VictorVG4

Цитата:
Я кстати для себя использую другую систему - имя скрипта первым элементом включает его макрообласти

Это если макросов относительно не много. А иначе гораздо проще разложить их по папкам, поименованным согласно областям. Поэтому то мне и импонирует почти идеальная система маркировки файлов, приведённая в первом и втором примерах sToLp`а. Поверьте мне на слово, к такой систематизации стоит приглядеться и перенять едва ли не каждый её элемент. Впрочем, разумеется, дело вкуса.
Автор: sToLp
Дата сообщения: 26.06.2016 14:49
citPiks

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

Гляньте, пожалуйста, данный набросок хотя бы краем глаза. А вдруг появятся практичные предложения по поводу.

Добавлено:
[more] [more]К системе стилей шорткатов (наборов клавиш и модификаторов).

[Mod]KeyF|Key[-Key2F|-Key2|:vMod] — общая схема шорткатов, где Key[:vMod] – частный случай, хоткей (различаются KeyF – функциональные клавиши и Key – остальные, нефункциональные клавиши).

Mod (клавиши-модификаторы) — Ctrl, Alt, Shift и их сочетания.

ModKey-ModKey2 — аккорды макроса MacroEx применяются только с клавишами-модификаторами.

:vMod — виртуальные модификаторы плагина MacroLib :Release, :Hold, :Single, :Double, :Down, :Up и :Press (в моей практике виртуальные модификаторы :vMod применяются без клавиш-модификаторов Mod, только к одиночным функциональным клавишам).

ModKey:Hold и ModKey:Double — виртуальные модификаторы макроса MacroEx применяются только с клавишами-модификаторами.

[Mod]KeyF|Key — нативные команды и макросы.

(ModKeyF|ModKey):HoldX — наборы пользовательских макросов.

(ModKeyF|ModKey):DoubleX — меню с пользовательскими командами.

ModKey-ModKey2 — макросы для плагинов.[/more] [/more]
Автор: VictorVG4
Дата сообщения: 26.06.2016 19:24
citPiks

А вы попробуйте запомнить сложную таблицу имён скриптов. У меня в сборки их чуток поболее сотни, а в них пара сотен с хвостиком макросов и я поверьте не все помню на память, раз, да и ограничения на имена файлов накладываемые файловой системой приходится учитывать. То что проходит на NFS,UFS2 и ZFS не проходит на NTFS или самбе, да имена вида [ или z это говорят имена команд UNIX имеющих свои порты в CygWin/Msys/Msys2 и результат запуска скрипта с подобным именем без указания полного пути к нему будет не предсказуем.
Автор: citPiks
Дата сообщения: 26.06.2016 19:37
[more] VictorVG4
Каждый приспосабливается по-своему. Единой системы классификации скриптов, кажется, не выработано. При этом, имхо, желательно придерживаться принципа систематизации. Которая может быть и вынужденно динамичной, периодически подстраиваемой под новые нужды.

sToLp
Цитата:
Гляньте, пожалуйста, данный набросок

Я внимательно ознакомился с Вашим наброском системы применения модификаторов. И, кажется, несмотря на крайнюю степень его схематичности, разобрался-таки в ней, и считаю её весьма полезной. И если я правильно понял содержание представленного наброска, то Вы предполагаете придерживаться следующих четырех однозначно различимых вариантов возможного применения виртуальных модификаторов:

1) в нативных командах и макросах виртуальные модификаторы не применять;

2) в макросах, задаваемых одиночными функциональными клавишами без клавиш-модификаторов (то есть чисто F1 — F12 без Ctrl, Alt и Shift), применять только виртуальные модификаторы плагина MacroLib — :Release, :Hold, :Single, :Double, :Down, :Up или :Press;

3) в макросах, задаваемых шорткатами, составленными с применением Ctrl, Alt или Shift, применять только виртуальные модификаторы макроса MacroEx :Hold и :Double;

4) в макросах, обрабатывающих плагины, применять аккорды (типа CtrlT-E, CtrlT-T и т.п.) макроса MacroEx, а в макросах, не относящихся к плагинам, аккордные варианты шорткатов не применять.

Имхо, такая схема резонна и ментально более или менее легко воспринимается. А также, полагаю, что ею будет действительно удобно придерживаться на практике. А при необходимости же, её не сложно будет и подкорректировать. Сам я, по меньшей мере, считаю целесообразным и готов опробовать её в своей практике.
[/more]
Автор: VictorVG4
Дата сообщения: 26.06.2016 20:26
citPiks

Да, формализованной системы именования скриптов нет поскольку задачи по её созданию никто не выдвигал и сейчас у каждого автора своя схема именований. Я придерживаюсь выработанной десятилетиями опыта разработки схемы "область применения"_"задача", но не навязываю её.
Автор: shmuz2
Дата сообщения: 26.06.2016 20:49
При наличии макро-браузеров (один встроенный и два навороченных внешних) имена макрофайлов для меня имеют малое значение. Но да, о вкусах не спорят.
Автор: VictorVG4
Дата сообщения: 26.06.2016 20:57
shmuz2

Честно говоря то же самое, а имена формирую только для удобства написания NSIS скриптов.
Автор: ivm3
Дата сообщения: 26.06.2016 21:45
VictorVG4
А ты оказывается известная личность в Far . Вспомнил, я твое имя в Far документации встречал.
Автор: VictorVG4
Дата сообщения: 26.06.2016 22:01
ivm3

Может быть.
Автор: citPiks
Дата сообщения: 27.06.2016 00:02
shmuz2
Если запустить в комстроке lua:Panel.CustomSortMenu() Keys("End Add"), то будет только вызвано меню. И если сбросить его по Esc, то за ним появится диалог "Пометить" как бы вызванный командой "Add". С клавиатуры же те же команды "End" и "Add" в данном меню срабатывают нормально.
Автор: shmuz2
Дата сообщения: 27.06.2016 08:11
citPiks
1. Наблюдаемое вами поведение - правильное, поскольку меню вызывается синхронно, и Keys() вызывается только после закрытия меню.
2. То, что вы хотите, делается так: lua:mf.acall(Panel.CustomSortMenu) Keys("End Add")
Автор: wseventeen
Дата сообщения: 27.06.2016 10:52
ivm3

Цитата:
... Вспомнил, я твое имя в Far документации встречал.

Это вряд ли.
А бан на форуме в 2007 году зачётный.


Автор: citPiks
Дата сообщения: 27.06.2016 15:57
shmuz2
Спасибо Вам за расширение функционала Panel.CustomSortMenu и за разъяснение о том, как правильно его вызывать и обрабатывать из комстроки, сиречь и из макроса, а также за практический пример этого. Имхо, было бы не лишним обо всём этом указать в хелпе по функции.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: оффтоп


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.