In #282 (closed) we discussed button styling and improved the default style of the customize buttons (cus-edit) and the eww buttons. It turns out that cus-edit.el uses wid-edit.el and derives its buttons from the wid-edit buttons, e.g., push-button. The faces of the widget buttons are overriden in custom--initialize-widget-variables. Now I wonder if we should simply apply the styling of the box buttons to all the widget buttons for greater coherence and a prettier interface. This way all packages which use widget.el/wid-edit.el directly will get improved looks.
Unfortunately, we cannot overwrite the prefixes/suffixes in the theme, but these adjustments could be part of the manual. Here is a screen shoot with and without the adjustments. If we adjust the faces we may want to rename modus-themes-box-button(-pressed) to modus-themes-widget-button(-pressed). This would reduce the confusion regarding button faces and buttons a little bit.
Edited
Designs
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related or that one is blocking others.
Learn more.
Activity
Sort or filter
Newest first
Oldest first
Show all activity
Show comments only
Show history only
minadchanged the descriptionCompare with previous version
Now I wonder if we should simply apply the styling of the box buttons
to all the widget buttons for greater coherence and a prettier
interface. This way all packages which use widget.el/wid-edit.el
directly will get improved looks.
I am aware of this discrepancy. The reason I did not make any change is
because I have not seen the generic widget buttons out in the wild and
was concerned that something may not look right if not properly tested.
The only place where I have seen those buttons is the Notmuch "hello"
buffer.
Unfortunately, we cannot overwrite the prefixes/suffixes in the theme,
but these adjustments could be part of the manual.
Yes, this is the core problem. Here is Notmuch which wraps the button
in square brackets.
I am aware of this discrepancy. The reason I did not make any change is because I have not seen the generic widget buttons out in the wild and was concerned that something may not look right if not properly tested. The only place where I have seen those buttons is the Notmuch "hello" buffer.
Yes, I am aware of the notmuch buttons. I think with a remark in the manual regarding the button prefix and suffix we should be alright. The widget-example I've tested above shows that the wid-edit library is intended to be used just like the cus-edit library and I don't see a reason to keep these different looks for button types around. I think we should try to unify the looks. Maybe the default settings of wid-edit should be adjusted anyway in the long term to remove the square brackets? Usually such changes tend to take a long time.
Another idea: Would it be possible to detect on the level of the theme if the button prefix is a blank string ("" or " ") and depending on that use different looks? For blank strings use the box button style.
Another idea: Would it be possible to detect on the level of the theme
if the button prefix is a blank string ("" or " ") and depending on
that use different looks? For blank strings use the box button style.
We can change the variables to our desired value. I generally try not
to touch user options, but this may be justified. The relevant diff:
Hello @salutis! That is ugly. Though the face merely renders obvious
the underlying problem. Ever tried to hover the mouse over it before I
made this change? You would get a jumbo box highlight.
This relates to what we discussed in issue
294 about the
Notmuch logo. In my opinion, it is useless and breaks those buttons
(both before and after the change to the faces discussed here).
Upstream needs to keep the buffer simple by default. Try:
(setqnotmuch-show-logonil)
If there is some problem with the faces themselves, I am happy to review
things. In this case though, Notmuch is at fault.
The Notmuch header is really messed up. But I'd agree with Prot that this is an issue of Notmuch. I assume it is common that themes apply a background to buttons to give a button effect. This effect will certainly also occur in other themes. It is simply not a good idea to put a logo image in a line with text like this in particular if you don't control all the faces and the entire styling.
I think it is reasonable to expect faces for a "widget button" to have
attributes like :underline, :background, :box. The default only
has a bold weight, which should not be read as a guideline of how to
use this face.
I'd like to revive this issue. Personally, I think the notmuch logo is quite cute and would be sad if I had to disable it. However, even beyond that I disagree with the new look of the buttons. By default, the look is (imo) rather off-putting:
I know that one can customise this in various ways, but e.g. some form of background always remains. There seems to be no way to get the old (only bold) look back—I'd very much like that.
I assume it is common that themes apply a background to buttons to give a button effect.
FWIW, I've never seen a theme do that (maybe with other buttons, I don't know, but certainly never in notmuch)
I am sure you can overwrite every single setting applied by the theme,
also the background via the :background property of the face. Maybe
Prot can clarify what is needed to get back the old looks? Would it
makes sense to add an opt-out configuration option to
modus-themes-box-buttons or is just sufficient to describe in the
documentation how to achieve the old looks via customization?
It will always be a matter of taste. The point is to achieve button
looks consistently across Emacs. The widget buttons are used most widely
in the Customize interface. There is no point in having different
buttons there in comparison to other widget UIs. If you disagree with
those buttons, you probably also disagree with the Customize looks?
Maybe Prot can clarify what is needed to get back the old looks?
That would be great!
Would it makes sense to add an opt-out configuration option to modus-themes-box-buttons or is just sufficient to describe in the documentation how to achieve the old looks via customization?
Seeing how such opt-out backwards compatibility functionality is often quite annoying to maintain, mentioning this in the CHANGELOG and adding something to the docs of modus-themes-box-buttons might be the best course of action. I can't speak for other users, of course, but it would certainly be enough for me.
The widget buttons are used most widely in the Customize interface. There is no point in having different buttons there in comparison to other widget UIs. If you disagree with those buttons, you probably also disagree with the Customize looks?
I have to admit that I've never used (and thus looked at) the Customize interface. Taking a quick glance now, the buttons "feel" a bit more appropriate there1, although I definitely disagree with the overall "look" of the interface, yes (not that that's the fault of the theme!).
To my mind, the customize stuff seems to be a mouse-driven interface, and thus buttons that kind of look like buttons you would click sort of fit in. I've never made that association with notmuch's buttons; they, to me, don't seem like something that ought to be clicked.