←back to thread

X and NeWS history

(minnie.tuhs.org)
177 points colinprince | 1 comments | | HN request time: 0.289s | source
Show context
badsectoracula ◴[] No.15327002[source]
> The only really worthwhile thing about X was the distributed extension registration mechanism. All of the input, graphics and other crap should be moved to extension #1. That way, it won't be mandatory in conforming implementations once that stuff was obsolete. As you probably know, that's where we are today; nobody uses that stuff but it's like the corner of an Intel chip that implements the original instruction set.

On the other hand, all of the input, graphics and "other crap" being mandatory means that as a developer you can pretty much guarantee that they are there and if you care about having your stuff work everywhere (well, everywhere X is available anyway) you can simply rely on that without having to support a bunch of different APIs that may or may not be there (see the audio situation a few years ago in Linux).

(also FWIW a lot of people use the X primitives, not everyone uses Gtk or Qt)

replies(2): >>15327581 #>>15328599 #
kpxxx ◴[] No.15328599[source]
I'm not quite sure I believe that a lot of people use the X primitives. The alternative to Gtk and Qt is most often not raw Xlib. There are alternative toolkits such as Motif, Xt. And then graphics abstractions such as SDL. Obviously all of these (including Gtk and Qt) use at least some of the X primitives in their rendering or themeing engines, but direct use of Xlib primitives is quite rare. And I think the whole point of the argument is that the commonly used primitives today are things like XRENDER, which aren't really primitives since they are an extension. Precisely the point being made.

Basically, name me an app that uses solely X11 primitives without the use of any extensions and no overlying library over libX11 (and no, xclock doesn't count)

replies(2): >>15328782 #>>15336151 #
1. badsectoracula ◴[] No.15336151[source]
Of course i include using toolkits that themselves use X primitives, not only using Xlib directly :-).

For example my own Little Forms library [0] uses the X server's drawing and text operations (you can use Xft instead, it is a build option, but you can also make a static library for binaries that rely only on xlib and nothing else).

[0] http://runtimeterror.com/rep/lforms