A few words to end this

This has gone on quite long enough.

Last Friday I wrote a post that was as painful to write for me as it was hurtful to others.

Unfortunately I felt, and still feel that shining some light on our issues was neccessary to protect open discussion and general inclusiveness in our community. I truly hope that stirring the waters here has led us to some long needed introspection about how things are done around here.

I have just now closed comments on the post, a few days of discussion on this is quite enough. You’ll just have to take my word that I have not doctored any of the comments and did not discriminate against any commentors, regardless of whether or not I liked what they had to say.

The reason for this follow up, and the reason for it being a separate post, is that I have to stress how painful it was for me to level accusations against some really nice people, and if my words are in any way harmful to their overall reputation, then this by itself needs to be rectified at least so much as is possible from my side.

Firstly, for anyone who does not know Paolo Borelli, he does not have a hurtful bone in his body, really he is among the nicest people in GNOME I have met. The undertones surrounding this situation are complex, there is a lot of pressure in the community to avoid any conflicts and it’s sad to see people get pulled into this.

Paolo is actually the one who, you could say “mentored” me over ten years ago now, he helped me a lot to understand how things work with IRC and the politics around being a maintainer in GNOME, I hope this serves to clarify how painful it was for me to bring his name into this.

Secondly, I’ve been exchanging emails with Alberto over the weekend, he is also a really nice guy who I would not have expected to take a stance. However something that I failed to recognize in all of this is that Alberto, being the maintainer of Planet GNOME, was under extreme pressure by various people to remove Philip from Planet GNOME at the end of May, of course, he had to take a position in a lose-lose battle and was already caught in the cross fire.

I do not envy Alberto’s position in all of this at all, and while we may disagree on some matters, he does not deserve to be painted in the light that I painted him in.

Paolo, Alberto and Emmanuele, you deserve, and have my deepest apologies for having dragged your names into this.

That said, the fact that there was so much pressure in the community to take a public stance against any and all forms of criticism regarding OPW and the direction of GNOME and our priorities, is a problem and I’m glad we got it out in the open to discuss it.

My blog will not be a venue for further discussion on this matter for the moment, I’ve contributed enough hours to this and we are going into a beta testing phase in one month and really need to focus on the work we are doing.

 

I’m looking at you

Hi,

I write to you all today on a solemn matter, one which I fear will be forgotten and ignored if nobody starts some discussion on this.

Earlier this week, some of you may have noticed that for a very short time there was a rather angry post by Philip Van Hoof, he sounded quite frustrated and disturbed and the title of his post basically said to please remove him from the Planet GNOME feeds.

Unfortunately this blog post was even deleted from his own blog, so there is nothing to refer to here, also it was gone so fast that I have a hunch many Planet GNOME readers did not get a chance to see what was going on.

What I want to highlight in this post is not this frustrated angry post by Philip, but rather the precursor which seems to have led us to this sad turn of events.

Let’s make things better

In late May this summer, Philip submitted the post “Let’s make things better“. This post is also deleted from his own blog, I’m not sure for what reasons, I’m keeping the link alive here incase Philip feels inspired enough to at reactivate that post (it would help for people to see this in perspective, as people who have not read that entry may suspect it contained rudeness or bad language or sweeping accusations or something, which simple was not the case at all).

Yes, a lot of you readers know about that post, many of you would probably prefer I don’t bring it up, but the problem is that many people just don’t know what happened. Also the result of him deleting his post is that people don’t get any chance to verify these false claims of indecency which were aimed towards him for writing a very sensible post.

What I can say, is that the post did not use any distasteful language, he was not rude and did not single anyone out or blame anyone, he just said some really sensible things which happened to annoy a certain few members of our community.

I think the critical part which made people react irrationally to his prose, ran something like:

Maybe if we spent a little less time on outreach, and a little bit more on development…

And went on from there, he was basically arguing that our efforts on sustaining programs such as OPW are not a part of our mission, and that maybe our attention would be better spent writing excellent software (I’ll be happy if the post re-appears so people can read it in it’s integrity, as I don’t have a copy anymore).

I think, given the turn of events, this recent post by Philip requesting to be removed was a final attempt to try to do something good for a community that just keeps telling him that his views are wrong, dirty, and need to be censored, i.e. he got a lot of flak from the community at large for absolutely no good reason at all – if anyone needs to be ashamed, it’s us, as a community, for failing him.

I’m looking at you

