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.
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.