From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: light, dark, and theme adjustment & generation [was: solarized] Date: Thu, 17 Sep 2020 16:43:06 +0000 (UTC) Message-ID: <5a3685f0-a1dd-44f9-9e15-e8f1bc35ea57@default> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15007"; mail-complaints-to="usenet@ciao.gmane.io" To: Gian Uberto Lauri , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Sep 17 18:51:02 2020 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 1kIx7d-0003kZ-RU for ged-emacs-devel@m.gmane-mx.org; Thu, 17 Sep 2020 18:51:01 +0200 Original-Received: from localhost ([::1]:51098 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIx7c-0002AX-UZ for ged-emacs-devel@m.gmane-mx.org; Thu, 17 Sep 2020 12:51:00 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55838) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIx26-0006Ej-LU for emacs-devel@gnu.org; Thu, 17 Sep 2020 12:45:19 -0400 Original-Received: from aserp2120.oracle.com ([141.146.126.78]:41690) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIx23-00036S-SO for emacs-devel@gnu.org; Thu, 17 Sep 2020 12:45:17 -0400 Original-Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 08HGaBhh019877; Thu, 17 Sep 2020 16:45:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : subject : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=bs5W2H7D8Og/9muL9519i/D9RVRZ44I5SQodf8wlfac=; b=D+T7DAs+AJK8nBw9N7Pr165LxxnX0Kvr6e0K0/rMYTNG1ZXSk10BqVcKkdktf86KbsTY 6g6xadb8I62tltK8J9Jjyw0pKy7BBNEzsWJ+fCda7lXh85hqumyKGdiXLrgHLzLbdRiO wTkZy7Gk2UFJDjGo8bexO7qyp5CfQuR94x+ezSErb1YwmCKUkeptBtW5C5bsDdyPkWtK cNsLcZCeUpfEPWdZxKSIBqKitG76YyHZZd7ZqzC8qxGEugV1nAPQA0w36K3lR/2G8z0H nZy9XevaWlmE3rSiaRA6ug6nYLuV2ZdZdc5hbzbGnUOAgrEP0TEfW9I10gYS4thWLmiU 9Q== Original-Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by aserp2120.oracle.com with ESMTP id 33gp9mjey1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 17 Sep 2020 16:45:11 +0000 Original-Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 08HGYnsZ129524; Thu, 17 Sep 2020 16:43:10 GMT Original-Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userp3030.oracle.com with ESMTP id 33h8943uun-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 17 Sep 2020 16:43:10 +0000 Original-Received: from abhmp0006.oracle.com (abhmp0006.oracle.com [141.146.116.12]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 08HGh9Rt012254; Thu, 17 Sep 2020 16:43:09 GMT X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5044.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9747 signatures=668679 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 spamscore=0 adultscore=0 suspectscore=0 mlxscore=0 bulkscore=0 mlxlogscore=999 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2009170126 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9747 signatures=668679 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxlogscore=999 adultscore=0 malwarescore=0 clxscore=1015 lowpriorityscore=0 phishscore=0 spamscore=0 priorityscore=1501 suspectscore=0 impostorscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2009170126 Received-SPF: pass client-ip=141.146.126.78; envelope-from=drew.adams@oracle.com; helo=aserp2120.oracle.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/17 11:56:29 X-ACL-Warn: Detected OS = Linux 3.1-3.10 [fuzzy] X-Spam_score_int: -73 X-Spam_score: -7.4 X-Spam_bar: ------- X-Spam_report: (-7.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-2.997, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-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:256018 Archived-At: 1. Following on what I said about existing code that complements colors - I should be clear that not taking into consideration human perception, which means also ambient lighting etc., a mechanical complementing/inverting function often results in colors that, while technically complementary (including saturation and value, not just hue), are not ideal. I use color complementing often when I define default face values for a library. Since I personally use a light background (but not too light), with a fair amount of ambient lighting (e.g. for working also with paper), I define a face's default color for a light background, and then I take the complement to get a default color for a dark background. I might also quickly check what that looks like, but I don't really establish a dark setting (ambient lighting) with a dark background mode to see what the effect might be. The result can well be something that people who do use a dark background might find less than ideal. (I leave to them to customize the face, or submit a suggestion of a better dark default ;-).) ___ 2. One thing that I think can help, is being able to adjust hue, saturation, and value across all faces at once, to find what one prefers and see which faces might be outliers. For example, desaturate all faces, or increase all their values. Icicles gives you ways to do that: cycle, incrementing or decrementing any of hue, value, and saturation. And you can save any particular appearance you like, as a color theme or custom theme. And then you can further tweak individual faces in your theme, which are unfortunate outliers from the global change you got to by changing hue, saturation, and value across all faces together. I'm not advertising this as an Icicles feature. My point is to suggest having tools to globally tweak an appearance and create a theme from that. That includes starting with some theme and tweaking it. Besides adjusting hue, saturation, and value, it would be good to be able to adjust _contrast_. Others have brought up theme generation. I'm not sure what was meant by that, but what I describe here could be considered a kind of theme generation, as well as a kind of theme editing. IOW, besides customizing individual face settings in a theme, it can be quite useful to be able to adjust a set of faces used by a them _together_. The Icicles commands that do this act on all faces. But it could be helpful to be able to (easily, somehow) limit such global tweaking to a particular subset of faces.