It’s generally bad form to name people in public, however the wider GNOME community needs to know what is really going on in this case and they will not have the evidence to judge for themselves without references. That said these are only a couple of excerpts from the circus of public shaming which followed Philip’s perfectly reasonable blog post.

 

Paolo Borelli makes a response to someone who quoted Philip’s blog in a positive light on a public mailing list, and he goes out of his way to mention his public opposition to Philip speaking his mind:

However you also started off by citing Philip’s blog post and honestly I found that post wrong and disturbing

Taken in context of the mail thread, it looks as though the original poster is to be considered lucky to be taken seriously in any measure, just for referring to the said blog post which puts a little scrutany on our GNOME identity as an outreach foundation.

Paolo, really ? I would never have expected this behavior, do you really feel it’s necessary to call Philip’s call to reevaluate our position on these matter as “wrong and disturbing” ?

We have a long history you and I, I thought I knew you better than that.

 

Alberto Ruiz takes it a step further, again taking a public stance against Philip:

“I’ve been asked to remove your blog by several people and I’ve reached the conclusion that it would be a really bad idea because
it would set the wrong precedence and it would shift the discussion to the wrong topic (censorship yadda yadda). Questioning OPW should be allowed.

The problem with your post is that if not questioned by other people (as many have done already) it would send the wrong message to the public and prospect GSoC, OPW and general contributors. Your blog was the wrong place to question and your wording makes it clear that you have misunderstandings about how the community works.”

Alberto, I’m disappointed in you. There is no censorship on Planet GNOME, you know that, I know that, and asides from one silly “upskirt” incident in the history of Planet GNOME, this has never caused any issues.

Moreover, it is simply not your call, or anyone’s call to make, to decide that a long time member of our community’s politely and consicely formed opinion be censored from Planet GNOME just because it disagrees with what some of the other members think.

It is not your call to say that people should not be questioning things on Planet GNOME, especially since that is EXACTLY where it will be heard. Have you considered that he takes this issue very seriously and has decided, as is his right, to raise the matter for open public discussion ? Public discussion on the direction of GNOME is what we do in GNOME, we are the foundation and contributors and public discussion needs to happen about critical matters in order for us, the public, to make good decisions about the future of GNOME.

 

Finally, Emmanuele Bassi, I know his recent post was pretty “out there”, anyone would expect him to be frustrated after the treatment this community has given him, the public shaming and insolence this community has shown him by taking such an opposed stance against his expressing himself would be enough to drive anyone nuts.

Don’t you think, though, that his post was a last-effort attempt to be heard and be a positive influence for change in GNOME ?

Do you really think this immediate response to a frustrated blog post was the correct way to diffuse the situation ?

Really, we should do better to protect our own, Philip obviously had a rough time in the last couple months, his blog post was not an excuse to quickly sweep him under the rug, but a challenge to call people to action and actually openly discuss change.

If we don’t have people like Philip who are at least willing to fight for our ability to openly discuss things, then I fear the worst for this community in the long run.

Moral of the story guys… Please get a grip, I’m really not impressed with how people have responded to Philip this summer, it could have equally been any of you, and if you had something important to share, I would be equally disappointed if the community had so aggressively shouted you down.

And no, I was never a proponent of the CoC effort, but please guys at least try to remember the first rule: Assume that others mean well.

All the best.

 

Amendment

Today someone pointed out that since the original post at the end of may is missing, noone can form an opinion of their own. I did not have access to it at the time but another commentor was kind enough to paste a copy:

Matthew gets that developers need good equipment.
 
Glade, Scaffolding (DevStudio), Scintilla & GtkSourceView, Devhelp, gnome-build and Anjuta also got it earlier.
 
I think with GNOME’s focus on this and a bit less on woman outreach programs; this year we could make a difference.
 
Luckily our code is that good that it can be reused for what is relevant today.
 
It’s all about what we focus on.
 
Can we please now go back at making software?
 
ps. I’ve been diving in Croatia. Trogir. It was fantastic. I have some new reserves in my mental system.
 
ps. Although we’re very different I have a lot of respect for your point of view, Matthew.

Not back from GUADEC yet …

Good after noon gnomies ;-)

While many of you are already back home and settled in after GUADEC this year, I’m still scrambling around from hostel to hostel and city to city (or rather from town to town ?) in Europe.

So a few words about GUADEC are owed, as usual it was great to meet face to face with more people I usually only work with on IRC or communicate with by email, I met a few new faces this year (specifically Matthew Barnes and Milan Chra from the Evolution team) which was really nice.

Day One

