Features/GTK3: Difference between revisions
DanielDrake (talk | contribs) No edit summary |
DanielDrake (talk | contribs) No edit summary |
||
| Line 92: | Line 92: | ||
# How to handle each of the sugar-toolkit API changes (detailed in the following section) | # How to handle each of the sugar-toolkit API changes (detailed in the following section) | ||
# How to port from PyGTK/GTK2 to PyGI/GTK3. | # How to port from PyGTK/GTK2 to PyGI/GTK3. | ||
* | #* This basically involves reading the [https://live.gnome.org/PyGObject/IntrospectionPorting PyGObject porting documentation], using pygi-convert.sh, then checking the result. | ||
== API changes == | == API changes == | ||
| Line 100: | Line 100: | ||
I propose that once sugar-toolkit is ported and mostly operational, we run a 30-day window where API changes that have seen some kind of planning and discussion below can be made and committed. | I propose that once sugar-toolkit is ported and mostly operational, we run a 30-day window where API changes that have seen some kind of planning and discussion below can be made and committed. | ||
=== | === Plain text as the default for palettes === | ||
http://article.gmane.org/gmane. | Sugar's palette classes currently accept strings, but then they pass those strings to GTK as markup (always, unconditionally). However, markup is only used in a handful of places, and this means that all users of palettes that draw in translations or strings from other sources which might contain characters such as < or > must escape their arguments, leading to big patches [http://article.gmane.org/gmane.comp.education.sugar.devel/32398 like this]. | ||
As agreed [http://article.gmane.org/gmane.linux.laptop.olpc.sugar/30466 here], it would make more sense for palettes to pass those strings as standard text by default, and to have different functions to opt-in to receive markup processing. Then the excessive escaping would go, and the only users would have to escape would be those who use markup. | |||
== | === Removal of keep button === | ||
Sugar-0.94 proposes the [http://article.gmane.org/gmane.linux.laptop.olpc.sugar/30771 removal of the Keep button], but the old KeepButton classes would be kept around for activities that directly use it. Porting sugar-toolkit to GTK3 would be a good time to remove these classes. | |||
== | == Removal of old toolbars == | ||
Sugar-0.86 [[Features/New_Toolbar_Design|redesigned activity toolbars]], with the new toolbars implemented by new classes, and the old classes being kept around so that old activities are not immediately broken. This would be a good opportunity to remove the long-deprecated old activity toolbar classes. | |||
== Dependencies == | == Dependencies == | ||
Sugar would start depending on PyGObject built with gobject introspection support, GTK3, and (at the end of the transition) period would drop its dependencies on GTK2 and PyGTK. | |||
== Release Notes == | == Release Notes == | ||
== Comments and Discussion == | == Comments and Discussion == | ||
* See [[{{TALKPAGENAME}}|discussion tab for this feature]] | * See [[{{TALKPAGENAME}}|discussion tab for this feature]] | ||