summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDidier Roche <didrocks@ubuntu.com>2010-11-19 13:47:58 +0100
committerDidier Roche <didrocks@ubuntu.com>2010-11-19 13:47:58 +0100
commit960bd3eaff638e233026b88c113cd0846bf6d9c9 (patch)
treecdd6a94973527af32c69656d4c84d3ba6e17581b
parentefef10abbab34d922e75f2f9ef217c8545fd4b91 (diff)
downloadbailer-960bd3eaff638e233026b88c113cd0846bf6d9c9.tar.gz
bailer-960bd3eaff638e233026b88c113cd0846bf6d9c9.tar.bz2
when running a shell, unload compiz shell(s)
-rw-r--r--src/bailer.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/bailer.cpp b/src/bailer.cpp
index a927570..76c62f6 100644
--- a/src/bailer.cpp
+++ b/src/bailer.cpp
@@ -34,6 +34,7 @@
COMPIZ_PLUGIN_20090315 (bailer, BailerPluginVTable);
static CompString reducedFunctionalityUnload[] = {"opengl", "composite"};
+static CompString compizShellUnload[] = {"unityshell"};
static CompString noARBUnload[] = {"colorfilter", "blur", "bicubic", "water", "reflex"};
static CompString noComplexUnload[] = {"blur", "water"};
@@ -64,16 +65,22 @@ BailerScreen::detectFallbackWM ()
*
* Because compiz might be providing the panel shell or whatever
* (eg, Ubuntu's Unity plugin), we need to ensure that our desktop
- * services come back when compiz goes away.
+ * services come back when compiz goes away or when the Compiz
+ * shell(s) can't run.
*
*/
void
BailerScreen::ensureShell ()
{
+
CompString alternative_shell = optionGetCustomAlternativeShell();
compLogMessage ("bailer",
CompLogLevelInfo,
"Ensuring a shell for your session");
+
+ /* FIXME: will be nicer to get the detection module at start and so, not loading plugin rather
+ than unloading them, isn't it? */
+ unloadPlugins (compizShellUnload);
if (strcmp (alternative_shell.c_str (), "") != 0)
{