This script is not a user script. It is used by Fvwm-Themes to do differrent
task concerning menu and other related things.
This scripts can do the following:
Parse and rebuild FVWM configuration files to build a clean menu from them:
application not in the path are removed, certain unuseful sub menus and
separator are removed (--build-menus option).
It can work in a locked way and communicate (via fvwm-themes-com) with
FvwmScript-Menus or any other programs (--com-mode option). See below
for the list of query that you can ask to fvwm-themes-menuapp via
Plan for the future: use an application data base
and parse and build (Mini)Icon Styles.
You must use (only) one of the following four options:
--help - show the help and exit
--version - show the version and exit
--build-menus - Cause fvwm-themes-menuapp to build clean menus.
--com-mode Run fvwm-themes-menuapp under the communication mode.
--menu-files [file1,file2,...] - files which are read and written by
fvwm-themes-menuapp. By default, fvwm-themes-menuapp will
read $FT_DATADIR/themes/default/menus-programs with the --site option.
Without the --site option fvwm-themes-menuapp will read menus-programs
and menus-extra (if found) in the fvwm-themes personal dir:
If menus-programs is not found in this directory the sites menus-programs
file is used (the one under $FT_DATADIR). Moreover, if menus-extra is not
found, a virtual such file is created so that the personal menus can
be created (MenuFvwmPersonal) in it.
--site - Change the default for the --menu-files option.
--remove-popup - Remove the sub menu popup that popup empty menu (only
useful with --build-menus). In fact only certain sub menu popup are
--com-name name - use name as name for communication with fvwm-themes-com.
By default, appmenu is used, but you should use appmenu-pid as name
where pid is the pid of the program that
want to talk to fvwm-themes-menuapp so that fvwm-themes-menuapp can
exit if this program exit and so that fvwm-themes-menuapp can kill the program
if an internal error happen in fvwm-themes-menuapp. On the other hand,
if you want to talk with fvwm-themes-menuapp in, say, a terminal you must
not give an name as menuapp-an_integer as name.
Start fvwm-themes-menuapp as:
fvwm-themes-menuapp --com-mode [--com-name=menuapp-pid ...]
Then use fvwm-themes-com as:
fvwm-themes-com --name menuapp[-pid] [--lock-and-get] --message="Command"
where Command is one of the following. All this commands are lock and
get but the exit command. A return value of 0 indicate an error.
menus-list - List of the menus.
root-menus-list - List of the root menus.
root-menus i - ith root menu.
menu-items menu_name - List of the items of the menu menu_name.
item menu_name:i - Information on the ith item of the menu menu_name.
remove menu_name:i - Remove the ith item of the menu menu_name.
move-up menu_name:i - Move up the ith item of the menu menu_name.
move-down menu_name:i - Move down the ith item of the menu menu_name.
add-or-edit-item X --it=menu_name:i --t=type --n=name --mi=menu-icon
--wd=working dir or window title
where X is either A for add or E for edit, see the code for details :)
selection-items - List of the items in the selection.
add-item-to-selection menu_name:i - Add the ith item of the menu menu_name
to the selection.
remove-sel-item i - Remove the ith item of the selection.
remove-all-sel-item - Remove all the selection items.
copy-sel-item menu_name:i:j - Copy the jth item of the selection after the
ith item of the menu menu_name.
copy-all-sel menu_name:i - Copy all the selection after the
ith item of the menu menu_name.
try - Out put the contents of the files (as soon as possible will run
the good fvwm-themes-config command).
save - wrote back the files
exit - Stop fvwm-themes-menuapp.