On 17/11/2007, Andrew J. Hesford <email@hidden> wrote:
The point you're missing is that the user doesn't always want to use
the X server just because it is available (via launchd) or already
running (started either by the user or launchd). Checking $DISPLAY to
determine the course of action circumvents the user, and that's not
good. I'll give you a good example: when I log into remote machines
and launch vim, it causes launchd to start X11, because vim was
compiled with X11 support, and it is querying the display about
something. This happens even though vim doesn't use X... it is purely
textual. To avoid having my X server automatically start when I start
vim, I have to explicitly tell vim not to use X. This is annoying and
wrong.
You'll think this is a case in your favor, but it isn't. Because the
issue isn't that launchd is starting the server... it's that vim is
checking for servers. Even if I already have X open for a legitimate
reason (let's say I'm running an xterm), vim has no business looking
for servers, because I didn't tell it to. Yes, it was compiled with
support for X11. But until I launch it as gvim (which opens up a
graphical window), it should stay the hell away from my X server.
This is a valid example, but apart from showing that vim is a bad
program (I can't stand it and never use it for other reasons), it also
shows how prevalent checking $DISPLAY is. It is simply the
convention.
As to whether an example is "in my favour", I was not arguing for
"my point of view". It was just pointing out an existing convention
that apparently has been overlooked, and "my views" are always
wrong anyway, so they don't matter.