Перескакивание строкового курсора в диалогах в позицию курсора мыши без её активности

Здесь можно сообщить о найденных багах в Far.
dest
Posts: 115
Joined: Mon 29 Jun, 2015 01:30
Has thanked: 18 times

Перескакивание строкового курсора в диалогах в позицию курсора мыши без её активности

Post by dest »

Часто приходится вызывать Alt-F8 для очистки от лишнего, курсор мыши находится где-нибудь в пределах появляющегося диалогового окна.
Клавишами перехожу на ненужную строку в истории, жму удаление строки истории (Ctrl-Del), в этот момент строковый курсор перескакивает в позицию мыши, к которой не прикасался, и если удалял несколько строк подряд (предполагал удалять, поставив строковый курсор в нужную позицию), то внезапное перепрыгивание активной позиции в позицию курсора мыши приводит к тому, что удаляется совсем не то, что планировал.
Возможно и в других диалоговых окнах такое же поведение, не придавал значения, поскольку не наносит вреда существенного, как в данном случае (удаляются из истории команды, которые трудно запомнить/редко используются, но очень нужны и т.д.).
Глюк проявляется не всегда, зависимость не понял, поэтому точнее, как воспроизвести проблему со 100%-й повторяемостью - не скажу. Увы.
Last edited by dest on Sun 12 Mar, 2023 12:49, edited 1 time in total.
User avatar
zg
zero-gravity
Posts: 6074
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 187 times
Contact:

Перескакивание строкового курсора в диалогах в позицию курсора мыши без её активности

Post by zg »

во времена всяческих win2k и winxp анимация иконки в трее приводила к нулевым событиям перемещения мыши в консоли. возможно тут тоже какой-то внешний фактор.
User avatar
HaRT
Moderator
Posts: 10926
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 223 times
Been thanked: 362 times

Перескакивание строкового курсора в диалогах в позицию курсора мыши без её активности

Post by HaRT »

К сожалению, я с таким тоже нередко сталкиваюсь (в Win 10), и закономерность тоже пока не выявил.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 10926
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 223 times
Been thanked: 362 times

Перескакивание строкового курсора в диалогах в позицию курсора мыши без её активности

Post by HaRT »

Кстати, я вспомнил: вероятно, эта недавняя фича в AltHistory тоже вызвана обсуждаемым нежелательным поведением:
Nikolay wrote: Thu 08 Dec, 2022 19:56 [+] Новая команда Ctrl-Alt-T в историях для переключения режима отслеживания мыши.
Фар есть инструмент, а не нянька. © 2009 DrKnS
dest
Posts: 115
Joined: Mon 29 Jun, 2015 01:30
Has thanked: 18 times

Перескакивание строкового курсора в диалогах в позицию курсора мыши без её активности

Post by dest »

Похоже как минимум одну причину с гарантированным повторением обнаружил.
Если в разное время вызывалась одна и та же команда многократно и между ней были другие команды, то при удалении экземпляра многократной команды она из истории не удаляется, а удаляется её экземпляр. И строковый курсор перепрыгивает куда-то хз куда - либо на идущую подряд за ним команду, либо на другой экземпляр этой команды. Не видя дат запуска команд приходится только гадать.
Этот глюк, похоже, отличается от того, когда строковый курсор прыгает в позицию мыши, но он из той же серии. Он вполне мог бы быть пофикшен, если бы в базу данных писался только один экземпляр запуска, а не все вызовы.
User avatar
HaRT
Moderator
Posts: 10926
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 223 times
Been thanked: 362 times

Перескакивание строкового курсора в диалогах в позицию курсора мыши без её активности

Post by HaRT »

dest wrote: Mon 13 Mar, 2023 21:33 Не видя дат запуска команд
Вы точно говорите про ?
Впрочем, очевидно, нет:
dest wrote: Sun 12 Mar, 2023 12:47 жму удаление строки истории (Ctrl-Del)
Ведь в стандартной истории сочетание CtrlDel не делает ничего, а удаляет запись оно, например, в вышеупомянутом плагине AltHistory.

