Page 1 of 2

Posted: Fri 05 Apr 2013, 02:05
by Buck Huffman
Hi Mobeus,

I wanted to use JWM with Fatdog64, but the menus weren't what I'm
used to. I've managed to tweak a few things but would like to really
take charge of things without having to dig into the guts of the system.
it looks like most of the menu structure is built by the script /usr/bin/jwm_menu_create,
while fixmenus is just a symlink to that script.

that Slackbones64 sounds very interesting, I would really like to know
more. Is there a release, beta, alpha?

Buck

Edit: I searched and found some info on Slackbones64 will definately
check it out.

Posted: Fri 05 Apr 2013, 02:37
by gulk
Hi Mobeus,

thanks for the tip; it was so obvious that I missed it.
Now, as far as the magical appearance of items in the menu, what is happening here? Is LxPanel going through your .desktop folder everytime you select the menu? I can't see any lag, but isn't it kind of inefficient?

gulk

Posted: Fri 05 Apr 2013, 03:18
by Mobeus
Hi gulk,

The standard lxpanel has menu-cache as a dependency. Menu-cache has a binary named menu-cached that runs in the background as a daemon, and this monitors a whole bunch of directories and files looking for changes and it keeps a constantly updated list in the users home directory. I'm not quite sure but I think menu-cache signals lxpanel to update it's menu when a change is detected, then lxpanel regenerates it's menu.

All of that really doesn't take much time or resources to accomplish. I doubt if anyone could notice it.

Regards,
Mobeus

Posted: Fri 05 Apr 2013, 04:52
by Mobeus
Progress.

Now programs that normally do not show up in Puppy menus will be put in the "Other" menu.
This Other menu will only be visible when there is a program that does not have a matching menu category.

Posted: Fri 05 Apr 2013, 18:19
by gulk
Looking better by the minute, Mobeus. Keep it up.

Posted: Fri 05 Apr 2013, 19:56
by go2null
Looks like a good effort to get a GTK editor. I'd encourage wider panel support, especially for GTK environments.

A quick google only unearthed:
1. Arch's xdg-menu, perl-based, supports
twm
ion3
WindowMaker
fvwm2
icewm
blackbox
fluxbox
openbox
awesome

from XDG stuff. KDE, Gnome, Xfce, Enlightenment are already XDG compatible.
2. LXMenuEditor, java-based, supports LXDE and XFCE

Posted: Sun 07 Apr 2013, 22:41
by greengeek
Thanks Mobeus - this thread is helping answer questions I have as a result of trying to tidy up menus in an XFCE environment, which appears to be xdg compliant. Does your program handle xfce also? (most of the googling I have done refers to lxmenueditor and requiring java, which I don't want).

Posted: Mon 08 Apr 2013, 02:32
by Mobeus
Hi greengeek,
Glad you find it useful. Xfce is xdg compliant, but the spec itself is flexible and different desktops will interpret the menu files in somewhat different ways, and some do not support some important, but optional, features.

My program and menus should work with xfce, because everything I’m doing is xdg compliant. I haven’t tested xfce yet but I don’t expect any major problems (famous last words). I’ve looked at LXMenuEditor and it has the same shortcomings as most other ones I’ve tried; a hard coded root menu. It is not xdg compliant.

Let me say it one more time :)
This package will implement freedesktop.org xdg menus for Puppy in a way that any xdg compliant window manager and or panel will be able to use without modification. In addition to that it will work for the window managers and panels that the official woof-built Puppy supports at this time, and it will work with Puppy’s fixmenu script, and it will allow full menu customization.

Regards,
Mobeus

Posted: Mon 08 Apr 2013, 04:33
by greengeek
Mobeus wrote:Anyway, I just wanted to toss this out here and see if there is any community interest in it.
Yes there is.
I'd like to trial it yesterday please. :-)

Posted: Mon 08 Apr 2013, 13:43
by Mobeus
greengeek wrote: I'd like to trial it yesterday please.
Well, the menu infrastructure and the menu generator are almost ready for trials, but the editor is on hold until the infrastructure is deemed complete.

I would like a few volunteers to try just the menu using clean frugal installs on some different Puppys with different window managers and panels. That would be a good start to uncover the inevitable issues that will pop up. There’s some more testing to be done here and then I’ll put together a package with some documentation. One issue yet to be addressed is the XDG_MENU_PREFIX environment variable which Puppy does not supply, and many desktop environments rely on.

