Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
fvwm-menu-desktop(1)		 FVWM Modules		  fvwm-menu-desktop(1)

       fvwm-menu-desktop  -  builds GNOME and KDE menus	and style commands for

       fvwm-menu-desktop [ --help|-h|-?	] [ --version|-v|-V ] [	--install-pre-
       fix DIR ] [ --desktop NAME ] [ --type NAME ] [ --fvwmgtk-alias NAME ] [
       --title	NAME  ]	 [  --name  NAME  ]  [	--merge-user-menu  ]  [	 --en-
       able-mini-icons	] [ --enable-tran-mini-icons ] [ --mini-icons-path DIR
       ] [ --png-icons-path DIR	] [ --tran-mini-icons-path DIR	]  [  --check-
       mini-icons  PATH	] [ --icon-toptitle micon:law:place:side_pic:color ] [
       --icon-title  micon:law:place:side_pic:color  ]	[  --icon-folder   mi-
       con:law:place  ]	 [ --icon-app micon:law:place ]	[ --wm-icons ] [ --en-
       able-style ] [ --enable-tran-style ] [ --icon-style micon:icon:law ]  [
       --icons-path  DIR  ] [ --tran-icons-path	DIR ] [	--check-icons PATH ] [
       --submenu-name-prefix name ] [ --dir DIR	] [ --destroy-type  FLAG  ]  [
       --xterm CMD ] [ --lang NAME ] [ --utf8 ]	[ --uniconv charset ] [	--uni-
       conv-exec  exec	]  [  --menu-style  name  ]  [	--no-check-app	 ]   [
       --time-limit NUM	]

       This  is	 a  perl script	which parses GNOME or KDE menus	definitions to
       build corresponding FVWM	or FvwmGtk menus. The script  can  also	 build
       icon and	mini-icon style	commands for the applications.

       There  are  a  lot  of  options.	However	the defaults are, I hope, good
       enough.	If you want the	KDE system menu	in the	menu  "Utilities"  add
       the following lines in your .fvwm2rc file:
       AddToMenu Utilities "KDE	System Menu" Popup kde-sys
       PipeRead	'fvwm-menu-desktop --desktop kde-sys'
       For KDE2	you may	have to	add --utf8 or --uniconv	"charset" (see below).
       Moreover, with KDE2 you can add --merge-user-menu.  If you use KDE ver-
       sion  1 (see below for KDE2) and	you want mini-icons in the menu	and if
       the KDE mini-icons are in "mini/" relative to your FVWM	ImagePath  add
       the  option  --enable-mini-icons.   (if	the KDE	mini-icons are in some
       other place use the --mini-icons-path option, e.g., they	 are  in  your
       ImagePath  plus --mini-icons-path). If you want to build	Icon and Mini-
       Icon style commands for KDE  applications,  add	the  option  --enable-
       style.	If you want to have the	KDE user menu replace "sys" by "user".
       If you use the KDE menu editor, you may want to pop this	menu up	dynam-
       ically.	 Then,	put  this  into	 your .fvwm2rc file (note the destroy-
       AddToMenu Utilities "KDE	User Menu" Popup kde-user
       AddToMenu kde-user
       + DynamicPopupAction PipeRead 'fvwm-menu-desktop	--desktop kde-user --enable-mini-icons [--destroy-type dynamic]	[other options]'

       For GNOME it is natural to use FvwmGtk  menus.  The  following  example
       builds "all" GNOME menus	(with some mini-icons in the system menu). You
       need to specify the GNOME installation prefix if	it is not  /usr	 (with
       the  option  --install-prefix). Moreover, the GNOME icons need to be in
       your ImagePath and the non .png mini-icons you use  for	the  user-menu
       need  to	 be  in	mini/ (if not, use the --png-icons-path	option and the
       --mini-icons-path option, respectively).

       Module FvwmGtk
       *FvwmGtk: Destroy gnome-all
       *FvwmGtk: Menu gnome-all
       *FvwmGtk: Title "Gnome Menus"
       *FvwmGtk: Separator
       *FvwmGtk: Destroy gnome-sys
       *FvwmGtk: Submenu "System" gnome-sys
       *FvwmGtk: Destroy gnome-user
       *FvwmGtk: Submenu "User"	gnome-user
       *FvwmGtk: Destroy gnome-redhat
       *FvwmGtk: Submenu "RedHat" gnome-redhat

       PipeRead	'fvwm-menu-desktop --type gtk --enable-mini-icons --icon-folder	:re --icon-app :re --icon-title	:re --icon-toptitle :re'

       PipeRead	'fvwm-menu-desktop --type gtk --desktop	gnome-user --enable-mini-icons'

       PipeRead	'fvwm-menu-desktop --type gtk --desktop	gnome-redhat --enable-mini-icons'

       # To obtain the menu above with Alt-button1 on the root window
       Mouse 1	R  M  SendToModule FvwmGtk gnome-all

       You can specify FvwmGtk alias: Module  FvwmGtk  MyGnomeMenu.   In  this
       case  you  must	pass  an  additional  parameter	 to fvwm-menu-desktop:
       --fvwmgtk-alias MyGnomeMenu.

       Of course you can build FVWM (i.e., no FvwmGtk) GNOME menus.  GNOME and
       KDE2  use  PNG icons which are not supported by FVWM menu.  However, if
       you have	XPM version of the GNOME or of the KDE2	(mini-)icons  you  can
       build  FVWM  menus and style commands with these	icons using the	option
       --enable-tran-mini-icons	and --enable-tran-style. The FVWM Themes pack-
       age  (  contains  an	utility, fvwm-
       themes-images, which can	convert	automatically (with the	help of	Image-
       Magick) all GNOME and KDE2 icons	to XPM icons.

       You  can	 build sub menus using the --dir options. However, if you want
       to use more than	one submenu it is better to build the "all"  menu  and
       to use the submenu names.  See the option --submenu-name-prefix for in-
       formation on submenu names. Nevertheless, you may put the menu in a tmp
       file using redirection to see the submenu names.

       If  you think that fvwm-menu-desktop slows your startup too much	do not
       use PipeRead.  Instead run  fvwm-menu-desktop and redirect the menu  to
       a  file	and Read that file in your .fvwm2rc file.  Another possibility
       is to use DynamicPopupAction  (with  fvwm  menu),  the  menu  (and  the
       styles)	will  be built only if you pop up the menu. The	following menu
       creates a "kde-all" menu	which contains the user	menu  which  is	 built
       each time you pop up "kde-all" and contains a pop up to the system menu
       which is	built only the first time you pop it up.
       AddToMenu kde-all
       + DynamicPopupAction FuncRecreateKdeAll

       AddToMenu kde-sys
       + DynamicPopupAction PipeRead 'fvwm-menu-desktop	\
       --desktop kde-sys [options, but --destroy-type d* or n*]'

       AddToFunc FuncRecreateKdeAll \
       I PipeRead 'fvwm-menu-desktop \
       --desktop kde-user --enable-mini-icons --name kde-all \
       --destroy-type dynamic [options you like]'
       + I AddToMenu "kde-all" "" Nop
       + I AddToMenu "kde-all" "Kde System%mini/mini-k.xpm%" Popup kde-sys

       fvwm-menu-desktop takes into account your $LANG	environment  variable,
       which may be overwritten	using the --lang option.

       Hint,  if  you  need a different	menu font or item format from the ones
       used in the default MenuStyle, you may use the --menus-style option  to
       assign  a  non-default  MenuStyle  name	to menus built by this script.
       Don't forget to create a	new menu style in your .fvwm2rc,  using	 Copy-
       MenuStyle and MenuStyle commands.

       Main Options

       --help Show the help and	exit.

	      Show the version and exit.

       --install-prefix	DIR
	      The  prefix  of  GNOME  or KDE installation. Default is /usr for
	      GNOME (other common prefixes: /usr/local,	/opt/gnome).  For  KDE
	      the  default is $KDEDIR and you probably do not need to use this

       --desktop NAME
	      Use gnome-sys for	the GNOME system menu (this is	the  default),
	      gnome-user  for the GNOME	user menu, gnome-redhat	for the	Anoth-
	      erLevel menu of Red Hat, gnome-mandriva for  Mandriva  menudrake
	      menus,  kde-sys for the KDE system menu and kde-user for the KDE
	      user menu. It may	be useful to use KDE or	GNOME as a  flag  with
	      the --dir	option.

       --type NAME
	      If  NAME	is fvwm, a native FVWM menu will be built (this	is the
	      default).	If NAME	is gtk,	a FvwmGtk menu will be built.

       --fvwmgtk-alias NAME
	      The name for then	FvwmGtk	 module	 to  use  instead  of  default

       --title NAME
	      Define  the menu title of	the top	menu. Default is "Gnome	System
	      Menu" for	gnome-sys, "Gnome User Menu"  for  gnome-user,	"Gnome
	      Red  Hat	Menu"  for  gnome-redhat,  "Gnome  Mandriva  Menu" for
	      gnome-mandriva. For KDE the default is given by KDE  itself  (or
	      are similar to GNOME title).

       --name NAME
	      Define  the  menu	name of	the top	menu. Default is the --desktop
	      name if you use one above.

	      this option tries	to merge the user menu with  the  system  menu
	      (gnome-sys  or kde-sys, based on the --desktop option) and takes
	      into account changes to the system menu that it is now  possible
	      to  do in	the "user directory" (at least with KDE	version	2 menu

       Icons Options

	      By default, fvwm-menu-desktop  builds mini-icon free  menus.  To
	      enable mini-icons	use one	of the two following options.

	      This  option  enables mini-icons in the menu.  The desktop hints
	      are used if it is	possible (fvwm menu can't use .png icons). Use
	      the  --mini-icons-path  and  the --png-icons-path	to specify the
	      good paths. By using the --icon-*	options	below you can  control
	      mini-icons in menus.

	      This  option  applies  only to fvwm menus	and is useful to build
	      GNOME or KDE2 menus with mini-icons (and if you have XPM version
	      of  the  GNOME  or  KDE2 PNG icons).  If this option is used any
	      icon hint	foo.png	is translated to path/foo.xpm  where  path  is
	      determined  by  the --tran-mini-icons-path option	(xpm icons are
	      used as with the previous	option).

       --mini-icons-path DIR
	      Define the directory of the .xpm mini-icons  (relative  to  your
	      ImagePath). Default is "mini/".

       --png-icons-path	DIR
	      Define the directory of .png icons. Default is ""	(i.e., in your
	      ImagePath). Useful only with FvwmGtk menus.

       --tran-mini-icons-path DIR
	      Define  the  directory  of  the	mini-icons   for   the	 --en-
	      able-tran-mini-icons  option. Default is mini/. It is preferable
	      to give the complete path	so that	fvwm-menu-desktop can check if
	      the translated mini-icons	exists (and the	"re" law will apply in
	      a	good way).

       --check-mini-icons PATH
	      Where PATH is a list of directories with	":"  as	 a  separator.
	      Then,  fvwm-menu-desktop checks that the mini icons actually ex-
	      ist in one of these directories (this check is not done for  the
	      translated mini icons).


	      To  control  mini-icons in menus you can use the 4 following op-
	      tions which work similarly.

	      In these options law may be no, dh, re or	ow.  no	means "do  not
	      use  mini-icon"  (this does not affect side pic).	 dh means "use
	      only the mini-icons GNOME/KDE hints".  re	means "use  mini-icons
	      GNOME/KDE	hints but if it	is empty use the specified mini-icon".
	      ow means "override the mini-icons	GNOME/KDE hints	by the	speci-
	      fied mini-icon".

	      The  path	 to  the  specified  icons  is	given  by  the options
	      --mini-icons-path,  --png-icons-path  or	--tran-mini-icons-path
	      (i.e., you just have to specify the icon,	the path is computed).
	      For the sidepic you need to give the complete relative path from
	      your ImagePath.

	      Note    that    for   the	  FVWM	 menu	(without   the	 --en-
	      able-tran-mini-icons option) a .png icon hint is	considered  as
	      an  empty	 hint, so for the system menu use no=dh	and re=ow (you
	      may   use	  .xpm	 icons	 in   a	   user	   menu).    If	   the
	      --tran-mini-icons-path  option is	set with a complete path, then
	      if the .xpm icon which corresponds  to a .png icon hint does not
	      exist, the icon hint is considered as empty.

	      place,  sidepic  and  color apply	only with fvwm menus. place is
	      either left or up.  left means that the icon will	be  placed  on
	      the  left	 of  the  label. up means that the icon	will be	placed
	      above the	label.	sidepic	needs to be nothing or an icon (for  a
	      picture in the bottom left of the	menu). color applies only if a
	      sidepic icon is given and	it is the color	for the	region of  the
	      menu containing the sidepic picture.

	      When  you	 use  an option	below, if an icon, a law ...etc	is not
	      specified	(i.e., empty) the default is used (e.g,	if  you	 want,
	      for an FVWM menu,	the icon folder.xpm on the left	of the top ti-
	      tle and the sidepic fvwm2.xpm on the left	of this	menu  use  the
	      following: --icon-toptitle :ow::fvwm2.xpm).

       --icon-toptitle micon:law:place:sidepic:color
	      Mini-icon	 for  the top title and	sidepic	for the	top menu.  De-
	      fault for	fvwm menus: folder.xpm:no:left::.   Default  for  fvwm
	      menus  with  --enable-tran-mini-icons: gnome-logo-icon-transpar-
	      ent.xpm:no:left:.	 Default for gtk menus:	gnome-logo-icon-trans-

       --icon-title micon:law:place:sidepic:color
	      Use  the	option	below  for  submenus.  Default for fvwm	menus:
	      folder.xpm:dh:left::.   Default  for  fvwm  menus	  with	 --en-
	      able-tran-mini-icons:  gnome-folder.xpm:dh:left::.   Default for
	      gtk menus: gnome-folder.png:dh

       --icon-folder micon:law:place:sidepic:color
	      Mini-icons  for  pop  up	item.	 Default   for	 fvwm	menus:
	      folder.xpm:dh:left.    Default   for   fvwm   menus  with	 --en-
	      able-tran-mini-icons: gnome-folder.xpm:dh:left.  Default for gtk
	      menus: gnome-folder.png:dh.

       --icon-app micon:law:place
	      Mini-icon	 for  applications  item.   Default  for  fvwm	menus:
	      mini-x.xpm:dh.	Default	  for	fvwm	menus	 with	 --en-
	      able-tran-mini-icons:  gnome-default.xpm:dh.   Default  for  gtk
	      menus: gnome-default.png:dh

	      This is a	shortcut, which	can be used if you plan	to  use	 icons
	      from  the	 wm-icons  package.  Currently	this is	equivalent to:
	      --enable-mini-icons   --mini-icons-path	 ''    --icon-toptitle
	      menu/folder-open.xpm:ow	--icon-title   menu/folder-open.xpm:ow
	      --icon-folder menu/folder.xpm:ow --icon-app menu/utility.xpm:ow.

       Style Options

       --enable-style mini-icon:icon:law:addstyle
	      Build icons and mini-icons style commands	for  the  applications
	      in the built menu.

	      Only  useful  with FvwmGtk GNOME or KDE2 menus. Make translation
	      as the enable-tran-mini-icon option but only for style (not  for
	      mini-icons menus).

       --icon-style mini-icon:icon:law:addstyle
	      This  option  is	similar	to the options --icon-*	above. Default
	      law is "dh" (there  is  no  "no"	law).	Default	 mini-icon  is
	      mini-x.xpm and default icon is x.xpm. You	can add	a style	to all
	      applications with	addstyle. If you use the enable-tran-mini-icon
	      options the translated (mini-)icons will be used (if translation
	      is needed) and the default icons are gnome-default.xpm.  If  you
	      use  the --enable-tran-style options above the default icons are
	      gnome-default.xpm.  The paths to	mini-icons  are	 the  same  as
	      those  for the menus. The	path to	the icons is computed from the
	      mini-icons path: they are	one directory up to the	 corresponding
	      mini-icons path (so the "defaults" are ""	and this is consistent
	      with KDE1	and XPM	icons builded by fvwm-themes-images).

       --icons-path DIR
	      Not useful in a normal situation.	 Define	the directory  of  the
	      icons.  Default  is  one directory up from the path given	by the
	      --mini-icons-path	option.	To set the path	to "" you need to  use

       --tran-icons-path DIR
	      Similar to the above option.

       --check-icons PATH
	      Where  PATH  is  a  list of directories with ":" as a separator.
	      Then, fvwm-menu-desktop checks that the icons actually exist  in
	      one  of these directories	(this chack is not done	for the	trans-
	      lated icons, use a full path in --tran-icons-path	to do so).

       Other Options

       --submenu-name-prefix NAME
	      May be useful in some unfortunate	cases. By default the name  of
	      a	 sub menu is of	the form prefix-adirname-level where prefix is
	      the desktop flag,	adirname is the	name of	the directory  of  the
	      description  of  the  sub	 menus (not a complete path) and where
	      level is an integer equal	to the number of "cd"s you need	to  do
	      to  go  from the root to the directory of	the description	of the
	      sub menus. You may change	the prefix using the present option.

       --dir DIR
	      Set the directory	where fvwm-menu-desktop	looks for a  GNOME/KDE
	      menu description to DIR.	The name of the	menu is	'desktop-name'
	      and the title is 'desktop' name where 'desktop' is either	 GNOME
	      or  KDE  (if  fvwm-menu-desktop can't find which desktop is con-
	      cerned, you can help with	the --desktop option) and where	'name'
	      is  the  name  of	 the  right directory of DIR (or a hint	of the
	      desktop for the title).  Note that if this option	 is  not  set,
	      the  description directory is install-prefix/share/gnome/apps if
	      --desktop	 is  gnome-sys,	 $HOME/.gnome/apps   if	 --desktop  is
	      gnome-user, $HOME/.gnome/apps-redhat  if --desktop is gnome-red-
	      hat,  $HOME/.gnome/apps-mdk   if	--desktop  is  gnome-mandriva,
	      $KDEDIR/share/applink    if    --desktop	  is	kde-sys	   and
	      $HOME/.kde/share/applnk if--desktop is sys-user.

       --destroy-type flag
	      flag may be "y(es)", "no", "d(ynamic)". Default  is  "yes"  with
	      FVWM  menus,  "no"  with	FvwmGtk	menus and dynamic applies only
	      with FVWM	menus.	If "yes" is used the  top  menu	 will  be  de-
	      stroyed  (DestroyMenu "name"), if	"no" is	used the top menu will
	      not be destroyed (useful for FvwmGtk  menus  called  by  another
	      menu  via	FvwmGtkSubMenu or to give the same name	to two or more
	      menus built by fvwm-menu-desktop). If dynamic is used  the  menu
	      will  be	destroyed/recreated  (may  be useful with DynamicPopu-
	      pAction).	Note that all the  built  sub  menus  are  always  de-

       --xterm CMD
	      Define  complete X terminal command to run applications in it if
	      needed.  Default is 'xterm -e'.

       --lang NAME
	      Default is the value of $LANG. Useful if your  language  is  not
	      GNOME/KDE	 compliant and you prefer a non-English	compliant lan-
	      guage. Also useful if fvwm-menu-desktop gives  bad  result  with
	      your language.

       --utf8 Assume that the desktop entries used UTF-8 encoding. This	is the
	      case with	KDE version 2 and will be probably the case with GNOME
	      version  2.   At	the  present time this option work only	if you
	      have perl	version	5.6 or better and if your language use latin-1
	      font. If one of these conditions is not satisfied, then this op-
	      tion is equivalent to --lang en.	For  other  languages/charsets
	      use  the	--uniconv option. The advantage	of this	option as com-
	      pared to the following option is that it is fast.

       --uniconv charset
	      Use iconv, uniconv or internal method to translate utf8  desktop
	      entries  into  an	 appropriate "charset".	You can	choose between
	      one of the supported tools using	--uniconv-exec	option.	 iconv
	      comes with glibc >= 2.1.1	and uniconv comes with the utf8	editor
	      yudit. Type "iconv --list" or "man uniconv" for the list of sup-
	      ported  charsets.	 Of  course  you must also use the appropriate
	      font using the MenuStyle command.	Also,  $LANG  (or  --lang  xx)
	      must  be	compatible with	the charset. Note, if you don't	use an
	      internal method, fvwm-menu-desktop is very slow  with  this  op-
	      tion:  you  probably need	to use the --time-limit	option and you
	      should redirect the result into a	file and  read	this  file  in
	      your FVWM	configuration.

       --uniconv-exec exec
	      Where  exec  is  either  iconv or	uniconv	or internal. Allows to
	      choose the program which perform the  UTF8  translation  in  the
	      case of the --uniconv option. The	internal method	is only	avail-
	      able with	perl 5.8.0 and better.	The default is either internal
	      (if available) or	iconv.

       --menu-style name
	      By  default  the	generated FVWM menus use the default MenuStyle
	      (i.e., the MenuStyle "*"). You  can  specify  another  MenuStyle
	      name using this option.

	      Either  check or don't check that	applications to	execute	are in
	      your path.  Default is --check-app.

       --time-limit NUM
	      Change the internal limit	(15 seconds) for running  this	script
	      to  NUM seconds, 0 means unlimited running. This limiting	may be
	      useful to	cut mistakes with the --dir or --install-path options.

       This script needs more testing to see if	all options  work  well	 (note
       that the	script does not	check for inconsistency	of the given options).
       If Desktop menu hints are changed the script may	not work as  expected.
       I  have	tested	the script with	gnome-core-1.0.3, kde-1.1, kde-1.2 and

       Olivier Chapuis <>

       Mikhael Goikhman	<> - some changes

       The script is distributed by the	same terms as FVWM  itself.   See  GNU
       General Public License for details.

3rd Berkeley Distribution (not released	yet) (2.5.20)	  fvwm-menu-desktop(1)


Want to link to this manual page? Use this URL:

home | help