29 December 2006

GTK theme colors support

Today I added GTK theme colors support to the 1.3.x code in SVN (update: now merged with stable 1.2.3). Now Liferea adapts the HTML rendering to your GTK theme settings. Here is a screenshot when running with a pretty standard ClearLooks theme:

While the same display in some dark theme looks like this:

Of course depending on your themes contrast settings and base color some elements like the blue links in the above screenshots do hurt the eye, but this is something that is hard to avoid. Despite this I think this improvement helps to blend in more with other applications in your GTK/GNOME desktop. Depending on the used theme the old default gray header styles used until now could look "cold" or out of place.

If you have significant problems with the new rendering please send a screenshot of the problem and if possible a link to the theme definition online or at least the name of the theme to the mailing list or post a new item in the bug tracker at SF.

21 December 2006

Problems With the Current Menu Structure

As promised I want to start another HIG compliance discussion to make using the Liferea menu more standard compliant. This is the current menu layout:
  • Program
    • Preferences
    • Update Monitor
    • Script Manager
    • Work On-/Offline
    • Exit
  • Feeds
    • Update Selected
    • Update All
    • Mark Selected As Read
    • Mark All As Read
    • New Subscription
    • New Folder
    • New Search Folder
    • New Source
    • New News Bin
  • Items
    • Next Unread
    • Toggle Read Status
    • Toggle Item Flag
    • Remove Selected
    • Remove All
    • Launch In Browser
  • View
    • Increase Text Size
    • Decrease Text Size
    • Normal View
    • Wide View
    • Combined View
  • Search
    • Search All Feeds
    • Search With...
  • Help
    • Contents
    • Quick Reference
    • FAQ
    • About
This structure has several problems and questions a lot of user care about. Here is a list I collected.
  • First menu isn't named "Feed".
  • "Feeds" menu is much too long (13 items!).
  • Plural used in "Feeds" and "Items".
  • Not all context menu options can be found in the main menu.
  • No "Edit" menu. Overall shouldn't there be a document centric menu.

Starting from the list above I think it is the best to identify the Liferea core concepts. This should give a hint for the maximal number of menus and the correct assignment of specific menu options to each concept. I think this will resolve the very long "Feeds" menu...

20 December 2006

Plans for 1.3.x

After 1.2 is released (and will get some more maintaince) I want to outline my plans for the 1.3 unstable branch. The idea is to get the same good feedback as with all the different 1.2 features. And maybe to convince you to contribute code and own ideas!

My Ideas
  • Replacing the XML file backend with sqlite
  • Simplify preferences dialog
    • removing memory/disk optimization
    • removing the browser module selection (use priority based plugin loading instead)
  • Main menu redesign (another HIG compliance discussion)
  • Rethinking the suboptimal libnotify popup presentation
  • maybe: extra enclosure download queue (with serialized or only partially concurrent download to avoid eating all bandwidth)
  • maybe: better redirect handling (as discussed some while ago)
  • maybe: replacing networking backend (to avoid having own code)
Additionally ideas? Want to work on some of those topics? Feedback!

12 December 2006

Navigating Liferea with the Keyboard

From time to time people do ask about a possibility to use certain or all functions with hotkeys.

Well first when you wonder about the predefined Liferea hotkeys you should go to the "Help" menu and select the "Short Reference" menu option. After doing this you will get a help page with all important standard hotkeys. Currently the hotkeys are:

Ctrl-AUpdates all your subscriptions at once.
Ctrl-RMarks all items of the selected feed or folder as read.
Ctrl-NJump to next unread headline.
Ctrl-UToggle unread state of selected headline.
Ctrl-TToggle flag of selected headline.
SpaceSkim through the headlines. Depending on your preferences you might need to use the Ctrl or Alt modifier.
uMove up cursor in the feed list.
dMove down cursor in the feed list.
bMove up cursor in the item list.
fMove down cursor in the item list.
DelRemoves the currently selected item.

Defining additional hotkeys

You are not limited to those hotkeys. As every good GTK program Liferea (since v1.1) allows you to dynamically assign key bindings. For this to work the GNOME interface option hidden in GConf needs to be enabled. You can enable it by running

$ gconftool --set --type bool /desktop/gnome/interface/can_change_accels true

If the GTK option is enabled you can open any menu from the menu bar, move the cursor above the relevant menu option and press the shortcut you want to assign. This shortcut should appear right next to the menu option label.

Note: Such shortcuts will be permanent. Ensure not to assign standard key binding like Ctrl-R, Ctrl-A, Ctrl-Q or Ctrl-W which would be taken away from the menu options you normally expect them to invoke (Refresh, Select All, Quit, Close Window...) and when intuitively pressing such hotkeys might lead to unwanted effects.