Coaching on gsettings script to change launcher

I'm trying to write a script that will update the action in a launcher.
I have the launcher in the top panel, and I can identify it as object-0 by checking org.mate.panel.object-id-list. I cannot determine what the next step is to change the command for object-0 is.

IMHO changing launcher's command takes editing of .desktop file named in the dconf's launcher-location parameter.

That's what I would assume as well. The launcher-location is correct in conf-editor, but top-panel->icon->right-click->properties shows the original value when the desktop icon was dragged to the panel before the application was upgraded.

In some cases if the icon corresponds to a desktop file in ~/.config/mate/panel2.d/, changing that desktop file appears to work.

In this very common case, the panel2.d directory didn't exist when the icon was dragged from the desktop. Something has cached the value of the old launcher.

Caching?
What about

ugn@evm:~$ desktop-file-install --help
Usage:
  desktop-file-install [OPTION…] [FILE...]

Install desktop files.

Help Options:
  -h, --help                            Show help options
  --help-all                            Show all help options
  --help-install                        Show desktop file installation options
  --help-edit                           Show desktop file edition options

Application Options:
  --rebuild-mime-info-cache             Rebuild the MIME types application database after processing desktop files

2 Likes

Interesting, thank you! I'll give that a try.