View Issue Details

IDProjectCategoryView StatusLast Update
0003949Far ManagerInterfacepublic2022-06-02 17:18
Reporterajax16384 Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status newResolutionopen 
PlatformwindowsOSWindows 
Product Version3.0 
Summary0003949: Windows Terminal + Alt-F9
Descriptionпод Windows Terminal (как миниум 1.14) не работает Alt-F9.


Far Manager, version 3.0.5959.0 x64
Windows Terminal Preview Version: 1.14.1452.0
Steps To Reproducelaunch wt.exe
launch far.exe
press alt-f9
Additional InformationДля maximize/restore FAR делает SendMessage(GetConsoleWindow(), WM_SYSCOMMAND ...)
https://github.com/FarGroup/FarManager/blob/223a390f1eee530f32fff3d469661a1ef9c9d2ac/far/interf.cpp#L545
но в WT и других pseudoconsole подобных терминалах это скорее всего бесполезно:
- в общем случае у pseudo console GetConsoleWindow() окно не обязательно визуальное:
  For an application that is hosted inside a pseudoconsole session, this function returns a window handle for message queue purposes only.
  The associated window is not displayed locally as the pseudoconsole is serializing all actions to a stream for presentation on another terminal window elsewhere.
  https://docs.microsoft.com/en-us/windows/console/getconsolewindow

- конкретно у WT WM_SYSCOMMAND не реализовано и скорее всего не будет: https://github.com/microsoft/terminal/blob/9dca6c27eeeb4371c87cdc553d01b8876d028d21/src/interactivity/base/InteractivityFactory.cpp#L457

Возможное решение:
блокировать для pseudo console (определять у GetConsoleWindow пклассу окна "PseudoConsoleWindow") SendMessage обращения GetConsoleWindow() для действий типа alt-f9, (а также wm_seticon итп)


TagsNo tags attached.
Build

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2022-06-02 17:18 ajax16384 New Issue