Posted: Mon 08 Apr 2013, 17:01
by gulk
Mobeus wrote:I would like a few volunteers to try just the menu using clean frugal installs on some different Puppys with different window managers and panels.
Hi Mobeus,

I run Micko's Compiz sfs with pcmanfm/lxpanel to manage desktop and menu (what he calls "xwin dummy2"), so it won't be testing from a pristine frugal install. The pristine frugal install would be a Slacko 5.5 and Slacko 5.3 which I still have on the computer.
Let me know.

Regards,
gulk

Posted: Wed 10 Apr 2013, 11:23
by 01micko
greengeek wrote:I'd like to trial it yesterday please. :-)
yes... watching on with interest.

Posted: Wed 10 Apr 2013, 17:57
by jamesbond
01micko wrote:yes... watching on with interest.
+1. Fatdog has openbox/lxpanel (with menu-cached) as default, and rather old version of JWM as backup.

Posted: Fri 12 Apr 2013, 12:34
by Mobeus
Progress:

Support for fbpanel is finished.

Working on Fluxbox support.

Posted: Sat 13 Apr 2013, 17:31
by simargl
.

Posted: Sun 14 Apr 2013, 20:53
by Mobeus
Hi simargl,

I’ll address this in a somewhat reverse order... and forgive me for covering ground you already know, please.

The purpose of fixmenus is to auto-update the menus for certain window managers after installing a pet and at boot. Maybe at the start of X too, not sure about that. You should not have to type fixmenus unless you manually install a package or manually make a menu change.

If the latest fixmenus does not update fluxbox it is because it calls jwm2fluxbox to create the menu, and as far as I can determine this script no longer exists. It looks as if the script in use today is fluxbox_menu_refresh. It is this script and it’s supporting files that determine the menu layout of fluxbox in Puppy.

In order for everything to work with Puppy, the xdg *.menu and menu-generator part of my project is designed to work with fixmenus and it’s associated scripts. The menu it generates is a translation (with icons) of the complete xdg menu that gnome-menus generates from the correct [XDG_MENU_PREFIX]-applications.menu used by the current user’s window manager. This output is delivered to the scripts like fluxbox_menu_refresh and they assemble the menu, just as they do now.

Regards,
Mobeus

PS still trying to get my radeon working with AlphaOS :wink:

Posted: Mon 15 Apr 2013, 02:07
by Mobeus
Progress:

Fluxbox support completed.

Time in seconds to generate the various menus:
All menus include icons.

Code: Select all

# ./gen_pup_xdg openbox
0.151
# ./gen_pup_xdg jwm
0.113
# ./gen_pup_xdg icewm
0.112
# ./gen_pup_xdg fbpanel
0.112
# ./gen_pup_xdg fluxbox
1.193

Posted: Mon 15 Apr 2013, 13:18
by simargl
.

Posted: Mon 15 Apr 2013, 16:15
by Mobeus
Hi simargl,

Thanks, I’ll try that with /etc/rc.conf & let you know on your thread.
I would suggest to add all needed supporting scripts from original
Puppy to your package so it is like all-in-one and become more Linux general than Puppy specific project.
:) Other Linux OS do not need this package. The package in this thread is all about making the Puppy menu system more standards compliant, like Linux in general, and do so in a way that will not break the existing support system that is in place for these other window managers, including the icon theme switcher and PPM. It is a very small modification to Puppy, yet will allow good things that are difficult with the current setup.

Then I will build the menu editor in a way that will work for most Linux that use the freedesktop.org standard, including Puppy, and yet not be Puppy specific.
Great thing about openbox is ability to use
pipe menus, so applications list can be automatically generated every time
You mean like openbox-menu? I think my menu generator will work the same way. I’ll have to try it.

Code: Select all

 (in menu.xml)
<menu id="desktop-app-menu"
      label="Applications"
      execute="<path-to-exec>/gen_pup_xdg openbox" />

(in openbox root menu)
<menu id="desktop-app-menu" /> 
Regards

Posted: Thu 18 Apr 2013, 02:45
by Mobeus
Progress:

Improved fluxbox menu generation.

Version 1 time

Code: Select all

# ./gen_pup_xdg fluxbox
1.193
Version 2 time

Code: Select all

# ./gen_pup_xdg-02 fluxbox
0.142

# ./gen_pup_xdg-02 fluxbox
0.134

# ./gen_pup_xdg-02 fluxbox
0.147

# ./gen_pup_xdg-02 fluxbox
0.144 
Much better. I can live with that.