Older blog entries for kristian (starting at number 24)

Long time no update blah blah blah. Had fun holidays; made exams; etc. I have nothing more interesting to tell except that I am going to take a break from GNOME for an undecided amount of time.

11 Oct 2003 (updated 11 Oct 2003 at 15:34 UTC) »

Still busy with university and jobs blah blah blah.

Did manage to get all my new objects/widgets in GTK+ HEAD and write API doc comments for them. Which I am happy about. I also got some good feedback from mpesenti, who is the first victim to try to use GtkComboBoxEntry and GtkEntryCompletion. He also had a lot of good feedback when I was trying to design the entry combo/completion part of the combo box/option menu replacement, which I really appreciate. I think we made the completion stuff rock.

Since all my new stuff is in, I hope to get back to TreeView. I have too many plans for TreeView for 2.4. I need to make a good list first and punt a lot.

One of the reasons why GtkComboBox is cooler than GtkOptionMenu :) :

!  1 files changed, 4 insertions(+), 14 deletions(-)
Index: textview.c
===================================================================
RCS file: /cvs/gnome/gtk+/demos/gtk-demo/textview.c,v
retrieving revision 1.18
diff -u -p -r1.18 textview.c
--- textview.c  5 Aug 2003 19:16:01 -0000       1.18
+++ textview.c  10 Oct 2003 17:15:50 -0000
@@ -399,21 +399,11 @@ attach_widgets (GtkTextView *text_view)
         }
       else if (i == 1)
         {
-          GtkWidget *menu_item;
-          GtkWidget *menu;
+          widget = gtk_combo_box_new_text ();
 
-          menu = gtk_menu_new ();
-          
-          widget = gtk_option_menu_new ();
-
-          menu_item = gtk_menu_item_new_with_label ("Option 1");
-          gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
-          menu_item = gtk_menu_item_new_with_label ("Option 2");
-          gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
-          menu_item = gtk_menu_item_new_with_label ("Option 3");
-          gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
-
-          gtk_option_menu_set_menu (GTK_OPTION_MENU (widget), menu);
+          gtk_combo_box_append_text (GTK_COMBO_BOX (widget), "Option 1");
+          gtk_combo_box_append_text (GTK_COMBO_BOX (widget), "Option 2");
+          gtk_combo_box_append_text (GTK_COMBO_BOX (widget), "Option 3");

[edit: I forgot some google-fu for Jonathan Blandford.]

Time to update this thing again. I've been busy (jobs and university) so forgot to update this. But I didn't have much to tell anyway.

Anyway, I managed to fix a good bunch of TreeView bugs for GTK+ 2.2.3. Almost all TreeView bugs which were possible to fix in a stable release got fixed ;). The Leftovers are for GTK+ 2.4.x. But of course I managed to screw up a tiny thing, so I ended up rolling a GTK+ 2.2.4. I even fixed a menu scrolling problem when I was bored.

So right now I spend most of my free time working on GTK+ 2.4.x. This week I committed my table menu patch and my patch which fixes up DnD in TreeView. Single row DnD finally works right (for example TreeStore reordering was broken and you couldn't drop rows on empty views ...). I guess I should also try implementing multi-row DnD for 2.4. When I have time that is.

Now the table menu patch is in I should work on getting the combo box ready to land. I also wrote the fixed height optimization patch for TreeView, which seems to help a lot. That will probably land this weekend or otherwise somewhere next week. All other new bits in GTK+ 2.4.x are shaping up too. Which is pretty exciting.

Though I hope I will have enough time to hack on GTK+ 2.4. Two sysadmin jobs next to university require a good amount of time ...

aes: The problem you are describing is not a gtk+ bug :). What happens is that GtkButton puts a (button-spanning) input-only window over the button. If you put buttons inside a button, they will never receive events, because all of those are being catched by the button-spanning input-only window of the "parent button".
14 Jul 2003 (updated 14 Jul 2003 at 21:49 UTC) »

More GTK+ hacking. Wrote more GtkTreeView patches. It looks like they are going to get reviewed today. Then I will land all of it and GtkTreeView will be okay for 2.2 (a bit late, but oh well). I guess I need to get Owen to let me do a release :)

