home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / root / usr / share / YaST2 / clients / inst_fam.ycp < prev    next >
Text File  |  2006-11-29  |  2KB  |  75 lines

  1. /**
  2.  * File:    clients/inst_fam.ycp
  3.  * Package:    installation
  4.  * Summary:    Configure FAM according to control file and defauls WM
  5.  * Authors:    Jiri Srain <jsrain@suse.cz>
  6.  *
  7.  * $Id: inst_fam.ycp 23016 2005-04-18 13:20:13Z jsrain $
  8.  *
  9.  */
  10.  
  11. {
  12.     textdomain "installation";
  13.  
  14.     import "ProductFeatures";
  15.     import "ProductControl";
  16.     import "Mode";
  17.     import "Service";
  18.     import "GetInstArgs";
  19.  
  20.     /**
  21.      * Is GNOME installed?
  22.      * @return true if it is
  23.      */
  24.     boolean GnomeInstalled () {
  25.     return Pkg::IsProvided ("gnome-session");
  26.     }
  27.  
  28.     /**
  29.      * Is KDE installed?
  30.      * @return true if it is
  31.      */
  32.     boolean KdeInstalled () {
  33.     return Pkg::IsProvided ("kdebase3");
  34.     }
  35.  
  36.     /* Called backwards */
  37.     if(GetInstArgs::going_back())
  38.     return `auto;
  39.  
  40.     if ( !Mode::update () )
  41.     {
  42.     string default_wm = (string)
  43.         SCR::Read (.sysconfig.windowmanager.DEFAULT_WM);
  44.     if (SCR::Read (.target.size, ("/etc/sysconfig/fam")) != -1)
  45.     {
  46.         y2milestone ("Default WM: %1", default_wm);
  47.         string local_only = ProductFeatures::GetStringFeature (
  48.         "globals", "fam_local_only");
  49.         y2milestone ("Fam activation: %1", local_only);
  50.         if (local_only == "always"
  51.         || local_only == default_wm
  52.         || (local_only == "gnome" && GnomeInstalled ())
  53.         || (local_only == "kde" && KdeInstalled ()))
  54.         {
  55.         y2milestone ("Setting fam to local_only");
  56.         SCR::Write (.sysconfig.fam.FAM_LOCAL_ONLY, "yes");
  57.         SCR::Write (.sysconfig.fam, nil);
  58.         Service::Enable ("fam");
  59.         }
  60.     }
  61.  
  62.     // FIXME IT IS NOT YAST's TASK TO CREATE ENVIRONMENT FOR DESKTOPS THIS
  63.     // WAY. See bug 72018.
  64.     if (Pkg::IsProvided ("netapplet"))
  65.     {
  66.         if (default_wm == "gnome")
  67.         {
  68.         Service::Enable ("netdaemon");
  69.         }
  70.     }
  71.     }
  72.  
  73.     return `auto;
  74. }
  75.