Diary of a CrazyFrench

Friday 3 July 2009

A real paper cut

AbiWord had a long lasting usability issue: pressing the insert key caused to toggle the overwrite mode on and off. When doing so we provided two different feedback to the user:

  • a display in the status that switch from "INS" to "OVR"
  • the caret (insert point) switch to red.

This lead to different kind of complaints:

  • "When I type, the text to the right is replaced"
  • "Why is the insert point red? What did I do?"

See bug 3641

This reveal two problems. The first one is that the user didn't realise something happened. I hit a random key (ie he didn't realise which one) and something happened. The second the user noticed the caret changed colour, but still didn't know why.

I had a few ideas in mind.

  • Change the feedback, and there are a few options for that: change the caret shape (colour is never enough), change the status bar message, any other kind of notification
  • Do something for the key binding: popup a dialog, use clippy, play a music just make it disabled by default.

How I did implement it:

  • For now I changed the status bar message to be more readable. INS and OVR are just confusing obscure and an anachronism inherited from the AbiWord first step over 11 years ago mostly in trying to clone MS-Word with some of its atrocities. Now it is in plain $LANG (English here, but it is / will be localised, I hope).
  • I added a UI to enable the toggle. We had that option already in place, it was just on by default, not bound to any UI. I'm not a big fan of adding options, but that's just the best way to do it for now.

What can be done in the future?

  • Change the caret shape when in overwrite mode. I didn't want to do it that late in the release cycle has it seems to have been source of problems. Also it need to be well thought too as we also deal with bi-directional writing.

But that was a real paper cut for AbiWord. Not the only one, just one of them, and it was not that hard to fix. For the sake of it, I did it watching the BSG mini-series for the 3rd time.

Thursday 25 June 2009

8 years later

8 years after I filed bug 1349 in AbiWord, I implemented it. Definitely something that should have been done sooner.

