Announcement

Collapse
No announcement yet.

GNOME Developer On GTK4: State-of-the-Art of Toolkit Support

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • ssokolow
    replied
    I was driven to switch from GTK+ 2.x to Qt by all of the "You're not running GNOME 3? Here. Have a regression." bugs that kept cropping up in GTK+ 3.x. (things like "Let's show the regular menu bar AND the unified menu bar at the same time")

    Once I did, I realized how much GTK+ APIs really were a paler imitation of Qt's.

    (It also didn't help that the pygtkcompat porting shim crashed my apps on startup the last time I tried it, which significantly narrowed the gap in effort between porting to GTK+ 3.x and porting to Qt.)

    Leave a comment:


  • iznogood
    replied
    A platform that is used by the applications it's own developers create, is not a platform.
    there is not a single job opening in the entire UK (as an example) that requires GTK.
    If you only look for software developed at universities, then it is fine

    Leave a comment:


  • Creak
    replied
    Originally posted by bug77 View Post

    Actually, no, I don't.
    I've read that GTK3 was supposed to be the disruptive iteration, but since I'm not familiar with GTK, comments on how easy it would be to move from GTK3 to GTK4 is what I'd be most interested in.
    I ported an app in Python from GTK 2 to GTK 3.

    Knowing that I'm a programmer, but I don't know Python nor GTK+ very well, it took me two to three nights to port it (https://github.com/MightyCreak/diffuse). Basically, once you've seen the couple of code you need to change (a constructor that take one more parameter or one less, a new enum here, a new type there, ...), it's pretty straightforward and just a matter of changing the code and verifying it still works as excepted.

    I only had problem with the grid and the status bar. I had to remove an info in the status bar because the widgets didn't want to resize properly otherwise. I strongly think this is due to the ugliness of the code rather than GTK+ API, but I'll work on that later in order to have a cleaner and more modular code.

    Edit:
    And as said, even though changing the major version seems like a huge improvement, it's mainly based on a new versioning system. On the software dev side, it's more a matter of a big clean: if you don't use any obsolete stuff in your GTK 3 app, you should not have any trouble porting it to GTK 4.

    And lastly, GNOME is in charge of a lot of their own softwares, so it's in their interest to have a smooth GTK 3 to GTK 4 porting process.
    Last edited by Creak; 17 January 2017, 02:32 PM.

    Leave a comment:


  • RahulSundaram
    replied
    Originally posted by shmerl View Post
    Given how long it took Firefox to switch to GTK3 (it's not even fully free of related bugs yet), it will take forever with GTK4...
    3 to 4 is a much smaller change to the new development process.

    Leave a comment:


  • bug77
    replied
    Originally posted by Marc Driftmeyer View Post

    I think you can fathom porting fro GTK+2.x was a lot longer process than 3 to 4.
    Actually, no, I don't.
    I've read that GTK3 was supposed to be the disruptive iteration, but since I'm not familiar with GTK, comments on how easy it would be to move from GTK3 to GTK4 is what I'd be most interested in.

    Leave a comment:


  • shmerl
    replied
    Given how long it took Firefox to switch to GTK3 (it's not even fully free of related bugs yet), it will take forever with GTK4...

    Leave a comment:


  • emblemparade
    replied
    It's not just the modern backends that are exciting here (GNOME and Cairo always supported lots of backends, including a weird JavaScript/HTML backend), but also the new scene graph that renders the window as a whole rather than the classical one-widget-at-a-time. I think that plus Wayland is going to lead to practically no tearing anymore, even on very complex GUIs on low-power systems.

    I've ported lots of code, some quite complex, from GTK+2 to GTK+3, and it honestly wasn't too hard. A few deprecations, a few different ways of doing things (all of them improvements), and that's it. (Theme developers, however, had a terrible time, as everything changed.) From what I see now the leap from GTK+3 to GTK+4 is much smaller. Mostly they are just totally deleting the things that were deprecated before (that's what jumping to a new major release number entails) and changing the underlying technologies. The API is incremental progress. Oh, and of course some new widgets if you want to use them.

    Leave a comment:


  • Marc Driftmeyer
    replied
    Originally posted by bug77 View Post

    Yes, but the elephant in the room is not what you get (nobody actually needs Vulkan to render their desktop, at least not any time soon), is how easy or hard is to move to GTK4. That's what I think many would have liked to hear instead.
    I think you can fathom porting fro GTK+2.x was a lot longer process than 3 to 4.

    Leave a comment:


  • bug77
    replied
    Originally posted by Michael_S View Post

    Now we're arguing semantics. But you can look at it that porting from GTK3 to GTK4 gives you GTK4. The fact that GTK4 works already with Vulkan is a bonus.
    Yes, but the elephant in the room is not what you get (nobody actually needs Vulkan to render their desktop, at least not any time soon), is how easy or hard is to move to GTK4. That's what I think many would have liked to hear instead.

    Leave a comment:


  • Michael_S
    replied
    Originally posted by bug77 View Post

    This is not confined to software, but it always a red flag when you hear: "you get X for free, if you do Y". If I have to do something (anything), then it's not free.
    Now we're arguing semantics. But you can look at it that porting from GTK3 to GTK4 gives you GTK4. The fact that GTK4 works already with Vulkan is a bonus.

    Leave a comment:

Working...
X