Closed trunkmaster closed 4 years ago
Sure I've made numerous tets. Application hiding performed by WindowMaker. The actual call sequence is the following:
[NSWindow sendEvent]
- lets assume it was key press (Cmd-h)[XGServer hideApplication]
- for WindowMaker it returns YES
so GNUstep doesn't perform any hiding actions[XGServer _sendRoot:typewindow:data0:data1:data2:data3:]
- sends WMFHideApplication to WindowMaker
After that WindowMaker unmaps all application's windows and set focus to next in window focus list (wHideApplication()).As you can see WindowMaker definitely is not the case when "WM is searching for a window to take focus after each one gets hidden".
If application (window) receives WM_TAKE_FOCUS in hidden state it means WindowMaker wants us to be unhidden.
Description: There are 2 protocols defined in XGServerWindow.h - WMFHideApplication and WMFHideOtherApplications. These protocols exist to help GNUstep application and WindowMaker notify each other about "Hide" and "Hide Others" actions. There are no protocols for "unhide" action.
Test case steps: