kapai69 / far-plugins

Automatically exported from code.google.com/p/far-plugins
0 stars 0 forks source link

FarHints v1.0.18 for Far3 - особенности управления. #31

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Если использовать макросы из FML переписав 
их в farconfig, то:

1) плагин полностью блокирует на себя 
колесо мыши, в панелях оно работать 
перестаёт.

2) масштабирование работает только в 
сторону увеличения, уменьшения нет - тут 
ошибка (?) в макросе - при любом направление 
вращения колеса он посылает плагину 
значеник "текущий масштаб +1". Поправил 
разделив макросы:

[code]
<?xml version="1.0" encoding="UTF-8" ?>
<farconfig>
    <macros>
        <keymacros>
            <macro area="Shell" key="ShiftUp" flags="DisableOutput" description="Far Hints: Increase">
                <text>
                    <![CDATA[ %n = iif(AKey(2) == "ShiftUp", 1, -1);
  $if (!Plugin.Call("CDF48DA0-0334-4169-8453-69048DD3B51C", "Size", %n))
    $AKey
  $end]]>
                </text>
            </macro>
            <macro area="Shell" key="ShiftDown" flags="DisableOutput" description="Far Hints: Decrease">
                <text>
                    <![CDATA[ %n = iif(AKey(2) == "ShiftDown", -1, 1);
  $if (!Plugin.Call("CDF48DA0-0334-4169-8453-69048DD3B51C", "Size", %n))
    $AKey
  $end]]>
                </text>
            </macro>
        </keymacros>
    </macros>
</farconfig>
[/code] 
это работает, замена кнопок на колесо - 
блокирует колесо в панелях будто и нет его 
в природе.  Конфиг с макросами в аттаче 
лежит.

3) я пытался прикрутить решение через 
контроль события &&& (MsEventFlags !="0x1") - это у меня 
не полчулось, потому решил задачу через 
вызовы ShiftUp/ShiftDown. Конфиг с макросами в 
аттаче лежит.
[code]
 <?xml version="1.0" encoding="UTF-8" ?>
<farconfig>
    <macros>
        <keymacros>
            <macro area="Shell" key="MsWeelUp" flags="DisableOutput" description="Far Hints: MouseWeel Increase">
                <text>
                    <![CDATA[ %n = iif(AKey(2) == "MsWeeUp", 1, -1);
  $if (!Plugin.Call("CDF48DA0-0334-4169-8453-69048DD3B51C", "Size", %n) && (MsEventFlags !="0x1"))
    $AKey
  $end]]>
                </text>
            </macro>
            <macro area="Shell" key="MsWeelDown" flags="DisableOutput" description="Far Hints: MouseWeel Decrease">
                <text>
                    <![CDATA[ %n = iif(AKey(2) == "MsWeelDown", -1, 1);
  $if (!Plugin.Call("CDF48DA0-0334-4169-8453-69048DD3B51C", "Size", %n) && (MsEventFlags !="0x1"))
    $AKey
  $end]]>
                </text>
            </macro>
        </keymacros>
    </macros>
</farconfig>
[/code]

Ну, на данный момент ввроде больше ничего 
не отловил.:)

А за сам плагин конечно СПАСИБО!

Original issue reported on code.google.com by victorvg04 on 6 Aug 2012 at 2:43

Attachments:

GoogleCodeExporter commented 9 years ago
Максим! Запись на Мантисе 0002141 видел и 
попробую поиграть с заменой $AKey - вдруг 
сработает? Мне лично такая идея в голову не 
приходила. Спасибо за подсказку! Виктор.

Original comment by victorvg04 on 8 Aug 2012 at 12:11

GoogleCodeExporter commented 9 years ago
По возможности прошу подсказки как 
правильно записать в макросе вместо $AKey 
MsWeelUp/MsWeelDown - что-тоя неверно его записываю и 
у меня при запуске Far выдаётся сообщение о 
синтаксической ошибке в макросе с 
указанием на MsWeelUp. Пробовал заисать 
"MsWeelUp"/MsWeelUp/$MsWeelUp и получал синтаксическую 
ошибку. Значит я где-то неправильно их 
указываю. А как правильно указать?

Original comment by victorvg04 on 9 Aug 2012 at 11:42

GoogleCodeExporter commented 9 years ago
Wheel :)

