Meeting on irc.gnome.org:#gtk-devel Meeting started September 13 2005 16:00 EDT In attendence: Tim Janik (rambokid) Matthias Clasen (mclasen) Jonathan Blandford (jrb) Torsten Schoenfeld (kaffee) Federico Mena Quintero (federico) Kjartan Maraas (kmaraas) Kristian Rietveld (kris) Alex Larsson (alex) Johan Dahlin (jdahlin) David Bellot (david_b_02) anyone got an idea where owen is? owen is busy doing non-GTK+ stuff atm rambokid: yeah -- he'll be out for the rest of the week, probably yosh: you're around now? ok, so I don't have a real agenda for today but I wanted to ask if there are any bugs which we should tackle for 2.8.4 if the patch in 316125 is correct, then this might be a candidate. haven't looked at it yet, I'll put it on 2.8.4 is David Bellot here? jrb: who would that be ? Is he one of th canvas enthusiasts ? yeah; he was one of the people who wanted to do the Canvas mclasen: did all the effort here http://live.gnome.org/ProjectRidley_2fGnomeCanvas the patch in 316125 won't work properly for active gtk grabs jrb: do you mean that this is 2.8.x relevant at all? rambokid: the canvas isn't 2.8 relevant yeah... rambokid: how would an active grab affect the patch ? there are no events involved mclasen: the button can enter prelight state eventhough a grab is in effect. i'm currently commenting on the report. rambokid: ah, right I've been quite out of the loop, but suse 10 is fortunately finished now any showstoppers in the file chooser that I should fix soon? just make it fast federico, the profiling code seems to be compiled in by default kmaraas: cvs update your 2-8 branch federico, and it's causing reports of invalid reads from valgrind federico, ok kmaraas: I'm leaving it on in HEAD - mclasen pointed me to your bug :) federico: the 3 second start up time federico, ok, cool jrb: ??? so, switching to 2.10 / project ridley is there any news in this area? I haven't gotten around to looking at the recent-files proposal yet but ebassi seems to have taken our xml discussion last week to heart, and wrote a GMarkup-based XBel parser... federico: (hitting C-o in gedit for me takes 3 seconds for the dialog to map; just echoing what mclasen said about speed) ebassi's log entry: http://log.emmanuelebassi.net/2005/09/11/surgeon/ kris: the latest news is that I have finished the keyboard-related libegg things kris: and carlos has been busy reworking the assistant api nice jrb: consistently? or just on the first invocation? maybe we should setup a 2.10/project ridley blog (maybe that will even attract more testers) kris: that's not a bad idea clarkbw and I had a long chat about assistants on Friday kris: not sure it'll help much. We already have a number of channels (wiki, mailing list, bugs) federico: (first one, but I rarely open a second file) kris: I added a "Status" column to the tables on the wiki and put "Done" there for the tasks I completed. I agree that its a bit minimalistic for progress indication... yeah but the thing with blogs is we might be added to planet gnome and then *everybody* reads about the progress and how much we kick ass etc yeah, I think that's a good idea people will notice about new features much earlier and hopefully test earlier ;) kris: or how much we don't kick ass... since very little information goes out to the rest of the community unless you follow gtk-devel-list I reckon requests for comments on new APIs will be much more visible mclasen: but we have been kicking ass. no promise of future ass kicking, but.... kris: I concur, it would be a good idea. Now we just need to hire a blog editor... ok i will volunteer mclasen: there's no way you could force information to be hidden anyway, so... i hope i will be able to keep up though ;) kris: i just wonder, how does that differ in the gtk team people blogging personally about stuff, since that shows up on planet anyway? rambokid: not much or are there persons out that that like blogging on multiple blogs? (i don't do that) i am going to blog on the treeview stuff once i get started on that but that's just treeview kris: so why not just post an occasional "state of the ridley" summary on your blog ? a separate blog/aggregator for ridley seems a bit unnecessary imho mclasen: also fine with me mclasen: yeah, my point. i'll do that than that will also force me to read gtk-devel-list better (: heh ;) kris: cvs-commits too oh yeah maybe i should subscribe to that again kris: you can just filter off gtk+ kris: it's pretty easy to filter at least with procmail yeah procmail rules kris: actually, reading ChangeLog is much better mclasen: yeah, seems to be much easier mclasen: the commit messags on cvs-commits are supposed to carry the changelog contents. rambokid: yeah, but you have to read lots of messages instead of just one consecutive file mclasen: or if you meant better==easier, i shut up ;) rambokid: its just reading in emacs vs reading in some more or less crappy mail client, I guess Btw. I've been working on some code to render widgets to offscreen pixmaps. Today I got enough working so that i could set up a mini-demo. http://people.redhat.com/alexl/files/offscreen.swf Its just a silly effect. alex and his evil effect the pixel crap is just vnc2swf alex: does it do the redirect-the-whole-subtree approach we were discussing last week ? mclasen: yes where are we going to use this code? kris: when embedding widgets in a future canvas kris: It could be used in various places, but one reason for it is to be able to take any random widget and embedd it in a cavas with full transformations etc nice mclasen: if you used gnus.... it would also allow us to get rid of the hacks to do the same in the theme switcher and the doc shooter yeah Sep 13 16:36:36 * mclasen read "guns" alex: can i link to that demo in the blog then? kris: i was gonna blog about it ok kris: if you want to be all meta and trendy, you'd blog about alex's blog entry in your blog entry. (-; jrb: yeah i was about to propose that we could do gtkgtk links instead of boingboing links then jrb can blog about that blog entry you could also blog about meta, super and hyper hyper. ok, trying to get somewhat serious again, jrb put the print dialog as a possible hackfest task in the gnome summit wiki but to make that a useful experience, we probably need to do some work beforehand, like collection use cases, come up with some ideas for what the scope of the printing support should be, etc maybe we should collect this information in the wiki gtkgtk! that's awesome mclasen: yeah. We'd have to do a bit of legwork to make this worthwhile jrb: I'll set up a wiki page and start putting some thoughts there mclasen: cool. I'll build off it a bit. meeting started ? meeting finished ? right in the middle starting to wind down... though reaching the end i guess I have like 10 more minutes david_b_02: anything in particular that you wanted to discuss ? mclasen: no, not yet. I'm a bit late, sorry (I had another meeting at the same time) maybe yes. Did you guys dicuss about the canvas ? discuss that's not a problem, I can't attend like half of the meeting ;) david_b_02: alex showed of his awesome widget embedding demo where is the demo ? http://people.redhat.com/alexl/files/offscreen.swf whaou ! How did you do that ? Is it just texture transformation or do you really change the geometry of objects (men it looks like my old amiga) david_b_02: you missed the bulk of the meeting, but we can talk about canvases now a bit jrb: yes, I'm sorry about that david_b_02: its not really any canvas at all david_b_02: I'm writing code that can take any widget (any GdkWindow subhierarchy in fact) and render it onto an offscreen pixmap david_b_02: then you can render it however you want david_b_02: no worries david_b_02: in the example i render a full copy of the pixmap and then i copy out some lines below it offset by a sine ok, I see alex: editing doesn't currently work, right ? david_b_02: the idea is that with this you can very easily do a correctly stacked, transformed widget embedding in a canvas mclasen: no, no input events yet or focus or pointer motion etc alex: you will not only need client-side composite, but also client-side xieve mclasen: exactly you will need to feed it events alex: what are you using to get widgets drawn to a pixmap. did you plug a gdk backend? so, given a transformed widget on the canvas you transform the events to canvas item coords and pass them onto it rambokid: I created a new GdkWindow type, GdkOffscreenWindow. When this gets inserted into the hierarchy all child windows of it become that type of window automatically rambokid: these windows then render to a pixmap rambokid: and implement subwindows etc using clipping client-side i see. have you talked to owen about this? alex: so the rendering is done by the processor ? Or can you do that with the graphics card too ? yeah ok. david_b_02: no, all rendering is done using x david_b_02: just on a pixmap drawable, not a window drawable ok, I need to go. See you next week. rambokid: not much details, but discussion of the general idea rambokid: I really have to try it out to see how well it works in practice rambokid: especially with the input events rambokid: i'm not sure how well that will work out alex: yeah. i just had a slight recollection that owen had comments on why simply drawing to pixmaps wouldn't work. but that might just be the missing window type you implemented. in any case, he would have mentioned it if you talked to him at all, so all fine ;) rambokid: simply swapping widget->window with a pixmap doesn't work. My stuff works in most cases, but obviously not with e.g. OpenGL, Xv, GtkPlug/Socket yeah. rambokid: for better or worse, a number of themes have g_return_if_fail (GDK_IS_WINDOW (drawable).. ); in them jrb: right, that was part of it. jrb: even if it wasn't soo, subwindows won't work yup alex: you haven't given any thoughts to how this fits into a canvas in a bigger picture, right? jrb: What do you mean. Its pretty obvious how it would be used to implement a canvas item that embedds any Gtk widget hierarchy jrb: i guess if GdkOffscreenWindow is merged into HEAD, this could be used by any canvas/snapshooter to display ordinary widgets. processing input events is another story of course... ;) a naive question: Can you do that with a pixmap renderer in Cairo (using GTK+cairo) ? david_b_02: do what? alex: I mean, from the widgets point of view. It's one thing to just transform the bits when they're done, but surely you'd get better results if the widget did that itself.. david_b_02: yep, you can access the rendered pixmap contents as a pixbuf. it'd just be hell slow over a remote line. jrb: in practice i don't think rotated widgets are important enough to matter. Correct stacking order is more important. rendering widgets using cairo but with a cairo pixmap renderer ? It would give the same kind of results than your own method ? jrb: things just get strange. With things like non-axis-aligned GdkWindows etc david_b_02: what do you mean by "cairo pixmap renderer". All cairo rendering in gtk+ is typically done on a pixmap david_b_02: (the paint stack for the window) david_b_02: The widgets in my example are rendered with cairo, since this is gtk 2.8 alex: yeah alex: ok, I understand. I didn't know that point. david_b_02: the problematic part is child X windows not the rendering why ? because if you just stick a pixmap in widget->window then you're not able to add child windows to widget->window ok (and how else would you render a widget to a pixmap?) mclasen: meeting closed? rambokid: i think he already left ok, i guess that's a yes then ;) Meeting ended 17:00 EDT