ID: | 3436 |
From: | ge...@igor2.repo.hu |
Date: | Sat, 12 Oct 2019 08:48:02 +0200 (CEST) |
Subject: | Re: [pcb-rnd] Why focus on gtk? (was: experimental windows port - |
in-reply-to: | 3435 from Mychaela Falconia <my...@gmail.com> |
replies: | 3439 from Mychaela Falconia <my...@gmail.com> |
Hi Mychaela, On Fri, 11 Oct 2019, Mychaela Falconia wrote: >On 10/11/19, gedau@igor2.repo.hu <gedau@igor2.repo.hu> wrote: >> (FYI, gtk2 and its dependencies are implemented in about 2 million SLOC, >> while pcb-rnd with libfawk and scconfig included is about 121k SLOC. So in >> 2019 it takes about 16x more code to draw buttons on the screen than to >> have a modular, interactive, graphical scriptable printed circuit board >> editor) > >Now this is the part which I don't understand: why has all of the >focus been on gtk as opposed to lesstif? As I understand it, when >pcb-rnd forked off from geda-pcb, the two HIDs (gtk2 and lesstif) had >equal quality of support, didn't they? Why has the gtk version been >chosen as the "good" one for pcb-rnd? Sorry, you are wrong, this has not happened. We did not "choose the gtk hid as the good one". We did not abandon the lesstif hid. We do fully support the lesstif HID and it did get a lot of upgrades recently. Compared to gEDA/pcb, both the gtk HID and the lesstif HID got major upgrades and by now they are both rather far away from the original source (especially on the DAD API side). There is no special focus on the gtk HID. I am trying to get both the lesstif and the gtk HIDs to equal level in functinality and stability. We even have a few core features which are currently blocked by waiting for the lesstif HID to catch up on some APIs/features (e.g. tree-tables). There is a slight bias: 99% of our users are using the gtk HID so we get most of the bug reports and testing on that. (We used to have an experiment with gtk3+cairo HID for a short time, and that showed users were not interested. In other words: given the choice between motif and gtk, most users clearly go for gtk; given multiple versions of gtk, users are indifferent. Version (being latest/greatest) doesn't matter much, but things like rendering speed matters a lot). Now about lesstif. Before we go further into this: there are a lot of debugging and development currently looking for developer hours in our lesstif HID. Are you willing to invest 4..8 hours a week in that? If so, we will have more progress on lesstif. If not, then are you willing to invest money in it, paying someone to get those bugs in the lesstif HID fixed? If no to both, then I have to ask: what do _you_ do for getting more focus on hid_lesstif? If you meant the windows port: lesstif (motif) heavily depends on X11, and there's no native X11 support in the windows API. In other words: getting motif to work _natively_ on windows is not a cross compilation work, but real porting (partial rewrite) of the motif library for windows. If you want to spend your time on that, go ahead - I have better things to do, so I went for the easier path, which was cross-compiling gtk, since gtk/gdk does have explicit, native win32 support. >Igor2 doesn't seem like the kind >of person who likes to chase after the latest and greatest cool GNU >thing - instead I see Igor2 as more of a minimalist, using scconfig >instead of autotools, minimizing other dependencies and all that. So >if the project prefers to be more minimalist, then why is that gtk2 >monster still the primary and best-supported HID in pcb-rnd and indeed >in all of ringdove? Yup, I am not interested in the latest/greatest/coolest GNU or GUI thing. For me, GUI is a necessary bad in pcb-rnd. You'd be surprised to see how much of the actual development/bugfixing of pcb-rnd happens without GUI. The gtk HID is being "best supported" because of user preferences. But again: lesstif is equally available, but it gets much less user pull. Availability of the lesstif HID will be true for all ringdove apps: once you compile the hidlib with whichever HIDs you prefer, those HIDs will be _equally_ available for all ringdove apps. Yes, this means we will have a gerber(-and-more) viewer that (also) works on lesstif/motif. If you want this to happen faster, you'll need to invest developer time or money in it. >Why has the opposite decision not been made, >namely ditching or deprecating gtk and adopting lesstif as the primary >HID instead? Sorry, this makes no sense. Please try to stick to facts. There has been no decision to ditch or deprecate the lesstif HID. Nor the opposite. Both the gtk2 HID and the lesstif HID work fine, I don't think we would deprecate or ditch either of them any time soon. Due to the (3rd party) libraries under the HIDs, on different systems different HIDs may be available. For example you don't want to compile gtk on IRIX5.1, so the "de facto primary HID" there is lesstif. And you probably don't want to compile motif for windows, so you will tend to use gtk there. The only real difference on code level is: at the moment the lesstif HID is lagging far behind in some low level functionality. If you want it to develop faster, you should invest in it. >Surely lesstif is much lighter and less scary than gtk - >or is not? This is a real question, I am genuinely trying to >understand. Absolutely, and some of the API of lesstif is more reasonable than GTK. I find the glib objects, glib signals and async parts especially annoying in GTK. Some API in lesstif, tho, is PITA; for example implementing a new widget is unreasonably complicated. The quest for a simple and stable solution: Long term, I plan to have an SDL2 based HID. (I wanted to have that earlier, but other pcb-rnd subprojects took over. Now I see having a schematics editor is more critical than having another HID so it gets delayed again.) The dependency tree under SDL2 is much smaller than the one under GTK, and SDL2 does have native support for a wide variety of systems (including X11 and win32). Once the SDL2 based HID will be ready, it will take some time to get tested out and get mature. Once that happens, I will declare the SDL2 HID as the primary HID. But remember: "primary" only means the most recommended, most tested HID. It does not mean we will rush to remove gtk or lesstif. HTH, Igor2
Reply subtree:
3436 Re: [pcb-rnd] Why focus on gtk? (was: experimental windows port - from ge...@igor2.repo.hu
3439 Re: [pcb-rnd] Why focus on gtk? (was: experimental windows port - from Mychaela Falconia <my...@gmail.com>
3440 [pcb-rnd] non-graphical schematics, layout (was: Why focus on gtk?) from John Griessen <jo...@cibolo.com>
3441 Re: [pcb-rnd] non-graphical schematics, layout (was: Why focus on gtk?) from Mychaela Falconia <my...@gmail.com>
3442 Re: [pcb-rnd] non-graphical schematics, layout from John Griessen <jo...@cibolo.com>