GTK3 Porting Checklist

From Claws Mail FAQ
Revision as of 10:48, 24 September 2018 by Ticho (talk | contribs) (→‎Deprecated API: GtkUIManager)
Jump to: navigation, search

Does not work

  • Color labels do not show actual color boxes in common prefs.
  • Using gtk_container_add() with GtkBox results in widgets not using full height available to them - gtk_box_pack_start() should be used instead. (Eventually, all GtkBoxes should be migrated to GtkGrid) Fixed so far:
    • compose window textview
    • prefsdialog page content area
    • template preferences dialog
  • Folderview uses too bright colors for row backgrounds (alternating light gray and even lighter gray).
  • Folderview uses white text for folders without new messages in them, instead of black. Maybe related to bug #3880.
  • GtkCMCList has redrawing issues when mouse scrolling.
  • Quicksearch sometimes doesn't display the search type combobox and information button.
  • Foldersel dialog doesn't show alternating colors in the folder list.
  • Fancy doesn't work, hangs indefinitely in webkit_web_view_new().
  • Messageview doesn't show Mimeview with body part icons on the right.
  • Vcalendar week/month views do not work, debug messages look like a new Claws Mail instance is trying to start when trying to display them.
  • Network log window minimal requested size is too large. Same for Mainwindow.

Works, but is ugly

  • GtkSpinButton is too wide with the -/+ buttons being large and next to each other, instead of small and one above another like in GTK2.

Deprecated API

  • GtkHBox, GtkVBox, GtkTable -> GtkGrid
  • Alertpanel needs to be rewritten to not use GTK_STOCK_*, but GtkIconTheme and named icons.
  • GtkUIManager is deprecated in GTK3, to be removed in GTK4
#claws@Freenode on 2018-09-24:
(@Ticho) well, for now, we could just stick our heads in the sand and pretend that GtkUIManager is still okay
(@Ticho) we can start caring about it again once it's time to go from GTK3 to GTK4
(@Ticho) (although I'm pretty sure our future selves will hate us for that) :)
(@Ticho) but hopefully by then, there will be better available solutions - even if it was just this Amtk library being widely available and packaged in major distros
(@claws) seems like a plan