On the first day of GUADEC I arrived at the hotel, August 1st, really looking forward to the first night where we all get together and have some beer and meet each other before the conference starts. Since I arrived early in the afternoon on the 1st, and nobody was around, I got to relax a bit and wait for the others to arrive (I’m thinking, YAY I guess I’m the first to arrive ;-) )… since I’m only speaking on Day 2 of the conference I should have plenty of time to dust off my presentation and prepare myself…

This fantasy of mine quickly disintegrated shortly after, when I realized that GUADEC had started without me, one entire day earlier than I had booked my flight & room for the dorms.

Happily, I ran into the Collabora Kids (Montreal Chapter) on the street while trying to use some wifi at the local grocery store (as wifi was not available at the dorms), and then was lead down to a bar where most of the GUADEC people could be found (Thanks for finding me !).

The Rest

So the rest of GUADEC went as expected, there were talks, I gave my talk about the new composite templates feature in GTK+, and on how this will help us to guide developers of GTK+ applications to create cleaner, more modular and more deterministic code using composite widgets. It was also my goal to point out how this has been sorely needed over the years which GTK+/Glade/libglade/GtkBuilder has evolved. My criticism towards myself is that I think I talk a bit slow, but hopefully I managed at least to get all my points across to the audience.

There was a meeting with the Evolution hackers, where I got to meet Matthew, Milan, Srini and others, Alberto chaired the meeting and this was definitely a very involved and productive meeting. We also took a picture of the Evolution team at the end which Alberto posted in his blog. Unfortunately we did not line up against the wall and appear to be monkeys which evolved into human beings and and then devolved into computer users with back problems… but the picture was still a great souvenir ;-)

There was of course plenty of face-to-face conversations, and plenty of late night beerings, Federico informed me of the tradition of SMASH (Single Malt Appreciation Society… Something beginning with ‘H’), I’m not sure if the H really stands for something or if you are supposed to be too drunk to care by the time you get to ‘H’, but we proudly kept up the tradition with a bottle I purchased in one of the airports on the way to Brno.

We even wrote code !

I know I know, we write code all year round, sitting in various parts of the globe, hanging out on IRC, so the last thing you would expect to do at GUADEC is write code, right ?

But near the end we did have a bit of a live hacking session on Glade with Juan Pablo, Kalev, Miguel and I (Kalev wrote the new support for GtkListBox which we reviewed, touched up, and pushed upstream, Miguel is new to writing code in C/GObject and we guided him with fixing an annoying bug in the signal editor).

All in all this was a pretty productive GUADEC and I’m very thankful to the GNOME foundation for sponsoring my trip to get here, thank you !

sponsored-badge-shadow

Meritocracy

I’m posting this here, while I would have replied to Taryn Fox’s blog but couldn’t do it without subscribing to something….

(I’m throwing away all of the text I wrote yesterday and starting over, I’ll instead try to write something shorter).

First and foremost, please remember that GNOME projects are indeed mostly volunteer driven, except for a few projects in GNOME which may be dominated at times by developers all working at a given company (and in those corner cases, the meritocracy approach may not apply as strictly).

In most cases, the maintainer is the only one that actually cares about the given project enough to weather the storm. Example, if I had not been so determined to make something out of Glade for a number of years in my spare time… believe me that the project would have died, in the same way that if Juan Pablo did not take care of Glade these last couple years, nobody else would have taken charge for the long term. I know this because I see the flood of contributors who come and go, the ones who stay the course and show dedication are few and far between. It’s only fair that we afford a special level of trust to those who work hard and stay the course.

Yes there are things that can be improved, hopefully we can all take criticism and try not to hurt people’s feelings etc etc, but please consider the cruel alternatives to meritocracy.

The alternative to meritocracy as I see it are those “Pay to get in Boys Clubs”, what I mean by “Boys Club” is you know… those people who’s daddy was rich or knew the right people, and so were able to go to the most reputable universities and have all the opportunities that others did not. Now let me stress that not all members of these clubs have an arrogant sense of self entitlement, however sadly some of them do in my experience, also most corporate human resource departments are unconditionally biased to hire only people who hold some kind of university degree (or even, those who hold a degree from a first world country).

Meritocracy helps us to level the playing field, it gives a chance to those of us who grew up in a cardboard box or in a third world country, to prove that they can indeed make just as worthy contributions as those of us who attended one of these rich kid clubs/universities and also get the same recognition, provided they at least did their homework (whether the walls of that home were made of brick, wood, or only cardboard).

This is something worth fighting for, worth protecting.

