Index: moodle/theme/serenity/config.php
--- moodle/theme/serenity/config.php Base (1.1)
+++ moodle/theme/serenity/config.php Locally Modified (Based On 1.1)
@@ -29,7 +29,7 @@
 ////////////////////////////////////////////////////
 
 
-$THEME->enable_dock = false;
+$THEME->enable_dock = true;
 
 ////////////////////////////////////////////////////
 // Do you want to use the new navigation dock?
Index: moodle/theme/serenity/layout/frontpage.php
--- moodle/theme/serenity/layout/frontpage.php Base (1.2)
+++ moodle/theme/serenity/layout/frontpage.php Locally Modified (Based On 1.2)
@@ -1,14 +1,17 @@
 <?php
 
-$hassidepre = $PAGE->blocks->region_has_content('side-pre', $OUTPUT);
-$hassidepost = $PAGE->blocks->region_has_content('side-post', $OUTPUT);
+$hassidepre = (empty($PAGE->layout_options['noblocks']) && $PAGE->blocks->region_has_content('side-pre', $OUTPUT));
+$hassidepost = (empty($PAGE->layout_options['noblocks']) && $PAGE->blocks->region_has_content('side-post', $OUTPUT));
 	
+$showsidepre = ($hassidepre && !$PAGE->blocks->region_completely_docked('side-pre', $OUTPUT));
+$showsidepost = ($hassidepost && !$PAGE->blocks->region_completely_docked('side-post', $OUTPUT));
+
 $bodyclasses = array();
