From: Daniel A. S. <st...@ic...> - 2001-08-29 00:08:55
|
Jim, At 9:35 -0700 on 28/8/01, Jim Ingham wrote: >I don't think you want to make the overrideredirect windows float, >since overrideredirect only changes look, not behavior on X11 and >Windows, but floating windows have different behavior (for instance >they vanish when the Application is backgrounded, and they don't >receive keystrokes). well on unix overrideredirect changes behaviour as a consequence of the fact that the window is no longer a normal window, i.e. the window manager ignores it for the purposes of <enter>/<leave> and focus detection, doesn't decorate it etc. There seems to be no way to get exactly that behaviour in the current (pre Carbon) MacOS Window Manager. as I said I don't think making overrideredirect windows float is really a good solution, but in some sense it is as bad as the current behaviour, with the looks now wrong but more correct behaviour... maybe a better solution would be to modify GeneratePollingEvents() to not only ignore floating windows in front of the current window but also windows with the override_redirect flag set. Possibly this could also be achieved by changing TkpIsWindowFloating() to check for override_redirect. Maybe this is worth a try? (unix TkpChangeFocus() seems to do something similar to cope with certain X window managers, i.e. it ignores windows with override_redirect set) >The better solution here is to add the kHelpWindowClass window type >to the list of types in unsupported1. This is available only in >carbonlib 1.1, but that is fairly common, and not hard to install on >older (8.5 era) machines. This gives you the correct help tag look >(which is more than just overrideredirect.) the problem is that you can't use carbon features selectively, if you want to use any carbon feature such as the kHelpWindowClass you have to go carbon all the way, which we can't really do with classic Tk... Do you know how OS9 popup balloons get the window manger to essentially ignore them? popup balloons would seem to have features equivalent to what we would like for overrideredirect... I suspect this was done by hacking a custom case into OS window layering code though. In any case for the purpose of Tk popup balloons, the 'unsupported1 style floating sideTitlebar' solution works well enough for me, the looks aren't so bad (see attached), so this is not really an urgent problem. Cheers, Daniel -- ** Daniel A. Steffen ** "And now to something completely ** Department of Mathematics ** different" Monty Python ** Macquarie University ** <mailto:st...@ma...> ** NSW 2109 Australia ** <http://www.maths.mq.edu.au/~steffen/> |