4 ms·
Agree. "Single executable" combined with "less than 40mb" is just looking for trouble for what the author is trying to do. If you want to do win32, go ahead and
by rty32 2y ago
Agree. "Single executable" combined with "less than 40mb" is just looking for trouble for what the author is trying to do. If you want to do win32, go ahead and give up styling. Otherwise, make compromises. I think many of these are excellent choices chosen by many programs that I use, it's the author's stringent requirements and unrealistic expectations that is holding back.
- beagle3 2y agoThis comment makes me feel like I live on a different planet. In 1999, I built a completely custom Win32 GUI for a (brandable) chat application - that was the product the company I worked for was selling. Pure C and C++. It was a 32-bit app, not 64 bits. And we felt bad for it being 250KB single executable (skin included in resource section) and not “150KB or less” as was our initial target. But making it accessible and fully skinnable/themable/l10n/i18n did add quite a bit which we hadn’t realized when thinking 150KB was realistic. But it’s not like we resorted to any crazy tricks; that was just the stripped linker output. It was still a reasonable download at the dominant dial up internet at the time (28.8Kbps IIRC) Sure, modern tools add a lot of cruft that you’d have to work hard to reduce, but 40MB. Oh man.
- rfoo 2y ago> but 40MB. Oh man. It is perfectly fine to build a 150KB or less executable today. But then OP decided they don't want to write paint functions for custom GUI and insist on finding a library to do so, I guess that's not what you did in 1999, right?
- beagle3 2y agoI actually used FLTK for the first iteration; The theming support it had at the time was not sufficient, though, and the i18n story non existent (that was before even 1.0, versions were still labeled by dates). So, because pervasive theming/branding was a hard requirement, and i18n a softer one (every skin has to only support one locale), i had to abandon FLTK. But FLTK did spoil me by providing seamless flicker free double buffering out of the box, which I insisted on implementing in our gui. For those of you who don’t remember - Win32 flickered badly on almost all screen updates, window resizes, etc — I think that was generally true of most apps until 2010 or so. FLTK was essentially the only GUI toolkit at the time (1999) that had no flicker out of the box.
- rlinge 2y agoThere's another way to build a 150KB or less executable today. Mime is less than 90KB, have a look at https://webd.cf/webd/ https://webd.cf/webd/ It's a web file manager.
- ClumsyPilot 2y ago> In 1999, I built a completely custom Win32 GUI for a (brandable) chat application Given that it’s windows, it might still run today, so it likely is still possible
- alok-g 2y agoWinamp comes to mind as a counter example.
- hermitdev 2y agoIMO, every media player since Winamp 2.x has been largely a step _backwards_ in pretty much every metric one could put forth. It was light-weight, using minimal CPU & RAM. It was skinable. It was reliable. It had great plugin support. I don't recall it leaking memory, either. I basically had it set to auto run on login on my PC. I never closed it. Didn't need to. I had _only_ 32MB of RAM on that computer.
- alok-g 2y ago+1. I still use Winamp, and essentially in its 2.x mode.
- abareplace 2y agoMy app is around 500 KB (not megabytes) and it supports dark mode (see https://www.abareplace.com/ https://www.abareplace.com/). So this is definitely possible without using Electron or bloated GUI libraries.