roberts
Group: Members
Posts: 4983
Joined: Oct. 2003 |
|
Posted: Nov. 15 2007,04:41 |
|
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.
Edited by roberts on Nov. 15 2007,14:36
|