Glade @ GUADEC

Hi everyone,

Long time no blog. I’ve been meaning to blog and build hype around this but as I’ve been busy with so many things it just hasnt come out.

Well the first thing so say is, please be interested to click this link and visit Juan Pablo’s blog. He is speaking first thing on the first day of GUADEC on the topic of embedding GtkBuilder script natively into GtkContainer derived widgets. Some may remember some of my ancient blog posts on the same topic, I never found time to complete the patches in the composite-containers branch but Juan Pablo has picked up the work with a fury and is going to explain in more details in his talk.

In a last minute decision, as the dates are right, I also decided to drop in too. With all the work Juan has already done, a little consensus and participation hopefully we can finally pull off this great feature.

See you there ;-)

 

A long overdue blog

I haven’t had the time to blog about the things I wanted to this summer, unfortunately I’m a couple days behind in the project I’m working on now so I’ll have to try to make this brief.

First ever GNOME summit

This took place in Montreal several weeks ago, it’s definitely a late blog post for this but I really wanted express my gratitude.

I did not take any pictures, however I did force some time into my schedule to push out a release of Glade (you could easily say that the latest stable releases of Glade were brought to you in a large part by the GNOME summit).

All in all I just wanted to voice my appreciation for getting the opportunity to shake hands with some of the people I’ve admired over the years, after arguing countless topics with many of the same people on  gtk-devel-list and desktop-devel-list over the last decade, it’s really amazing to get to meet some of these people in real life.

I do wish I had blogged this earlier, and I sincerely apologize for not having been a better host (as Montreal is my home town), it was hard enough to push the summit (and Glade release) into my schedule at all (was more of a great pleasant surprise that the summit actually came to me).

A summer of evolution-data-server

This summer at Openismus we’ve been making some enhancements to the Evolution Data Server as a part of Intel’s effort on the Meego platform.

I haven’t been blogging about this work, generally because I did not feel like there was something to “show off” about, we haven’t invented anything new, however  since yesterday we’ve landed the final patch so I’ll just give a rundown of which patches I was tasked to work on.

Bug 652178: Store PHOTO data as plain files

This is probably the most complex of the patch set, Evolution Data Server’s addressbook api allows storing of image data either as binary encoded blobs or simply as a URI. This patch basically enforces a policy where the local backend of EDS converts any incoming binary data into URIs on disk managed by the addressbook backend.

Bug 652175 and Bug 652177:

These patches add a backend property to the calendar and addressbook, the value of the property is guaranteed to remain the same so long as no data has changed for that backend, whenever data changes in the backend then the overall revision is bumped (this allows tools like SyncEvolution to abort when no data has changed without iterating over the whole database).

Bug 652171 and Bug 652180:

These patches implement an api which already existed but had remained unimplemented. The api allows one to filter the reported results of a calendar or addressbook view to only report some of the desired information (this way if you only want contact names and UIDs for instance, you dont have to transfer full vCards from the EDS just to get them).

All of these patches have landed in Evolution Data Server and should be available in the next (3.4) release.

Here and Now

Only a few days ago I landed back in Seoul, South Korea where I expect to be spending the greater part of the coming year, right now I’m in a guest house and hacking in the basement, it’s a nice quaint little atmosphere that makes you feel like you’re doing some kind of crazy science experiments in grandma’s basement again.

For the next few months I’ll be devoting much of my time to a fun (commercial software) project which is to write the new up and coming Karaoke Application for TouchTunes.

While I can’t directly devote any of the company time to GNOME, I can always find a good excuse to enhance the code at the correct level in the stack instead of working around the problem in an application. It’s always good to prove that it pays off to give back to the community which provides your platform libraries.

 

Well, it’s been great and I hope there are not too many typos … now back to not having enough time to do all the things I must ;-)

Beware of google’s pressure tactics

It seems for the moment I will be unreachable by my gmail account, today google sent me a rude surprise:

The screen google presented to me today harassing me for private information

Of course I could have suspected something like this was going to happen, I started receiving some similar warning splash screens from google this week in the disguise of “Protect your account, give us some alternative contact information”, they gave the “option” to provide a mobile phone number or alternative email account (of course I have an alternative anonymous hotmail account they can use to reactivate my account, the account at hotmail is still valid but I suppose for them its not enough).

Well I guess push has finally come to shove and their user interface provides me no alternative to reactivating my account other than to provide them with some mobile cell phone number.

