These are chat archives for picoe/Eto

3rd
Nov 2017
Curtis Wensley
@cwensley
Nov 03 2017 16:43
@cra0zy: hm, that's a bummer, .net standard 2.0 it doesn't run on mono < 5.4 (afaik) which isn't widely available on all distros..
Harry
@cra0zy
Nov 03 2017 16:58
yup
needed a bunch of classes which are available in .net standard 2.0 so anything lower wasn't an option
Curtis Wensley
@cwensley
Nov 03 2017 17:03
yeah, though .net 4.x target would still work.. .net standard 2.0 is only needed for .net core support.
that being said, it's a PITA to have multiple compiled targets (right now).
the new csproj format supports multiple targets, and works via msbuild on mono, but Visual Studio/MD does not support it yet which sucks big.
Harry
@cra0zy
Nov 03 2017 17:04
Rider supports .net core templates btw
which was a nice surprise
Curtis Wensley
@cwensley
Nov 03 2017 17:05
cool. I'd love to have some eto-based .net core templates.
I also have to figure out how to bundle .net core into an .app bundle for the mac template nuget..
It'd be awesome to be able to build mac apps on windows/linux that don't require mono to be installed
Harry
@cra0zy
Nov 03 2017 17:07
we can always dream
so about Eto.Gtk, how about a separate project
Curtis Wensley
@cwensley
Nov 03 2017 17:09
quick question, do you know if the current version of Eto.Gtk3 would run on your new gtk# without recompilation?
Harry
@cra0zy
Nov 03 2017 17:09
assembly names are different
so no, but the code paths are the same
Curtis Wensley
@cwensley
Nov 03 2017 17:09
ah ok, I was thinking we might be able to have a single Eto.Gtk3 nuget package that has both in there
Harry
@cra0zy
Nov 03 2017 17:10
Eto.Gtk3 is using a lot of deprecated stuff
so setting up a new solution which properly uses the newest stuff has another advantage
Curtis Wensley
@cwensley
Nov 03 2017 17:10
right, that too.
Harry
@cra0zy
Nov 03 2017 17:12
Gtk is also switching to releasing major releases every 6 months
so the question also becomes how to support that... do we just always target the newest release
Thibault Saunier
@thiblahute
Nov 03 2017 17:13
@cra0zy Heu, where did you see that?!
Curtis Wensley
@cwensley
Nov 03 2017 17:13
I think a new project works best for now then, but I will deprecate the old Gtk3 so we have a clear direction.
every 3 years a major release
@cwensley Plus you can keep the old Gtk3 to just support Gtk 3.0 API
Thibault Saunier
@thiblahute
Nov 03 2017 17:19
@cra0zy Rigth "releases every 5 months" != "every 3 years" :-)
Harry
@cra0zy
Nov 03 2017 17:20
that was supposed to be 6
anyway they did want to do it every 6 months in a before blog
I think
however the question still remains do you support gtk 3 when gtk 4 is out
or do you just update
I would vote for just update since flatpak is a thing
Curtis Wensley
@cwensley
Nov 03 2017 17:21
@cra0zy: I think the new Gtk# platform should support a minimum version of Gtk, and any newer gtk stuff should be detected before used. If at all possible
Harry
@cra0zy
Nov 03 2017 17:22
hard, and impossible once Gtk 4 is around
Curtis Wensley
@cwensley
Nov 03 2017 17:22
if it targets Gtk4 as a minimum version, then you couldn't support Gtk4.2 api?
Harry
@cra0zy
Nov 03 2017 17:22
well you could Gtk 4.2, but can't Gtk 3
Curtis Wensley
@cwensley
Nov 03 2017 17:23
that's fine, we'll have to split it the same as Gtk does
Harry
@cra0zy
Nov 03 2017 17:23
plus all upgraded versions of Gtk 4 will not have a change to the API
therefore there will be nothing to support
Thibault Saunier
@thiblahute
Nov 03 2017 17:24
Still new APIs can be added in post 4.0 versions (but ABI/API should be 100% stable, hopefully!)
Harry
@cra0zy
Nov 03 2017 17:26
// Stable cycles do not provide new features or new API.
Curtis Wensley
@cwensley
Nov 03 2017 17:26
ah, gotcha
Thibault Saunier
@thiblahute
Nov 03 2017 17:26
Well, even in 3.22.X they added APIs
Harry
@cra0zy
Nov 03 2017 17:27
probably just some small methods, am I right?
anyway best option, keep Gtk3 for now that support Gtk 3.0
get new Eto.Gtk that supports the newest Gtk
Thibault Saunier
@thiblahute
Nov 03 2017 17:28
Yeah, kind of "New minor releases may introduce new widgets, or update the implementation of windowing system protocols in the GDK backends, but no additional features or theme changes will be allowed. "
Harry
@cra0zy
Nov 03 2017 17:28
that way once Gtk 4 gets out, all the work for supporting is already done
@thiblahute interesting, well that should be fine
Gtk 3 was breaking a lot of things with its updates
like the Action system
Thibault Saunier
@thiblahute
Nov 03 2017 17:29
Yeah, much simpler than during the Gtk3 first ages!
They broke it all in many different ways at each relase :/
Harry
@cra0zy
Nov 03 2017 17:31
true
Curtis Wensley
@cwensley
Nov 03 2017 17:43
What's the minimum version of Gtk 3 will the new Gtk# version work on? or will it only support Gtk 3.22?
Harry
@cra0zy
Nov 03 2017 17:44
no methods were removed since Gtk 3, only added
so Gtk 3
its up to the programmer to choose the version they want to support
Curtis Wensley
@cwensley
Nov 03 2017 17:47
ah cool, ok. So here's what I propose: Keep existing Eto.Gtk3 and deprecate it. New Eto.Gtk3Core (or whatever) will support some specified version of Gtk3 at minimum but use newer apis if available. When Gtk4 comes out, we copy Eto.Gtk3Core to Eto.Gtk4Core and update to 4.0 apis.
The current Eto.Gtk3, being deprecated will not be updated for the next version of Eto and will be removed.
Harry
@cra0zy
Nov 03 2017 17:51
yup
also Eto.Gtk3Core will not support 3.0, its gonna have to support a bit higher version
Curtis Wensley
@cwensley
Nov 03 2017 17:52
And it could even be that Eto.Gtk3Core supports minimum of 3.22. I don't know how many people even use older versions of Gtk3 in the real world
Harry
@cra0zy
Nov 03 2017 17:52
there is a different action system that needs implementng
Curtis Wensley
@cwensley
Nov 03 2017 17:53
it might be interesting to look at all LTS distros out there and see what version of Gtk3 they support. I would be okay with telling people we only support stuff that is supported by other companies
We have to draw the line somewhere, and 3.0 is a little ridiculous.. it was released in 2011.
Curtis Wensley
@cwensley
Nov 03 2017 18:01
What do you think, @cra0zy? do we need to support Gtk 3.0?
Harry
@cra0zy
Nov 03 2017 18:02
nah
I would skip to around gtk 3.10
or even better gtk 3.14
Curtis Wensley
@cwensley
Nov 03 2017 18:09
sounds reasonable to me.. it's 3 years old which is a long time in tech
Curtis Wensley
@cwensley
Nov 03 2017 18:16
Ubuntu's LTS is 5 years it seems, but the earliest supported currently is 14.04 and looks to have gtk 3.10
Harry
@cra0zy
Nov 03 2017 18:30
perfect