Extension Development :: Note to extension builders



Ah, that solves the mystery.  Thanks!
I'm trying to create a UCI, but seem to be missing something, and keep getting ioct1: LOOP_SET_FD errors when I mydsl-load it.   I've tried following Roberts procedure in the WIKI :

1. The app is installed and runs properly from the /opt/your_app directory.

2. become root

3. cd /opt

4. mkisofs -R -hide-rr your_app | create_compressed_fs - 65536 > /mnt/somedrive/your_app.uci

What am I missing??  note: I tried something simple, one file (e.g. /opt/calc)

EDIT: OK....just got it working.....

Note 32x32 xpm style icons are being supported with DSLv4.x. Place your xpm icon in the /tmp/mydsl.icons/ directory. Naming convention is consistent with that current used for menu items.
This note is for extensions builders and only dealing with additional window managers.
This Tech Note is only for DSL v4.1 and later.

I am supporting window manager mydsl menus all under /opt. This way it supports legacy mode.
This provides a common single simple name of the scripts that code in the core DSL will look for and process.

/opt/.mydsl_menu/jwm/  directory contains:

make   -  the code to make the mydsl menu include
restart  - the code needed to restart/refresh to make the menu updates visible
menu_template - the "empty" or starting menu usually has a placeholder used as the target of insertion for the make script.

I did not use any extension (.lua, .sh, .pl)  on the script names so that you can write your scripts in any supported language.

To remain backward compatible the default menu structure remains the fluxbox menu specification.

/opt/.mydsl_menu/fluxbox  directory contains the same three named files but with content specific to fluxbox.

This way a .tar.gz (legacy able) extension can write to /opt/.mydsl_menu and the dynamic mydsl menu creation, update, and cleanup will all work.

For the main system menu (static) I am now using a bash include
to there is a fluxbox.inc and a jwm.inc. This include file is the code snippet that would have been needed inside the .xinitrc case statement which is no longer needed.

What would be in an .inc file is pagers, mouse pointers, and wallpapers (backgrounds).

With 4.0 it was confusing as there are three system competing for background control. And, if one partakes in adding new window manager, the completion would only increase. With the new window manager structure in 4.1, I am using a netural corner for background independence. That being the {wm}.inc file.

I have taken away the background control from dfm and .xinitrc. I am using, as in 3.x versions, xsri which is quite capable of many image formats (jpg, gif, tif, etc). This would allow for far more background choices without having to convert to xpm as dfm required.

The xsri command is specified in the window manager include file. By doing so, wallpaper.lua program can set the background via the .inc file.

Any additional window managers using the new structure of the .inc would then also be supported.
We would have a common known location to manually change backgrouds if so desired.

Each window manager could easily have its own background.

Example:
.jwm.inc
xsri --scale-width=100 --scale-height=100 /opt/.backgrounds/lance-blue.xpm


.fluxbox.inc
fluxter -w &>/dev/null &
xsri --scale-width=100 --scale-height=100 /opt/.backgrounds/envane.tif

The .inc file is optional. The window manager used is still controlled by the .desktop file.

Be sure that your new window manager is in the user's PATH. Use link to /opt/bin is needed.



It sounds like you've put a lot of work into this.
I don't really understand the system, though. You have three scripts that could be any language, but the intent is to use them to create a bash script? I must have totally misunderstood you. Could you please explain more about the purpose of the scripts? I don't see what a menu has to do with starting a window manager. It seems to me that all that's needed is the *.inc file

...unless you are incorporating this into the switch app?

Next Page...
original here.