This is crossing the line; obviously if my account had been hijacked the hijacker could just as well provide any cell phone number to have continued access to my account – the motive behind this harassment is plain to me and the way they are going about it is just plain sneaky.

No, google has no right to know who is the human being behind the persona that is “tristan.van.berkom@gmail.com”, they can speculate whatever they want while going through the contents of my account which I expect they are already sharing with a number of criminal organizations and governments…  however I am not yet desperate enough to sign my own death warrant by volunteering them any further personal information than what traffic passes through my account.

If you value your anonymity on the internet… I think it’s about time to salvage your gmail content before they take it hostage from you too !

UPDATE:

@foobar:

Learn more about your support options link

Ofcourse I wrote them something via the “contact support” link, I’m waiting for a reply now we’ll see.

I may however find someone I trust to obtain an anonymous phone number for this purpose but that seems a little overboard.

Late back to work post

Hello again GNOME !

I’ve been back for a few weeks now from taking a month vacation in Mexico with my girlfriend; heres a courtesy picture of us standing on top of the world… or at least on top of a pyramid :)

At Teotihuacan pyramids near Mexico City

… and the great news is that I’m continuing my employment with Openismus GmbH indefinitely, working specifically on GTK+ and GNOME.

So let’s recap on what’s been going on in GTK+ height-for-width resizing land since my last post.

Out of the patches that were available on the GTK+ native-layout branch, we landed the work on GtkExpander allowing the expander labels to wrap but still havent finished the work on wrapping text inside treeviews.

Similar to the GtkExpander implementation, we added support for wrapping/ellipsizing text in GtkFrame label widgets (to see this all in action you can try the ./tests/testheightforwidth demo from GTK+ git master at any time, I wont include shots for the GtkFrame here as it works pretty much exactly as the expander does).

So instead of running full till into another revision on the GtkTreeView height-for-width patches I took a different approach and moved right along to implement naturally sizing GtkComboBox (which we landed in GTK+ git master last week).

Some might wonder what is the relation between combo boxes and treeviews. The key point here is that they both end up using GtkCellRenderers to render content; the combo box by way of the GtkCellView widget. Since the cell renderer modifications for height-for-width GTK+ was a huge patch; implementing GtkComboBox first was a good excuse to pull that work in first and hopefully simplify the work that needs to still be done for treeviews.

So without further adieu here are some shots of how the combo box is performing in height-for-width land:

combo boxes demo at the initial size

So far not too much to observe, the above combo box renders the liststore with a wrapping cell renderer, the combo box below renders the same liststore but uses ellipsizing cell renderers instead.

For the wrapping renderer, you need only specify the “wrap-width” which will be used as a minimum width request, if no “max-width-chars” was set on the cell renderer then the renderer will request the fully unwrapped text width as a natural width.

For ellipsizing renderers, you just specify the ellipsize mode and again the renderer will try to request the full text width as a natural size.

Combo boxes demo with the left pane streached wide

In this (above) shot we see the text unwrap fully when the combo is allocated sufficient space to display the underlying cell renders (and similarly the lower combo box need not ellipsize at this size).

Combo box demo with the left pane at minimum width

And finally, at their smallest possible size the cell renderer text wraps up to the minimum width which was specified by the user/programmer via the GtkCellRendererText:wrap-width property.

Well once I got that far I thought it would be enough… until I clicked on a streached out combo box and found that the menu items were still requesting the height for the minimum cell width instead of the height for the menu’s allocated width (imagine a menu with random looking menuitem heights and text that doesnt quite fit the vertical allocation).

So we went on to implementing the natural size allocation in GtkMenu and the coresponding requests in GtkMenuShell:

The drop down menu at a larger than minimum width

Note in this screenshot some menu items wrap while some dont wrap, however they are all allocated the correct height.

Here the combo box drops down its menu at the minimum width

Here at the minimum width all of the items are wrapping and they still get allocated a correct height.

And with combo boxes doing height-for-width requests.. finally we were able to close this nasty bug.

Enjoy ! … and stay tuned for another episode of wrapping/ellipsizing text in treeview widgets :)

Glade could use a little help

While the Glade project can seem complex and not everybody writes GObject code in C; there are a few things that could really improve the usability of Glade without applying any real coding skill.

For instance, ever since GtkBuilder was introduced, we are still missing icons for almost all the important and attractive new objects available with GtkBuilder:

The missing icons include things like Size Group, Status Icon, Text Buffer, Text Tag, Entry Buffer, some of the newer Cell Renderers etc. Glade uses these icons every chance it gets to help to give context to the user while editing the interface, like in the Property Editor:

