Mate Menu architecture -- please describe

Hi All,

I’m considering Mate in lieu of Cinnamon. How are Mate menu items created, edited, removed?

Ideal would be a magic path, similar to Win-XP’s (not Win-10’s) Start Menu, that would allow me to add a heirarchy of subdirectories & links at will; Note: I know that Linux doesn’t support links, but the menu system could.

I’m Totally Ignorant. Warm Regards,
Mark.

Mate Menu items are added or taken away via mozo menu editor. Which is a fork of Alacarte. It is by far and away the easiest and most comprehensive menu editor on any linux distro, in my estimation. As well as allowing items and sub menus to be created with ease via a GUI, it allows you to move items from one sub menu to another via drag and drop. It also allows this with sub menus as well.

See below for a screenshot of my menu in mozo:

3 Likes

Hi Steve,

Thanks for replying.

What about documents? In addition to program launchers, can I put documents, pictures, audios, videos, etc. into the menu & sub-menus?

More to say…

A menu editor, eh? That’s too bad. I was hoping for something more like Start Menu… you know, a file system-based menu. Oh, well. Tell me more about Mozo if you care.

PS: Is anyone in the Penguin world working on a graphical shell?

Hi Mark, I am not sure what you mean here.

Do you mean a submenu where certain documents may be accessed for editing? If you do mean this, then in principle, it is entirely possible to make a menu launcher which will launch a specific document/file in a specific editor/player. The command in the launcher may, for example, take the forms:

libreoffice --writer <path to document>

vlc <path to video>

However, if you mean a sub menu with a dynamically updating directory listing of the document contents of a particular folder on your system, then no, the mate menu does not provide that.

Hallo stevecook172001

Drag-and-drop - I didn’t know. :relieved:

When I think of the time I have spent building my custom menus not knowing that…

Thanks for the tipp!:wink:

No worries John…:slight_smile:

One thing to note, however. Sometimes, when you drag and drop an item, it will always work as in it will always produce a copy of the item in the new location. But, will sometimes leave the original copy of the item in the source menu folder. If that happens, simply un-tick the original item so it doesn’t show in the menu. You can always delete it if you want to. But, if you do that, it might magically appear in the “other” sub-menu folder. In which case you then need to delete it from there as well. So, for me, I always find it easier to simply un-tick it.

Edit to add:

I am writing this from a machine I have that uses Manjaro Mate and the above issue seems to have been fixed. That is to say, when you drag and drop and item, it is no longer leaving an original copy behind. This may also be true of the UM 18.04 desktop. But, I am not near my UM 18.04 machine to test this out.

Let me give you a specific example, Steve. …It may not be possible, but it doesn’t hurt to ask, eh?

How close can Mate Menu get me to this:

=== MENU AS IT APPEARS IN THE FILE SYSTEM ===
~/menu/Acer/Predator Ports.png
~/menu/Radio/KQED.menu
~/menu/Reference/CSS/CSS 1.menu
~/menu/Reference/Phonetic Alphabet/Alpha
~/menu/Reference/Phonetic Alphabet/Bravo
~/menu/Reference/Phonetic Alphabet/Charlie

=== DETAILS ===
‘Predator Ports.png’ …the actual PNG image file …inserts the PNG physically into the menu! …name only, not the actual image
‘KQED.menu’ …text file containing 1 line: “vlc http://streams.kqed.org/kqedradio.m3u
‘CSS 1.menu’ …text file containing 1 line: “~/Ref/W3C/CSS 1/REC-CSS1-19990111__REC-CSS1.html”
‘Alfa’, ‘Bravo’, ‘Charlie’ …manually created, zero-length files

‘Predator Ports.png’ …launches the default graphic app with “~/menu/Acer/Predator Ports.png” as the argument.
“vlc http://streams.kqed.org/kqedradio.m3u” …launches the app (VLC) with an argument.
“~/Ref/W3C/CSS 1/REC-CSS1-19990111__REC-CSS1.html” …sends the HTML to the default web browser.
‘Alfa’, ‘Bravo’, ‘Charlie’ …appear in the menu (solely to see) but don’t do anything.

=== RESULTING MENU ===
(Note: The dots are there solely because the forum software squashes spaces.)
Acer
. . \__ Predator Ports.png
Radio
. . \__ KQED
Reference
. . \__ CSS
. . \ . . . . \__ CSS 1
. . \__ Phonetic Alphabet
. . . . . . . \__ Alpha
. . . . . . . \__ Bravo
. . . . . . . \__ Charlie

What do you think? A pretty powerful menu with little overhead and no menu editor needed.

From these, and from the picture in your original reply, it appears the mate menu is solely an application launcher (with optional arguments to the launch command). In other words, you can't put a document into the menu as a menu item. Am I understanding you correctly?

PS: It does appear you can add heirarchical structure, though. Right? Now, suppose I don't want the base menu levels (for example, "Applications", or "Accessories"). Can I overwrite them with names that I do want?

