Go forward in time to February 2004.
GtkFileSystemUnix now supports bookmarks, so the stock file chooser will handle them just fine.
Uncommitted patches to make apps use GtkFileChooser:
Seth also made a nice list of places in applications that need to be updated to use GtkFileChooser.
French class was better yesterday. The teacher actually spoke in French for a good chunk of the class, with more complicated explanations in Spanish. Most of the other students are very quiet and afraid to speak up, though.
Marco Canini caught me on IM and told me about GtkSpell, with which you can do something as cute as
GtkWidget *text_view;
GtkSpell *spell;
GError *error;
text_view = gtk_text_view_new ();
error = NULL;
spell = gtk_spell_new_attach (GTK_TEXT_VIEW (text_view), NULL, &error);
if (!spell) {
fprintf (stderr, "Eeeek: %s\n", error->message);
exit (EXIT_FAILURE);
}
And this will automagically make the text view highlight misspelled words and let you pick correct choices from the context-sensitive menu. Why don't we use this all over the place?
Last weekend my brother and his girlfriend came to visit us. They are quite busy these days arranging paperwork for the social service part of their Medicine studies, which they'll do in two little towns in the state of Morelos. It was fantastic to have them here. My brother and I had a chance to talk about many things, including deconstructing the lives of our parents and the things they have been reluctant to tell us after their bizarre divorce many years ago. We also had some great seafood in Jalcomulco, great Italian food downtown, and a lovely time all the way. Axel and Janice also told us about their adventures in Ensenada, where they were interns in one of the local hospitals. It looks like people from Mexico City like us always find the same "faults" in the way people act in the rest of Mexico; we are impatient about everything, and they think we are crazily high-strung.
Icons work in the stock GtkFileSystemUnix now, so every GtkFileChooser will get them.
Oralia and I started our French lessons yesterday. The class was "Je m'apelle" and numbers. It went a bit slowly for our taste, but hopefully things will improve once we can actually start constructing our own sentences.
Don't let the bugs eat you.
It is chicozapote fruit season (manilkara zapota), and they are soooooo good. They come from the tree from which latex is made. So maybe they are the condom fruit.
Chain of events:
Let's write a checklist of things one needs to do to be a good citizen (or a neurotic) in the GTK+ world.
No one pays attention to GtkWidget::popup_menu.
What stock widgets implement it? grep for "popup_menu"
Hmm, selectable labels display a popup menu with mouse button 3, but they don't handle the popup_menu signal.
WTF, selectable labels are not in the focus chain.
Is there a bug for this?
In the process of searching for the bug, you also find that labels also need scrolling and ellipsization, and the latter is not trivial.
Moral of the story: if you look for bugs, you will find them.
The checklist should be a useful resource, anyway. The popup_menu stuff is my favorite bug about applications not taking full advantage of the GTK+ API. If you have your own favorite bits, why not add them to the checklist?
We need to make the autogenerated API documentation point to the 2.6 platform.
GTK+ 2.3.2 is out!
Miguel Ángel dropped by so that I could give him a hand with his mail notification applet. He needed someone to go over his code and check for the usual C programming errors: forgetting to free things, correct use of static and const, etc. It is no wonder that novice programmers have such a hard time contributing to the core desktop and large applications. For inexperienced people it is really hard to wrap one's brain around a particular program's memory management conventions. You only learn things like the reason for using const char * until you have waded for too long through libraries that don't do this properly, and you never know which strings to free. It will be a lot easier to get contributors when most of the application code is written in real languages.
Last night I made crepes filled with sauteed mushrooms in garlic. Today Oralia used the leftover mushrooms plus some other vegetables to make soup for lunch. This kind of food makes me so happy...
On Saturday we had a LUG meeting. People got quite excited by Mauricio's talk about building an urban wireless network in Xalapa. I gave a little tutorial on Emacs; there are a bunch of budding programmers in the LUG that need hand-holding.
Over the weekend we watched La Fleur du Mal. It's tangled and insipid, and quite a disappointment.
The weather over the weekend was just beautiful. Blue sky, full sun, and ideal warmth. Yesterday we went bicycling around the lakes; it was quite pleasant.
Today it is cloudy, really foggy, drizzly, and cold.
JRB approved my GtkCellRenderer::editing-canceled signal patch, so now the file chooser can have nice behavior for its New Folder button.
Fixed some stupid leaks in GnomeIconList. This code is unbelievably bit-rotten. It started as a variant of the original/simple GtkCList API, and it used plain GDK for drawing. Then it got rewritten to use GnomeCanvas as a drawing backend. Those were still the days of Imlib. It would take a while until it got finally ported to gdk-pixbuf. People have hacked on it very sporadically since then. At some point we should replace it with a model/view widget. Maybe it is even possible to use GtkCellRenderers for it...
I have gained three kilos since four weeks ago. Oralia says I look sexier, but I feel like a fatso.
Not again, please, not again. Please.
I never knew Mark personally, but now that I know what it feels to lose a good friend, I cannot bear to think what it must be like right now for the people that were close to him.
Birds on a boat line:
We went to our beloved ultra-good, ultra-cheap Italian restaurant downtown. The spinach-filled ravioli in parmesan cheese sauce is excellent. We spent the equivalent of 10 U.S. dollars total for a dinner for two, and we were barely able to finish it all.
When the file chooser is set to Save mode, now it shows a "New" button that allows you to create a new folder. This requires a small API addition in GtkCellRendererText. Memory management is a bit broken in my code to handle a temporary dummy node in GtkFileSystemModel, but right now I'm too tired to figure it out.
Yes, I know the "New" button sucks. We need to include a stock icon for "Create folder" and change the button's label.
To end a perfect day, we watched Lucía y el Sexo. What a bad title for such a beautiful movie.
A power transformer blew up a block away from our house and it was fixed within half an hour. That's much faster than things ever were in Mexico City.
We went to a tiny French restaurant for lunch today. House pathe, very good. Fondue, okay. Beef in tarragon sauce, incredibly good. Dessert, rather disappointing. House wine, good. Coffee, good. So far, Xalapa's "national food" restaurants to which we have gone seem to be similar, with one outstanding dish and the rest being reasonably good, but not spectacular. The best so far has been an Italian restaurant downtown, where everything has been delicious and cheap.
Yesterday I killed the standalone version of gdk-pixbuf. It served us well and must be put to rest.
Finally plugged the computer to the stereo. It sounds so nice. Much, much comfortable than wearing my big headphones all the time.
The other day I finally got around to plugging my S80 keyboard to the stereo, as I haven't played the piano since we moved to Xalapa. I started on Piazzola's Sonata No. 1 while in Mexico City, at my mom's house. It is nice to play again; my fingers are totally out of practice.
Now I need to figure out a good way to multiplex the piano and the computer to the stereo. I don't feel like spending money on a little mixer box, but it may end up being the most user-friendly solution.
Dead rat in the sea:
GtkFileChooser as of today. Now it is closer to Tigert's new mock-up.
Someone, please, please, please un-fuck my icons so that this will not look ugly.
Go backward in time to December 2003.
Federico Mena-Quintero <federico@gnome.org> Mon 2004/Jan/05 11:01:25 CST