freenode/#clim - IRC Chatlog
Search
13:33:52
loke
jackdaniel: are you around? I have an event question (related to my trying to understand multi-window behaviur)
13:39:36
jackdaniel
I know nothing about multi-window behavior (as in: I didn't ponder code nor used it extensively myself)
13:40:33
loke
Do you know if the display function of a pane is called in response to a window-repaint-event, or if this is completely unrealted?
13:41:21
loke
The reason I'm asking, is because I create a new frame but it's never being repainted. I do, however, see that the window-repaint-event is delivered to the appropriate pane.
13:50:31
loke
This is what seems to happen: REDISPLAY-FRAME-PANES iterates over all sheets that are part of a toplevel application frame. However, the secondary frames' sheets are not iterated over, causing them to never be redisplayed.
13:54:46
loke
I was wondering why this stuff works with menu-frames but not application frames. It seems that the menu-frame specialisation of ADOPT-FRAME creates a special sheet of type MENU-UNMANAGED-TOP-LEVEL-SHEET-PANE and adds it to the toplevel sheet in the application-frame.
13:55:15
loke
I don't think this sheet is ever actually dispalyed, but it seems to serve as a mechanism to make the secondary frame part of the sheet hierarchy.
14:00:22
loke
jackdaniel: Would it be accurate to say that it's very likely the multi-window/single-thread use case was never considered outside of menu-frames?
14:00:52
loke
(the fact that it works for menu frames makes me want to try to create a new frame-type, SECONDARY-FRAME that would do what I want).
14:01:29
jackdaniel
menu is unmanaged-top-level-sheet-pane because we don't want its drawable to be a child of window
14:02:22
jackdaniel
you may i.e provide absolute position on the screen of such drawable (X11-protocol-wise)
14:04:06
jackdaniel
(defmethod %realize-mirror ((port clx-port) (sheet unmanaged-top-level-sheet-pane))
14:04:56
loke
In ADOPT-FRAME, the toplevel sheet of the menu-frame is added to the sheet hierarchy of *APPLICATION-FRAME*
14:04:59
jackdaniel
I'm saying that unmanaged-top-level-sheet-pane was created for this particular distinction for override-redirect
14:06:35
loke
So perhaps I can just add the toplevel sheet in an application-frame to another application-frame's sheet hierarchy and it might just work.