They are also a great indication when viewing the overall project with the Inspector view:

Note that most of the missing icons are not widgets and don’t already have a visual representation. The design needs creativity to create visually familiar patterns based on functionalities of new and interesting objects that are available, like a Size Group or a List Store.

We’ve made requests before but I suppose the interest just wasn’t there.

But really, Glade’s engine is not doing so bad, if it only had a good paint job to match then it wouldn’t appear so much like it just came out of the junkyard.

Note also Glade installs the icons into the theme, which means other development tools can also leverage the icon set that Glade installs.

Please help us with the icons ?

Good afternoon ;-)

One week of Glade brought to you by Openismus GmbH

So its Tuesday afternoon prime time on Planet GNOME, here’s an inside look on whats been going on this week for Glade.

Runtime Warnings

Last week we got the GtkToolPalette integrated into Glade and got Glade vertical again, this week I went on a rampage of hunting down startup warnings, warnings caused by loading Glade files and generally any warnings/assertions that can be fired while manipulating projects in Glade.

That effort left us with a couple interesting side effects:

  • Now we introspect if widget classes are scrollable and we don’t allow adding non-scrollable widgets to scrolled windows
  • Now we update treeviews in the workspace seamlessly when the underlying treestore columns are redefined
  • A nasty data corruption bug occurring when loading liststore data that contains gaps (missing unserializable columns) was also fixed.

Once these items were fixed I was pretty much left on my own to fix some issues of my choosing and improve some things in Glade – awesome – so I decided to prioritize on issues that did not need backing support in GTK+, as there has been lots of development there that we haven’t been able to keep up with.

The signal editor

The first issue I decided to tackle was the ‘swapped’ attribute for signal connections defined in Glade – that’s right, until this week Glade was never able to read/write this attribute. To illustrate the importance this has in Glade I want to show you a before shot:

The "before" signal editor

Ok so the editor looks alright at first sight but there are some confusing aspects, for instance the “user data” in the signal can only ever refer to an object in the Glade file – no mention of that is made. Furthermore when one goes through the whole google research to find that the user data is supposed to be an object, they immediately get stumped by GTK+ swapping the object at connection time for seemingly no desired reason – very, very confusing.

Something to keep in mind as well is that signal definitions in Glade have generally been unused. Mostly because of an inability to pass data external to the Glade file as user data to callbacks. Generally people use a parent or controller object as a module pointer to be passed to all callbacks; this technical problem with signals has really been a non-issue ever since the introduction of the gtk_builder_connect_signals() api which takes a default pointer argument to pass to signals for just this purpose.

Well, moving on – after adding the “swapped” attribute to the editor I was quite unable to tear myself away from the editor, it hasn’t seen an update in many years and has been lagging behind the rest of the UI, so without further adieu I present to you:

The "after" signal editor

Now the signal editor is doing a bit better, I didn’t have the time for a full scale rewrite using GtkBuilder for its store, view and renderers as I have been hoping to do for a while but – at least she learned some tricks from her big brother the property editor:

  • Now the signal editor lets you view the documentation for a signal at the click of an icon (Thank you Frédéric Péters for getting DevHelp page contextual searches working again ! sorry for waiting 6 months+ to notice !).
  • The editor does not let you type text for connected objects for user data, instead you get an object selection dialog
  • Now versioning support icons/tooltips show up for signals that are introduced in the future of your project’s target version.
  • Tooltips explaining about the signal editor fields show up on the treeview column headers
  • Signal, Handler and Object fields in the editor are user resizable but allocate a reasonable size.

Actions

So, with a rocking new signal editor in master I still had some hours to kill, I went on to tackle the relationships of GtkActionGroup <–> GtkAction in Glade – I wasn’t able to pull out a customized editor for this yet, but I imagine it will look like the menu or toolbar editor and allow hierarchical configuration of the project’s action groups/actions (currently Glade will only let you add an action to a group via the Inspector widget: Right click -> Add widget here / Paste commands will do the trick).

Glade now also lets you set an accelerator key for a GtkAction, the property only applies to actions which are placed into a group, ideally this will be the ultimate place to define accelerator keys using Glade so that they integrate well with menus and toolbars.

Thank you

A big thankyou to Openismus GmbH who sponsored the project and made all of these unlikely advancements in Glade actually happen.

I’ll be turning my attention away from Glade this week to look at some other serious GNOME issues, keep up with my blog for regular updates on this Openismus sponsored effort.