How is Mate's support of Openbox Applications Menu?

Forum rules
Before you post read how to get help. Topics in this forum are automatically closed 6 months after creation.
Locked
glitchathon
Level 3
Level 3
Posts: 118
Joined: Thu Mar 17, 2011 12:27 pm

How is Mate's support of Openbox Applications Menu?

Post by glitchathon »

Hello,

I am currently on Linux Mint MATE 18.0. One feature I always want on my desktops is the Openbox Right-Click Applications menu (right click anywhere on the desktop and get an applications menu). I was able to get it to work on MATE by:
  • Installing openbox and obconf.
  • Choose Window Manager in "Desktop Settings" as Openbox (normally, I would use "Openbox with Compton", but there is a conky related bug where Compton needs to start a few seconds after Conky, so I manually start Compton with a startup script a few seconds after conky).
  • Install dconf-editor and through a long nested menu item, I can turn off desktop icons and then the openbox menu appears.
I am curious if the future release of MATE might support this out of the box? Or at least continue to support different window managers in "Desktop Settings" so that I can replicate the same experience with dconf-editor? Just looking ahead as to which version might give the best support of a right-click applications menu. I would consider Xfce, but I have been plagued with HDMI monitor waking through several versions of Xfce that I ditched it in favor of MATE awhile ago.
Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 1 time in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
User avatar
xenopeek
Level 25
Level 25
Posts: 29460
Joined: Wed Jul 06, 2011 3:58 am

Re: How is Mate's support of Openbox Applications Menu?

Post by xenopeek »

Openbox is a very snappy window manager so it's interesting to see it combined with MATE. Very easy to do as well: just apt install openbox obconf, select Openbox (with or without Compton) in Desktop Settings and change the configuration so that MATE doesn't show icons on the desktop and instead Openbox can show its menu when right-clicking the desktop.

You can change that setting with this command:
gsettings set org.mate.background show-desktop-icons false

It won't respond with anything. You can check whether the setting is set to false with this command:
gsettings get org.mate.background show-desktop-icons

That forgoes needing to install dconf-tools or hunt through the dconf Editor.

I've passed the suggestion to developers. It's easy enough to add it after installing Linux Mint MATE of course but I see where you're coming from with the suggestion. Thanks.
Image
glitchathon
Level 3
Level 3
Posts: 118
Joined: Thu Mar 17, 2011 12:27 pm

Re: How is Mate's support of Openbox Applications Menu?

Post by glitchathon »

Ahhh sweet, thanks! Love that I can do that with a command in the future. And it looks like MATE is still the best DE for me. Gives me the best parts of Openbox within a fully featured desktop experience.
glitchathon
Level 3
Level 3
Posts: 118
Joined: Thu Mar 17, 2011 12:27 pm

Re: How is Mate's support of Openbox Applications Menu?

Post by glitchathon »

