Customize Evolution toolbar?

Simple question, but I can’t find the answer:
Is there a way to add/remove buttons in the toolbar of Evolution? Specifically, I would like to add a “Mark as Unread” button to it or replace “Move selected messages to the Archive folder for the account” with the aforementioned button.


See the fine user help.

Do you mean Customizing tool bar and menu items?

If so, tech savvy user, please guide me.

Yes, correct. The guide is on the help page. :slight_smile:

I see that it is for tech savvy user which requires to find a particular file and a line(s) in it. Please guide me what I have to change in the file mentioned on the help page in order to achieve my goal. :slight_smile:

Find the correct file (for example /usr/share/evolution/ui/evolution-mail-reader.ui), check the section <toolbar>, add/remove items in that section accordingly (e.g. mail-mark-unread or mail-archive)

I have only “evolution-data-server” folder in the “share” folder.

You need to ask your distribution where your distribution puts things.

what does in Evolution menu Help->About say, please? I guess something
like “by” or some semi-cryptic version number? The exact
version can be copied out of the About dialog.

Being it Flatpak-ed Evolution, the rules are different (and harder to
do), in compare to the package-d Evolution.

The Evolution menu Help->About says “3.52.1 (by”.

Please help to find/come up with different and harder to do rules.

How do you mean? What “rules”?

You wrote:

It seems that you mentioned the rules found in the “evolution-mail-reader.ui” folder.

it wrote me, not Andre. What I meant is that the files are in different
directories. The provides the application as a Flatpak,
which means it runs in a sandbox, mostly isolated from your system. It
includes also your data, which is not shared with the rest of the

You can do this from a terminal:

   flatpak run --command=sh org.gnome.Evolution

   mkdir ~/.var/app/org.gnome.Evolution/config/evolution/ui

   cp /app/share/evolution/ui/evolution-mail-reader.ui \

   nano ~/.var/app/org.gnome.Evolution/config/evolution/ui/evolution-mail-reader.ui

and find a line with:

     <toolitem action='mail-archive'/>

copy it below it and change the 'mail-archive' to 'mail-mark-read', as:

     <toolitem action='mail-mark-read'/>

and it’ll show the button on the main toolbar. If you’ve like to see it
on the toolbar above the message preview, then:

   cp /app/share/evolution/ui/evolution-mail.ui \

   nano ~/.var/app/org.gnome.Evolution/config/evolution/ui/evolution-mail.ui 

and do the same change as in the previous file.

After than run exit and then run Evolution, where the changes will be
shown. The advantage of this is that your changes will stick even when
you update Evolution, until the versions of those .ui files changes,
which does not happen that often.


By running

flatpak run --command=sh org.gnome.Evolution

   mkdir ~/.var/app/org.gnome.Evolution/config/evolution/ui

   cp /app/share/evolution/ui/evolution-mail-reader.ui \

   nano ~/.var/app/org.gnome.Evolution/config/evolution/ui/evolution-mail-reader.ui

the terminal showed me [📦 org.gnome.Evolution ~]$.

Is this the expected outcome after the aforementioned lines?
I copy/pasted all these lines. Should I had to enter these independently?

These are four separate commands.

1 Like

I need to use <toolitem action='mail-mark-unread'/> if I want to mark the mail as unread?

You could try and find out? Note though that backups can save your day.