-
Notifications
You must be signed in to change notification settings - Fork 33
Draft: GTK3: Do not merge #149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Stetic is what sold me on MonoDevelop in the first place, more than a decade ago. A high quality GUI designer, fully integratwd into the IDE, on Linux, was bliss - as compared to the state of the art of `glade-2` XML files at the time. However. In 2018, it is effectively dead weight for us. Visual Studio for Mac is not a Gtk# IDE, and does not benefit from Gtk# app authoring support. And, crucially, Stetic depends heavily on the internals of libglade, which no longer exists in Gtk+ 3.0+. In order to move forwards with porting MonoDevelop to Gtk#3, Stetic in its current incarnation needs to go away. All the internals need rewriting, and we cannot justify the engineer time required to do that ourselves. So, like our C/C++ support, remove it & focus on the fundamentals. This removal removes support for creating new Gtk# projects (as the templates are in MonoDevelop.GtkCore), but it can still open/compile existing Gtk# projects fine.
IMNSHO this is the wrong approach. Because I think you're porting to master/main branch of https://github.com/mono/gtk-sharp , which is a stagnated project (I know this very well because I contributed a lot of commits to it, especially the main branch [1]). Any decent GTKvNext port should not focus on these libraries and not 3.x, but other libraries which, by now, must be offering even newer versions (e.g. 4.x), like https://github.com/gtksharp/gtksharp [1] So yeah, I take it big part of the blame for it to be stagnated. |
I have set up a new branch to update from mono gtk to nuget gtksharp. https://github.com/MakiWolf/dotdevelop/tree/hackweek2nugetgtk
The exception comes from this line: |
Opened up a new PR for nuget gtksharp |
Draft: GTK3: Do not merge
This PR fixes merge conflicts with this PR #10
To compile gtksharp3 package must be installed.
Many things does not work as expected and must be replaced, because currently it is only to compile but not to work. But it displays the main ide window.
In future we should also switch to nuget packages and go back to the submodules from dotdevelop. I also have to change the submodules xwt and mono addins to older versions because of compile errors between nuget gtk and gtk from mono package at the beginning.
And also this file is now an old version to get dotdevelop compile.
https://github.com/MakiWolf/dotdevelop/blob/main/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/GtkWorkarounds.cs
It have also a lot of #if DD_GTK3_CHECK_FOR_REMOVE statements
I also saw that @lytico have started with if else statements in gtk3. I found this idea good beacuse we can switch between gtk2 and gtk3 until all things work as expected and replaced with newer code. I dont know if there is a possibility to add if else statements automatically for changes or we have to edit every single file manual?