From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: David PONCE Newsgroups: gmane.emacs.devel Subject: Re: tree widget Date: Thu, 29 Apr 2004 18:06:00 +0200 (CEST) Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <19647567.1083254760687.JavaMail.www@wwinf0803> Reply-To: david.ponce@wanadoo.fr NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1083257036 20164 80.91.224.253 (29 Apr 2004 16:43:56 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 29 Apr 2004 16:43:56 +0000 (UTC) Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Thu Apr 29 18:43:45 2004 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1BJEdV-0004xx-00 for ; Thu, 29 Apr 2004 18:43:45 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1BJEdV-0000dA-00 for ; Thu, 29 Apr 2004 18:43:45 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.30) id 1BJEAa-0008Aw-9j for emacs-devel@quimby.gnus.org; Thu, 29 Apr 2004 12:13:52 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.30) id 1BJE9Q-000811-Ay for emacs-devel@gnu.org; Thu, 29 Apr 2004 12:12:40 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.30) id 1BJE8s-0007tB-GX for emacs-devel@gnu.org; Thu, 29 Apr 2004 12:12:37 -0400 Original-Received: from [193.252.22.23] (helo=mwinf0803.wanadoo.fr) by monty-python.gnu.org with esmtp (Exim 4.30) id 1BJE30-000706-15 for emacs-devel@gnu.org; Thu, 29 Apr 2004 12:06:02 -0400 Original-Received: from wwinf0803 (wwinf0803 [172.22.139.30]) by mwinf0803.wanadoo.fr (SMTP Server) with ESMTP id AA2CA1800148 for ; Thu, 29 Apr 2004 18:06:00 +0200 (CEST) Original-To: emacs-devel X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.4 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:22369 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:22369 [...] > How do you think including tree-widget developed by David PONCE > in emacs official distribution? Hi All, I received, and will shortly send back the signed paper allowing to include tree-widget in the GNU Emacs distribution. As I got write access to CVS, I should be able to check it in myself. In order to do so, I would like some advice about the following points. First, I suppose that tree-widget.el should go into the main lisp directory? The next point looks more promizing ;-) tree-widget can use image themes to display nice-looking trees. For now, I created two graphical themes: a general purpose "default" theme, and a file system oriented "folder" theme. Each theme contains a set of images with predefined names that represent the different parts of the tree to draw. When an image is not found in a particular theme, the one in the "default" theme is used, so it is easy to create a new theme by overriding only certain images. >>From an implementation point of view, a theme is a subdirectory in a main theme directory: tree-widget-themes/ default/ folder/ Choosing a theme, is simply to give the name of the corresponding subdirectory. The main theme directory is customizable, it can be an absolute name, or the name of a subdirectory located respectively in the `load-path' or in the `data-directory'. By default, tree-widget search for a "tree-widget-themes" subdirectory. My question is where to install the theme directory? In the lisp directory (I am not convinced this is the right place), or in the `data-directory' ("./etc"), which seems a better choice. It is not clear to me where images (and other data files) specific to a package should be installed. To compare, in XEmacs things look better: each package has its own data directory where you can put images and other things. A `locate-data-directory' function is provided for packages to easily retrieve their data directory. For example tree-widget uses (locate-data-directory "tree-widget"). Perhaps it could be worth having a similar organization in "etc", that is a sub-directory for each package that needs one for its data files. This way the lisp directory would remain clean (only Elisp). For example, there could be a "etc/tree-widget" directory where tree-widget could search for the "built-in" themes. It is easily to use its own themes via a customized theme directory added to the `load-path'. I hope my explanations were clear enough. Thank you so much for any advice. Regards. David