I started to learn how to use FLTK in Rust this year, so its fair to assume this update is specifically made for me; its so obvious. FLTK is basically a suckless toolkit for GUIs, with the goal of being small, light and standalone without being complicated. It is very small and can be compiled into the app without runtime requirements. It has most common functionality you would expect from a toolkit and should work cross platform.

Happy to see this update! Need to experiment and learn more about it soon for my first FLTK app.

  • thingsiplay@beehaw.orgOP
    link
    fedilink
    arrow-up
    3
    ·
    1 month ago

    FLTK compared to GTK and QT is lightweight, less complicated to learn and program in and is statically linked, meaning no runtime dependency required, while still being very small in binary size. As an example the FLUID program to create a GUI itself contains every widget and the binary is only half a megabyte. More about FLTK here: https://www.fltk.org/doc-1.3/intro.html

    • flashgnash@lemm.ee
      link
      fedilink
      arrow-up
      2
      ·
      1 month ago

      Ah that’s kinda neat. Doesn’t statically linked mean it won’t work on some systems though? Pretty sure static linked binaries don’t work on nixos

      • thingsiplay@beehaw.orgOP
        link
        fedilink
        arrow-up
        2
        ·
        1 month ago

        Why would they not? Statically linked means the application does not depend on libraries installed on the system. If anything, it means it works better, at least to my knowledge. I did a quick web search and couldn’t find anything that says statically linked binaries would not work on NixOS. Never heard of this before too. Any specific details or a link I can research into?

        • flashgnash@lemm.ee
          link
          fedilink
          arrow-up
          2
          ·
          1 month ago

          You’re right they do, I’m not sure where I got the idea that you couldn’t run em but I’m sure I’ve got some error message about static linking before when trying to run a binary

          Might’ve been whatever the opposite is (dynamically linked?)