From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Automatic face setting based on contrast? Date: Tue, 05 Oct 2021 21:39:37 -0400 Message-ID: References: <87k0iub53g.fsf.ref@yahoo.com> <87k0iub53g.fsf@yahoo.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="38802"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Stefan Kangas , luangruo@yahoo.com, emacs-devel@gnu.org To: Richard Stallman Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Oct 06 03:41:21 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mXvvs-0009v7-QW for ged-emacs-devel@m.gmane-mx.org; Wed, 06 Oct 2021 03:41:21 +0200 Original-Received: from localhost ([::1]:53530 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mXvvr-0002Yb-Hi for ged-emacs-devel@m.gmane-mx.org; Tue, 05 Oct 2021 21:41:19 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:52454) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mXvuY-0001me-J5 for emacs-devel@gnu.org; Tue, 05 Oct 2021 21:39:58 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:18700) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mXvuU-00056Z-M1; Tue, 05 Oct 2021 21:39:56 -0400 Original-Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 7CE6E1003ED; Tue, 5 Oct 2021 21:39:51 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 40BD510012B; Tue, 5 Oct 2021 21:39:50 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1633484390; bh=EFArC3cXFXcf8vUAJ2g0LYeLhlKmZp69+lWXFGihV1E=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=H6fkyDXctwdW+S+4y7eqO2yd5tMj3bKNtdRVZnmKDERgJfer2Nh3XrI/W97kgH4rg ktVMvyvnjkb+Bo34pmzHQ9Iq70WAqLld6BXvoYfcfk2sLEiKSpI3SmPcKMGXGihr4I my11QF3qd1gEP9wM6bFVZuQTwXYI8rMuEvplQc8KJwFzxGaNJeA21gxjLyELmLa61p rClSxkqHcxdpyRlPJ3I2NTzXdLbjuI0qXqfTOCaeGwT9SVKwuIgjG1ws9ROQUo7tY1 7IYAxGvhiR9HPnmUFSiqY70bQgbA6ImGvlJy9VHQzbm8VLSv+rCQ9RyLMDKZGYb2Uu M+dtHtM2CKEyA== Original-Received: from pastel (unknown [45.72.241.23]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id E7F021203B5; Tue, 5 Oct 2021 21:39:49 -0400 (EDT) In-Reply-To: (Richard Stallman's message of "Tue, 05 Oct 2021 17:15:46 -0400") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:276403 Archived-At: > Currently, a face can inherit properties from another face. > Could there be a kind of contrast-inheritance where face A > is set automatically to contrast strongly with B, and contrast > somewhat with C and D? Based on calculations on the RGB codes, > I imagine. We discussed such things in the past and yes, it would be great. There are various situations, one of them being to compute faces when a theme is installed or when a face is defined, but there can also be more dynamic cases where a face could adapt to the place where it's used (i.e. the actual computation would be performed during redisplay). Not sure if those two situations should be treated uniformly or if they should be handled by different mechanisms. Stefan