Incase anyone else trying to make this work for default-bootstrap theme here it is:
File default-bootstrap/js/global.js function bindGrid now reads
function bindGrid()
{
var view = $.totalStorage('display');
if (!view && (typeof displayList != 'undefined') && displayList)
view = 'list';
if (view && view != 'grid')
display(view);
else
$('.display').find('li#grid').addClass('selected');
$(document).on('click', '#grid', function(e){
e.preventDefault();
display('grid');
});
$(document).on('click', '#list', function(e){
e.preventDefault();
display('list');
});
}
change to
function bindGrid()
{
var view = $.totalStorage('display');
var displayList = true;
if (!view && (typeof displayList != 'undefined') && displayList)
view = 'list';
if (view && view != 'grid')
display(view);
else
$('.display').find('li#grid').addClass('selected');
$(document).on('click', '#grid', function(e){
e.preventDefault();
display('grid');
});
$(document).on('click', '#list', function(e){
e.preventDefault();
display('list');
});
}
Bonus:
If you want to make layout change work for home page go to default-bootstrap/js/modules/blocksearch/blocksearch.js line 58 and call just before return statement the bindGrid function. Something like
if($("#search_query_" + blocksearch_type).val().length > 0)
{
tryToCloseInstantSearch();
$('#center_column').attr('id', 'old_center_column');
$('#old_center_column').after('<div id="center_column" class="' + $('#old_center_column').attr('class') + '">'+data+'</div>');
$('#old_center_column').hide();
// Button override
ajaxCart.overrideButtonsInThePage();
$("#instant_search_results a.close").click(function() {
$("#search_query_" + blocksearch_type).val('');
return tryToCloseInstantSearch();
});
bindGrid();
return false;
}