User should be able to hide buttons in UI

The Problem

Mailspring shows me tons of buttons, icons, and clickable prompts that I am literally never going to use, but I don’t have an easy way to hide them in the settings without, say, creating a custom theme.

This makes Mailspring very cluttered–more cluttered than Mail.app, and much more cluttered than Mail.app after I quickly run through the settings to hide all the visually distracting buttons I’ll never use.

The problem with visual clutter, for me at least, is that it makes it subtly but significantly slower and more difficult to quickly read emails.

Another way of stating this problem is that I want an alternative to Mail.app and Gmail, but I’ve never found a desktop email client that wasn’t significantly less cluttered and visually customizable than Mail.app. This is one of 2 or 3 factors that has made switching away from Mail.app very painful. Mail.app is one of the only apps I miss when I switch away from Mac, so having a Mailspring that was (or could be) as visually minimal as the most minimal settings of Mail.app would make it easier to switch away from Mac.

Proposed Solution

For every button or link on the screen that does anything, in the main window, the message view window, or the compose window, there should be:

  1. a keyboard shortcut with a tooltip that appears on hover.

  2. a way to remove either that link or button, or if the button is in a block of buttons, a way to remove the entire block.

Ideally there would also be a corresponding menu item for each of these buttons, with the keyboard shortcut on display next to the menu item, so that the user has an easy way of accessing the button’s functionality and learning the keyboard shortcut even when the button is hidden.

Ideally there would also be a way, in blocks of buttons, to eliminate certain buttons but not others. Mail.app has an excellent UI for this.

However, for me the most important thing is to remove everything.

Alternative Solutions

You could have a minimal theme that hides these buttons, but it would make it harder to get to them when the user needs them.

You could let users hide them by creating their own custom theme, but many users won’t be able to do this, and it’s quite a bit of work.

I’ll probably take a crack at this myself.

Context

Here’s a few screenshots of buttons and links that are totally useless to me and create visual clutter.

  1. the reply field in the message view, below the message contents. I reply enough that I know the keyboard shortcut for this, and this makes it harder to read messages because it mingles with the message content, visually. I should be able to remove this.

(Can’t include a screenshot because Discourse won’t let me post more than two screenshots.)

  1. the “show images” bar, for users who have disabled image loading for privacy or performance reasons. this bar is so comically overemphasized that the default should probably be more subtle too, but at the very least there should be a way to hide it and still load images when needed.

  1. These block of buttons next to the subject line. I haven’t printed an email in more than a decade and I feel like this button is laughing at me. I’m not even sure what the other ones do but I probably don’t need them. I’d just remove these but at the very least give me a way to hide them :slight_smile:

image

  1. The main message action buttons in the top right of the main window. Many of these are for the things I’m most likely to know and use a keyboard shortcut for. Or if not I’m happy to right click and use a context menu. I still need the hamburger menu on the far right and (perhaps) the user profile display toggle but the others should be removable.

(Can’t include a screenshot because Discourse won’t let me.)

  1. The mailbox labels below the subject are comically over-emphasized too, and it’s confusing because they look like buttons rather than labels. There should be some way to display them that’s subtle and not cluttered, but as is I’d prefer to remove them entirely.

(Can’t include a screenshot because Discourse won’t let me.)