On Mon, Oct 17, 2016 at 12:50:53AM +0100, Thomas Adam wrote: > On Mon, Oct 17, 2016 at 12:01:14AM +0100, Dominik Vogt wrote: > > On Sun, Oct 16, 2016 at 05:09:57PM +0100, Thomas Adam wrote: > > > On Sun, Oct 16, 2016 at 04:48:34PM +0100, Dominik Vogt wrote: > > > > Maybe it's a silly question, but *why* does fvwm need mandatory > > > > image support at all? Arent's images in a window manager just > > > > gimmicks? > > > > > > It's not a silly question, but I'd hoped the commit message said enough. > > > Gimmick is a matter of perspective. I'm trying to stike a balance through > > > useability. I don't think it's unreasonable to assume one image library > > > as > > > the de facto; others are still available. I'm trying to frame this in > > > terms > > > of: > > > > > > * Making the default config useable and useful (which from what I'm > > > seeing, > > > does entail some form of image loading (for icons im menus and > > > elsewhere) > > > > > > * Integrating with other third-party applications which generate menus > > > (which > > > use PNG). > > > > I completely understand that, and PNG seems to be a sensible > > choice. The thing I'm unsure about is whether it should be > > possible to build fvwm without any libraries and expendable > > features to have a lean, minimalistic WM. But I've honestly no > > idea whether anybody did that in the recent past or not. > > These days you find two camps---those programs which are deliberately > minimalistic in some way, and those which want to include a lot of things; > size doesn't matter. > > I suspect when FVWM was in its heyday, the cost of including certain features > would have had an impact on resources and memory footprint, etc. This > explains why GNOME and KDE at the time had a bad press for resources. It's > worth bearing in mind though that keeping things minimal is always worthwhile.
But keep small and/or embedded systems in mind. It's still possible to use just the core without any libraries and modules and have a very small WM that can even draw basic window decoration and some graphical effects. ... This may have gotten a bit out of hand (fvwm-2.6.7): $ ./configure --disable-nls --disable-mandoc --disable-sm --disable-shape --disable-shm --disable-xrender --disable-xinerama --disable-iconv --disable-xft --disable-bidi --disable-perllib --disable-gtk --disable-gtktest --disable-imlibtest --with-png-library=no --with-stroke-library=no --with-xpm-library=no --with-rplay-library=no --with-readline-library=no (everything turned off) $ make CFLAGS="-O3" $ cd fvwm $ ls -s --si fvwm 979k fvwm $ ldd fvwm linux-gate.so.1 => (0xb77d7000) libSM.so.6 => /usr/lib/i386-linux-gnu/libSM.so.6 (0xb77bd000) libICE.so.6 => /usr/lib/i386-linux-gnu/libICE.so.6 (0xb77a4000) libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xb7791000) libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb7659000) libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb7633000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb74e1000) libuuid.so.1 => /lib/i386-linux-gnu/libuuid.so.1 (0xb74db000) libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb74b7000) libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb74b3000) /lib/ld-linux.so.2 (0xb77d9000) libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb74b0000) libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb74aa000) Not exactly what I'd call small and with few dependencies. libSM linked although explicitly disabled. This looks actually like a bug. Hm. > But having many options---even if they're things which you can opt in and out > of, still carry with them a burden of responsibility on the maintainer(s). > For example, we currently still carry around XPM and SVG. Why? XPM is dead, > and I am <-> close to removing it. SVG support is much more promising, it's a > shame more things don't support it externally to make it more viable. > > The image rendering code in FVWM is clever---overly complex in trying to > abstract away the actual format so that FVWM doesn't care about it for things > like menus and buttons, etc. If we went with something modular, but > extensible, we'd still be having to maintain these things. I'd be very much against removing the plug-in image format and hard coding PNG instead. While there definitely is some unpleasant to maintain bloat in fvwm, it's certainly not the image library. > It's a lot easier to cut out the chaff, and make a statement about the things > we do support. Sure, but I suspect in this specifice case we're going to regret it in the future. > That will be just as minimal and small, IMO, without > sacrificing much else, if anything. Ciao Dominik ^_^ ^_^ -- Dominik Vogt