GTK3 Porting Checklist
From Claws Mail FAQ
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, sometimes even crashes the whole program.
- Network log window minimal requested size is too large. Same for Mainwindow.
- About window won't shrink back if you increase its width. Opened https://bugzilla.gnome.org/show_bug.cgi?id=793407 for that.
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