Jonathan did a great job specing this out. It was further refined during the hackfest. I think it is a great proposal and definitely support it.
Although Pono said at the hackfest that it is not a conflict of interest for me to vote for part 2, I do feel am hesitant to do so.
Having spent time this past week making further Gtk4 experiments, I'm more convinced that the Gtk3 to Gtk4 transition will be more difficult than the Gtk2 to Gtk3 transition. While many changes can be handled by search and replace (e.g. changes in how enumerations are specified), there are two fundamental changes that will consume a lot of time:
1. Using EventControllers instead of Gtk::Widget event signals. Some EventControllers were back-ported to Gtk3 but they don't work particularly well in the Gtk3 context. In particular, Gtk::EventControllerKey is not back-ported to Gtkmm4.
2. Changes in widgets. Some changes are obvious, like certain widgets being removed (Gtk::RadioButton, Gtk::EventBox, Gtk::Bin, Gtk::Menu, Gtk::MenuBar, Gtk::Toolbar). But many changes are less obvious, such as the ramifications from the fact that complex widgets are now composed of simple widgets rather than being derived via sub-classing.
To give you an idea of the amount of work, I have estimated that about 3500 lines of code will need to be changed. (By attempting to compile all of Inkscape, and from the error output, removing non-relevant lines, removing duplicate lines, and then grepping lines with "error:".
Part 1 really depends on part 2, so for the moment I abstain on both parts.
Tav
----- Original Message ----- | From: "Marc Jeanmougin" marc@jeanmougin.fr | To: inkscape-board@lists.inkscape.org | Sent: Sunday, March 26, 2023 7:54:32 PM | Subject: [Inkscape-board] [2 VOTES] GTK4 migration proposal | | Dear PLC, | | After extensive discussions with everyone at the hackfest, attached | is | the latest version of the GTK4 migration proposal, as proposed by | Jonathan. It contains two job posting description and the context for | it. | | Hence, here are two votes: | | [1: VOTE ON THE EXTERNAL GTK4 EXPERT] | | (a) Allocate 32400$ as per proposal | (b) Do not allocate it as proposed | | [2: VOTE ON THE INKSCAPE EXPERT] | | (a) Allocate 32400$ as per proposal | (b) Do not allocate it as proposed | | Thanks! | | -- | Mc | | _______________________________________________ | Inkscape Board of Directors mailing list -- | inkscape-board@lists.inkscape.org | To unsubscribe send an email to | inkscape-board-leave@lists.inkscape.org |