Difference between revisions of "GTK3 Porting Checklist"

From Claws Mail FAQ
Jump to: navigation, search
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
== Does not work ==
 
== 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.
 
* Foldersel dialog doesn't show alternating colors in the folder list.
  
* Fancy doesn't work, hangs indefinitely in webkit_web_view_new().
+
* Fancy doesn't block remote content
  
* Messageview doesn't show Mimeview with body part icons on the right.
+
* "gtk-can-change-accels" has been removed: 'GtkSettings:gtk-can-change-accels has been deprecated since version 3.10 and should not be used in newly-written code. This setting is ignored.'
 
+
It seems that the only way to re-enable this is to switch to GtkApplication, and write our own acclerator implementation. https://developer.gnome.org/gtk3/stable/GtkApplication.html#gtk-application-add-accelerator
* 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 ==
 
== Works, but is ugly ==
Line 34: Line 14:
 
== Deprecated API ==
 
== Deprecated API ==
  
* GtkHBox, GtkVBox, GtkTable -> GtkGrid
+
* GtkBox -> GtkGrid (for GTK4)
 
 
* 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
 
* GtkUIManager is deprecated in GTK3, to be removed in GTK4
<pre>
 
#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
 
</pre>
 

Latest revision as of 11:31, 15 May 2020

Does not work

  • Foldersel dialog doesn't show alternating colors in the folder list.
  • Fancy doesn't block remote content
  • "gtk-can-change-accels" has been removed: 'GtkSettings:gtk-can-change-accels has been deprecated since version 3.10 and should not be used in newly-written code. This setting is ignored.'

It seems that the only way to re-enable this is to switch to GtkApplication, and write our own acclerator implementation. https://developer.gnome.org/gtk3/stable/GtkApplication.html#gtk-application-add-accelerator

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

  • GtkBox -> GtkGrid (for GTK4)
  • GtkUIManager is deprecated in GTK3, to be removed in GTK4