Hmm, weird, just took a look at gsettings list-schemas and was unable to find a schema that my dconf-editor has access to. Mainly org.mate.desktop.background. That is the schema where I can edit "show-desktop-icons" to false in dconf-editor. But gsettings does not have access to the same schema. For instance, gsettings has access to org.mate.background (which is not the same as dconf-editor's org.mate.desktop.background, since show-desktop-icons is marked true in the gsettings one but false in the dconf-editor one) and it also has access to org.gnome.desktop.background, but no such schema for mate (it also did not have access to org.mate.desktop, without the background part).

Perhaps dconf-editor and gsettings are not completely interchangeable?
User avatar
xenopeek
Level 25
Level 25
Posts: 29460
Joined: Wed Jul 06, 2011 3:58 am

Re: How is Mate's support of Openbox Applications Menu?

Post by xenopeek »

dconf is the low-level interface to the database, gsettings is the front-end. You can see the gsettings schema in dconf Editor:

Image

While the path in dconf is indeed /org/mate/desktop/background, the gsettings schema is org.mate.background. Changing the one changes the other.
Image
glitchathon
Level 3
Level 3
Posts: 118
Joined: Thu Mar 17, 2011 12:27 pm

Re: How is Mate's support of Openbox Applications Menu?

Post by glitchathon »

Oh cool. Thanks for showing me that!

Weird thing is that gsettings has show-desktop-icons as "true" and my dconf-editor has it as "false". So there is maybe some disconnect between the settings. I plan to dig around into it a bit more tonight to see if I can figure out what is happening there. I wonder if dconf-editor stored my changes elsewhere, but gsettings only sees the old settings. In either case, it is working correctly, but it is always good to understand the internal workings more.
User avatar
xenopeek
Level 25
Level 25
Posts: 29460
Joined: Wed Jul 06, 2011 3:58 am

Re: How is Mate's support of Openbox Applications Menu?

Post by xenopeek »

gsettings stores settings in the dconf database so that's not possible.

There may be some difference because I used Linux Mint 18.3 MATE. I don't have 18.0 here so perhaps it stored things elsewhere. Check in dconf in /org/mate/desktop/background if you select show-desktop-icons, what is says the Schema is. The Schema is what you use with gsettings.
Image
glitchathon
Level 3
Level 3
Posts: 118
Joined: Thu Mar 17, 2011 12:27 pm

Re: How is Mate's support of Openbox Applications Menu?

Post by glitchathon »

xenopeek wrote: Thu Apr 12, 2018 4:05 pm gsettings stores settings in the dconf database so that's not possible.

There may be some difference because I used Linux Mint 18.3 MATE. I don't have 18.0 here so perhaps it stored things elsewhere. Check in dconf in /org/mate/desktop/background if you select show-desktop-icons, what is says the Schema is. The Schema is what you use with gsettings.
I'll take a quick peak tonight to doublecheck again. I just ssh'd into my PC to check gsettings but can't doublecheck dconf-editor until I get home since it is a GUI. I did take notes on my dconf-editor settings which is how I know the setting, but I can't confirm what it says under schema until I get home. Will post back soon!
glitchathon
Level 3
Level 3
Posts: 118
Joined: Thu Mar 17, 2011 12:27 pm

Re: How is Mate's support of Openbox Applications Menu?

Post by glitchathon »

xenopeek,
here's a screenshot of dconf-editor compared with the output from gsettings. This is kind of weird, huh?
Screenshot at 2018-04-12 15-50-51.jpeg
User avatar
xenopeek
Level 25
Level 25
Posts: 29460
Joined: Wed Jul 06, 2011 3:58 am

Re: How is Mate's support of Openbox Applications Menu?

Post by xenopeek »

Looking at people with similar gsettings 'memory' backend warning, it would seem to indicate you may have libraries on your system with incompatible versions. This could happen if you installed software from outside the official repositories. See this post: https://askubuntu.com/a/558462

Suggest you check that. Run this command and compare the output or share it here:
ldd /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
Expected output:
linux-vdso.so.1 => (0x00007ffc7a9aa000)
libgio-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007f3085308000)
libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f30850b5000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f3084da4000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f3084b86000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f30847bc000)
libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007f30845b8000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f308439d000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f308417b000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f3083f60000)
libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f3083d57000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f3083ae7000)
/lib64/ld-linux-x86-64.so.2 (0x000056155e073000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f30838e3000)
Check the locations of the libraries it uses. If there's any it uses starting with /local or /usr/local we've found the culprit.

Also check with locate libdconfsettings.so that you have only one such file on your system. It should be in:
/usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so

And check which gsettings command you run with which gsettings. It should be:
/usr/bin/gsettings

For completeness sake also the libraries used by gsettings, should all the above look to be in order there may be another library that gsettings uses that is the problem.
ldd /usr/bin/gsettings

Code: Select all

	linux-vdso.so.1 =>  (0x00007ffc6b1fc000)
	libgio-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007f2d66b13000)
	libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f2d668c0000)
	libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007f2d666bc000)
	libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f2d663aa000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2d65fe0000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f2d65dc6000)
	libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f2d65ba3000)
	libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f2d65988000)
	libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f2d65780000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f2d6557b000)
	libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f2d6530b000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f2d650ee000)
	/lib64/ld-linux-x86-64.so.2 (0x000055d3d57aa000)
Image
glitchathon
Level 3
Level 3
Posts: 118
Joined: Thu Mar 17, 2011 12:27 pm

Re: How is Mate's support of Openbox Applications Menu?

Post by glitchathon »

xenopeek,
Thank you SO much... your troubleshooting methodology is impressive.

I first did the ldd command, and the libraries all matched yours.

I also confirmed only one file for libdconfsettings.so.

But when I checked which gsettings, I got /home/me/anaconda3/bin/gsettings. Anaconda is the Python distribution I use.

I went into my .bashrc file and added this line to it: alias gsettings=/usr/bin/gsettings
I then went back to the terminal: gsettings get org.mate.background show-desktop-icons and it returned false as expected!

It always makes me pleased to figure out odd things like this in Linux. Thanks for your help on this!
Locked

Return to “MATE”