Wow, you weren't kidding when you said it was almost a complete rewrite... Mostly the code looks good. A few style issues and one semantic problem, which I've written in the review.
For xcb_flush(), I think I'd like to use the same model that NSView uses. Have a -setNeedsFlush: method on XCBConnection and have the message loop periodically send it a -flushIfNeeded message, which clears the needs flush flag and calls xcb_flush(). That way we don't defer flushing too long (which harms latency), but also don't end up with to aggressive flushing (which harms throughput). David On 15 Mar 2010, at 10:41, Christopher Armstrong wrote: > Hi David > > Okay I've posted the code on the review board > http://review.etoileos.com/r/135/ > . > > Going on what I was mentioning before about being more synchronous, I > think there are points where we could safely add more xcb_flush calls > otherwise we sometimes I get weird errors. > > Cheers > Chris > > On 14/03/2010, at 23:47 PM, David Chisnall wrote: > >> Hi Christopher, >> >> I wrote Project Manager (or, more accurately, I started writing >> Project Manager and got distracted). The license should be MIT. It >> should have been already mapping and unmapping windows, but not >> doing anything else (no decorations, no handling input, no window >> moving). >> >> If you've got some patches and want to keep working on it, that's >> great - it keeps slipping further and further down my TODO list. >> Can you put your patches into the review board (http://review.etoileos.com >> )? >> >> David >> >> On 14 Mar 2010, at 07:01, Christopher Armstrong wrote: >> >>> Hi all >>> >>> I was poking about ProjectManager in the SVN repository. I was having >>> problems with it (it wouldn't render anything except a fuzzy bright >>> purple screen for me) so I decided to look into it and ended up >>> starting again with the existing code and expanding the XCB framework >>> that was there. I've got it to the point where it seems it will map >>> and unmap windows, but not handle window decorations or the root >>> desktop (I'm stuck on that one at the monment). I used xcompmgr as a >>> guide as it seems to work well enough and is pretty simple, >>> although I >>> still need to port some stuff over from it (especially support for >>> transparent windows and some stuff I left out because I didn't know >>> what it did). >>> >>> I've been developing and testing it with Xephyr, xterm and xclock. >>> Gorm seems to start up and display in it but there are these big >>> black >>> boxes (I'm thinking hidden or unmapped windows) that appear too. >>> >>> I want to post the code, but the original code was unlicenced. I >>> assume its going to be MIT or something. I'm also unsure who wrote >>> it. >>> Once that is clarified, I'm happy to add the headers to the source >>> code files, and write a quick AUTHORS and COPYING file. >>> >>> Thanks >>> >>> Christopher Armstrong >>> carmstr...@fastmail.com.au >>> >>> >>> >>> >>> >>> _______________________________________________ >>> Etoile-dev mailing list >>> Etoile-dev@gna.org >>> https://mail.gna.org/listinfo/etoile-dev >> >> >> -- Sent from my STANTEC-ZEBRA >> >> >> _______________________________________________ >> Etoile-dev mailing list >> Etoile-dev@gna.org >> https://mail.gna.org/listinfo/etoile-dev > > -------- > Christopher Armstrong > carmstr...@fastmail.com.au > > > > > > > _______________________________________________ > Etoile-dev mailing list > Etoile-dev@gna.org > https://mail.gna.org/listinfo/etoile-dev -- Sent from my brain _______________________________________________ Etoile-dev mailing list Etoile-dev@gna.org https://mail.gna.org/listinfo/etoile-dev