Fvwm-menu-desktop-config.fpl produces huge unusable form

I’m not sure what change caused this, because I haven’t updated any Fvwm stuff. There was a Python3 update to 3.8 on 8 July. I haven’t done anything with XDGMenu stuff since late June.

Screenshot from issuing Module FvwmPerl -l fvwm-menu-desktop-config.fpl

That form is the full height of my screen. You can see the edge of FvwmConsole there in the corner, where there are lots of instances of the errors below

[fvwm][__execute_function]: <> No such command ‘Style?on)’
[fvwm][__execute_function]: <> No such command ‘Style?on)’
[fvwm][__execute_function]: <> No such command ‘Style?on)’
[fvwm][__execute_function]: <> No such command ‘Style?on)’
[fvwm][__execute_function]: <> No such command ‘Style?on)’

I’m running Ubuntu 20.04.2 LTS, fvwm 2.6.8

As I’m now familiar enough with XDGMenu to manually edit .FvwmForm-XDGMenu-Config, I’m just mentioning this here, It isn’t critical for me to find a fix. But if there is one, maybe others can find this thread if they need it. :)

Hey @just_jed

Thanks, but please open a Github issue instead. This is not the place to report bugs. See: Issues · fvwmorg/fvwm3 · GitHub

Thanks,
Thomas

I don’t have a Github account. Not really sure I want to.

I believe I have fixed this issue, you can check out the branch js/fvwm-menu-desktop-list-menus branch on github.

Cool. But I don’t know what to do with it. Apparently,
https://github.com/fvwmorg/fvwm3/raw/js/fvwm-menu-desktop-list-menus/bin/fvwm-menu-desktop.in
is the affected file - from reading the commit comment.

However, when I run locate fvwm-menu-desktop.in on my PC, I get no results.

How would apply this?

Thx.

You can either (1) Modify your fvwm-menu-desktop script using the patch (it removes a single line from the code), (2) compile fvwm3 from source using that branch, or (3) wait until the next release (which could be a while) to make it into your os if using a pre built package.

Note fvwm-menu-desktop.in file is just a file that creates fvwm-menu-desktop, except for the python shebang at the top, they are identical files.

D’oh! Okay, where’s the headbang smiley?

I realized that probably about the time you were posting. “.in” makes me think of an include file.

Confirmed - this fixes the issue. Thanks.

Argh! Thead hijack! New issue! :stuck_out_tongue:

I just noticed something else, which I’d forgotten about. In the section on available menus, “Menus in /etc/xdg/menus/” it lists only debian-menu. I think that started to happen once I hand-edited the config file. If I rm .FvwmForm-XDGMenu-Config, then the other menus again appear in the available menus area.

I just did SAVE and CLOSE, then re-opened the form without doing anything to the config file, and now it shows only kf5. Another repeat, and it shows only gnome.

This does appear to affect the generated config file. (Paste from diff -c)

***************
*** 1,9 ****
! # This file last created by FvwmForm-XDGMenu-Config on: Wed 21 Jul 2021 05:39:17 PM MDT.
  *FvwmForm-XDGMenu-ConfigDefault: MENmate-screensavers
- *FvwmForm-XDGMenu-ConfigDefault: MENgnome-applications
- *FvwmForm-XDGMenu-ConfigDefault: MENmatecc
- *FvwmForm-XDGMenu-ConfigDefault: MENkf5-applications
- *FvwmForm-XDGMenu-ConfigDefault: MENdebian-menu
  *FvwmForm-XDGMenu-ConfigDefault: MENmate-applications on
  *FvwmForm-XDGMenu-ConfigDefault: MENmate-settings on
  *FvwmForm-XDGMenu-ConfigDefault: IncludeConfig
--- 1,5 ----
! # This file last created by FvwmForm-XDGMenu-Config on: Wed 21 Jul 2021 05:45:49 PM MDT.
  *FvwmForm-XDGMenu-ConfigDefault: MENmate-screensavers
  *FvwmForm-XDGMenu-ConfigDefault: MENmate-applications on
  *FvwmForm-XDGMenu-ConfigDefault: MENmate-settings on
  *FvwmForm-XDGMenu-ConfigDefault: IncludeConfig
***************

But from the command line:

fvwm-menu-desktop --get-menu all
/home/jbaer/.config/menus/mate-applications.menu /home/jbaer/.config/menus/mate-settings.menu /etc/xdg/menus/kf5-applications.menu /etc/xdg/menus/gnome-applications.menu /etc/xdg/menus/matecc.menu /etc/xdg/menus/debian-menu.menu /etc/xdg/menus/mate-screensavers.menu

So, it would appear this isn’t in fvwm-menu-desktop.

Unsure what the issue could be there.

Note look at fvwm-menu-desktop --get-menus all vs fvwm-menu-desktop --get-menus desktop.

The first prints all menus found on the system, the second prints the menus that will be generated (and are saved in the configuration file).

I don’t have multiple menus installed, so I can’t test this, but you should see all the menus that are generated, and the ones listed via the second command should be ‘checked’.

I think it isn’t an issue of “all” vs. “desktop”. It’s not that those menu choices are displayed but not checked, but that they aren’t displayed at all.

I’m no Perl expert. But looking at the code in fvwm-menu-desktop-config.fpl where it invokes and processes the fvwm-menu-desktop output, I ought to at least be able to see how @all_file_list is being populated from one run to the next.

I would of course be happy to provide a tarball of my /etc/xdg/menus/ if that would be of interest.