Gtk 2-to-3 Migration Guide
- From the Gnome folks, still very relevant: https://developer.gnome.org/gtk3/stable/gtk-migrating-2-to-3.html
Gtk Symbol Check
- Python script that checks your C source code for deprecated symbols and lists them
- Enables you to quickly assess the TODO for a Gtk3 port
- Usage: “python3 GtkSymbolCheck.py –gtk_version 3.14 –hide-not-found $folder”
- To be found on github: https://github.com/bluesabre/gtk-symbol-check
Deprecations until Gtk3.14
- GTK_STOCK: Use normal translatable strings and icons instead.
- Starting with gtk+-3.10 (by this commit), menu accelerators can no longer be changed with gtk-can-change-accels. Possible alternatives yet to be considered: Reimplement that code in custom GtkImageMenuItem, or use a separate dialog like other apps do (using GtkCellRendererAccel and gtk3-Accelerator-Maps). This especially affects thunar which uses this functionality to assign shortcuts to custom actions. If we only want to support this and not editing all other accels, it would be enough to provide a shortcut assign button in the custom actions configuration dialog.
Old Widget | New Widget |
---|---|
GtkAlignment | None. Use padding and margin in GtkWidget (e.g. GtkBox with margin-start) |
GtkHBox | GtkBox |
GtkHButtonBox | GtkButtonBox (might be deprecated in one of the next releases) |
GtkHScale | GtkScale |
GtkImageMenuItem | GtkMenuItem, packed with GtkBox that holds GtkImage and GtkLabel |
GtkTable | GtkGrid |
GtkVBox | GtkBox |
GtkVScale | GtkScale |
New Widgets in Gtk3 that we might want to use
- GtkListBox (e.g. for settings; is searchable)
- GtkStack (as replacement for GtkNotebook in some contexts)
- GtkSwitch (instead of GtkCheckButton in some cases)
- GtkPopover for simple single-button menus