Fred Kiefer wrote:
Richard Frith-Macdonald schrieb:[...] The documentation says:GSSuppressAppIconA boolean value, NO by default. Specifies wether the application iconwindow should not be displayed. Set to YES for background server applications.I think the expectation is that, if you have set GSSuppressAppIcon toYES, it's because your app is not intended to appear on-screen (I think that's what 'background server' means), or that your window manager will be handling activation of the app some other way. The other default (GSAppOwnsMiniwindow) is the one which is supposedto control whether miniwindows are controlled by the application or bythe window manager, and if that's set to 'NO' then (as I understand it) the miniwindows should not appear on the desktop. I'm not sure how well this works though.I haven't looked at the code for ages, but I suspect that the application icon window is handled as a special case and GSAppOwnsMiniwindow does not effect it (shouldn't that be GSAppOwnsMiniWindow rather than GSAppOwnsMiniwindow anyway?).I think the current code probably does the wrong thing with the app icon window... if it's suppressed then the app just doesn't create it, but itmight make more sense for it to be created off-screen ... so that we still have the icon window but it's unseen.Then, we would always be able to minimise the icon window when we hidethe app. If we did that then presumably the window manager woulddisplay a reference to the minimised icon window in whatever manner it normally displays minimised windows, and the window manager's mechanismfor unminimising it would be able to unhide the application (we could have the gui watch for the icon window being unminimised and automatically unhide the app at that point). Would this be a workable way of curing this particular window manager interaction issue?First off, we already have a related bug report for this problem, #18199 and perhaps it would be best to add any further comments there, to makeit easier to reference things later on. Your idea sounds feasible to me, we will of course need to add a bit more logic to it, for example only to minimize the hidden app iconwindow when there is no other window. And putting it off screen may notbe enough for some window managers to not display it in there program bar or what ever they use. Also we need to make sure that the app icon window wont get show after activating its mini window. And of course this will have to work with all window managers out there...
IMHO Richard's proposal is much too complicated. I'd suggest something radically simpler: If an application does not have an appicon the hide command should just minimize all application windows. As far as I understand this also was the solution used by Apple in OpenStep 4.2 for Windows. See, e.g., http://support.apple.com/kb/TA45871 and search for the term "hide" (with quotation marks) in that document. This can beimplemented trivially with the three-line patch below in NSApplication.m.
NSApp.patch
Description: Binary data
Wolfgang
_______________________________________________ Gnustep-dev mailing list Gnustep-dev@gnu.org http://lists.gnu.org/mailman/listinfo/gnustep-dev