-if ($hassidepre && !$hassidepost) {
+if ($showsidepre && !$showsidepost) {
     $bodyclasses[] = 'side-pre-only';
-} else if ($hassidepost && !$hassidepre) {
+} else if ($showsidepost && !$showsidepre) {
     $bodyclasses[] = 'side-post-only';
-} else if (!$hassidepost && !$hassidepre) {
+} else if (!$showsidepost && !$showsidepre) {
     $bodyclasses[] = 'content-only';
 }
 if ($hassidepre || $hassidepost) {
@@ -62,7 +65,7 @@
                 </div>
                 
                 <?php if ($hassidepre) { ?>
-                <div id="region-pre">
+                <div id="region-pre" class="block-region">
                     <div class="region-content">
                         <?php echo $OUTPUT->blocks_for_region('side-pre') ?>
                     </div>
@@ -70,7 +73,7 @@
                 <?php } ?>
                 
                 <?php if ($hassidepost) { ?>
-                <div id="region-post">
+                <div id="region-post" class="block-region">
                     <div class="region-content">
                         <?php echo $OUTPUT->blocks_for_region('side-post') ?>
                     </div>
Index: moodle/theme/serenity/layout/general.php
--- moodle/theme/serenity/layout/general.php Base (1.2)
+++ moodle/theme/serenity/layout/general.php Locally Modified (Based On 1.2)
@@ -3,15 +3,18 @@
 $hasheading = ($PAGE->heading);
 $hasnavbar = (empty($PAGE->layout_options['nonavbar']) && $PAGE->has_navbar());
 $hasfooter = (empty($PAGE->layout_options['nofooter']));
-$hassidepre = $PAGE->blocks->region_has_content('side-pre', $OUTPUT);
-$hassidepost = $PAGE->blocks->region_has_content('side-post', $OUTPUT);
+$hassidepre = (empty($PAGE->layout_options['noblocks']) && $PAGE->blocks->region_has_content('side-pre', $OUTPUT));
+$hassidepost = (empty($PAGE->layout_options['noblocks']) && $PAGE->blocks->region_has_content('side-post', $OUTPUT));
 
+$showsidepre = ($hassidepre && !$PAGE->blocks->region_completely_docked('side-pre', $OUTPUT));
+$showsidepost = ($hassidepost && !$PAGE->blocks->region_completely_docked('side-post', $OUTPUT));
+
 $bodyclasses = array();
-if ($hassidepre && !$hassidepost) {
+if ($showsidepre && !$showsidepost) {
     $bodyclasses[] = 'side-pre-only';
-} else if ($hassidepost && !$hassidepre) {
+} else if ($showsidepost && !$showsidepre) {
     $bodyclasses[] = 'side-post-only';
-} else if (!$hassidepost && !$hassidepre) {
+} else if (!$showsidepost && !$showsidepre) {
     $bodyclasses[] = 'content-only';
 }
 
@@ -71,7 +74,7 @@
                 </div>
                 
                 <?php if ($hassidepre) { ?>
-                <div id="region-pre">
+                <div id="region-pre" class="block-region">
                     <div class="region-content">
                         <?php echo $OUTPUT->blocks_for_region('side-pre') ?>
                     </div>
@@ -79,7 +82,7 @@
                 <?php } ?>
                 
                 <?php if ($hassidepost) { ?>
-                <div id="region-post">
+                <div id="region-post" class="block-region">
                     <div class="region-content">
                         <?php echo $OUTPUT->blocks_for_region('side-post') ?>
                     </div>
Index: moodle/theme/serenity/pix_core/t/block_to_dock.png
MIME: application/octet-stream; encoding: Base64; length: 215
iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAAAXNSR0IArs4c
6QAAAAZiS0dEAMkAwACxMI8kjwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0
SU1FB9oGAgEkIJF8A5sAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJ
TVBXgQ4XAAAAMklEQVQY02M8eWDjfwYoMHfwZ1w9uxnORwcsDAwMDI9uX0IR
lFHSwqqYiYEEMKqYPooBDyoJ11XPl28AAAAASUVORK5CYII=
Index: moodle/theme/serenity/pix_core/t/dock_to_block.png
MIME: application/octet-stream; encoding: Base64; length: 215
iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAAAXNSR0IArs4c
6QAAAAZiS0dEAMkAwACxMI8kjwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0
SU1FB9oGAgElBLRk1gsAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJ
TVBXgQ4XAAAAMklEQVQY02NcPbv5PwMUhKbWMp48sBHORwcsDAwMDHKqeiiC
j25fwqqYiYEEMKqYPooByYUKUdcJF1YAAAAASUVORK5CYII=
Index: moodle/theme/serenity/pix_core/t/dockclose.png
MIME: application/octet-stream; encoding: Base64; length: 384
iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAAAXNSR0IArs4c
6QAAAAZiS0dEANkA0gDH9qsQGgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0
SU1FB9oGAgEeNzcGWCUAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJ
TVBXgQ4XAAAA20lEQVQY05WQTWvCQABEX6zGmFtgIQaSQ7tCCAWh5OTP9h94
9RAKggSxa0EDKohFED/ReHJtqoc6x+E9GMbodto5/0wZYDzsYZReyM+nO+B3
XwKoVGuEzRamZRdA07IJmy0q1doNPu63zDOFjGItmJaNjGLmmeK4395mAPws
pgDIKGYy6hO8vTObfOm+AF+FsmnxGn4wy0YFUM+4xhEewvX5HnwiXB9HeI9h
R3jUgwYqTVivlqg0oR40CoJ+w/UlKk047DYAHHYbVJrg+lK/YXQ77fypn4GH
4N/+AmJ8WAzzKr7QAAAAAElFTkSuQmCC
Index: moodle/theme/serenity/pix_core/t/switch_minus.png
MIME: application/octet-stream; encoding: Base64; length: 224
iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAAAXNSR0IArs4c
6QAAAAZiS0dEAEsAlwDiYDj/BgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0
SU1FB9oGAgEhK3vZLlYAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJ
TVBXgQ4XAAAAO0lEQVQY02M8eWDjfwYiAQsDAwPDo9uXiFLMxEACoI7i////
Y3czAwMDg5yqHk4TYX5iQRcYZB6kWDEADMgOcBYSYwgAAAAASUVORK5CYII=
Index: moodle/theme/serenity/pix_core/t/switch_plus.png
MIME: application/octet-stream; encoding: Base64; length: 240
iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAAAXNSR0IArs4c
6QAAAAZiS0dEAEsAlwDiYDj/BgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0
SU1FB9oGAgEiCYWUPHEAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJ
TVBXgQ4XAAAAS0lEQVQY02M8eWDjfwYiAQsDAwPDo9uXiFLMhE1QTlWPeMUk
mczAwMDw//9/7G7GZrW8mj6cDfMTC7oATCM2T1PHzUQrxhXuJJkMAClTFORx
vjc3AAAAAElFTkSuQmCC
Index: moodle/theme/serenity/style/core.css
--- moodle/theme/serenity/style/core.css Base (1.2)
+++ moodle/theme/serenity/style/core.css Locally Modified (Based On 1.2)
@@ -111,3 +111,19 @@
 	border:none;
 	padding:2px 5px;
 }
+
+/** Dock
+-----------------------------*/
+body.has_dock {margin:0;}
+#dock {left:5%;margin-left:-29px;border-width:0;background-color:transparent;}
+#dock .controls {bottom:auto;background-color:#DDD6CC;}
+#dock .dockeditem_container {position:relative;}
+#dock .dockeditem.firstdockitem {margin-top:50px;}
+#dock .dockeditem {background-color:#fff;padding:2px;padding-right:0px;}
+#dock .dockedtitle {border-width:0;}
+#dock .dockedtitle h2 {margin:0;padding:10px 3px;}
+#dock .dockedtitle.activeitem {background-color:#817b65;width:35px;}
+#dockeditempanel {background-color:#817b65;margin-left:5px;}
+#dockeditempanel .dockeditempanel_content {background-color:#eee9e0;margin:0 3px;position:relative;top:-3px;min-height:100px;border-color:#6f6856;}
+#dockeditempanel .dockeditempanel_hd {background-image:url([[pix:theme|headingblock]]);border-width:0;}
+#dockeditempanel .dockeditempanel_hd h2 {font-size:1em;color:#fff;}
