freenode/#clim - IRC Chatlog
Search
10:40:37
ludston
Now that I finished moving house, I've been playing around with making set-stream-input-focus happen at the 'right time'
10:42:52
ludston
This is because it's been suggested that this is the right API to hook disposing modal UI components such as menus
10:45:47
ludston
I just think that it should be implemented by every single widget, and the core event handling code ought to treat setting focus as a first class
10:45:50
jackdaniel
primary issue I had with it is that it depends on a property list in a frame, hence it assumes that all sheets used in a port have a frame
10:46:42
ludston
But the problem that I have run into after I did a spike and hacked this... Is that multiple application frames screw it up
10:47:57
jackdaniel
when you load mcclim from that branch, try hierarchy tool demo from clim-examples
10:50:14
ludston
Being able to nest event loops, and still being able to interact with the panes from the ancestor event loops feels pretty bad
10:52:56
jackdaniel
there is another pr which aims to address that, but I forgot at which stage I've stopped working on it
10:53:41
jackdaniel
I think I rewrote streams as we have them now to split the event loop and stream input buffers
10:55:00
ludston
That makes more sense. It must have been a hairy change though. I imagine that you had to re-write a lot of the demo code to make it work
11:08:48
ludston
I hope you find it gratifying to know that your PR to fix focus was almost identical to what mine was going to be
11:10:36
ludston
Which I'm leery about to be honest, because it might swing too far the other way and strip focus unnecessarily
11:41:13
ludston
Ok, I've played around with improve-click-to-focus, and that has not been a problem
11:42:53
ludston
I'm going to extend this PR, because it does not aggressively remove focus when clicking on un-focussable UI components
11:45:50
ludston
Additionally, spawning new windows and clicking between different windows seems to raise multiple focus events, which is just aesthetic but could be a problem some day.