Customising default applets

Using the command line, how can I customise the list of default applets shown on the top panel?

I am setting up a box (14.04. I believe this also applies to 15.10, but I am yet to run 16.04) for Linux newbies and everyone initially complains that it isn’t obvious how to log out so I would like to automatically add the logout applet to the top panel when creating new user accounts.

I would like to script this to help me with new installs.

Thanks

Update: I have found some pieces of the puzzle (but it’s yet to make sense).

The logout applet seems to be linked to:
/usr/share/applications/mate-session-logout.desktop

This file defines the icon:
Icon=system-log-out

and the command for the logout applet
Exec=mate-session-save --logout-dialog

I still have no idea how to integrate this by default on the top panel

The quickest and simplest way is:

Top Panel > Right click panel > Add to panel > Scroll down to "Log out" and double click it (or mark it and click on "Add"):

Hey devbie
So I've looked around and I haven't found a way to do what you want but I might have another lead for you to explore.

The mate-panel command has an option to set the default panel layout, and you can save a custom panel layout using the MATE Tweak tool.

Combining those two maybe you can script an automatic replace of the layout in the default files for news users? (Maybe /etc/skel/.bashrc or something)

Cheers

Edit: after a bit more research and deriving an answer posted on the MATE forums to a similar question I've managed to pop a logout button in my top panel at position 1400 (I have a large screen) using this code: Dirty mate-panel hack - Pastebin.com

It is my understanding that "toplevel-id" can vary. Mine was "top". Find yours using the command:

gsettings get org.mate.panel toplevel-id-list

1 Like

Hi wolfman

I am after a system-wide solution as I am setting up a system for Linux newbies (it’s a data acquisition system and the users aren’t necessarily computer savvy, nor interested in tinkering with Linux)

1 Like

Hi ouromov,

Thanks for looking into this. I don’t understand the fundamentals of MATE’s configuration, nor gsettings - can you suggest a good source of information? - and so I didn’t quite appreciate all of your proposed solution.

This is what I came up with:

I have found the default layout for Ubuntu Mate 14.04:

/usr/share/mate-panel/layouts/ubuntu-mate-indicators.layout

Once I have made a backup, I used MATE Tweak to load it, added the ‘log out’ applet to the top panel and locked it. I then saved the layout (from within MATE Tweak itself. You don’t get to choose the file name (odd!); it defaults to:

/usr/share/mate-panel/layouts/$(whoami)-tweak.layout

Back on the command line, I replaced my layout for the default layout:

sudo cp /usr/share/mate-panel/layouts/$(whoami)-tweak.layout /usr/share/mate-panel/layouts/ubuntu-mate-indicators.layout

Ideally I would prefer to know how to set the default layout to $(whoami)-tweak.layout so that I wouldn’t have to change ubuntu-mate-indicators.layout

Any new user account is set to use the default layout, which has now been modified to suit my needs (no need to fiddle with /etc/skel). Job done!

I’m sure there is a more elegant/proper way to do this - ideally I would like to find a solution that I can squeeze into a script - and I would welcome any feedback to point me in the right direction.

Thanks

Hi @devbie ,

might this be something along the lines of what you are trying to achieve?:

Hi @wolfman

I am new to containers (I’ve only just started playing with Docker) and your link will make for an interesting read. However, isn’t that overkill for adjusting the default desktop layout?

Cheers

Hi @devbie,

I don’t know if it is overkill as I don’t really know what is kicking around in your head?. :smiley: