Apps :: touch mydsl.menu/whatever won't create new item



Man, I seem to have this same problem every time I go to make an extension and can never remember what I do to make it go away. Can somebody help me out here?

I create a new file in /tmp/mydsl.menu/ using the format listed         [exec] (display name) {command}

but it doesn't create a new menu item. I put it into a directory structure of my fully functioning new extension and turn it into a .dsl and it'll even load properly on a vanilla system, but still, it doesn't create a new menu item. Anyone else have a similar issue?

It's probably either incorrect file permission/ownership within the extension, or the mydsl system was broken by installing an extension as root.

Check the ownership of files in the extension with the command
Code Sample
tar -tzvf filename.dsl > files.txt
or
Code Sample
tar -tzvf filename.dsl | less

Most of the files should be owned by root (0/0).  Files in /home/dsl, including /home/dsl itself, should be owned by dsl.staff. The file within /tmp/mydsl.menu should be owned by dsl.staff.

Check the ownership of the file(s) in /tmp/mydsl.menu in your filesystem.  They should all be owned by dsl.  If not, do this as root:
Code Sample
chown dsl.staff /tmp/mydsl.menu/*

Interestingly enough, I've ruled out those as the cause. Permissions are fine, and I'm not root. The program loads though.

I even tried to copy one of the menuitems from another extension in there, or edit a pre-existing menuitem, and no matter what I edit it to say, the menu doesn't change.

I've made an Icon for it though and that's working fine, which I guess is good enough. By the way, is there some kind of an equivalent to kdialog that's included with fluxbox/busybox, so I can make a little popup dialog box when they click the icon or menu item that'll explain how to configure the program?

I'd suggest for you to edit one of the menu items from a working extension.

I suppose you could use a .lua dialog, or some output it in a terminal program, or dillo/beaver even.  To do this, instead of pointing the icon to the program itself, point it to a "wrapper" script.  Depending on which way you want to proceed, this script will basically launch your dialog first, before executing the program (I suppose if you use .lua, you can have a nice "OK" button or something...)

i.e. this may help...
Code Sample
#! /bin/bash
dillo /path/to/my/readme
/path/to/exec

I forgot another place where file ownership is an issue:
/home/dsl/.fluxbox/mydsl.menu
This is an include file for /home/dsl/.fluxbox/menu, and must also be owned by dsl.  This applies to DSL >=2.3

DSL has xmessage, which is fairly flexible in its use (though a bit fat for what it does), and roberts made a couple of tiny lua scripts called popask.lua and popup.lua:

popask.lua
Code Sample
popask.lua "this is a message"
Choices are yes and no.
'yes' or Enter prints 1, and 'no' or Esc/close prints nil (although the actual exit code of the app itself is 0).

popup.lua
Code Sample
popup.lua "this is a message"
It has only 'ok', which i think returns 0 regardless of how it's dismissed.

Next Page...
original here.