I mean, when will they finally realize that notebook users are different from desktop users? For example, the environment of a notebook user constantly changes? That the network configuration is not static but dynamic? And that the web proxy is a dynamic setting - it is highly nonsensical to pack these into program configuration files instead of reading them from environment settings? For my part, it can certainly be a place for this in the configs - but then there should also be a way to override this setting from the environment.
Where this has become particularly noticeable to me recently:
- subversion: the proxy configuration is only possible in ~/.subversion/server. Rarely stupid, you can't even refer to an environment variable (at least I can't find anything about it)
- x-chat: the configuration is only done via the GUI. The system-wide proxy in the environment variables should override any local settings in the GUI and be displayed there, there is a reason why the user has set a proxy outside.
This is especially annoying with Unix applications that are ported to OS X Aqua (e.g. X-Chat Aqua is such a case): with real OS X applications, the network settings are used for proxies and the like, so that these applications then use the correct proxy when the network environment is switched. With ported applications, this access to the network settings is missing - but because they are GUI applications, possible settings from the shell startup scripts are not evaluated. Because these are possibly not active at all in GUI applications. Instead, a special property file is read - which is rarely stupid, because it is static and no shell script. Yes, Apple messed that up.
With programs that are started from the shell, you can easily read the proxy settings using scutil and a few lines of Python and put them into the environment - but with GUI applications and even some CLI programs, you fail with the ignorant developers. Bah. Humbug.