Original comment by Max.Ru...@gmail.com on 9 Aug 2012 at 11:47

GoogleCodeExporter commented 9 years ago
Спасибо! Понял. Буду пробовать - всё равно 
сидеть - водосчётчики должны прийти 
поверять. Третий день идут. :-)

Original comment by victorvg04 on 9 Aug 2012 at 11:54

GoogleCodeExporter commented 9 years ago
Максим! СПАСИБО ГИГАНТСКОЕ! Именно с твоей 
подсказки удалось прикрутить и колесо и 
клавиши - пусть у людей выбор будет. Логично 
я мыслю?

Вот такой макрос на колесо нормально 
работает:

<?xml version="1.0" encoding="UTF-8" ?>
<farconfig>
    <macros>
        <keymacros>
            <macro area="Shell" key="ShiftUp" flags="DisableOutput" description="Far Hints: Increase">
                <text>
                    <![CDATA[ %n = iif(AKey(2) == "ShiftUp", 1, -1);
  $if (!Plugin.Call("CDF48DA0-0334-4169-8453-69048DD3B51C", "Size", %n))
    $AKey
  $end]]>
                </text>
            </macro>
            <macro area="Shell" key="ShiftDown" flags="DisableOutput" description="Far Hints: Decrease">
                <text>
                    <![CDATA[ %n = iif(AKey(2) == "ShiftDown", -1, 1);
  $if (!Plugin.Call("CDF48DA0-0334-4169-8453-69048DD3B51C", "Size", %n))
    $AKey
  $end]]>
                </text>
            </macro>
            <macro area="Shell" key="MsWheelUp" flags="DisableOutput" description="Far Hints: MouseWheel Increase">
                <text>
                    <![CDATA[ %n = iif(AKey(2) =="MsWheelUp", 1, -1);
  $if (!Plugin.Call("CDF48DA0-0334-4169-8453-69048DD3B51C", "Size", %n))
    MsWheelUp
  $end]]>
                </text>
            </macro>
            <macro area="Shell" key="MsWheelDown" flags="DisableOutput" description="Far Hints: MouseWheel Decrease">
                <text>
                    <![CDATA[ %n = iif(AKey(2) =="MsWheelDown", -1, 1);
  $if (!Plugin.Call("CDF48DA0-0334-4169-8453-69048DD3B51C", "Size", %n))
    MsWheelDown
  $end]]>
                </text>
            </macro>
          </keymacros>
    </macros>
</farconfig>

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

Так что ещё раз СПАСИБО ОГРОМНОЕ за 
подсказку. А опечатка - энто я видать крепко 
вымотан был и уже глаза в кучу были. :-)

Original comment by victorvg04 on 9 Aug 2012 at 2:15

Attachments:

GoogleCodeExporter commented 9 years ago
Патч, который в Мантис#2141 предложил Скирда 
работает и данную проблему решает в полном 
объёме, это проверено экспериментально, 
собранный бинарник версии 2787 ревизия 
исходников 8306 - 8311 (к любой подойдёт) и 
только исправленные исходники прилагаю.

Original comment by victorvg04 on 12 Aug 2012 at 9:23

Attachments:

GoogleCodeExporter commented 9 years ago
Максим! Просьба отписать на Мантис - из-за 
отсутствия ответа питч не ктмитят хотя 
пока на него или вероятно связанные с ним 
последствия я напиример баг-репортов не 
получал. А он уже работаете не в одной, а в 
нескольких сотен ЭВМ. Я думаю, что инц М2141 
можем пометить как решённый. Иначе он будет 
в таком неопределённо-подвешенном 
состоянии вызывать только новые проблемы. 
FarHints не единственный кто на этом 
попадается и потому я думаю, что стот дать 
"добро" на данный патч.

Original comment by victorvg04 on 16 Aug 2012 at 8:06

GoogleCodeExporter commented 9 years ago
Ну и напишите сами. Я этот патч не 
тестировал.

Original comment by Max.Ru...@gmail.com on 16 Aug 2012 at 8:14

GoogleCodeExporter commented 9 years ago
Так я уже написал, но без Вас w17 не может 
закрыть инц и добавить код в SVN. Он в курсе 
что работает, но репортер Вы....

Original comment by victorvg04 on 16 Aug 2012 at 8:10