PPS: I do hope that I've made myself clear. I'd really like a menu system that builds 'itself' from whatever you put into the MENU AS IT APPEARS IN THE FILE SYSTEM. That's a really simple, but really powerful architecture. All it takes is a service running in Linux that knows what to do with '~/menu/'. That's the way that Win-XP's menu worked (...just replace '~/menu/' with 'c:\USERS\...username...\Start Menu' and you have the Win-XP menu system ... which Microsoft abandoned in favor of a flat application launcher).

Yes, the mate menu is simply a system for setting up launchers for commands in a hierarchically organized structure. Anything you can write out as a command can be a menu item

Addittionally, you can delete or overwrite/rename existing menu sub-folders as well as add new ones of your own. There is no practical limit, so far as I know, to the depth of sub-folders you may employ.

I am having some difficulty in understanding the last part of your immediately previous post. However, what you appear to be asking for is a dynamically generated and updated menu that reads whatever is contained in the source location it is pointing at.

If the above is the case, in Linux the only menu that can do that, as far as I know is the Openbox menu. But, not in and of itself. The Openbox menu must employ something called “pipe menus” inside it. Which are, basically, specialized menu sub folders that are written as scripts either in bash script or python script.

These specialized pipe menus can be used for a variety of dynamically updating purposes. So, for example, they may simply point to a given folder or drive on your system and list all of the file currently residing in there. Furthermore, if you click on one of the files listed, it will automatically open it with the appropriate software. Another example might be a dynamically updating weather report.

The most popular pipe menu in use with Openbox, I think, is the one that automatically generates an applications menu with all of the usual sub folders of “accessories”, “graphics”, “Office” etc and populates these sub menus with all of the currently installed applications. Though, for myself, I prefer to manually add all of the applications and menu folders myself so I have absolute control of what goes where. In terms of pipe menus, I currently have an Ubuntu mini iso build I am experimenting with in a VM that employs the Openbox window manager and I use a “recent documents” pipe menu with it.

You may be pleased to know that pipe menus that cover just about every want and/or need have already been produced and are available all over the internet. So, often it is just a case of plugging one into your existing openbox menu. Otherwise, if you are feeling adventurous, you could always write your own.

See below:

Drag and Drop.
Individual files and folders can be dragged to the Panel (creates a Launcher) … it is actually a “shortcut” (in old MS terms) to the true doc/directory…
I do that frequently when I need on click access to many sources. When done I remove the launchers, but the Original files and folders are not deleted.

The same can be done in the Main Menu…
make a Panel launcher as above then Copy the contents of the Command: field
I found that to be bothersome and don’t do that often.

Mate is Graphical, you seldom need to edit Menu or Launcher files directly.

Thanks for replying, Steve,

=== MENU AS IT APPEARS IN THE FILE SYSTEM ===
~/menu/Acer/Predator Ports.png
~/menu/Radio/KQED.menu
~/menu/Reference/CSS/CSS 1.menu
~/menu/Reference/Phonetic Alphabet/Alpha
~/menu/Reference/Phonetic Alphabet/Bravo
~/menu/Reference/Phonetic Alphabet/Charlie

=== RESULTING MENU ===
(Note: The dots are there solely because the forum software squashes spaces.)

Acer
. . \__ Predator Ports.png
Radio
. . \__ KQED
Reference
. .\ __ CSS
. . \ . . . .\ __ CSS 1
. . \__ Phonetic Alphabet
. . . . . . . \__ Alpha
. . . . . . . \__ Bravo
. . . . . . . \__ Charlie

No scripts needed, no editing needed. Mixed applications & data files as menu items. Simply stick a file or a link into '~/menu' or one of its subdirectories and -- Presto! -- it appears in the menu.

For example:
'Predator Ports.png' is a graphic picture file that resides here: '~/menu/Acer/'.
'KQED' is an Intenet link that resides here: '~/menu/Radio/'.
'CSS 1' is a link (in '~/menu/Reference/CSS/') to a PDF document that resides elsewhere.
'Alpha', 'Bravo' & 'Charlie' are zero-length files that reside here: '~/menu/Reference/Phonetic Alphabet/'.

How does this relate to "pipes".

PS: Ha-ha-ha-ha-ha-ha-ha... You'll never believe what I just did. I saw something fly by a couple of seconds into the video. Stopping the video at the right point was difficult, but after about 10 tries, I did it. Then I enlarged it and copied the URL from the browser address shown. Then I went to that page ...IT WAS THIS PAGE!!!! You made that video, just for me! That was very kind. Thank you.

It looks like those menu fly-outs are space hogs and would collide with the side of the screen after a few levels.

1 Like

Thank you Mark.

And yes, indeed, you can manually add anything one item at a time in Mate Menu. Basically, if it can be written as a command, then it can be included as a menu item

As for the open-box multi-level menus, if they reach the edge of the screen, they unfold back over themselves

Are you the creator of this menu system?

PS:
You wrote: “And yes, indeed, you can manually add anything one item at a time in Mate Menu. Basically, if it can be written as a command, then it can be included as a menu item”.
I don’t understand. By “yes”, do you mean that the menu is file-based as I showed?

I mean if I opened the menu for editing and put a command into the launcher, it would run if I selected it in the menu.

For example, see below for the terminal command to change the desktop wallpaper:

Basically, anything that can be formulated as a terminal command can be turned into a menu launcher

Thanks, Steve. You’re the best.