diff -rup /home/joe/views_bonus_orig/views_bonus_grid.info views_bonus/views_bonus_grid.info
--- /home/joe/views_bonus_orig/views_bonus_grid.info	2007-08-13 19:04:24.000000000 -0500
+++ views_bonus/views_bonus_grid.info	2007-08-13 19:07:07.000000000 -0500
@@ -1,5 +1,5 @@
 name = "Bonus: grid view"
-description = "View type that outputs a LIST view in a simple grid. In your PHP argument code, you can use &lt;?php $view->gridcount = SOME_NUMBER; ?&gt; to change the column count"
+description = "View type that outputs a LIST view in a simple grid. To specify the number of columns, set the nodes per page/block to the number of columns squared.";
 dependencies = views
 package = Views
 
diff -rup /home/joe/views_bonus_orig/views_bonus_grid.module views_bonus/views_bonus_grid.module
--- /home/joe/views_bonus_orig/views_bonus_grid.module	2007-08-13 19:04:24.000000000 -0500
+++ views_bonus/views_bonus_grid.module	2007-08-17 12:09:51.000000000 -0500
@@ -17,7 +17,18 @@ function theme_views_bonus_view_grid($vi
   $content = '<table class="view-grid view-grid-' . $view->name . '">';
   
   // set default count.
-  $cols = $view->gridcount ? $view->gridcount : 4;
+  if ($view->gridcount) {
+    $cols = $view->gridcount;
+  }
+  elseif ($type=='page') {
+    $cols = $view->nodes_per_page ? floor(sqrt($view->nodes_per_page)) : 4;
+  }
+  elseif ($type=='block') {
+    $cols = $view->nodes_per_block ? floor(sqrt($view->nodes_per_block)) : 4;
+  }
+  else {
+    $cols = 4;
+  }
 
   $count = 0;
   $total = count($nodes);
Only in views_bonus: views_bonus_grid.module~
