unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Jim Porter <jporterbugs@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: luangruo@yahoo.com, emacs-devel@gnu.org
Subject: Re: Making `x-underline-at-descent-line' a face attribute
Date: Thu, 6 Jan 2022 12:49:59 -0800	[thread overview]
Message-ID: <6e2d1fc6-a727-f98a-28e8-46b5d2225d13@gmail.com> (raw)
In-Reply-To: <83mtk87hmd.fsf@gnu.org>

On 1/6/2022 12:07 PM, Eli Zaretskii wrote:
>> Cc: luangruo@yahoo.com, emacs-devel@gnu.org
>> From: Jim Porter <jporterbugs@gmail.com>
>> Date: Thu, 6 Jan 2022 09:47:33 -0800
>>
>> Looking at the docs for :box, I only see the ability to set separate
>> vertical and horizontal widths (but not to set all 4 sides to different
>> values). The latter would be useful in some cases, for example to make
>> the tab-bar tabs look more like tabs.
> 
> That is not the right way of displaying tabs with 3D appearance.  We
> should provide professionally looking tabs, not some emulation of them
> with a box of 4 different width -- that would look extremely
> unprofessional and unclean.
> 
> In general, I think the visual appearance of tab-bar and tab-line
> buttons needs a lot of love and care; what we have now simply looks
> badly, IMNSHO.  We've basically copied the code that displays the tool
> bar, but without the attention that was at the time given to the
> visual appearance of the (native tool-bar buttons.  The result is that
> the tool-bar buttons look much prettier than the tab bar and the tab
> lines.  Compare our tab bar with that of any of the Web browsers out
> there, and you will see what I mean.  there's no good reason why our
> tabs couldn't look as pretty as those of the browser, the only problem
> is that it involves coding in C, not Lisp.  I still hope someone with
> experience in graphics programming will do that.

It's interesting that you mention web browsers in particular, since 
that's part of what got me to think about using :box to create 
nicer-looking tab-bar tabs. In Firefox, the visuals are determined by 
CSS, and Emacs's :box attribute bears a striking resemblance to CSS's 
`border'. Having done some similar UI design in CSS, I'd likely 
implement the visuals for tabs partly using CSS `border' in the same way 
that I described using :box. (Of course, I'd use many other CSS features 
to adjust the appearance until it looks good.)

That said, CSS has somewhat of a reputation for being tricky to get 
right and occasionally producing unexpected results (just websearch for 
"CSS is awesome"). Maybe it's not a good idea to make Emacs face 
attributes work too much like CSS.

>> One benefit of making :color a cons cell is that it would be possible to
>> create an effect like `:style released-button', but allow the programmer
>> to control the exact colors to use.
> 
> Once again, the released-button style should be produced by actually
> drawing a released button, like we do on the tool bar and the mode
> line.  Playing color games with the :box attribute will produce an
> unclean emulation of that, and I therefore object to doing that.  We
> shouldn't implement such unclean visuals.

I don't have a strong opinion on this, so I don't mind if :color stays 
the way it is. It's just the first example I could come up with that 
someone might use the feature for.



  parent reply	other threads:[~2022-01-06 20:49 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87lezt5v7h.fsf.ref@yahoo.com>
2022-01-06  4:44 ` Making `x-underline-at-descent-line' a face attribute Po Lu
2022-01-06  5:08   ` Jim Porter
2022-01-06  5:35     ` Po Lu
2022-01-06  8:47       ` Eli Zaretskii
2022-01-06  8:43     ` Eli Zaretskii
2022-01-06 17:47       ` Jim Porter
2022-01-06 20:07         ` Eli Zaretskii
2022-01-06 20:18           ` Juri Linkov
2022-01-07  0:55             ` Po Lu
2022-01-07  7:17               ` Eli Zaretskii
2022-01-07  8:40               ` Juri Linkov
2022-01-07  9:40                 ` Stefan Kangas
2022-01-08 18:20                   ` Juri Linkov
2022-01-08 18:52                     ` Eli Zaretskii
2022-01-08 19:09                       ` Juri Linkov
2022-01-08 19:14                         ` Eli Zaretskii
2022-01-07 13:14                 ` Eli Zaretskii
2022-01-07 13:32                   ` martin rudalics
2022-01-08 18:23                   ` Juri Linkov
2022-01-08 18:39                     ` Eli Zaretskii
2022-01-06 20:49           ` Jim Porter [this message]
2022-01-07  6:43             ` Eli Zaretskii
2022-01-06  8:44   ` Eli Zaretskii
2022-01-06  9:36     ` Po Lu
2022-01-06 12:02       ` Eli Zaretskii
2022-01-06 12:24         ` Po Lu
2022-01-06 13:51           ` Eli Zaretskii
2022-01-07  0:47             ` Po Lu
2022-01-07  7:12               ` Eli Zaretskii
2022-01-07  7:14                 ` Po Lu
2022-01-07  8:28                   ` Eli Zaretskii
2022-01-07 11:04                     ` Po Lu
2022-01-07 12:21                       ` Eli Zaretskii
2022-01-07 12:33                         ` Po Lu
2022-01-07 12:41                           ` Eli Zaretskii
2022-01-09  0:43                       ` Po Lu
2022-01-10 10:54                         ` Po Lu
2022-01-10 11:32                           ` Po Lu
2022-01-10 17:41                           ` Eli Zaretskii
2022-01-11  0:47                             ` Po Lu
2022-01-11 16:46                               ` Eli Zaretskii
2022-01-06  8:48   ` Lars Ingebrigtsen
2022-01-06  9:38     ` Po Lu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6e2d1fc6-a727-f98a-28e8-46b5d2225d13@gmail.com \
    --to=jporterbugs@gmail.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=luangruo@yahoo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).