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 / modules / DefaultDesktop.ycp < prev    next >
Text File  |  2006-11-29  |  3KB  |  128 lines

  1. /**
  2.  * File:    DefaultDesktop.ycp
  3.  * Package:    Handling of default desktop selection
  4.  * Authors:    Jiri Srain <jsrain@suse.cz>
  5.  *
  6.  * $Id: Packages.ycp 31512 2006-06-19 11:14:09Z jsrain $
  7.  */
  8.  
  9. {
  10.  
  11. module "DefaultDesktop";
  12.  
  13. textdomain "packager";
  14.  
  15. import "ProductFeatures";
  16.  
  17. /**
  18.  * Desktop which was selected in the desktop selection dialog
  19.  * "kde", "gnome", "min_x11", "text"
  20.  */
  21. string desktop = nil;
  22.  
  23. /**
  24.  * Window manager to be set according to selected desktop
  25.  */
  26. map<string,string> desktop2wm = $[
  27.     "gnome" : "gnome",
  28.     "kde" : "kde",
  29.     "min_x11" : "twm",
  30.     "text" : "twm",
  31. ];
  32.  
  33. /**
  34.  * Patterns to be preselected according to selected desktop
  35.  */
  36. map<string,list<string> > patterns_to_select = $[
  37.     "gnome" : [ "gnome", "x11", "base" ],
  38.     "kde" : [ "kde", "x11", "base" ],
  39.     "min_x11" : [ "x11", "base" ],
  40.     "text" : [ "base" ],
  41. ];
  42.  
  43. /**
  44.  * Patterns NOT to be preselected according to selected desktop
  45.  */
  46. map<string,list<string> > patterns_to_deselect = $[
  47.     "gnome" : [ "kde" ],
  48.     "kde" : [ "gnome" ],
  49.     "min_x11" : [ "kde, gnome" ],
  50.     "text" : [ "kde, gnome", "x11" ],
  51. ];
  52.  
  53. /**
  54.  * Map of desktop descriptions
  55.  */
  56. map<string,string> desktop_descr = $[
  57.     "kde" : _("KDE"),
  58.     "gnome" : _("GNOME"),
  59.     "min_x11" : _("Minimal Graphical System"),
  60.     "text" : _("Text Mode"),
  61. ];
  62.  
  63.  
  64. /**
  65.  * Get the currently set default desktop, nil if none set
  66.  * @return string "kde", "gnome", "min_x11", "text", nil
  67.  */
  68. global string Desktop () {
  69.     return desktop;
  70. }
  71.  
  72. /**
  73.  * Set the default desktop
  74.  * @param desktop a string, one of "kde", "gnome", "min_x11", "text" or nil
  75.  */
  76. global void SetDesktop (string new_desktop) {
  77.     if (new_desktop != nil && ! haskey (desktop2wm, new_desktop))
  78.     y2error ("Attempting to set desktop to unknown %1", new_desktop);
  79.     else
  80.     desktop = new_desktop;
  81. }
  82.  
  83. /**
  84.  * Get preffered window/desktop manager for the selected desktop
  85.  * @return string preffered window/desktop manager, empty if no one
  86.  */
  87. global string PrefferedWindowManager () {
  88.     return desktop2wm[desktop]:"";
  89. }
  90.  
  91. /**
  92.  * Get patterns which should be selected for currently selected desktop
  93.  * @return a list of patterns
  94.  */
  95. global list<string> PatternsToSelect () {
  96.     return patterns_to_select[desktop]:[];
  97. }
  98.  
  99. /**
  100.  * Get patterns which should be NOT selected for currently selected desktop
  101.  * @return a list of patterns
  102.  */
  103. global list<string> PatternsToDeselect () {
  104.     return patterns_to_deselect[desktop]:[];
  105. }
  106.  
  107. /**
  108.  * Get the description of the currently selected desktop for the summary
  109.  * @return string the description of the desktop
  110.  */
  111. global string Description () {
  112.     return desktop_descr[desktop]:"";
  113. }
  114.  
  115. /**
  116.  * Initialize default desktop from control file if specified there
  117.  */
  118. global void Init () {
  119.     string default_desktop = ProductFeatures::GetStringFeature
  120.     ("software", "default_desktop");
  121.     if (default_desktop == "")
  122.     default_desktop = nil;
  123.     desktop = default_desktop;
  124. }
  125.  
  126. /* EOF */
  127. }
  128.