Index of Section 1 Manual Pages

Interix / SUAfvwm-menu-desktop.1Interix / SUA

fvwm-menu-desktop(1)      FVWM Utilities     fvwm-menu-desktop(1)



NAME
       fvwm-menu-desktop  -  builds Gnome and KDE menus and style
       commands for FVWM


SYNOPSIS
       fvwm-menu-desktop   [   --help   ]   [   --version   ]   [
       --install-prefix  DIR ] [ --desktop NAME ] [ --type NAME ]
       [ --fvwmgtk-alias NAME ] [ --title NAME ] [ --name NAME  ]
       [   --merge-user-menu   ]   [   --enable-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
       micon:law:place   ]   [  --icon-app  micon:law:place  ]  [
       --wm-icons ] [ --enable-style ] [ --enable-tran-style ]  [
       --icon-style  micon:icon:law  ]  [  --icons-path  DIR  ] [
       --tran-icons-path DIR ] [ --check-icons PATH  ]  [  --sub-
       menu-name-prefix  name  ]  [  --dir DIR ] [ --destroy-type
       FLAG ] [ --xterm CMD ] [ --lang NAME ] [ --utf8 ] [ --uni-
       conv charset ] [ --uniconv-exec exec ] [ --menu-style name
       ] [ --no-check-app ] [ --time-limit NUM ]


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


USAGE
       If  the script is not installed in your path you will find
       it in the utils directory of the fvwm distribution.

       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 version 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
       MiniIcon 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 edi-
       tor,  you may want to pop this menu up dynamically.  Then,



       put this into your .fvwm2rc file (note the  destroy-type).

            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 follow-
       ing example builds "all" GNOME menus (with some mini-icons
       in the system menu). You need to specify the GNOME instal-
       lation  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
            *FvwmGtkDestroy gnome-all
            *FvwmGtkMenu gnome-all
            *FvwmGtkTitle "Gnome Menus"
            *FvwmGtkSeparator
            *FvwmGtkDestroy gnome-sys
            *FvwmGtkSubmenu "System" gnome-sys
            *FvwmGtkDestroy gnome-user
            *FvwmGtkSubmenu "User" gnome-user
            *FvwmGtkDestroy gnome-redhat
            *FvwmGtkSubmenu "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
       suported  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   package  (http://fvwm-themes.source-
       forge.net/) conatins an utility, fvwm-themes-images, which
       can  convert  automatically (with the help of ImageMagick)
       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 information on sub-
       menu 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 DynamicPopu-
       pAction  (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  environe-
       ment  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 cre-
       ate a new menu style in your fvwmrc,  using  CopyMenuStyle
       and MenuStyle commands.


OPTIONS
       Main Options


       --help Show the help and exit.

       --version
              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 option.

       --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 AnotherLevel menu of Red  Hat,
              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 FvwmGtk.

       --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.  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.

       --merge-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 editor).



       Icons Options

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


       --enable-mini-icons
              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.

       --enable-tran-mini-icons
              This option applies only to fvwm menus and is  use-
              ful  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  (rela-
              tive 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
              --enable-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  exist  in   one   of   these
              directories  (this check is not done for the trans-
              lated mini icons).


       Comments

              To control  mini-icons in menus you can use  the  4
              following options 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 speci-
              fied mini-icon".  ow means "override the mini-icons
              GNOME/KDE hints by the specified 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
              --enable-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  title  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.        Default      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-transparent.png:no.

       --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        --enable-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
              --enable-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
              --enable-tran-mini-icons:     gnome-default.xpm:dh.
              Default for gtk menus: gnome-default.png:dh


       --wm-icons
              This is a shortcut, which can be used if  you  plan
              to  use  icons from the wm-icons package. Currently
              this   is   equavalent   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.

       --style-tran
              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
              "inpath".

       --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 translated 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 pre-
              fix-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  'desk-
              top'  name  where  'desktop' is either GNOME or KDE
              (if fvwm-menu-desktop can't find which  desktop  is
              concerned,  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  descrip-
              tion  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-redhat, $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 destroyed (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-desk-
              top).  If  dynamic  is  used  the  menu   will   be
              destroyed/recreated (may be useful with DynamicPop-
              upAction). Note that all the built  sub  menus  are
              always destroyed.

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

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

       --utf8 Assume that the desktop entries used  UTF-8  encod-
              ing.  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 option is equivalent to --lang
              en.  For other languages/charsets use the --uniconv
              option. The advantage of this option as compared 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 supported charsets. Of course you must also
              use the appropriate font using the  MenuStyle  com-
              mand. Also, $LANG (or --lang xx) must be compatible
              with the charset. Note, if you don't use an  inter-
              nal  method,  fvwm-menu-desktop  is  very slow with
              this option: 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 config-
              uration.

       --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  available  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 spec-
              ify another MenuStyle name using this option.

       --[no]check-app
              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 run-
              ning. This limiting may be useful to  cut  mistakes
              with the --dir or --install-path options.


BUGS
       This  script needs more testing to see if all options work
       well (note that the script does not  check  for  inconsis-
       tency  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
       kde-2.0.


AUTHORS
       Olivier Chapuis 

       Mikhael Goikhman  - some changes


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



FVWM                     30 November 2002    fvwm-menu-desktop(1)

Interix / SUAHosted at SUA Community for Interix, SUA and SFUInterix / SUA