summaryrefslogtreecommitdiffstats
path: root/os-plugins/plugins/desktop/OpenSLX/OSPlugin/desktop.pm
diff options
context:
space:
mode:
authorOliver Tappe2008-05-20 15:24:28 +0200
committerOliver Tappe2008-05-20 15:24:28 +0200
commit4107122aea9c2aed804d46f4e3e726e5da051244 (patch)
tree515238d81d7274b14e54838e1c1aaccf01be0fa8 /os-plugins/plugins/desktop/OpenSLX/OSPlugin/desktop.pm
parent* optimized the methods that set the attributes of a client/group/system to (diff)
downloadcore-4107122aea9c2aed804d46f4e3e726e5da051244.tar.gz
core-4107122aea9c2aed804d46f4e3e726e5da051244.tar.xz
core-4107122aea9c2aed804d46f4e3e726e5da051244.zip
* more work at desktop plugin (GDM & KDM should now work on SUSE & Ubuntu)
git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@1777 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'os-plugins/plugins/desktop/OpenSLX/OSPlugin/desktop.pm')
-rw-r--r--os-plugins/plugins/desktop/OpenSLX/OSPlugin/desktop.pm45
1 files changed, 40 insertions, 5 deletions
diff --git a/os-plugins/plugins/desktop/OpenSLX/OSPlugin/desktop.pm b/os-plugins/plugins/desktop/OpenSLX/OSPlugin/desktop.pm
index 610e0583..03c26454 100644
--- a/os-plugins/plugins/desktop/OpenSLX/OSPlugin/desktop.pm
+++ b/os-plugins/plugins/desktop/OpenSLX/OSPlugin/desktop.pm
@@ -70,7 +70,7 @@ sub getAttrInfo
which display manager to start: gdm, kdm or xdm?
End-of-Here
content_regex => qr{^(g|k|x)dm$},
- content_descr => 'allowed: gdm, kdm, xdm',
+ content_descr => '"gdm", "kdm" or "xdm"',
default => undef,
},
'desktop::kind' => {
@@ -79,8 +79,8 @@ sub getAttrInfo
description => unshiftHereDoc(<<' End-of-Here'),
which desktop environment shall be used: gnome, kde, or xfce?
End-of-Here
- content_regex => qr{^(gnome,kde,xfce)$},
- content_descr => 'allowed: gnome, kde, xfce',
+ content_regex => qr{^(gnome|kde|xfce)$},
+ content_descr => '"gnome", "kde" or "xfce"',
default => undef,
},
'desktop::mode' => {
@@ -91,7 +91,7 @@ sub getAttrInfo
workstattion, kiosk or chooser?
End-of-Here
content_regex => qr{^(workstation|kiosk|chooser)$},
- content_descr => 'allowed: workstation,kiosk,chooser',
+ content_descr => '"workstation", "kiosk" or "chooser"',
default => 'workstation',
},
'desktop::theme' => {
@@ -189,7 +189,10 @@ sub getDefaultAttrsForVendorOS
$attrs->{'desktop::kind'}->{default} = 'xcfe';
}
else {
- # TODO: chroot into vendor-OS and determine the available desktop
+ $attrs->{'desktop::manager'}->{default}
+ = $self->{distro}->getDefaultDesktopManager();
+ $attrs->{'desktop::kind'}->{default}
+ = $self->{distro}->getDefaultDesktopKind();
}
return $attrs;
}
@@ -418,6 +421,38 @@ sub _setupGDMScript
sub _setupKDM
{
my $self = shift;
+
+ my $repoPath = $self->{pluginRepositoryPath};
+ mkpath([
+ "$repoPath/kdm/workstation",
+ "$repoPath/kdm/kiosk",
+ "$repoPath/kdm/chooser",
+ ]);
+
+ $self->_setupKDMScript();
+
+ my $configHash = $self->{distro}->KDMConfigHashForWorkstation();
+ $self->_writeConfigHash($configHash, "$repoPath/kdm/workstation/kdmrc");
+
+ $configHash = $self->{distro}->KDMConfigHashForKiosk();
+ $self->_writeConfigHash($configHash, "$repoPath/kdm/kiosk/kdmrc");
+
+ $configHash = $self->{distro}->KDMConfigHashForChooser();
+ $self->_writeConfigHash($configHash, "$repoPath/kdm/chooser/kdmrc");
+
+ return;
+}
+
+sub _setupKDMScript
+{
+ my $self = shift;
+
+ my $repoPath = $self->{pluginRepositoryPath};
+ my $script = $self->{distro}->setupKDMScript($repoPath);
+
+ spitFile("$repoPath/kdm/desktop.sh", $script);
+
+ return;
}
sub _setupXDM