Как отключить Drag&Drop?
Как отключить Drag&Drop?
В Far Manager как-то можно отключить Drag&Drop не отключая при этом полностью всю мышь?
Last edited by HaRT on Sat 18 Nov, 2023 17:10, edited 1 time in total.
Reason: Убрано спец.оформление (значок Темы)
Reason: Убрано спец.оформление (значок Темы)
- HaRT
- Moderator
- Posts: 11370
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 260 times
- Been thanked: 407 times
Как отключить Drag&Drop?
У меня нет ответа на ваш вопрос, но он породил большое любопытство, зачем вам понадобилось отключать DnD. Чем он вам помешал?
Фар есть инструмент, а не нянька. © 2009 DrKnS
Как отключить Drag&Drop?
Из-за Windows Terminal. При даблклике на файле в Far запускается соответствующая программа, открывающая этот файл, но при этом Far Manager периодически (не всегда, закономерности не обнаружил) переходит в режим перетаскивания этого файла. Видимо, не получает событие что кнопка мыши отжата. Самое простое решение было бы вообще отключить эти перетаскивания, т.к. я ими не пользуюсь.
Last edited by Ajaja on Sun 03 Dec, 2023 10:11, edited 1 time in total.
- HaRT
- Moderator
- Posts: 11370
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 260 times
- Been thanked: 407 times
Как отключить Drag&Drop?
Да, почти наверняка событие второго отжатия ЛКМ улетает в свежезапущенное приложение. Если не сложно, понаблюдайте, воспроизводится ли у вас эта ошибка с долго стартующими приложениями/документами. Если моя гипотеза верна, то с ними должно быть всё в порядке. И в этом случае уже можно думать над какими-то ещё обходными путями.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Как отключить Drag&Drop?
Поэкспериментировал. Странно, но как-раз проблема возникает с более медленными приложениями. Если после даблклика успеть немного сместить мышь в момент когда окно приложения (видеоплеера, например, если кликать на видеофайле) еще не открылось и фокус на него не переключился, то при возврате фокуса в Far он уже находится в режиме перетаскивания этого файла мышью. С быстрыми приложениями, на которые фокус быстро переключается, проблема в основном не возникает.
Повтороюсь, это только в Windows Terminal. В conemu или классическом conhost я такую проблему никогда не замечал.
Повтороюсь, это только в Windows Terminal. В conemu или классическом conhost я такую проблему никогда не замечал.
Как отключить Drag&Drop?
Согласен, глючит страшно по двойному клику. В предыдущих билдах стабильно начинал трэкать курсор после открытия приложений. В последнем билде стал чаще начинать drag&drop. Может, отключить вообще трекинг мыши? Открывать файлы двойным кликом стало практически невозможно. Средняя кнопка в последнем билде вообще одноразовая. Запускается один раз, а потом вообще не позволяет сдвинуть курсор с места!
- Zeroes
- Мультикопипастер Броадкастер
- Posts: 623
- Joined: Wed 16 Mar, 2005 20:53
- Location: Gomel \ Belarus
- Has thanked: 1 time
- Been thanked: 12 times
Как отключить Drag&Drop?
скоро год будет как я открыл тикет по данной проблеме:
https://github.com/microsoft/terminal/issues/15540
они на багу посмотрели, покачали головой, а воз и ныне там...
PS. попробую скрипт написать для Autohotkey v2.x для обхода проблемы...
https://github.com/microsoft/terminal/issues/15540
они на багу посмотрели, покачали головой, а воз и ныне там...
PS. попробую скрипт написать для Autohotkey v2.x для обхода проблемы...
Last edited by Zeroes on Thu 18 Apr, 2024 09:04, edited 3 times in total.
--- Zeroes & Ones ---
- Zeroes
- Мультикопипастер Броадкастер
- Posts: 623
- Joined: Wed 16 Mar, 2005 20:53
- Location: Gomel \ Belarus
- Has thanked: 1 time
- Been thanked: 12 times
Как отключить Drag&Drop?
Workaround решения вышеописанной проблемы [тикет от меня: https://github.com/microsoft/terminal/issues/15540]
нужен Autohotkey v2.x [как вариант скачать последнюю портативную версию https://www.autohotkey.com/download/ahk-v2.zip в каталоге создать AutoHotkey64.ahk туда добавить скрипт, ярлык на AutoHotkey64.exe поместить в автозагрузку], работоспособность скриптов проверял на Win10.
1) Лечение даблклика левой клавиши мышки, лечение клика колесом мышки
так же лечим работу под эмулятором терминала WezTerm (так как он тоже использует OpenConsole.exe из состава WT)
Единственная при этом побочка - не будет работать DND для файлов мышкой
2) решение ещё одной проблемы - потери фокуса WT при некоторых обстоятельствах
тикет от меня тут: https://github.com/microsoft/terminal/issues/15956
Этот код должен быть размещён в самом конце файла AutoHotkey64.ahk
Loop {
Try {
hwnd := WinWait("A")
className := WinGetClass(hwnd)
if className == "PseudoConsoleWindow"
{
if WinExist("ahk_class CASCADIA_HOSTING_WINDOW_CLASS")
WinActivate
}
WinWaitNotActive hwnd
}
}
ps. Эта проблема потери фокуса уже решена с версии terminal-1.23.2421.0 (canary)
3) решение ещё одной проблемы - при возвращение по Alt-Tab в окно WT если курсор мыши попадает в активную зону окна WT, курсор мыши может стать значком ответственным за состояние BUSY OS (пока заметил эффект с одной программой WinSSHTerm, когда открыта сессия SSH и переключаемся на окно WT)
нужен Autohotkey v2.x [как вариант скачать последнюю портативную версию https://www.autohotkey.com/download/ahk-v2.zip в каталоге создать AutoHotkey64.ahk туда добавить скрипт, ярлык на AutoHotkey64.exe поместить в автозагрузку], работоспособность скриптов проверял на Win10.
1) Лечение даблклика левой клавиши мышки, лечение клика колесом мышки
так же лечим работу под эмулятором терминала WezTerm (так как он тоже использует OpenConsole.exe из состава WT)
Единственная при этом побочка - не будет работать DND для файлов мышкой
2) решение ещё одной проблемы - потери фокуса WT при некоторых обстоятельствах
тикет от меня тут: https://github.com/microsoft/terminal/issues/15956
Этот код должен быть размещён в самом конце файла AutoHotkey64.ahk
Loop {
Try {
hwnd := WinWait("A")
className := WinGetClass(hwnd)
if className == "PseudoConsoleWindow"
{
if WinExist("ahk_class CASCADIA_HOSTING_WINDOW_CLASS")
WinActivate
}
WinWaitNotActive hwnd
}
}
ps. Эта проблема потери фокуса уже решена с версии terminal-1.23.2421.0 (canary)
3) решение ещё одной проблемы - при возвращение по Alt-Tab в окно WT если курсор мыши попадает в активную зону окна WT, курсор мыши может стать значком ответственным за состояние BUSY OS (пока заметил эффект с одной программой WinSSHTerm, когда открыта сессия SSH и переключаемся на окно WT)
Code: Select all
DllCall("RegisterShellHookWindow", "ptr", A_ScriptHwnd)
OnMessage(DllCall("RegisterWindowMessage", "str", "SHELLHOOK"), ShellHook)
ShellHook(wParam, lParam, *) {
if (wParam = 0x8004 || wParam = 4) {
hwnd := lParam || WinExist("A")
Try
{
className := WinGetClass(hwnd)
if className == "CASCADIA_HOSTING_WINDOW_CLASS"
{
MouseMove 1,0,0,"R"
MouseMove -1,0,0,"R"
}
}
}
}
Last edited by Zeroes on Sat 15 Nov, 2025 03:34, edited 20 times in total.
--- Zeroes & Ones ---
- Zeroes
- Мультикопипастер Броадкастер
- Posts: 623
- Joined: Wed 16 Mar, 2005 20:53
- Location: Gomel \ Belarus
- Has thanked: 1 time
- Been thanked: 12 times
Как отключить Drag&Drop?
4) С версии Canary terminal-1.22.2211.0 и по сей день (также вошло в релизную версию Microsoft.WindowsTerminal_1.21.2361.0_x64.zip)
Ввели новую фичу
"added support for EnableHexNumpad which allows you to enter a Unicode character with Alt Numpad+ <hex code of a character>"
соответственно поломали возможность хоткея ALT+NUMPAD ADD
открыл тикет
https://github.com/microsoft/terminal/issues/17762
чего то в конце пообещали возможность вернуть старое поведение, но......
решение проблемы через ahk:
;Temporary Fix for Alt+NumPadAdd for Windows Terminal
HotIfWinActive "ahk_class CASCADIA_HOSTING_WINDOW_CLASS"
Hotkey "!NumpadAdd", Temp_Fix
Temp_Fix(HotkeyName)
{
Send "{Alt Down}{NumpadAdd}{Alt Up}"
}
Ввели новую фичу
"added support for EnableHexNumpad which allows you to enter a Unicode character with Alt Numpad+ <hex code of a character>"
соответственно поломали возможность хоткея ALT+NUMPAD ADD
открыл тикет
https://github.com/microsoft/terminal/issues/17762
чего то в конце пообещали возможность вернуть старое поведение, но......
решение проблемы через ahk:
;Temporary Fix for Alt+NumPadAdd for Windows Terminal
HotIfWinActive "ahk_class CASCADIA_HOSTING_WINDOW_CLASS"
Hotkey "!NumpadAdd", Temp_Fix
Temp_Fix(HotkeyName)
{
Send "{Alt Down}{NumpadAdd}{Alt Up}"
}
--- Zeroes & Ones ---
- Zeroes
- Мультикопипастер Броадкастер
- Posts: 623
- Joined: Wed 16 Mar, 2005 20:53
- Location: Gomel \ Belarus
- Has thanked: 1 time
- Been thanked: 12 times
Как отключить Drag&Drop?
Новый вариант обхода проблемы
d'n'd в панелях работать не будет
[+чиним клики, чтобы не срывало крышу по левому и миддл клику ]
макрос для FAR
+
Скрипт для Autohotkey v2
d'n'd в панелях работать не будет
[+чиним клики, чтобы не срывало крышу по левому и миддл клику ]
макрос для FAR
+
Скрипт для Autohotkey v2
Last edited by Zeroes on Sat 15 Nov, 2025 03:31, edited 7 times in total.
--- Zeroes & Ones ---