У меня перескакивание проявлялось вовсе не обязательно при удалении, а, например, при нажатии какой-нибудь безобидной клавиши наподобие Ins.
Фар есть инструмент, а не нянька. © 2009 DrKnS
dest
Posts: 115
Joined: Mon 29 Jun, 2015 01:30
Has thanked: 18 times

Перескакивание строкового курсора в диалогах в позицию курсора мыши без её активности

Post by dest »

Да, AltHistory, только не в нём дело, в нём просто часто и чаще всего получается напороться на глюк.
Было и в меню копирования/переноса и создания F7 после Ctrl-Down и последующих Shift-Del, но там я существенно реже и там не важно.
(offtop) не нашёл как отключить сохранение истории для копирования/переноса
Last edited by dest on Wed 15 Mar, 2023 12:55, edited 1 time in total.
User avatar
HaRT
Moderator
Posts: 10926
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 223 times
Been thanked: 362 times

Перескакивание строкового курсора в диалогах в позицию курсора мыши без её активности

Post by HaRT »

Кажется, мне удалось подавить нежелательное поведение, сохранив желательное: (его нужно положить в файл, например, SaveMyDay.moon в директорию скриптов).
Побочный положительный эффект — что в диалогах игнорируется и мелкое (в пределах одного знакоместа) дрожание указателя (что нередко случается с недорогими оптическими мышками).
Просьба погонять и рассказать, если что-то ухудшилось.
Last edited by HaRT on Wed 12 Jun, 2024 16:40, edited 1 time in total.
Reason: По просьбам пользователей добавлено уточнение, как лучше распорядиться скриптом.
Фар есть инструмент, а не нянька. © 2009 DrKnS
dest
Posts: 115
Joined: Mon 29 Jun, 2015 01:30
Has thanked: 18 times

Перескакивание строкового курсора в диалогах в позицию курсора мыши без её активности

Post by dest »

HaRT, если не затруднит - подскажи, пожалуйста, в какую именно директорию положить скрипт? Macros\??? - internal? modules? scripts? utils? или вообще libxx?..
User avatar
zg
zero-gravity
Posts: 6074
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 187 times
Contact:

Перескакивание строкового курсора в диалогах в позицию курсора мыши без её активности

Post by zg »

dest wrote: Wed 12 Jun, 2024 13:24 HaRT, если не затруднит - подскажи, пожалуйста, в какую именно директорию положить скрипт?
FAQ 6.2. второе предложение.
dest
Posts: 115
Joined: Mon 29 Jun, 2015 01:30
Has thanked: 18 times

Перескакивание строкового курсора в диалогах в позицию курсора мыши без её активности

Post by dest »

zg wrote: Wed 12 Jun, 2024 13:27FAQ 6.2. второе предложение.
У меня этот вопрос не от балды возник... Когда я раньше складывал в указанную в 6.2 директорию, то бывало "разное". И вот тут по ссылке viewtopic.php?p=176783#p176783 мне JohnDoe намекает, что я вообще ССД, что положил в scripts, а не куда-то иначе. В другой какой-то теме, кажись buniak_a_h, выкладывал скрипты, которые нужно было складывать в utils, а не в scripts. Review требует складывать его в modules.
Поскольку такая неоднозначность - решил уточнить, а не пробовать-прыгать-по-граблям (без возможности проверить результат, потому что глюк нестабильный и как его вызывать уже забыл)..
Положил в scripts (не знаю, замечу ли изменения, как сказал в предыдущем предложении - проверить сходу не удастся, а там если глючить прыгание курсора не будет, то и не вспомню)
Last edited by dest on Wed 12 Jun, 2024 14:47, edited 1 time in total.
User avatar
zg
zero-gravity
Posts: 6074
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 187 times
Contact:

Перескакивание строкового курсора в диалогах в позицию курсора мыши без её активности

Post by zg »

