отключить отслеживание мышиного курсора, не отключая мыши
отключить отслеживание мышиного курсора, не отключая мыши
Некоторые диалоги, например, alt-f8 или alt-f12, отслеживают положение мышиного курсора, что жутко неудобно - мышь случайно чуть пошевелилась, и курсор тут же улетел хрен знает куда. Можно ли это отключить, не отключая полностью поддержку мыши?
- buniak_a_h
- Posts: 4236
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 643 times
- Contact:
отключить отслеживание мышиного курсора, не отключая мыши
На самом деле действительно страшно раздражает. Для себя я сделал следующий скрипт, препятствующий этому:
В скрипт заложено предотвращение только по диалогам истории (команд, папок и редакторов/просмотрщиков). Если надо добавить другие диалоги - надо их GUIDы добавить в список (сроки 3-5). Ну, или просто заменить проверку GUIDа на поиск DI_LISTBOX-а среди элементов диалога. Если надо, а самому влом - пишите, сделаю.
Кстати! В скрипт заложено, что список только один. Для стандартных историй это правильно, есл ет - надо опять же делать поиск.
Кстати! В скрипт заложено, что список только один. Для стандартных историй это правильно, есл ет - надо опять же делать поиск.
- buniak_a_h
- Posts: 4236
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 643 times
- Contact:
отключить отслеживание мышиного курсора, не отключая мыши
P/S. Но, увы, у AltHistory, которой я пользуюсь, нет DI_LISTBOX (там DI_USERCONTROL, у которого нет флага DIF_LISTTRACKMOUSE). Т.е. перемещение реализовано программно в плагине; соответственно, предотвратить эту фигню невозможно
- HaRT
- Moderator
- Posts: 10822
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
отключить отслеживание мышиного курсора, не отключая мыши
Однако можно попросить автора в теме плагина — прежде он регулярно деятельно отзывался.buniak_a_h wrote: ↑Wed 09 Jun, 2021 17:08 перемещение реализовано программно в плагине; соответственно, предотвратить эту фигню невозможно
Фар есть инструмент, а не нянька. © 2009 DrKnS
- buniak_a_h
- Posts: 4236
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 643 times
- Contact:
отключить отслеживание мышиного курсора, не отключая мыши
HaRT, я думаю, просить такое сейчас преждевременно. Иначе придётся делать настройку… Логично было бы в самом ФАРе сделать такую настройку (отслеживать мышь в списках), но, наверно, уже поздно, раз есть флаги DIF_LISTTRACKMOUSE и DIF_LISTTRACKMOUSEINFOCUS. Ну, или вводить ещё один флаг - DIF_LISTNOTRACKMOUSE и учитывать эту настройкупри отсутствии и DIF_LISTTRACKMOUSE, и DIF_LISTNOTRACKMOUSE. Гимор полный…
К тому же список не исчерпываются AltHistory-ю, это поведение много где встречается и реально сильно достаёт. Спасибо мелкомягким… Смысла (кроме эстетического «наслаждения») не вижу, а минусы налицо
К тому же список не исчерпываются AltHistory-ю, это поведение много где встречается и реально сильно достаёт. Спасибо мелкомягким… Смысла (кроме эстетического «наслаждения») не вижу, а минусы налицо
Last edited by buniak_a_h on Wed 09 Jun, 2021 23:35, edited 2 times in total.
отключить отслеживание мышиного курсора, не отключая мыши
buniak_a_h, спасибо, но, вообще, присоединюсь к мнению, что это нужно менять или, хотя бы, добавить опцию для включения - именно включения по умолчанию отключенного поведения, потому что это не только неудобно, неконсистентно - ни в панелях, ни в других диалогах текстовый курсор себя так не ведет, и бессмысленно - мышиный курсор сам по себе является достаточным указателем своего положения, но и опасно - если курсор прыгнет прямо под нажатие энтера, это может вызвать запуск чего-нибудь вроде "del /q ." из истории там, где лежит самое нужно и ценное. Плохая идея. Очень плохая. Аналогично с кликами - на панелях запуск файлов или переход в фолдер осуществляется по даблклику, но запуск команды из истории - по синглу, что неконсистентно, а автоматический второй клик может сделать что-то нежелательное, особенно, при наличии другого бага: если даблкликнуть по истории, и команда успеет завершиться до второго клика, второй клик попадет уже в панель, где вызовет запуск файла фактически по синглу.
- buniak_a_h
- Posts: 4236
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 643 times
- Contact:
отключить отслеживание мышиного курсора, не отключая мыши
lvmm, так и я не спорю. Вы просто развернули мои слова «минусы налицо». Есть ещё: если диалог предусматривает выполнение неких действий для пункта списка (например, вызов справки, как в Scripts Browser-е), то после выполнения есть перспектива оказаться фих знает где. Потому при работе с ФАРом я мышку задвигаю туда, где не могу её случайно тронуть.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
отключить отслеживание мышиного курсора, не отключая мыши
Это не диалоги, это меню.
В меню фокус ездит за мышью сам, да. Таков ритуал и так везде.
И это вполне осмысленно в ситуациях, когда пользователь вызвал это меню мышью и она все еще у него в руке.
Однако, вызов меню истории с помощью мыши - наверное, не очень типичный сценарий в Far.
Проблема здесь не в том, что положение отслеживается, а в том, что, по историческим причинам, концепт интерфейса "меню" используется в ситуациях, где был бы более уместен концепт "диалог".
В меню фокус ездит за мышью сам, да. Таков ритуал и так везде.
И это вполне осмысленно в ситуациях, когда пользователь вызвал это меню мышью и она все еще у него в руке.
Однако, вызов меню истории с помощью мыши - наверное, не очень типичный сценарий в Far.
Проблема здесь не в том, что положение отслеживается, а в том, что, по историческим причинам, концепт интерфейса "меню" используется в ситуациях, где был бы более уместен концепт "диалог".
- buniak_a_h
- Posts: 4236
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 643 times
- Contact:
отключить отслеживание мышиного курсора, не отключая мыши
А по мне так меню - это разновидность диалога с единственным элементом DI_LISTBOX.
- buniak_a_h
- Posts: 4236
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 643 times
- Contact:
отключить отслеживание мышиного курсора, не отключая мыши
А ещё ритуал - если есть вложенное подменю, то при наведении мыши на пункт оно раскрывается. А вот теперь представьте, что этот ритуал Вы тоже реализовали…
Не всё, что придумали мелкомягкие, одинаково полезно… Фокус за мышью полезно в GUI и вредно в текстовом UI.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
отключить отслеживание мышиного курсора, не отключая мыши
Как концепт "меню" реализован внутри - не имеет ни малейшего значения, как вы могли убедиться на примере AltHistory.buniak_a_h wrote: ↑Thu 10 Jun, 2021 12:17 А по мне так меню - это разновидность диалога с единственным элементом DI_LISTBOX
Действительно, недоработка.buniak_a_h wrote: ↑Thu 10 Jun, 2021 12:24 А ещё ритуал - если есть вложенное подменю, то при наведении мыши на пункт оно раскрывается.
- buniak_a_h
- Posts: 4236
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 643 times
- Contact:
отключить отслеживание мышиного курсора, не отключая мыши
У кого-то статусная строка типа «Вот ты сказал, а zg реализует, и нам всем потом с этим жить»
Не надо, а?
- buniak_a_h
- Posts: 4236
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 643 times
- Contact:
отключить отслеживание мышиного курсора, не отключая мыши
Вот как раз на примере AltHistory я убедился, что «как концепт "меню" реализован внутри» - имеет очень большое значение. Если б был диалог с DI_LISTBOX, проблем с предотвращением реакции на перемещение мыши не было бы. Или я не понимаю смысл этой сложной квазинаучной фразы…