Also landed GtkTreeModelFilter, GtkCellLayout and GtkEntryCompletion in gtk+ HEAD last Friday. The new combobox will follow this week. After that I will work on new features for GtkTreeView.

Projects for the holiday: write gcachegrind, finish the treeview document I was working on, hack on treeview features. Hrm. I hope I can fill 3 weeks with that. Maybe need to come up with some more.

Oh, and I'm still updating my LiveJournal. Never expected I would sort of keep it up to date :).

I should have studied today. But I didn't. So I will do it tomorrow.

If there's time left tomorrow, I will probably start working on my "GtkTreeView architectural reference". Not sure how it is going to look like. It will probably help people in understanding GtkTreeView. However, I do know that it is not going to look like a tutorial, but more like a guide describing the design.

Today was really boring... And I didn't feel like fixing bugs.

I don't know how anymore, but somehow I discovered #commits on FreeNode (I was prolly hinted at GIMPnet). #commits is such a cool idea. I nicked it, and set up a #commits on GIMPnet. Some GNOME hackers and users seem to like the new service, which is good. Kudos to the people who set up #commits at FreeNode.

Then my new GNOME About dialog ended up in GNOME cvs HEAD. Because people seemed to like it. I find it really cool that it got in.

After that I finally took some time to install kcachegrind. What a wonderful tool. I finally understood how to use all those lists and numbers to actually make stuff faster. Kcachegrind visualizes the information very good, especially the source code view totally rocks. I guess I need to write a GUI like this for GTK+ now. Might do it when I am on holiday, because I won't have a real netconn. People suggested me to write it in Python, so I will have to read my book on python first.

Work on my new gtk+ 2.4 features steadily continues. The API for the new ComboBox is about to be finalized. The end result will look really clean (thanks to a bunch of input from Owen and Havoc), it took a long time to get to that, but I'm sort of proud of it actually :). The last days I've been working on the completion mechanism for GtkEntry. That API will also be nice and clean (thanks to input from Owen). I wouldn't have been able to come up which such nice and clean APIs myself. After some GtkTreeModelFilter (another of my 2.4 features :) optimizations, the completion code is fast enough to be really usable.

Somewhere this week, I should put up a list of planned GtkTreeView features for gtk+ 2.4 on the gtk+ 2.4 planning site.

It looks like I will land a not insignificant amount of code in gtk+ 2.4. Something what I find pretty cool and exciting. I finally start to feel useful.

I have been a bit busy partying. But it all settled now (only for a short while hopefully, the more parties the better P:).

Hacking-wise, I spent some time hacking on the new combo box. It's shaping up. Am about to tackle the last difficult bit, which is auto-completion for GtkEntry. Not really sure still which way to take, but I am just going to try sending a proposal and see what people think.

Also did a small hack over the weekend, a new gnome-about dialog. jdub inspired me to do it and came up with the idea to make it look like the new GNOME website. Showed it to some people and most seem to like it. I need to do a bit of work to make the animations a bit smoother, but that's all just finetuning. Oh, and because of it I made to the GNOME Summary. Which is cool I guess.

Talked enough for today.

Small hacking update. I have been hacking a bit on some random things, while I should have been hacking gtk+ 2.4 features :). Also I had terrible productivity problems the last months. It seems they have cleared up a bit, for now... Other than that I have decided to use Advogato for all "hacking" updates (which is not a lot :) and LiveJournal for the personal stuff from now on.

Sent off another ComboBox API proposal yesterday. I am pretty happy with it and Owen seems to like it too. So I guess I am finally getting close (:. I think I am going to spend tomorrow hacking on the actual code, which requires a lot of refactoring. But that's ok.

I am busy reducing my usage of the comma. Looks like it's getting better.

Okay, long time no post. Well, FOSDEM was incredibly cool, but it went by as one short flash. So I forgot everything, which sort of sucks. I am looking forward to GUADEC (now if I could move this one exam ...).

Also, I didn't even mention here that I finally got a laptop (I got it before FOSDEM even). It became an iBook, for the excellent battery life, and other reasons. I surely am not disappointed, it's a great machine (now only if sleep would work correctly on linux :).

Anyway, I have been busy with university, and hacking wise with some gtk+ blurbs, might post more on that later on. From now on I will post hacking updates here, and the boring personal stuff here, for those interested.

15 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!