dest wrote: Wed 12 Jun, 2024 13:39И вот тут по ссылке
ссылка не туда.
dest wrote: Wed 12 Jun, 2024 13:39В другой какой-то теме, кажись buniak_a_h, выкладывал скрипты, которые нужно было складывать в utils
фар про такую папку не знает.
dest wrote: Wed 12 Jun, 2024 13:39Review требует складывать его в modules.
там три файла и только один нужно класть в modules.
dest wrote: Wed 12 Jun, 2024 13:39Поскольку такая неоднозначность
никакой неоднозначности нет. фар что-то загружает сам только из internal и scripts. выкладывать что-то из internal имеет смысл разве что для баг репортов. поэтому любой скрипт, предназначенный для конечного пользователя, будет содержать файл, который нужно положить в scripts. если файл один, то ни в какое другое место смысла класть его нет. очевидно случаи апдейта многофайлового скрипта — отдельная история.
dest
Posts: 115
Joined: Mon 29 Jun, 2015 01:30
Has thanked: 18 times

Перескакивание строкового курсора в диалогах в позицию курсора мыши без её активности

Post by dest »

zg wrote: Wed 12 Jun, 2024 14:08ссылка не туда
мой глюк, исправил

zg wrote: Wed 12 Jun, 2024 14:08фар про такую папку не знает.
Я может чего-то не понимаю снова?
Зачем тогда туда AleXH, BAX (buniak_a_h) и другие складывают части своих скриптов, если фар не знает о существовании этой директории?
Зачем фар считывает содержимое файлов в память?
Process Monitor говорит об обратном. Фар знает и забирает оттуда всё, что там есть. Кроме того, именно оттуда вызывается мой форк загрузки venv питона и работает так как нужно именно оттуда, а не из scripts, о чём и была речь в теме, на которую я ссылался в прошлом сообщении.
240612-165217-procmon-5qAz.png

Положил в scripts, как написал в прошлом сообщении, и теперь при запуске Far вижу ошибку. Кодировка .lua без разницы какая - что UTF-8BOM, что OEM. Сделал просто - скопировал другой скрипт, в него вставил содержимое, сохранил, перезапустил фар - ошибка.
Last edited by dest on Wed 12 Jun, 2024 14:59, edited 1 time in total.
User avatar
zg
zero-gravity
Posts: 6074
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 187 times
Contact:

Перескакивание строкового курсора в диалогах в позицию курсора мыши без её активности

Post by zg »

dest wrote: Wed 12 Jun, 2024 14:59мой глюк, исправил
там же скрипт для другого скрипта. и это написано в описании. при чём тут фар?
dest wrote: Wed 12 Jun, 2024 14:59Зачем тогда туда AleXH, BAX (buniak_a_h) и другие складывают части своих скриптов, если фар не знает о существовании этой директории?
например, чтобы разбить проект на части для удобства сопровождения. и грузятся они основной частью скрипта и чтобы фар их не грузил, кладутся туда, откуда фар их и не грузит.
dest wrote: Wed 12 Jun, 2024 14:59Фар знает и забирает оттуда всё, что там есть.
тут можно упереться в терминологию. но инициатором загрузки служит не сам фар, а скрипты, загруженные им из scripts. если оставить scripts пустым, то ничего оттуда грузится не будет.
User avatar
HaRT
Moderator
Posts: 10926
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 223 times
Been thanked: 362 times

Перескакивание строкового курсора в диалогах в позицию курсора мыши без её активности

Post by HaRT »

dest wrote: Wed 12 Jun, 2024 14:59 Положил в scripts, как написал в прошлом сообщении, и теперь при запуске Far вижу ошибку. Кодировка .lua без разницы какая
А когда вы код копировали, вас блёклое слово MoonScript в правом верхнем углу блока кода ни на какие мысли не навело? И раз уж вы делали какие-то свои форки каких-то скриптов в Фаре, то странно, что на взгляд не отличаете МунСкрипт от Луа…
Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

Return to “Глюки и баги”