This PR updates `geany.glade` to target gtk+ 3.0. Resolves #2860.
* Glade 3.8.6 reports: Project geany.glade has no deprecated widgets or version mismatches. * Used Glade 3.38.2 to resave geany.glade with target set to gtk+ 3.0 * Removed the following properties to prevent warnings: + Property 'Focus on click' of object class 'Widget' was introduced in gtk+ 3.20 - all were set to False. + Property 'X align' of object class 'Label' was introduced in gtk+ 3.16 - all were set to 0 or 1. + Property 'Y align' of object class 'Label' was introduced in gtk+ 3.16 - only one instance, was set to 0.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/3026
-- Commit Summary --
* update geany.glade to target gtk+ 3.0
-- File Changes --
M data/geany.glade (6006)
-- Patch Links --
https://github.com/geany/geany/pull/3026.patch https://github.com/geany/geany/pull/3026.diff
I havn't had time to get back to #2860 so thanks for this.
When you say "removed properties" did Glade remove them or you remove them?
I am not sure what is the earliest GTK Geany targets, but GTK3.20 was early 2016, so nearly six years, which IMHO is reasonable enough since most major distros only provide 5 year LTS AFAIK. If someone needs Geany to support an older version of GTK they can run a branch. The last thing we want is to return to the situation where contributors have to use old versions of Glade that their distros don't provide (although it did reduce the number of glade file changes :)
I havn't had time to get back to #2860 so thanks for this.
Glad to do this. Figured there's just too much for you to do.
When you say "removed properties" did Glade remove them or you remove them?
I removed them and resaved. The files saved by Glade 3.38.2 appear to be stable.
I am not sure what is the earliest GTK Geany targets, but GTK3.20 was early 2016, so nearly six years, which IMHO is reasonable enough since most major distros only provide 5 year LTS AFAIK. If someone needs Geany to support an older version of GTK they can run a branch. The last thing we want is to return to the situation where contributors have to use old versions of Glade that their distros don't provide (although it did reduce the number of glade file changes :)
The problem is ... Targetting lower than 3.20 produces those "introduced in" messages. Targetting higher than 3.0 produces deprecated warnings. I didn't know the correct approach, so just picked one and wait for feedback.
I just found some visual differences, and it does look better with the properties set. I'll put them back and target gtk+3.20.
@xiota pushed 1 commit.
e884441e6736fb085307c10216ebfb0cc806bcb2 update geany.glade to target gtk+3.20
@xiota pushed 1 commit.
7113211b291f2e9372323b1c29e2e59acd98a952 really update the number this time
Here is a list of the deprecated items (specific instances removed to keep the list manageable):
* Object class 'Alignment' from gtk+ 3.20 is deprecated * Object class 'Horizontal Box' from gtk+ 3.20 is deprecated * Object class 'Horizontal Panes' from gtk+ 3.20 is deprecated * Object class 'Image Menu Item' from gtk+ 3.20 is deprecated * Object class 'Table' from gtk+ 3.20 is deprecated * Object class 'Vertical Box' from gtk+ 3.20 is deprecated * Object class 'Vertical Panes' from gtk+ 3.20 is deprecated * Property 'Current Color' of object class 'Color Button' is deprecated * Property 'Horizontal alignment for child' of object class 'Button' is deprecated * Property 'Rules Hint' of object class 'Tree View' is deprecated * Property 'Stock ID' of object class 'Image' is deprecated * Property 'Use stock' of object class 'Button' is deprecated
TL;DR don't worry about deprecated here, thats another problem
Yeah, a lot of things are deprecated between GTK3 and GTK4. I don't know much about GTK4 but those that do have said it may be difficult to reproduce some of the GTK3 functionality our current UI relies on in GTK4. We need somebody who really knows about GTK3 and GTK4 to identify those so we can consider alternative UI operation. You can turn deprecations on when building Geany to see how much there is, we had to turn them off because they were hiding real warnings. So these should not be an issue.
Yeah, I believe 3.20 is ok to target, if anyone disagrees shout, happy to make you a branch to maintain older support. (If it was totally up to me I would say 3.24, but I know there are others using olde stable distros, so 3.20 is a reasonable compromise IMO).
don't worry about deprecated here, thats another problem
Sounds good.
... 3.20 is ok to target... If it was totally up to me I would say 3.24, but I know there are others using olde stable distros...
Looks like both Ubuntu 18.04 (EOL in 2023) and Debian stretch are using GTK 3.22. If someone really needs something from a newer (than 3.20) GTK release, it's easy enough to change the number.
You can turn deprecations on when building Geany to see how much there is, we had to turn them off because they were hiding real warnings.
Maybe I'll take a look at the deprecation warnings after #3019.
3.20 sounds good
MinGW32 CI is using GTK 3.8.2.
I was just about to do the same when I rediscovered this PR. I think by now we're golden even for 3.22, but 3.20 is a good step for now and soon we'll just only support the last gtk3 release (3.24), at some point after the Ubuntu 22.04 LTS release.
Merging this..
Merged https://github.com/geany/geany/commit/305b324a1b5c29dca5184d6917011b7067870c...
Closed #3026.
github-comments@lists.geany.org