emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Add additional style for :box


From: Pedro Andres Aranda Gutierrez
Subject: Re: Add additional style for :box
Date: Wed, 9 Dec 2020 09:25:53 +0100

Hi Eli,

attached is a small patch with a proof of concept for the master branch ONLY TESTED ON LINUX.

With this I can define my tab-line as

'(tab-line ((t (:inherit fringe :box (:line-width (5 . 5) :style modern-button))))))

And changes in the fringe are taken *automatically* by the tabline.

Best, /Pedro A. Aranda

On Tue, 8 Dec 2020 at 18:09, Pedro Andres Aranda Gutierrez <paaguti@gmail.com> wrote:
Hi Eli,

let's see if a couple of lines of code explain more than a thousand lines of 'literature'

I use :box to make some parts of the GUI bigger than one display line. For example my mode-line face is

'(mode-line ((t (:background "#4C566A" :foreground "#88C0D0" :weight bold :box (:line-width 6 :color "#4C566A")))))

and yes, OK, at the beginning, I could accept to repeat the background definition inside the :box, however inconvenient it may be.

Now, I have some some situations where I want to have a common look and feel:

    '(fringe ((,class (:foreground "#007fcf" :background "#afaf9f"))))
    '(line-number ((,class (:inherit fringe))))

But when I want an element to be higher that the normal size, I need to repeat the background definition in the :box
      `(tab-line ((,class (:inherit fringe :box (:line-width 3 :color "#afaf9f")))))

Which means that when I change the fringe background, I need to change it both in fringe and in tab-line to keep everything uniform.
You pointed out :style t but that uses the _fore_ground for the box, whereas I need the _back_ground (same happens with :style nil)

This is why I was proposing a new :style modern that fills the box with the background color of the face. How feasible would be my proposal?

Best, /PA

On Tue, 8 Dec 2020 at 16:16, Eli Zaretskii <eliz@gnu.org> wrote:
> From: Pedro Andres Aranda Gutierrez <paaguti@gmail.com>
> Date: Tue, 8 Dec 2020 07:21:42 +0100
> Cc: emacs-devel@gnu.org
>
> unfortunately not. :style nil takes the _fore_ground for the box and I'm looking for the _back_ground
>
> :style nil
> Screenshot-20201208071520-101x110.png
>
> what I want
> Screenshot-20201208071702-126x105.png

I'm confused: I thought you wanted to get rid of the 3D appearance,
which is why I suggested to use :style.  But now you seem to be
talking about the colors, and I cannot understand what exactly is the
problem with that -- just change the colors to whatever you want.

> In a general case, if you are deriving from another face, you have to write the background colour twice: in the
> face you are deriving from and in the face :inheri ing the definition. This, any change in the parent face
> implies a change in the derived face and that's not exactly convenient...

If the inheriting face overrides the color of the parent face, there's
no need to change the former when the latter changes.  So here, too, I
don't think I follow you, please elaborate.


--
Fragen sind nicht da um beantwortet zu werden,
Fragen sind da um gestellt zu werden
Georg Kreisler


--
Fragen sind nicht da um beantwortet zu werden,
Fragen sind da um gestellt zu werden
Georg Kreisler

Attachment: modern-box.diff
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]