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 / x11.ycp < prev    next >
Text File  |  2006-11-29  |  4KB  |  121 lines

  1. /**************
  2. FILE          : x11.ycp
  3. ***************
  4. PROJECT       : YaST2 - Yet another Setup Tool
  5.               :
  6. AUTHOR        : Marcus Sch├ñfer <ms@suse.de>
  7.               :
  8. BELONGS TO    : YaST2 - X11 integration part using SaX2/libsax
  9.               :
  10. DESCRIPTION   : The x11 module provides a wizzard mainly used
  11.               : during installation. While installing a wizzard like
  12.               : interface seems to be the best way to simplify the
  13.               : process of configuring the X11 system. Based on a
  14.               : suggestion only the primary parts like:
  15.               : //.../
  16.               : - Resolution
  17.               : - Colordepth
  18.               : - Monitor settings
  19.               : ---
  20.               : are offered for the configuration. Within the later
  21.               : installed system the SaX control center takes control
  22.               : over the wide range of X11 configuration issues.
  23.               :
  24.               :
  25. STATUS        : Development
  26. **************/
  27. /*! \brief YaST2 - X11 configuration interface
  28. *
  29. * File:        x11.ycp
  30. * Package:     X11 Configuration
  31. * Summary:     Main Module started if yast2 x11 is called
  32. * Authors:     Marcus Schaefer <ms@suse.de>
  33. */
  34. { // begin
  35. textdomain "x11";
  36.  
  37. import "X11Version";
  38. import "XMessages";
  39. import "Wizard";
  40. import "Popup";
  41. import "Mode";
  42. import "Package";
  43. import "CommandLine";
  44.  
  45. //==========================================
  46. // Functions...
  47. //------------------------------------------
  48. //---[ finish ]----//
  49. define any finish() ``{
  50.     any localReturn = `next;
  51.     y2milestone ("Running displaymanager SuSEconfig module");
  52.     UI::BusyCursor();
  53.     SCR::Execute (.target.bash, "/sbin/SuSEconfig --module xdm");
  54.     SCR::Execute (.target.bash, "/sbin/SuSEconfig --module kdm3");
  55.     SCR::Execute (.target.bash, "/sbin/SuSEconfig --module gdm");
  56.     UI::NormalCursor();
  57.     return localReturn;
  58. }
  59.  
  60. //==========================================
  61. // installPackages()...
  62. //------------------------------------------
  63. define any installPackages() ``{
  64.     list<string> requiredPacs = [
  65.         "xorg-x11", "xorg-x11-server","xorg-x11-server-glx","libusb",
  66.         "sax2", "sax2-gui", "sax2-ident", "sax2-tools","sax2-libsax",
  67.         "sax2-libsax-perl"
  68.     ];
  69.     // ... /
  70.     // setup contents of requiredPacs plus required pacs
  71.     // for the detected card(s)
  72.     // ---
  73.     requiredPacs = toset ( flatten( [requiredPacs] ) );
  74.  
  75.     // remove unavailable packages
  76.     requiredPacs = filter(string pac, requiredPacs, {return Pkg::PkgProperties(pac) != nil;} );
  77.  
  78.     y2milestone("required X11 packages: %1", requiredPacs);
  79.  
  80.     return Package::InstallAllMsg (
  81.         requiredPacs, XMessages::pacsMissing
  82.     ) ? `auto : nil;
  83. }
  84.  
  85. //==========================================
  86. // install eventually missing packages...
  87. //------------------------------------------
  88. if (installPackages() == nil) {
  89.     return `nil;
  90. }
  91.  
  92. //==========================================
  93. // setup GUI handler routine
  94. //------------------------------------------
  95. define boolean GUIHandler () {
  96.     any done = WFM::CallFunction ("XMain", [true,true]);
  97.     if ((done == `abort) || (done == `back) || (done == `nil)) {
  98.         return false;
  99.     }
  100.     finish();
  101.     return true;
  102. }
  103.  
  104. //==========================================
  105. // setup commandline description
  106. //------------------------------------------
  107. map cmdlineDescription = $[
  108.     "id"         : "x11",
  109.     "guihandler" : GUIHandler,
  110.     "help"       : XMessages::helpCMD
  111. ];
  112.  
  113. //==========================================
  114. // run module now...
  115. //------------------------------------------
  116. any ret = CommandLine::Run (
  117.     cmdlineDescription
  118. );
  119. return (symbol)ret;
  120. } // end
  121.