From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?Q?=C3=93scar_Fuentes?= Newsgroups: gmane.emacs.help Subject: Trying to define face dynamically Date: Thu, 17 Oct 2019 20:54:34 +0200 Message-ID: <87pnivnqxh.fsf@telefonica.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="76325"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Thu Oct 17 21:04:46 2019 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iLB4n-000Jgg-2O for geh-help-gnu-emacs@m.gmane.org; Thu, 17 Oct 2019 21:04:45 +0200 Original-Received: from localhost ([::1]:57194 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iLB4l-0006r2-Jo for geh-help-gnu-emacs@m.gmane.org; Thu, 17 Oct 2019 15:04:43 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35984) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iLAv4-0005Rv-8Z for help-gnu-emacs@gnu.org; Thu, 17 Oct 2019 14:54:43 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iLAv2-0001cL-Qj for help-gnu-emacs@gnu.org; Thu, 17 Oct 2019 14:54:41 -0400 Original-Received: from relayout01-redir.e.movistar.es ([86.109.101.201]:58527) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iLAv2-0001c1-KM for help-gnu-emacs@gnu.org; Thu, 17 Oct 2019 14:54:40 -0400 Original-Received: from sky (238.red-79-144-110.dynamicip.rima-tde.net [79.144.110.238]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: 981711563@telefonica.net) by relayout01.e.movistar.es (Postfix) with ESMTPSA id 46vJHb1CZXzfcDy for ; Thu, 17 Oct 2019 20:54:34 +0200 (CEST) X-CTCH-Score: 0.000 X-CTCH-ScoreCust: 0.000 X-TnetOut-Country: IP: 79.144.110.238 | Country: ES X-TnetOut-Information: AntiSPAM and AntiVIRUS on relayout01 X-TnetOut-MsgID: 46vJHb1CZXzfcDy.A9506 X-TnetOut-SpamCheck: no es spam, Unknown X-TnetOut-From: ofv@wanadoo.es X-TnetOut-Watermark: 1571943276.09602@XnJ3zbwaiiXfrnR8qzqZuQ X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 86.109.101.201 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:121663 Archived-At: (Apologies if this message arrives duplicated. Seems that gmane is eatin/delaying messages again) On this mode, which uses Emacs 27 specific features: https://raw.githubusercontent.com/dcolascione/emacs-window-highlight/master/window-highlight.el I stumbled on (mapcar (lambda (face) (face-remap-add-relative face '(:filtered (:window has-keyboard-focus t) window-highlight-focused-window))) '(default fringe)) This remaps faces "default" and "fringe" to the face window-highlight-focused-window (defined elsewhere by the user). I'm trying to get rid of the hard-coded window-highlight-focused-window face, take the current face and calculate the new attributes on the fly, so when the theme changes everything is automatically adapted. Teorically this would darken the background of the windows that have no keyboard focus by 10%: (mapcar (lambda (face) (face-remap-add-relative face `(:filtered (:window has-keyboard-focus nil) :background ,(color-darken-name (face-attribute face :background) 10.0)))) '(default fringe)) But this has not the desired effect: faces remain the same and every now and then Emacs throws an error "wrong-type-argument stringp nil" from functions such as font-info. What I'm doing wrong?