From owner-freebsd-hackers Wed Apr 28 19: 5:37 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from mail-out2.apple.com (mail-out2.apple.com [17.254.0.51]) by hub.freebsd.org (Postfix) with ESMTP id CA4B314CAE for ; Wed, 28 Apr 1999 19:05:34 -0700 (PDT) (envelope-from wsanchez@scv3.apple.com) Received: from mailgate2.apple.com ([17.129.100.225]) by mail-out2.apple.com (8.8.5/8.8.5) with ESMTP id SAA44652 for ; Wed, 28 Apr 1999 18:59:31 -0700 Received: from scv3.apple.com (scv3.apple.com) by mailgate2.apple.com (mailgate2.apple.com- SMTPRS 2.0.15) with ESMTP id ; Wed, 28 Apr 1999 18:59:24 -0700 Received: from joliet-jake (joliet-jake.apple.com [17.202.40.140]) by scv3.apple.com (8.9.3/8.9.3) with SMTP id SAA33648; Wed, 28 Apr 1999 18:59:22 -0700 Message-Id: <199904290159.SAA33648@scv3.apple.com> To: W Gerald Hicks Subject: Re: Adding desktop support Cc: Warner Losh , John Birrell , hackers@freebsd.org, wghicks@wghicks.bellsouth.net In-Reply-To: "Your message of Wed, 28 Apr 1999 11:36:14 MDT."<199904281736.LAA15179@harmony.village.org> Date: Wed, 28 Apr 1999 18:59:18 -0700 From: Wilfredo Sanchez Reply-To: wsanchez@apple.com X-Mailer-Extensions: SWSignature 1.2 MIME-Version: 1.0 (Apple Message framework v106) X-Mailer: by Apple MailViewer (2.106) Content-Type: text/enriched; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Helvetica You guys might want to look at = what NeXT did with NeXTStep a while back; the Mach-O binary format = allowed for icons and so on. In fact, /usr/bin/emacs still works that = way today on Mac OS X Server (some legacy code really lasts). If you = make a directory called Emacs.app, and make a symlink to /usr/bin/emacs = called Emacs in that directory, the workspace will find the icon in the = Mach-O executable, and display it in the viewer. Double clicking on it = will launch it as an app, etc. The program itself is buggy as hell, but = that mechanism still works. dyld has the API for getting to that data, and that will be release in = Darwin fairly soon. What we did find eventually was that you're going to end up wanting = additional resources as things get more complicated, like icons for the = UI elements and so on, so we moved from one file to directory bundles = which contain the executable and all associated resources in one place. = For example: TextEdit.app/ TextEdit - the program binary, (n-way fat = for all supported architectures) TextEdit.tiff - 48x48 Icon Resources/ more images utility programs (sort of an app-specific = libexec) blah Headers/ API into the app, if any, for loadable bundles, = etc. You can do this without resource forks, and it's pretty general. Alfred Perlstein: Ohlfs| Also = note that all userland programs (with the exception of dosemu) | are command line driven. Running them by clicking on them in X will | most likely do nothing. This doesn't belong in the base system, | instead it's a standard should be proposed to the GNOME, KDE and other | windowing systems people. Helvetica In Mac OS X Server, clicking on a Unix tool launches Terminal, and the = tool runs in a Terminal window. You can do the same with xterm -exec = blah, as I recall. In fact, you can script Terminal to do services, so = (for example), I can navigate to a directory in the file viewer, and = select a menu or command-FOO item which will do a cvs = checkout/update/commit/etc. in that directory in a Terminal window. Also = not hard to do in X. Thomas David Rivers:Ohlfs | However, in a more abstract sort of mind... What I want out of = FreeBSD is=20 | not a platform with icons that you can point-and-click on. But, a = powerful=20 | system I can use for my development activities. I don't use the icons = I=20 | have now... but, perhaps I'm just an old fogey... My point being,=20 | introduction of this may cause a dichotomy in the FreeBSD user = community. =20 | Power/programming users and casual point-and-click users. I've = never seen=20 | an operating system that was successful at addressing both of these at=20= | once (although Windows certainly claims to be) and, in my opinion, I = want=20 | the power/programming OS, not the point-and-click one. We may be = headed=20 | down a slippery-slope... I would certainly argue that any program | that *required* this information to be present in an executable was | flawed. Helvetica Adding ease-of-use options doesn't exclude doing things The Old Way. = You *can* have both. Sean Eric Fagan: Ohlfs| For example... = Apple Computer currently has a system like what was proposed. | Actually, it's a considerably better system, since it's = general-purpose, | extensible, and user-modifiable if desired, but it's along the same = lines. |=20 | They're dropping it, and going with what NeXTStEP uses, for MacOS X -- = each | "application" is a directory, and has certain files in the directory. = These | files include the icons (multiple ones for multiple uses, of course -- = how is | the original propronent of this bloat going to handle that?), the = executable, | and all sorts of other metadata. Helvetica Hold on there... We ain't dropping the Mac OS thing. We're using the = NeXT bundle strategy in Mac OS X Server, because there we use UFS. Mac = OS X will have HFS+ which gives us named attributes on any file, and = we'll probably make heavy use of that, as before. Both work pretty well. = I do think the NeXT thing suits BSD a lot better, because it fits the = Unix model nicely, and you don't have HFS+ support (yet). Certainly you = can't count on everyone using HFS+. -Fred -- =
CourierWilf= redo S=E1nchez, wsanchez@apple.com
CourierApple Computer, = Inc., Core Operating Systems / BSD 1 Infinite Loop, 302-4K, Cupertino, CA 95014 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message