From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/16368 Path: main.gmane.org!not-for-mail From: vroonhof@math.ethz.ch Newsgroups: gmane.emacs.gnus.general Subject: Re: Themes (was: Re: pGnus) Date: Fri, 28 Aug 1998 15:16:48 +0200 (MET DST) Sender: owner-ding@hpc.uh.edu Message-ID: <199808281316.PAA14738@loewner.math.ethz.ch> References: NNTP-Posting-Host: coloc-standby.netfonds.no Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Trace: main.gmane.org 1035155252 27343 80.91.224.250 (20 Oct 2002 23:07:32 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sun, 20 Oct 2002 23:07:32 +0000 (UTC) Cc: vroonhof@math.ethz.ch, ding@gnus.org Return-Path: Original-Received: from gizmo.hpc.uh.edu (gizmo.hpc.uh.edu [129.7.102.31]) by sclp3.sclp.com (8.8.5/8.8.5) with ESMTP id JAA06887 for ; Fri, 28 Aug 1998 09:17:22 -0400 (EDT) Original-Received: from sina.hpc.uh.edu (sina.hpc.uh.edu [129.7.3.5]) by gizmo.hpc.uh.edu (8.7.6/8.7.3) with ESMTP id HAF08660; Fri, 28 Aug 1998 07:48:22 -0500 Original-Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); Fri, 28 Aug 1998 08:17:08 -0500 (CDT) Original-Received: from sclp3.sclp.com (root@sclp3.sclp.com [209.195.19.139]) by sina.hpc.uh.edu (8.7.3/8.7.3) with ESMTP id IAA22347 for ; Fri, 28 Aug 1998 08:17:00 -0500 (CDT) Original-Received: from frege.math.ethz.ch (root@frege-d-math-north-g-west.math.ethz.ch [129.132.145.3]) by sclp3.sclp.com (8.8.5/8.8.5) with ESMTP id JAA06879 for ; Fri, 28 Aug 1998 09:16:55 -0400 (EDT) Original-Received: from loewner.math.ethz.ch (loewner [129.132.144.8]) by frege.math.ethz.ch (8.8.8/Main-STAT-mailer) with ESMTP id PAA00398; Fri, 28 Aug 1998 15:16:26 +0200 (MET DST) Original-Received: (vroonhof@localhost) by loewner.math.ethz.ch (8.6.12/D-MATH-client) id PAA14738; Fri, 28 Aug 1998 15:16:48 +0200 In-Reply-To: from Andi Kleen at "Aug 28, 98 01:48:58 pm" Original-To: ak@muc.de (Andi Kleen) X-Mailer: ELM [version 2.4ME+ PL38 (25)] Precedence: list X-Majordomo: 1.94.jlt7 Xref: main.gmane.org gmane.emacs.gnus.general:16368 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:16368 > >> I don't know anyone who is working on adding themes to Custom, though. > > > And just to iterate the point once again for third parties wanting to > > code; I have been considering it for some time. I even have a patch > > for an old custom version that implements a "site" custom theme. > > Could you define what exactly you mean with themes in context of emacs/gnus? A theme is basically a group of settings of variables. The two main examples I am thinking of are 1. The set of customizations made my the site administator. 2. A set of customizations that define a consistent look (colors, fonts, etc). This is where the name comes from. Theme support for custom I define in three levels. i). Low level. Allow Custom to keep track of which (variable . setting) pairs came from which theme. Note that custom already does part of this in the 'set,saved,standard' scheme. ii). Medium level. Allow loading of themes and allow overiding of individual settings. iii). User interface. iv). User interface for Defining a theme. I already implemented this for the limited case of 1. above. This with regard to the fact that "Reset to Standard" is almost never what you want. You want "Reset to before I started messing with it." == "Reset to site". What I learned from that a. level i) support is easy to do, thanks to the quality of Per's code. It is a simple exention of the 'set,saved,standard' scheme. b. In this case iii) was easy too because of the remarks above. There is still a hierarchy, it just reads set,saved,site,standard' now. It will probably be more difficulties if you allow the dependencies to be a tree instead of the stack. c. The hard part is in getting the override in ii) right, which is needed to implement 'reset' on level iii). d. For iv). I required manual editing of the produced custom file. Jan