[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-user: lesstif vs gtk (no flame please)



can't find the thread I meant to reply on....

Someone had commented that lesstif is old and out of date and I think questioned why use it at all.

One of the big values of all the work DJ has put into creating the HID version of PCB with both lesstif and GTK gui's is that having 2 GUI's keeps you honest about the break between core code and GUI code. There's really nothing like 2 guis to force you to do that. Some of the benefits from that break is

- easier to maintain the core code

- easier to add exporters in a gui independent way (in fact if you were to add a png exporter it would take *no* work on the gtk code, you'd get the dialog box for it automatically).

- if someone ever wants to do a native win32 port, it should be much easier.


After that, its personal preference as if you like lesstif or gtk. I personally prefer the way gtk looks, but take a look at the output of ldd on my solaris box:


lesstif version:


libXm.so.4 => /usr/lib/libXm.so.4 libXpm.so.4 => /usr/openwin/lib/libXpm.so.4 libXmu.so.4 => /usr/openwin/lib/libXmu.so.4 libXt.so.4 => /usr/openwin/lib/libXt.so.4 libXext.so.0 => /usr/openwin/lib/libXext.so.0 libSM.so.6 => /usr/openwin/lib/libSM.so.6 libICE.so.6 => /usr/openwin/lib/libICE.so.6 libX11.so.4 => /usr/openwin/lib/libX11.so.4 libxnet.so.1 => /usr/lib/libxnet.so.1 libm.so.1 => /usr/lib/libm.so.1 libc.so.1 => /usr/lib/libc.so.1 libdl.so.1 => /usr/lib/libdl.so.1 libnsl.so.1 => /usr/lib/libnsl.so.1 libsocket.so.1 => /usr/lib/libsocket.so.1 libmp.so.2 => /usr/lib/libmp.so.2 /usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1

note nothing outside of the base install --> easy to build

gtk version:

libxnet.so.1 => /usr/lib/libxnet.so.1
libm.so.1 => /usr/lib/libm.so.1
libgtk-x11-2.0.so.0 => /usr/pkg/lib/libgtk-x11-2.0.so.0
libgdk-x11-2.0.so.0 => /usr/pkg/lib/libgdk-x11-2.0.so.0
libatk-1.0.so.0 => /usr/pkg/lib/libatk-1.0.so.0
libgdk_pixbuf-2.0.so.0 => /usr/pkg/lib/libgdk_pixbuf-2.0.so.0
libpangoxft-1.0.so.0 => /usr/pkg/lib/libpangoxft-1.0.so.0
libpangox-1.0.so.0 => /usr/pkg/lib/libpangox-1.0.so.0
libpango-1.0.so.0 => /usr/pkg/lib/libpango-1.0.so.0
libgobject-2.0.so.0 => /usr/pkg/lib/libgobject-2.0.so.0
libgmodule-2.0.so.0 => /usr/pkg/lib/libgmodule-2.0.so.0
libdl.so.1 => /usr/lib/libdl.so.1
libglib-2.0.so.0 => /usr/pkg/lib/libglib-2.0.so.0
libiconv.so.2 => /usr/pkg/lib/libiconv.so.2
libc.so.1 => /usr/lib/libc.so.1
libX11.so.4 => /usr/openwin/lib/libX11.so.4
libsocket.so.1 => /usr/lib/libsocket.so.1
libnsl.so.1 => /usr/lib/libnsl.so.1
libintl.so.2 => /usr/pkg/lib/libintl.so.2
libpthread.so.1 => /usr/lib/libpthread.so.1
librt.so.1 => /usr/lib/librt.so.1
libgcc_s.so.1 => /usr/pkg/gcc3/lib/libgcc_s.so.1
libXrandr.so.2 => /usr/pkg/lib/libXrandr.so.2
libXi.so.5 => /usr/openwin/lib/libXi.so.5
libXext.so.0 => /usr/openwin/lib/libXext.so.0
libXft.so.2 => /usr/pkg/lib/libXft.so.2
libfreetype.so.6 => /usr/pkg/lib/libfreetype.so.6
libz.so.1 => /usr/pkg/lib/libz.so.1
libfontconfig.so.1 => /usr/pkg/lib/libfontconfig.so.1
libXfixes.so.0 => /usr/pkg/lib/libXfixes.so.0
libXcursor.so.1 => /usr/pkg/lib/libXcursor.so.1
libXrender.so.1 => /usr/pkg/lib/libXrender.so.1
libpangoft2-1.0.so.0 => /usr/pkg/lib/libpangoft2-1.0.so.0
libmp.so.2 => /usr/lib/libmp.so.2
libaio.so.1 => /usr/lib/libaio.so.1
libmd5.so.1 => /usr/lib/libmd5.so.1
libexpat.so.0 => /usr/pkg/lib/libexpat.so.0
/usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1
libthread.so.1 => /usr/lib/libthread.so.1
/usr/platform/SUNW,Ultra-5_10/lib/libmd5_psr.so.1


if I were not using NetBSD's pkgsrc on my solaris box, the number of libs (23) from /usr/pkg would have had to be build by hand which can become painful.

-Dan