It is about JPEG support. AbiWord has been able to import JPEG images for a good while, but it always converted the JPEG to PNG for internal storage. This is IMHO wrong, but at the time it was debated that it was the right tradeoff to allow using AbiWord on embedded platforms (I'm too lazy to dig up the archive). Anyway.

Tuesday I sat down and implemented the JPEG support, removing cruft, and cleaning up the rest. Basically when import and bitmap image, if the format is JPEG, the JPEG stream is kept as is, otherwise we convert to PNG, as usual. It hit SVN last night. The bonus is that a file with a JPEG in it will open properly in AbiWord 2.6 (and likely older), so even the issue I had with compatibility isn't.

This is probably the last real feature implemented for 2.8, and it will be in 2.7.6. Back to bug fixing.

Wednesday 17 June 2009

Gnote 0.5.0

I just uploaded Gnote 0.5.0.

Get it from GNOME FTP

Read up the announcement on the new mailing list for a detailled changelog.

Beside the bug fixes, the new feature is auto import of Tomboy (and eventually Sticky Notes) notes at first run. Also I reduced a bit the dependencies: no more libxml++, no more boost.regex, but pcre instead.

Monday 8 June 2009

AbiWord 2.7.3

Marc released AbiWord 2.7.3 this week-end. I used the release to update the packages from Maemo since I fixed many of the issues that were filed against it. It should appear in the tablet's Application Manager if you have the extras-devel repository.

Note: there won't be any update to 2.6.x, as 2.7.3 should already be much better. Only Maemo 4.x is supported (only tested on 4.1 aka Diablo on a N800).

Update: if you don't have the extras-devel repository, you can install it. Diablo (4.1)

Update 2: and please, DO file bugs.

Saturday 30 May 2009

Saturday May 30th, 2009

Friday

  • Installed the Maemo Diablo SDK (only the FLOSS part). This involved installing Scratchbox, disabling some SELinux, and so on. Also Xephyr crashes. Filed bug in Fedora. And last but not least, I had to reinvent diskspace as both / and /home are more than full. 60GB HDD ought to be enough.
  • Some issues with getting Gnote dependencies for Maemo. Will bother later, even though that's one of the reason I installed the SDK.
  • Built and fixed AbiWord 2.7.x for Maemo. At least I share the tree with the regular desktop build. Got it running, but the built-in input method just eat the "return" key presses therefor making it hard to use AbiWord in the SDK. Will need to investigate that.

Saturday

  • Working on building AbiWord packages for Maemo. Fortunately 2.6.8 almost build out of the box. I struggle more with disk space than anything else. The previous packages pre-2.6 were build with --enable-debug that spew asserts almost all the time (this has gotten better, but released package must not use that option) and is actually much slower.
  • Mental note: after doing a new install, don't forget to tune2fs your / filesystem to set the reserved percentage to 1 instead of 5.
  • Apparently there are several bugs in AbiWord 2.6.x that only manifest on the device.

Wednesday 27 May 2009

Gnote 0.4.0

Just released Gnote 0.4.0.

Dependency changes: now libxml++ 2.26 is REQUIRED, because of nasty bugs in older release. Upstream itself said it was unusable. Also, if you are a packager, be aware that libxml++ 2.26 break the ABI silently. You must understand that before doing any upgrade. See bug 583825.

I already have a branch that just remove this dependency, I'll merge it after this release.

Download it

New features:

  • Handle command line argument --version and --search
  • Backlinks addin.
  • Addin to export to HTML.

Fixes:

  • Hard require on libxml++ 2.26. Should prevent some bugs (Bug #583807, Bug #583808, Bug #579292, Bug #579316) See git
  • Note is now trackable. Should avoid a crash related to signals. (Closes #581618)
  • Remove obsolete UTF-8 keyword in .desktop (Closes #581623) (Robert Millan)
  • Fix build with LDFLAGS="-Wl,--as-needed" (Closes #581559) (Priit Laes)
  • '-' in note title was mistakenly doubled in the menu. (Closes #581643)
  • Fix crash when entering an URL instead of a host name for the bugzilla icon in the bugzilla addin (Closes #581080)
  • Stop calculating the status icon menu position by thyself.
  • Fix UI for InsertTimeStamp addin (Closes #582788) (0.1.1)
  • Fix inconsistency in search dialog selection causing drag and drop and delete to mis-behave. (Closes #579107, Closes #582757)
  • gnote-applet is in libexec. (Closes #581631)
  • Fix markup error in German localization (Closes #582975)
  • Fix error on first run in German (de_DE) (Debian bug #528930)

Translations:

  • Added translations: - Bengali India (bn_IN) - Hungarian (hu)
  • Updated translations: - Arabic (ar) - German (de) - Japanese (ja) - Spanish (es)
  • Added Greek manual.
  • Added Spanish manual.

Saturday 16 May 2009

libpanelappletmm 2.26.0

libpanelappletmm 2.26.0 has been pushed out of the door.

The main reason for that was the removal of libgnome* causing 2.22 to not build as is with GNOME 2.26.

It is available on the GNOME FTP

Friday 15 May 2009

libopenraw 0.0.8

Another quick release: libopenraw 0.0.8, because I found a crasher when updating gegl RAW support.

Changes

  • includes missing for gcc 4.4
  • Fix crash in or_get_file_extensions()

Get it !

Wednesday 6 May 2009

sometime

Sometime the shit hit the fan. Good thing I have the EEE PC. The bad thing is that I might be slow replying to email as I dont have a mail client here, nor do I have my ssh key.

Update: wow this post has the number 666.

Tuesday 5 May 2009

Gnote 0.3.1 - "Five-One-Four"

Since tomorrow I'll be in Montreal for LGM, today will be release day for Gnote 0.3.1 "Five-One-Four". Next week should be back to the regular schedule. This is a bugfix release, and it is available on GNOME FTP as usual.

The changes are:

Fixes:

  • Missing header in src/addins/inserttimestamp/inserttimestampnoteaddin.cpp
  • Don't crash when deleting a note (Closes #579839)
  • Plugged various memory leaks.
  • Cleared up a few Gtkmm warnings.
  • Applet was trying to use an icon named "tomboy" (Closes #581226) (Robert Millan)
  • .desktop file didn't have the version (Jonathon Jongsma)
  • .desktop has improper XFCE category and should have OnlyShowIn entry for GNOME and XFCE (Closes #580481)
  • Help didn't work in the Note windows. (Closes #581200)
  • Notebook addin toolbar button was inconsistent. (Closes #581213)
  • Delete notebook now works in the search dialog. (Closes #581222)
  • Popup menus in the search dialog now appear.
  • Output options at the end of configure and fail if D-Bus is enabled.

Translations:

  • Added translations: - Japanese (ja)
  • Updated translations: - Arabic (ar) - Catalan (ca) - French (fr) - Spanish (es)
  • Fix format causing crashes. (Closes #580868)
  • Fix a typo in the gconf schema description (Closes #581239)
  • Fix small translatable strings (Closes #579197)

Friday 1 May 2009

I'm a switcher

I bit the bullet and installed Fedora 11-BETA on my only machine, to replace openSUSE 11.1. Let's see how it goes. I don't think there will be any big issue.

I need to figure out the package building though.

Wednesday 29 April 2009

Gnote 0.3.0

Wednesday is release day for Gnote. Version 0.3.0 is now available on GNOME FTP.

Here is the changelog:

New features:

  • Applet support (Closes #578979).
  • Print addon.
  • Insert Time Stamp addon.
  • Bugzilla addon.
  • Implement addin preferences.

Fixes:

  • Should now build if Gtk+ 2.16 is present but not Gtkmm 2.16.
  • Should build with Gtk+ 2.12 and Gtkmm 2.12 (Closes #580250) (Robert Millan)
  • Fix a typo in gnote.1 (Closes #580211) (Robert Millan)
  • Desktop file reflect XFCE and bugzilla component. (Closes #580481) (Ritesh Khadgaray)
  • Missing accelerators in link context menu (Closes #580443) (Mário Machado)
  • Reference bugzilla component in server file (Closes #579198)

Translations:

  • Short descriptions in shema must not end with a '.' (Closes #579337)
  • Added translations: - British English (en_GB) - Czech (cs) - Portugese (pt) - Spanish (es) - Thai (th)
  • Updated translations: - Arabic (ar) - German (de)

Tuesday 28 April 2009

libopenraw 0.0.7

Just a quick note to mention that I released libopenraw 0.0.7 to fix a nasty memory leak. I recommend the upgrade.

Wednesday 22 April 2009

Gnote 0.2.0

I just released Gnote 0.2.0. Here is the changelog:

New features

  • Now support addins (Bug #578980): - Fixed Width
  • Show addins in preferences.

Fixes:

  • Can now close the template note opened when the Preferences dialog is open. (Close #579105)
  • Check for Gtk+ 2.14 or later and include gtk/gtk.h in src/utils.cpp (Close #579240)
  • Fix wrongly highlighted URLs and a crash when inserting in some situation. (Close #579225)
  • Fix offsets on WikiWord (similar to bug #579225)
  • Initialize gettext properly (Close #579520)
  • Properly check for libxml2.
  • Drag and drop of notes to a notebook (Close #579637)
  • Fixed hang when changing the title of a note (Close #579362)
  • The open state of notes is now saved properly.

Translations:

  • Update comment to reflect format in strings. (Close #579209)
  • Ensure the spelling of Gnote.
  • Some strings shouldn't be translated. (Close #579197)
  • Date format are non localizable. (Close #579207)
  • Properly use plural forms (Close #579412)
  • Remove markup from translatable strings (Close #579453)
  • Added translations: - Swedish (sv) - Greek (el) - Arabic (ar) - Catalan (ca) - German (de) - French (fr)

Many thanks to the translation teams and the people who provided feedback.

The tarball can be downloaded fronm GNOME FTP

There is more to come: the addins (I had to rewrite an addin system based on Glib::Module, which I hope will be generic enough ; I'll see when I integrate it into Niepce), the synchronization (I have a branch locally that I need to test thoroughly, for which I also needed addin support), and what not.

Wednesday 15 April 2009

Gnote 0.1.2

I just released Gnote 0.1.2. Here are the changes:

  • Don't return containers on the stack.
  • BUG: Pinning notes now work.
  • BUG: Fix a potential crasher in PrefsKeybinder in the gconf callback.
  • BUG: Fixed typos in man page.
  • BUG: Remove the use of gettext calls that are only in glib 2.18
  • BUG: Fix Note search that didn't work. (Close #578956) (Wade Berrier)
  • BUG: Fix the position of the menu in case of popping upward. (Close #578958)
  • NEW: Imported the manual (Close #578982)
  • NEW: Addin preferences. (TO FINISH)
  • Clarified some (c) notices.

You can find it on GNOME FTP