Announcement

Collapse
No announcement yet.

GTK+ 4.0 Toolkit Development Is Warming Up

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

  • #21
    If GTK is so crap on the programming side, but great from all the other aspects, why not just port GTK to C++ entirely? I'd be interested in seeing a GTK++ implementation. Until then I'll keep using gtkmm. It seems to work well enough for me, but I'm no C++ expert. Seems like the open source desktops have room for another API. Frankly I'd just be happy if the desktop wasn't a constantly moving target. It gets annoying having to keep forward porting my code every time the gnome team decide they need to reinvent the wheel. Maybe if apps were the focus instead of rewriting GTK all the time, we'd have a proper desktop with apps that would rival Windows.

    Comment


    • #22
      Originally posted by cl333r View Post
      The problem with Gtk is that writing GUI apps in C sucks:
      gtk_window_set_title(GKT_WINDOW(win), "my title");
      instead of
      win->setTitle("my Title");

      and the C++ binding sucks because it's a binding/workaround for a project written in C. If they wrote Gtk4 in Rust, C++ or anything other that is more high-level yet native (no interpreted crap like Java or Python), I'd consider moving to it. Until then, no matter what they do Qt5 is better.
      I've used the Perl and Python binding with great success. I've written major pieces of software like 'form' and 'datasheet' classes, and a GUI for an ETL framework using gtk+3 and Perl. Perhaps you're just not very good at coding? Or perhaps you're trolling. Of course, the truth is probably "a bit from column A, a bit from column B".

      Comment


      • #23
        Originally posted by ssokolow View Post
        *SNIP*
        (Sort of like how GTK+ 3.x replaced GDK drawing with Cairo)
        Yeah, THAT was a great decision. I'm not sure why they didn't use a drawing api abstraction. Perhaps b/c there weren't many alternatives to cairo?
        NOW, I don't know why they don't use something like mozilla's azure (if they REALLY want to stay xplatform) b/c we sure as hell have cairo alternatives.

        Ach, it doesn't much matter.
        Gnome is a toy development environment, but I think they devs realize that they simply don't have the resources to make something like cocoa/appkit or winforms. I didn't realize how bad the whole oss toolkit situation was until I read http://www.joona.net/?p=693.

        Comment


        • #24
          Originally posted by liam View Post
          NOW, I don't know why they don't use something like mozilla's azure (if they REALLY want to stay xplatform) b/c we sure as hell have cairo alternatives.
          We do now. We didn't when Gtk+ first started integrating Cairo more than ten years ago. And at the time, that was half the point of using Cairo - that it provided a lot of useful functionality *and* was cross-platform due to support for a variety of backends.

          Comment


          • #25
            Originally posted by Delgarde View Post

            We do now. We didn't when Gtk+ first started integrating Cairo more than ten years ago. And at the time, that was half the point of using Cairo - that it provided a lot of useful functionality *and* was cross-platform due to support for a variety of backends.
            I should've verified before I spoke.
            I'm sorry about that.

            Comment


            • #26
              Originally posted by liam View Post

              I should've verified before I spoke.
              I'm sorry about that.
              Cairo *was* a big deal when it came out. Problem is, it sort of stagnated, and I understand the design was never *quite* right for users. That's why Mozilla built Azure as a replacement. If you read the Azure announcement, it explains the issues fairly well.



              Comment


              • #27
                Originally posted by liam View Post
                Yeah, THAT was a great decision. I'm not sure why they didn't use a drawing api abstraction. Perhaps b/c there weren't many alternatives to cairo?
                NOW, I don't know why they don't use something like mozilla's azure (if they REALLY want to stay xplatform) b/c we sure as hell have cairo alternatives.
                GSK, that will be introduced in GTK+ 4, is an abstraction just not a classical drawing API abstraction but a scene graph API, which is more suited for rendering with a GPU.

                Comment


                • #28
                  Originally posted by liam View Post

                  Yeah, THAT was a great decision. I'm not sure why they didn't use a drawing api abstraction. Perhaps b/c there weren't many alternatives to cairo?
                  NOW, I don't know why they don't use something like mozilla's azure (if they REALLY want to stay xplatform) b/c we sure as hell have cairo alternatives.

                  Ach, it doesn't much matter.
                  Gnome is a toy development environment, but I think they devs realize that they simply don't have the resources to make something like cocoa/appkit or winforms. I didn't realize how bad the whole oss toolkit situation was until I read http://www.joona.net/?p=693.

                  Hey, I'm just trying to be helpfully educational. I migrated from PyGTK (GTK+ 2.x) to PyQt5 and I fully agree with that blog post.

                  (That said, I don't care how "the future" Qt Quick is. If it can't seamlessly force a unified desktop theme on apps the way Qt's C++ widgets can when combined with QGtkStyle, I have no use for it. I'm not going to let "But... but... smartphones!" be an excuse to go back to the bad old "spend a weekend finding acceptable and matching Qt and GTK+ themes" days of the early 2000s.)

                  Comment


                  • #29
                    Originally posted by cl333r View Post
                    The problem with Gtk is that writing GUI apps in C sucks:
                    gtk_window_set_title(GKT_WINDOW(win), "my title");
                    instead of
                    win->setTitle("my Title");

                    and the C++ binding sucks because it's a binding/workaround for a project written in C. If they wrote Gtk4 in Rust, C++ or anything other that is more high-level yet native (no interpreted crap like Java or Python), I'd consider moving to it. Until then, no matter what they do Qt5 is better.
                    One advantage of C over other C++ is it much easier to interface with. C++ has some problem eg. no standard-ABI, name mangling, vtable, etc that force other languages to use similar constructs (I copy these from the D site.). If you don't care about openess then yes C++ is better than C.

                    Vala is actually pretty good when you're in the GObject realm. Once stepping outside, it feels like getting hit by a bullet train. I have tried using this once in my project and realize how painful it is :P. That makes me revert back to my trusted-and-true C++.

                    Personally I can stand using the compatibility layer api like wxWidget, though it feels like using MFC, though the development is slow than what I'd wished for.

                    For other than that ... hm... I guess Java Swing is the best toolkit I have come across, although it's on the slower side and has the alienated looks.

                    For someone that hates qt for non-standard stuff they use, there's a port of qt that get rid of those non-standard call CopperSpice. You might want to try that out . It's not really mature currently though.

                    Comment


                    • #30
                      Originally posted by cl333r View Post
                      The problem with Gtk is that writing GUI apps in C sucks:
                      gtk_window_set_title(GKT_WINDOW(win), "my title");
                      instead of
                      win->setTitle("my Title");

                      and the C++ binding sucks because it's a binding/workaround for a project written in C. If they wrote Gtk4 in Rust, C++ or anything other that is more high-level yet native (no interpreted crap like Java or Python), I'd consider moving to it.
                      how writing gtk4 in rust will make c++ bindings suck less?

                      Comment

                      Working...
                      X