Attachment '20100907.txt'

Download

   1 < mclasen> first topic ?
   2 < desrt_> i can go first...
   3  * desrt_ adds an agenda item first :)
   4 < mclasen> I think you are first anyway
   5 < desrt_> okay
   6 < desrt_> so some of you already know that i talked with the release team recently
   7 < desrt_> and we've been freed from our obligation to backport GtkApplication to 2.22.0
   8 < desrt_> that, mixed with the current mess i've stirred up with GApplication suggests that maybe we should take this chance to delay
   9 < desrt_> specifically, i'm proposing that we ship 2.26.0 glib without GApplication
  10 < desrt_> to mitigate some of the ill effects of this choice we would do the following:
  11 < desrt_>  - branch glib-2-26 soon
  12 < desrt_>  - release 2.27.0 off of master (including GApplication as it stands)
  13 < desrt_>  - strip GApplication off the 2-26 branch and release 2.26.0 from there
  14 < desrt_> my main reason for wanting the delay is because, although i feel that i could easily rush the new GApplication code into glib, there would likely be problems caused by the lack of proper review
  15 < ebassi> do we have feedback from the shell developers?
  16 < desrt_> walters, ?
  17 < desrt_> walters, on the list you seemed to be somewhat against this...
  18 < walters> well, what's the schedule for the next glib?
  19 < desrt_> december
  20 < mclasen> end of year
  21 < desrt_> it will fall with gtk 3.0
  22 < walters> no after this one
  23 < walters> 2.28 i guess
  24 < desrt_> yes.  that's the one in december.
  25 < walters> ah
  26 < mclasen> yes, 2.26 in a few weeks, 2.28 end of year
  27 < walters> okay
  28 < desrt_> the reason for the rush is because gnome 2.32.0 needs GSettings and GDBus
  29 < desrt_> so we must release glib 2.26.0 now
  30 < walters> well in general - i am unhappy with not shipping GApplication just because you can't implement $EDITOR with it yet
  31 < desrt_> walter; actually, the $EDITOR part is working fine already.  it's the actions part that needs a bit more work.
  32 < desrt_> and most importantly, non-rushed review
  33 < walters> well, i can't say i can totally context switch to GApplication right now myself, so if it has to wait for December, it'll have to wait i guess
  34 < desrt_> we will have some annoyed application developers from this choice
  35 < mclasen> I think we had them all speak up on ddl
  36 < desrt_> bastien, in particular, has made some mumbling on the list that although he understands the situation, he's not exactly happy about it
  37 < walters> well, we mgiht investigate how difficult it'd be to have app authors do copy&paste
  38 < walters> for at least uniqueness
  39 < desrt_> right -- so we have to decide what the "official party line" is in terms of what to do now
  40 < desrt_> i was thinking "go back to libunique"
  41 < desrt_> but some gdbus-based copy/paste stuff might be nice too
  42 < desrt_> in the end i guess each person will decide their own path
  43 < ebassi> libunique at least uses gdbus
  44 < desrt_> ah.  nice indeed.
  45 < ebassi> thanks to chpe 
  46 < desrt_> :)
  47 < desrt_> so are we more or less settled on this topic?
  48 < ebassi> need to do a proper release with gtk2 + gdbus
  49 < ebassi> desrt_: as I said to you the other day, I can reserve time to review/implement missing bits -- but I generally agree that more time would be nice
  50 < mclasen> I think we will have to release 2.26 with an apology for the sudden disappearance of promised new api
  51 < desrt_> ebassi, will you be around to talk after the meeting?
  52 < ebassi> desrt_: yes
  53 < desrt_> excellent
  54 < mclasen> but in the end, it is probably better to pull it now and bring it back properly in 3 months
  55 < desrt_> mclasen, i can manage the 2.26 release and take all the flak, since it's my fault...
  56 < mclasen> nah, that's not required
  57 < desrt_> okay.  next topic
  58 < mclasen> we should probably do at least one 2.25 release after the stripping
  59 < mclasen> so, aim for branching 2.26 off later this week ?
  60 < desrt_> mclasen, i think that doesn't work
  61 < mclasen> no ?
  62 < desrt_> unless we want to do 2.25.x releases off the 2.26 branch
  63 < mclasen> right, that was my thought
  64 < desrt_> eh.  i guess that's fine, actually
  65 < desrt_> okay
  66 < desrt_> before release we need some GDBus stuff done, though
  67 < desrt_> davidz has promised a GDBusMessage.lock() API and a final revisit of the filter stuff
  68 < mclasen> and just to finish that topic off, are there any remaining 2.26 api issues,apart from that ?
  69 < desrt_> i think chpe proposed an API that he liked
  70 < desrt_> and i was OK with, too
  71 < desrt_> he said he'd find time later this week
  72 < ebassi> g_object_class_install_properties() doesn't have an accepted-commit_now state but was reviewed
  73 < desrt_> oh.  i liked what i read there.
  74 < desrt_> i ran the tests.  they worked... *shrug*
  75 < desrt_> mclasen, ACK for push?
  76 < ebassi> with that in, I can finally finish my "modern gobject programming" document :-)
  77 < mclasen> fine with me
  78 < desrt_> ebassi, you will find that you have your status :p
  79 < mclasen> ebassi: volume zero of the gnome platform programming series ?
  80 < ebassi> mclasen: heh -- or, at least, a replacement for the gobject tutorial in the API reference
  81 < mclasen> maybe rename that to gobject obscurial
  82 < mclasen> anyway, next topic 
  83 < desrt_> https://bugzilla.gnome.org/show_bug.cgi?id=50076
  84 < desrt_> i think some changes will also be required here pre-2.26.0
  85 < ebassi> desrt_: I've read your comment -- need to finish off my reply
  86 < desrt_> okay.  we can also deal with that personally after the meeting, i think?
  87 < ebassi> sure
  88 < desrt_> okay.  that one was fast. :)
  89 < desrt_> Company, ping
  90 < desrt_> Company, update?
  91 < Company> 4-1 Germany
  92  * desrt_ watches the coin land
  93 < desrt_> how's gtk? :)
  94 < Company> ECONTEXT
  95 < desrt_> gtk3 cleanups status?
  96 < Company> rendering cleanup was blocking on cairo 1.10
  97 < Company> or better: review was
  98 < Company> and i've been silently chugging along replacing expose events with draw functions
  99 < desrt_> did you come to a decision about the signal prototype?
 100 < Company> i used (GtkWidget *, cairo_t *, int, int)
 101 < desrt_> cool
 102 < desrt_> have you broken into any container classes yet?
 103 < hp> what are the ints?
 104 < desrt_> or are you just letting the containers move around expose events still?
 105 < Company> not sure how useful the int, int really is, because there's borders etc
 106 < desrt_> hp; width and height of the widget
 107 < Company> hp: allcation width/height
 108 < mclasen> doesn't the widget know that itself ?
 109 < Company> mclasen: it would have to query and we assumed it'd want to know it anyway
 110 < desrt_> mclasen; yes.  it does, but there are two reasons to avoid using it out of the widget
 111 < desrt_> 1) it's in the allocation (which also contains the x/y that we want the user to completely ignore)
 112 < desrt_> 2) according to Company's experience so far, it tends to result in much more compact code
 113 < hp> it just saves typing, width vs. widget->allocation.width ? 
 114 < desrt_> more or less
 115 < desrt_> but it also makes the idea of accessing 'allocation' as something that you should not do
 116 < Company> hp: that and it avoids having to think about allocations
 117 < hp> but you could assert (width == widget->allocation.width) or no?
 118 < desrt_> it's dirty.  don't touch it.  (no.  really.)
 119 < Company> hp: yes
 120 < mclasen> Company: but wasn't there some idea to normalize to a unit square, or something ?
 121 < Company> mclasen: the context is positioned at the widget's top left corner
 122 < hp> you still kinda have to think about allocation, for example if you have a PangoLayout youd' probably set its width in size_allocate and then in draw you'd have to assume it was still set up properly
 123 < hp> i.e. you don't want people thinking their size_allocate should be replicated inside draw()
 124 < desrt_> hp; dealing with changes in respect to size allocate is a bit different...
 125 < desrt_> since you're being handed an allocation directly in that case
 126 < desrt_> but even then, probably you should just chain up to let the widget worry about setting that allocation onto itself
 127 < hp> what I'm saying is, draw() only works if width == allocation.width. draw() having a width arg seems to imply there's some kind of new information there, but there can't be.
 128 < Company> hp: the vfunc has a width
 129 < Company> hp: the gtk_widget_draw() API does't
 130 < hp> company, sure
 131 < desrt_> Company, actually that's a bit of a good point.  it's odd to see virtual function wrappers that have different arguments than the virtual functions themselves
 132 < desrt_> it's difficult to describe this idea to language bindings, for example
 133 < hp> well, fwiw, I think it's weird. for me it'd raise all kinds of questions about "is this new information I need to handle? what if the width is not allocation.width?" and then I go round with the docs and it's "these are just here to save typing 'int width = widget->allocation.width' 
 134 < hp> which is surprising, to me
 135 < hp> .02
 136 < Company> yeah
 137 < Company> it'd be more useful if it was interesting values
 138 < Company> like after subtracting padding etc
 139 < Company> i thought it'd be useful, but it turned out it wasn't as much while porting code
 140 < desrt_> hp, thanks for the concerns
 141 < Company> but then, the worst part of the porting is the mess that is border_width etc
 142 < desrt_> Company, any more totally crazy ideas pending?
 143 < hp> Company oh I fixed that one
 144  * Company asked on bug 628828 now
 145 < hp> I'll async'ly answer on there
 146 < Company> i think that's about rendering cleanup - i suppose we'll have some discussions on the lists and then more exciting stuff in the next meeting
 147 < mclasen> Company: so, the rendering-cleanup branch is ready for reviewing the pixmap removal, yeah ?
 148 < Company> mclasen: yeah
 149 < mclasen> ok, I'll try to get to it this week
 150 < mclasen> of course, everybody else should chime in as well
 151 < kris> i should try to build and run it on mac
 152 < Company> people know that everything i do is correct anyway, so they don't review my stuff as much as i'd like...
 153 < kris> and hope it won't need a few day-long debugging sessions this time :)
 154 < Company> kris: os x is probably non-compiling again
 155 < Company> as is win32
 156 < mclasen> should we move into the next topic, then ? or are there more things to discuss about rendering-cleanup ?
 157 < Company> none from me
 158 < desrt_> re: the wiki page: is there anything on the cleanup list we should still discuss or should it be cleared out?
 159 < mclasen> where does your draw-function-introduction work live ? the same branch ?
 160 < ebassi> right, then: Padding cleanup
 161 < desrt_> we have a lot of items there for some time now
 162 < mclasen> desrt_: which cleanup list are you referring to ?
 163 < Company> mclasen: haven't pushed it yet
 164 < Company> mclasen: shoould i?
 165 < mclasen> might be more convenient to keep the branch at the pixmap removal level for the review ?
 166 < Company> mclasen: yeah, that was my idea
 167 < desrt_> mclasen, we have the bullet points on the meeting agenda page
 168 < mclasen> oh, that list
 169 < desrt_> the subitems under "possible GTK3 cleanup tasks"
 170 < mclasen> I've just thrown that in there as a source of inspiration
 171 < mclasen> we can remove it, I don' think discussing it now does much good
 172 < desrt_> k
 173 < Company> mclasen: reminds me: i had expected a reply from you about http://mail.gnome.org/archives/gtk-devel-list/2010-September/msg00069.html
 174 < mclasen> we should rather discuss the cleanups that are actually happening, like havocs padding work
 175 < mclasen> Company: I must have overlooked that
 176 < walters> Company: i'd suggest the rule is simply: if it's not something we want to maintain for another 10 years, remove it now
 177 < mclasen> lets reduce that to 4 years, I think
 178 < hp> well, also, "replace it so there's something to port to, then remove it" :-P
 179 < hp> except GtkRuler, screw that thing ... 
 180 < ebassi> hehe
 181 < Company> ensonic's gonna fix that!
 182 < Company> next topic?
 183 < mclasen> padding cleanup ?
 184 < ebassi> yep
 185 < mclasen> havoc has put forward 3 things: alignment/padding in gtkwidget, magic expand, legacy-free grid container
 186 < ebassi> 1) and 3) are +1 for me
 187 < ebassi> the magic expand is nice, but I'm wary of magic
 188 < mclasen> of course, 3) is vapourware atm
 189 < hp> yes, I don't know about 3), depends on the timeline for 3.0, not sure how it works yet, etc. it was just an idea. it can always be added later.
 190 < hp> ebassi it's not really magic (it's not heuristic guesses or anything). it's just saving typing.
 191 < hp> ebassi incidentally I'm likely to come after clutter with all the same changes sooner or later :-P
 192 < ebassi> hp: what happens to the bubbling up to the parent if there's a container that doesn't understand expan in the middle?
 193 < hp> ebassi what do you mean by doesn't understand expand?
 194 < ebassi> hp: I mean, what happens if a GtkContainer does not allow expanding its children?
 195 < ebassi> does the chain stop there?
 196 < ebassi> I guess
 197 < hp> then they won't expand, yep
 198 < hp> you can also manually stop the bubble by setting expand=FALSE manually
 199 < ebassi> right
 200 < mclasen> I wonder if we need a non-magic expand flag in addition ?
 201 < hp> what container doesn't expand children though?
 202 < hp> there is a manual flag and an automatic flag
 203 < mclasen> I man for making some children expand in the container without marking them as 'the content area'
 204 < hp> the manual flag always "wins"
 205 < hp> mclasen oh you mean be able to expand without affecting window resize?
 206 < Company> mclasen: if you want children to expand, you set their expand poperty
 207 < hp> if you want to have expansion in a sub-tree of a window, but don't want window itself to resize, then you just set expand=false on the tree node where you want expand to stop propagating up.
 208 < Company> hp: so expand=FALSE in a container basically overrides all expand=TRUE in children, right
 209 < Company> ?
 210 < hp> Company yeah every widget has a manual override, and if that is unset, it goes by children
 211 < Company> right
 212 < Company> i think it makes a lot of sense
 213 < Company> the only thing to get right is properly chaining this up
 214 < hp> it'd be sort of interesting maybe to see how often real apps have expand=TRUE that doesn't go all the way up to Window. I would bet in most such cases it's more or less a bug, but maybe not all.
 215 < Company> scrolled window
 216 < desrt_> are we basically talking about deprecating GtkMisc and GtkAlignment?
 217 < Company> though that one should expand by dfault
 218 < Company> desrt_: yes
 219 < desrt_> (and border_width on GtkContainer)
 220 < hp> desrt well that's the padding patch, separate from this expand stuff. but yes.
 221 < Company> GtkMisc has expand, too
 222 < desrt_> seems very webby :)
 223 < hp> Company, GtkAlignment has xscale/yscale
 224 < hp> yeah I guess expand replaces that
 225 < Company> desrt_: yeah, the only replacement for webby things that we don't have yet is a replacement for the "display" css property
 226 < desrt_> is that the inline vs. block one?
 227 < hp> so the backward incompatibility on the expand patch, I guess, is that if you had a GtkBox with an expandable item in it, and did not set expand all the way up the tree, now that would be automatically done for you. This could break a few apps, possibly.
 228 < Company> desrt_: yeah
 229 < desrt_> heh.  fun. :)
 230 < hp> you want inline vs. block or block vs. hidden ? 
 231 < desrt_> i have to say that the new way of looking at expand is probably closer to what user's expect
 232 < desrt_> *users
 233 < desrt_> we get really a lot of people coming into #gtk+ wondering why stuff isn't expanding
 234 < desrt_> and we have to explain to them that they have to set the expand property on the box
 235 < desrt_> not the child
 236 < hp> I don't know about you but I've spent plenty of time reading through a maze of box code going "which one of these TRUE/FALSE/0 things is f'd up"... 
 237 < hp> plus if you want to change whether a child expands you have to change more than one bool, which is lame.
 238 < desrt_> 'fill' is extremely dubious in terms of usefulness
 239 < Company> the only thing about expand is that it can have 3 values: true, false, inherit - hose are always hard to write api for
 240 < mclasen> we have a pretty setup with foo and foo-set
 241 < desrt_> inherit is that it expands only if it has a child that wants to expand?
 242 < Company> mclasen: i hate that, too - GtkCellRendererText is kinda sucky code
 243 < Company> desrt_: yeah
 244 < desrt_> so there is a bit of weirdness here
 245 < desrt_> consider this case (everything is same orientation here... let's say horizontal)
 246 < Company> could we replace the expand/no-expand with a dedicated widget?
 247 < desrt_> we have a toplevel box with 2 items inside a window
 248 < desrt_> the left item is a box with 2 items.. one expandable and one not
 249 < Company> or are properties more useful?
 250 < desrt_> the right item is a box with 2 items... both expandable
 251 < desrt_> we resize the window to make it bigger
 252 < desrt_> how is the space proportioned among the 3 expandable terminal widgets?
 253 < hp> depends on how the two widgets are packed, they are also in a box?
 254 < hp> is the box homogeneous?
 255 < desrt_> not homogeneous
 256 < Company> desrt_: according to their size request usually
 257 < desrt_> and yes.  a box.
 258 < hp> it just uses the algorithm of the box they're in
 259 < hp> iirc GtkBox just equally divides extra space among expand widgets?
 260 < Company> linearly i think
 261 < desrt_> what i'm getting at is this: it sort of seems like the expandable item on the left will get twice as much 'extra' space as the two on the right
 262 < Company> so a widget with twice the size request ets twice the extra space
 263 < mitch> as expected i'd say
 264 < hp> desrt right, so if you don't want that, don't use two layers of nested boxes ;-)
 265 < Company> desrt_: yes
 266 < Company> what hp says :)
 267 < desrt_> ya.  that's reasonable i guess.
 268 < desrt_> i half asked that question just to clarify my own understanding :)
 269 < desrt_> so what happens to the packing properties?
 270  * Company would be happy if gtk got rid of child properties completely
 271 < hp> packing properties still work but they are redundant basically. the API of box sort of ends up mostly vanishing.
 272 < hp> Company well child props are useful for things that are genuinely container-specific like, start or end of box, or table attach points. it's just that padding, expand, align are really applicable in any container. 
 273 < desrt_> hp; are you proposing breaking API of pack_start(), for example?
 274 < Company> hrm true
 275 < Company> we do have useful child properties
 276 < hp> desrt_, no, we'd just leave it there. that's why I suggested a GtkGrid because I think fixing Box is too incompatible.
 277 < hp> I mean, Box works fine still
 278 < desrt_> hmm
 279 < hp> but it just isn't logical anymore
 280 < hp> like you'd ask "why is there this expand here and that expand there that do the same thing?" and the answer would be "historical"
 281 < mclasen> I think we'd leave GtkBox untouched, similar to GtkH/VBox, and just put a legacy-free container in at some point
 282 < desrt_> out of all of the weird insane changes that we've done this cycle, this would far and away really be the biggest of all
 283 < mclasen> so we can kick the boxes out in gtk4
 284 < desrt_> it's really changing the flavour of gtk
 285 < desrt_> in an extremely user-visible way (where user = app developer)
 286 < desrt_> not saying that's bad, of course
 287 < mclasen> how do you mean ? all the old apis are still there...
 288 < desrt_> right.  but we will expect people not to use them
 289 < hp> it's true. it is a dramatically cleaner model, imo, easier for people to learn and more useful. but having the cleaner model AND the old model for a long time, will be gross.
 290 < desrt_> hp, i agree about easier to learn
 291 < desrt_> as i mentioned, our current expand/fill child-property thing is just damn confusing for most people
 292 < Company> GtkBox will be like GtkCTree - we just have it to scare people
 293 < desrt_> hp, will you make it to the hackfest?
 294 < hp> yes. expand,fill encodes what should be "expand=boolean, align=start/end/center/fill" (logically) into "expand=boolean; fill=boolean; add an Alignment to do start/end/center or do anything perpendicular to box axis"
 295 < hp> desrt_, is it the one in october?
 296 < desrt_> yes.  18-22.
 297 < desrt_> it seems like we could have a very useful discussion around this topic
 298 < hp> I can give it a shot. depends on what is happening then
 299 < desrt_> okay
 300 < hp> fwiw, my confidence levels are. I'm 99% sure that start/end/center/fill should be an enum and not a flag plus a float. this worked great in HippoCanvas and in the box widget litl shell (and I think for a while gnome-shell) were using with clutter.
 301 < hp> I think adjust_size_request adjust_size_allocation could break a few things subtly, basically widgets that were relying on having the border inside their allocation, or being allocated at 0,0.
 302 < desrt_> hp; i think i disagree with you
 303 < desrt_> hp; but i could probably be convinced that you're right
 304 < hp> I have never had real code using the automatic expand-propagation, but it seems logical.
 305 < desrt_> i have a hard time remembering using a x/yscale that wasn't 0.0 or 1.0
 306 < desrt_> or a x/yalign that wasn't 0.0 0.5 or 1.0
 307 < Company> y
 308 < hp> if you _really_ need the float x/y scale then a custom container like Alignment is still a good solution
 309 < Company> desrt_: you can still write a GtkAlignment
 310 < hp> but I don't think it's a reason to muck up GtkWidget and the primary API
 311  * Company agrees with hp
 312 < Company> someone could grep jhbuild for an alignment with odd scales
 313 < hp> the larger problem with flag+float isn't so much whether you need 0.67, but that you can set nonsensical combinations. "I set 0.0, it isn't working" type stuff
 314 < desrt_> i'd actually advocate leaving GtkAlignment
 315 < desrt_> for those 'weird cases'
 316 < hp> desrt_, removing GtkAlignment is presumably a 4.0 task, if ever
 317 < desrt_> cool.
 318 < desrt_> would be sad if we had to tell someone "the only way to do this is by writing your own container implementation" for something as mundane as off-centre alignment
 319 < hp> GtkAlignment is also useful for the odd case where you just need to stick in a widget that doesn't draw anything, as a spacer or placeholder or whatever
 320 < desrt_> hp, thanks for the intro.  i had no idea about this stuff before.
 321  * mclasen thinks that baseline alignment is probably more interesting that odd flloating point values for xalign
 322 < desrt_> mclasen, are we adding 'point size' as a GtkWidget property now?
 323 < mclasen> so, to finish up the padding cleanup, do we have agreement to land the padding / align part ?
 324 < desrt_> i think we can wrap up early?
 325 < desrt_> ah...
 326  * desrt_ didn't think it would be so soon :)
 327 < ebassi> padding/align sounds good to me
 328 < desrt_> i'd prefer to hold off a little bit
 329 < hp> oh and renaming padding to margin
 330 < desrt_> but i don't really have a stake here
 331 < mclasen> sure, we don't have to rush it
 332 < mclasen> and renaming to margin sounds good to me too
 333 < hp> desrt_, are you going to look at it more closely and send some thoughts?
 334 < desrt_> yes
 335 < mclasen> should we land this on a branch for now, for easier inspection ?
 336 < Company> branches are useful
 337 < Company> i prefer reviews in cgit to reviews anywhere else
 338 < desrt_> ya.  reading a git log is easier than flitting between a patch series
 339 < hp> I currently have padding and expanding on two separate branches, but if it's easier I could push just one
 340 < hp> depends on if people want to eval these together or separate
 341 < desrt_> i think we agree that padding would come first, right?
 342 < hp> they aren't really very interdependent
 343 < mclasen> yeah
 344 < desrt_> so push padding
 345 < desrt_> then rebase expanding onto the padding branch
 346 < desrt_> and push it
 347 < hp> desrt_, so one branch with both features 
 348 < desrt_> one branch with one feature
 349 < desrt_> other branch as a fast-forward of the first branch, but with expansion added as well
 350 < hp> oh I see, sure
 351 < desrt_> jjardon, hello :)
 352 < ebassi> I guess the next point, "Deprecate/remove GtkRequisition" also fits in with geometry/layout changes
 353 < hp> what are the random-feature-branch naming conventions?
 354 < ebassi> but tristan is not here :-/
 355 < desrt_> hp; i don't know that there is one
 356 < jjardon> desrt_: hi!, hello all
 357 < mclasen> hp: random names for random features
 358 < hp> ok, I can follow that guideline
 359 < desrt_> hp, but be aware of the other guideline: awesome names for awesome features
 360 < hp> oh, did you talk about breaking gdk-pixbuf to use cairo already in a prior meeting?
 361 < jjardon> ebassi: tristan made a patch in for the Deprecate/remove GtkRequisition bug: https://bugzilla.gnome.org/show_bug.cgi?id=626939#c3
 362 < desrt_> oh.  we have lockbutton up today too.  /me missed that.
 363 < mclasen> hp: no, we haven't talked about that yet
 364 < mclasen> yeah, lockbutton
 365 < Company> damn
 366 < Company> i wanted to write a mail about my ideas wrt breaking GdkPixbuf
 367 < mclasen> its just a very small widget that I've ported from polkit-gtk
 368 < mclasen> it just turns a GPermission into a button, basically
 369 < desrt_> mclasen, my biggest concern here is guidelines about how it is meant to be used?
 370 < mclasen> my main motivation for wanting it in gtk is that we can kill another microlib
 371 < mclasen> ie polkitgtk
 372 < ebassi> that would be a good reason already
 373 < desrt_> where does it go in a dialog?  above the action area?  in the left-side of the action area?  what if there is also a help button?
 374 < mclasen> and it is a step towards real simple preference dialogs
 375 < ebassi> for the guidelines, I guess it falls under the HIG
 376 < jjardon> That fix is needed to move the widget->requisition to a private structure
 377 < mclasen> desrt_: right, I'll have to flesh out the docs for that, I guess
 378 < ebassi> mclasen: feedback from the UX team would be good
 379 < mclasen> those are good points, could you perhaps comment in the bug ?
 380 < desrt_> mclasen, or maybe ask one of our design-minded people...
 381 < mclasen> ok, I'll do that
 382 < desrt_> i'll comment
 383 < mclasen> I'm fairly sure they will approve, though
 384 < mclasen> since they are all os x fanboys
 385 < mclasen> One thing I already did in preparation for the lockbutton
 386 < mclasen> is to make buttonboxes semi-homogeneous instead of strictly homogeneous
 387 < desrt_> did you land that?
 388 < mclasen> yes
 389 < desrt_> breaking at 1.5?
 390 < mclasen> pretty sure I did
 391 < mclasen> yeah
 392 < desrt_> with or without hinting API?
 393 < mclasen> think it needs to be tweakable ?
 394 < mclasen> no hinting for now
 395 < desrt_> not unless someone asks :)
 396 < desrt_> and again, not unless someone asks
 397 < desrt_> (imho)
 398 < desrt_> sounds quite right
 399 < mclasen> ok
 400 < mclasen> did we have more scheduled topics ?
 401 < ebassi> case sensitive search in TextBuffer
 402 < pbor> there was also case insensitive search on the agenda...
 403 < ebassi> http://bugzilla.gnome.org/show_bug.cgi?id=61852
 404 < ebassi> honestly, I see no blocking issue there
 405 < ebassi> if there's a patch
 406 < desrt_> ah hah!
 407 < pbor> yeah, nacho is not around, but basically his mail sums it up: http://mail.gnome.org/archives/gtk-devel-list/2010-July/msg00020.html
 408 < desrt_> i have a recommendation :)
 409 < mclasen> ugh, I had promised to review that
 410 < desrt_> you know there's this kind of searching that ancient grep used to support (-y option i think)
 411 < desrt_> lowercase letters were considered insensitive
 412 < desrt_> but uppercase had to exact-match
 413 < mitch> use case?
 414 < pbor> we are willing to do the cut&paste work if there is consensus
 415 < desrt_> so you could search for "foo" and find "foo" "Foo" or "FOO" but would only hit "FOO"
 416 < pbor> and by we, I mean nacho :)
 417 < Company> desrt_: to quote hp in that bug: "Implementing search yourself shouldn't be too difficult. There's nothing magic about how it's done in gtktextiter.c."
 418 < Company> desrt_: so go for it! :)
 419 < desrt_> Company, i have no interest
 420 < desrt_> Company, just sharing an idea i recently read about :)
 421 < Company> hehe
 422 < mclasen> pbor: I think I had a vague feeling that the implementation is not really ideal
 423 < mclasen> case-folding a line at a time
 424 < mclasen> but, since we have no streaming regex api, I guess it is maybe the best we can do for now
 425 < pbor> mclasen: yes, the implementation is not ideal, but as said in the mail, no one stepped up to do a better implementation in the last 10 years
 426 < pbor> and all projects that use textview cut and paste that code
 427 < mclasen> yeah, I guess that is the winning argument here
 428 < ebassi> I fully expect somebody complaining once it gets into TextBuffer
 429 < mclasen> so, lets tentatively accept it
 430 < mclasen> and wait for gmorten to show up and shred it....
 431 < ebassi> "I have this faster implementation written on a napkin"
 432 < pbor> ebassi: that's when the usual "patches welcome" comes up :)
 433 < ebassi> heh
 434 < Company> "napkins welcome"
 435 < mclasen> pbor: is there a bug somewhere where I need to say 'go ahead' ?
 436 < pbor> mclasen: either bug http://bugzilla.gnome.org/show_bug.cgi?id=61852 or reply to nacho's mail I linked
 437 < mclasen> ok, I'll reply
 438 < pbor> thanks
 439 < mclasen> time to wrap up ? or should we touch on gdk-pixbuf <> cairo before closing ?
 440 < hp> If people want to follow up later that's fine w/ me. the main issues in my mind are 1) is a cairo dependency OK/good 2) how strict to be on back compat, either a) "always keep pixels from construct time" or b) "never keep them" or c) "keep them sometimes trying to be clever"
 441 < hp> current pixbuf is a), my original patch is b), and I provided a layered-on patch which is c)
 442 < hp> so, worth looking at that topic, perhaps.
 443 < hp> at your leisure
 444 < Company> hp: I'd love if we could skip this whole mess until cairo supports gdk-pixbuf's formats
 445 < mclasen> my main question is: do we have to hurry getting this in for gtk3, or is this something we can do safely later ?
 446 < Company> hp: because at that point it becomes very trivial
 447 < hp> Company, yes, this does not make sense if that's the intent. but I thought the reason to support the cairo formats is more the GPU, than cairo.
 448 < Company> hp: the consensus has been to support lots of formats in the future last i talked about that
 449 < Company> hp: though we should ask ssp to be sure
 450 < hp> mclasen, I think it's only completely safe in case 1), perhaps.
 451 < hp> Company but even if cairo supports pixbuf format, pixbuf format is still slow right?
 452 < Company> hp: but considering gdk-pixbuf's format is identical to the HTML5 <canvas> format...
 453 < hp> the actual point of the change is to load from pixdata, png, etc. directly into GPU format, in some sense
 454 < Company> hp: yes, maybe
 455 < hp> really, ha ;-)
 456 < mclasen> one wonders how that happened
 457 < hp> I meant case a)
 458 < hp> losing track
 459 < Company> hp: that whole topic of performance warrants a separate discussion
 460 < hp> another option for the immediate term is to just add public surface-from-pixbuf and pixbuf-to-surface converters
 461 < Company> hp: in general you want to conversion when uploading - and as long as we upload on every draw anyway, there's not much of an issue
 462 < mclasen> Company: so we'll wait for cairo 1.12 ?
 463 < Company> mclasen: i think that's best (assuming cairo 1.12 happens in a more timely fashion)
 464 < ebassi> in 2020?
 465 < ebassi> :-p
 466 < Company> i generally think that we should tackle gdk-pixbuf after gtk 3
 467 < Company> because there's nothing we can gain from doing it now
 468 < mclasen> yeah, no api impact
 469 < hp> Company, well, approach b) or c) are somewhat dicey enough that doing it for 3 is a little cleaner, imo
 470 < Company> and i'm certainly busy with gtk 3.0
 471 < hp> I would propose at least adding convert functions (publicizing the code in gdkcairo.c) for 3.0 
 472 < hp> that's just a trivial annoying problem that's easy to fix
 473 < mclasen> will that go into gdk-pixbuf and add a cairo dep there ?
 474 < Company> hp: i think my rendering cleanup branch has gdk_pixbuf_get_from_surface()
 475 < hp> mclasen I guess, or back to my original patch for this, which let you have pixbufs in other formats sans cairo, or else the function just returns a uchar*  ... 
 476 < walters> guint8 * please
 477  * desrt_ ducks out early
 478 < mclasen> I guess we'll decide that next time
 479 < Company> i think gdk-pixbuf should have a cairo dep
 480 < hp> yeah no rush to decide this week
 481 < Company> doesn't make lots of sense without :)
 482  * mclasen needs to attend to some homework issues here
 483 < Company> unless we decide to throw the whole GdkPixbuf API away
 484 < Company> i.e. do something like gdk-pixbuf 3.0
 485 < mclasen> the one thing we want to keep are loaders 
 486 < mclasen> and maybe animations
 487 < mclasen> and maybe the serialization
 488 < Company> i'll write my mail about my ideal pixbuf lib
 489 < hp> that's what I was saying in the email thread, the real question is what to do about Loader and Animation, not what to do about pixbuf vs. surface
 490 < hp> yes, and serialization/pixdata
 491 < mclasen> we clearly don't need compositing and scaling and filling
 492 < hp> moving Loader and Animation to cairo would make sense except that any API used outside of the draw() method added to cairo suffers from non-GObject suck
 493 < Company> i don't think adding these things to cairo is a good idea
 494 < Company> it might make sense to get rid of gobject for loaders
 495 < Company> but only if we share the loaders with mozilla
 496 < Company> and i don't see that happen quite yet
 497 < mclasen> we could also just use ImageMagick 
 498 < mclasen> :-)
 499 < Company> but i'd love to have non-sucky image loaders for gifs ;)
 500 < hp> there's always Imlib, guys
 501 < ebassi> heh, was about to suggest that
 502 < krh> hah
 503  * krh was waiting for somebody to mention imlib
 504 < ebassi> so, I guess that this was the last topic
 505 < ebassi> if somebody has other points, we can add them to the agenda for the next meeting -- which should be on the 21st
 506 < ebassi> right, I'll take silence as compliance :-)
 507 < ebassi> thanks everyone for attending, and see you in two weeks
 508 < pbor> 'night
 509 < ebassi> will send the minutes to the list, and the log to the wiki, as usual

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2021-02-25 09:59:10, 13.2 KB) [[attachment:20080108.txt]]
  • [get | view] (2021-02-25 09:59:10, 14.9 KB) [[attachment:20080212.txt]]
  • [get | view] (2021-02-25 09:59:10, 8.5 KB) [[attachment:20080513.txt]]
  • [get | view] (2021-02-25 09:59:10, 22.1 KB) [[attachment:20080603.txt]]
  • [get | view] (2021-02-25 09:59:10, 8.9 KB) [[attachment:20080617.txt]]
  • [get | view] (2021-02-25 09:59:10, 19.7 KB) [[attachment:20080701.txt]]
  • [get | view] (2021-02-25 09:59:10, 17.5 KB) [[attachment:20080722.txt]]
  • [get | view] (2021-02-25 09:59:10, 24.1 KB) [[attachment:20080812.txt]]
  • [get | view] (2021-02-25 09:59:10, 8.0 KB) [[attachment:20080826.txt]]
  • [get | view] (2021-02-25 09:59:10, 10.6 KB) [[attachment:20080923.txt]]
  • [get | view] (2021-02-25 09:59:10, 9.0 KB) [[attachment:20081007.txt]]
  • [get | view] (2021-02-25 09:59:10, 11.4 KB) [[attachment:20081111.txt]]
  • [get | view] (2021-02-25 09:59:10, 18.3 KB) [[attachment:20081125.txt]]
  • [get | view] (2021-02-25 09:59:10, 9.0 KB) [[attachment:20081216.txt]]
  • [get | view] (2021-02-25 09:59:10, 3.8 KB) [[attachment:20090217.txt]]
  • [get | view] (2021-02-25 09:59:10, 24.9 KB) [[attachment:20091006.txt]]
  • [get | view] (2021-02-25 09:59:10, 34.8 KB) [[attachment:20091020.txt]]
  • [get | view] (2021-02-25 09:59:10, 25.5 KB) [[attachment:20091027.txt]]
  • [get | view] (2021-02-25 09:59:10, 17.1 KB) [[attachment:20091110.txt]]
  • [get | view] (2021-02-25 09:59:10, 25.6 KB) [[attachment:20091124.txt]]
  • [get | view] (2021-02-25 09:59:10, 37.6 KB) [[attachment:20100323.txt]]
  • [get | view] (2021-02-25 09:59:10, 26.8 KB) [[attachment:20100504.txt]]
  • [get | view] (2021-02-25 09:59:10, 23.0 KB) [[attachment:20100511.txt]]
  • [get | view] (2021-02-25 09:59:10, 13.2 KB) [[attachment:20100525.txt]]
  • [get | view] (2021-02-25 09:59:10, 29.9 KB) [[attachment:20100608.txt]]
  • [get | view] (2021-02-25 09:59:10, 24.6 KB) [[attachment:20100622.txt]]
  • [get | view] (2021-02-25 09:59:10, 22.8 KB) [[attachment:20100706.txt]]
  • [get | view] (2021-02-25 09:59:10, 35.0 KB) [[attachment:20100817.txt]]
  • [get | view] (2021-02-25 09:59:10, 32.4 KB) [[attachment:20100907.txt]]
  • [get | view] (2021-02-25 09:59:10, 20.6 KB) [[attachment:20100921.txt]]
  • [get | view] (2021-02-25 09:59:10, 26.9 KB) [[attachment:20101012.txt]]
  • [get | view] (2021-02-25 09:59:10, 40.6 KB) [[attachment:20101214.txt]]
  • [get | view] (2021-02-25 09:59:10, 17.8 KB) [[attachment:20110308.txt]]
  • [get | view] (2021-02-25 09:59:10, 23.6 KB) [[attachment:20110510.txt]]
 All files | Selected Files: delete move to page copy to page

You are not allowed to attach a file to this page.