Index: prview/perspectives/pr/inversion_panel.py
===================================================================
--- prview/perspectives/pr/inversion_panel.py	(revision 357b79bbbeba38e9d823b795286617198f6617c3)
+++ prview/perspectives/pr/inversion_panel.py	(revision 4318af7f944bb50db64e8aecf1226baf8d6a650e)
@@ -297,7 +297,6 @@
         
     def _do_layout(self):
-        #panel = wx.Panel(self, -1)
-        vbox = wx.BoxSizer(wx.VERTICAL)
-        #vbox.SetMinSize((1000,50))
+        vbox = wx.GridBagSizer(0,0)
+        iy_vb = 0
 
         # ----- I(q) data -----
@@ -338,5 +337,5 @@
         pars_sizer.Add(self.bck_chk, (iy,0), (1,2), wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15)
         boxsizer1.Add(pars_sizer, 0, wx.EXPAND)  
-        vbox.Add(boxsizer1)
+        vbox.Add(boxsizer1, (iy_vb,0), (1,1), wx.RIGHT|wx.EXPAND|wx.ADJUST_MINSIZE, 0)
         
         # ----- Add slit parameters -----
@@ -348,8 +347,8 @@
             sizer_slit = wx.GridBagSizer(5,5)
     
-            label_sheight = wx.StaticText(self, -1, "Height", size=(35,20))
-            label_swidth = wx.StaticText(self, -1, "Width", size=(35,20))
+            label_sheight = wx.StaticText(self, -1, "Height", size=(40,20))
+            label_swidth = wx.StaticText(self, -1, "Width", size=(40,20))
             #label_sunits1 = wx.StaticText(self, -1, "[A^(-1)]")
-            label_sunits2 = wx.StaticText(self, -1, "[A^(-1)]", size=(40,20))
+            label_sunits2 = wx.StaticText(self, -1, "[A^(-1)]", size=(55,20))
             self.sheight_ctl = wx.TextCtrl(self, -1, size=(60,20))
             self.swidth_ctl = wx.TextCtrl(self, -1, size=(60,20))
@@ -368,5 +367,6 @@
             
             sboxsizer.Add(sizer_slit, wx.TOP, 15)
-            vbox.Add(sboxsizer)
+            iy_vb += 1
+            vbox.Add(sboxsizer, (iy_vb,0), (1,1), wx.RIGHT|wx.EXPAND|wx.ADJUST_MINSIZE, 0)
         
         
@@ -378,8 +378,8 @@
         sizer_q = wx.GridBagSizer(5,5)
 
-        label_qmin = wx.StaticText(self, -1, "Q min", size=(35,20))
-        label_qmax = wx.StaticText(self, -1, "Q max", size=(35,20))
+        label_qmin = wx.StaticText(self, -1, "Q min", size=(40,20))
+        label_qmax = wx.StaticText(self, -1, "Q max", size=(40,20))
         #label_qunits1 = wx.StaticText(self, -1, "[A^(-1)]")
-        label_qunits2 = wx.StaticText(self, -1, "[A^(-1)]", size=(40,20))
+        label_qunits2 = wx.StaticText(self, -1, "[A^(-1)]", size=(55,20))
         self.qmin_ctl = wx.TextCtrl(self, -1, size=(60,20))
         self.qmax_ctl = wx.TextCtrl(self, -1, size=(60,20))
@@ -397,5 +397,7 @@
         sizer_q.Add(label_qunits2, (iy,4), (1,1), wx.LEFT|wx.EXPAND, 5)
         qboxsizer.Add(sizer_q, wx.TOP, 15)
-        vbox.Add(qboxsizer)
+
+        iy_vb += 1
+        vbox.Add(qboxsizer, (iy_vb,0), (1,1), wx.RIGHT|wx.EXPAND|wx.ADJUST_MINSIZE, 0)
         
         
@@ -472,5 +474,6 @@
         boxsizer2.Add(sizer_params, 0)
         
-        vbox.Add(boxsizer2)
+        iy_vb += 1
+        vbox.Add(boxsizer2, (iy_vb,0), (1,1), wx.RIGHT|wx.EXPAND|wx.ADJUST_MINSIZE, 0)
 
 
@@ -565,9 +568,11 @@
 
         ressizer.Add(sizer_res, 0)
-        vbox.Add(ressizer)
+        iy_vb += 1
+        vbox.Add(ressizer, (iy_vb,0), (1,1), wx.RIGHT|wx.EXPAND|wx.ADJUST_MINSIZE, 0)
 
         # ----- Buttons -----
         static_line = wx.StaticLine(self, -1)
-        vbox.Add(static_line, 0, wx.EXPAND|wx.TOP, 10)
+        iy_vb += 1
+        vbox.Add(static_line, (iy_vb,0), (1,1), wx.EXPAND|wx.TOP, 10)
         
         id = wx.NewId()
@@ -587,5 +592,6 @@
         sizer_button.Add(button_OK, 0, wx.LEFT|wx.ADJUST_MINSIZE, 10)
         #sizer_button.Add(button_Cancel, 0, wx.LEFT|wx.RIGHT|wx.ADJUST_MINSIZE, 10)        
-        vbox.Add(sizer_button, 0, wx.EXPAND|wx.BOTTOM|wx.TOP, 10)
+        iy_vb += 1
+        vbox.Add(sizer_button, (iy_vb,0), (1,1), wx.EXPAND|wx.BOTTOM|wx.TOP, 10)
 
 
Index: prview/perspectives/pr/mactime.py
===================================================================
--- prview/perspectives/pr/mactime.py	(revision 4318af7f944bb50db64e8aecf1226baf8d6a650e)
+++ prview/perspectives/pr/mactime.py	(revision 4318af7f944bb50db64e8aecf1226baf8d6a650e)
@@ -0,0 +1,7 @@
+import time
+
+def clock():
+    return time.time()
+
+def sleep(t):
+    return time.sleep(t)
Index: prview/perspectives/pr/pr_thread.py
===================================================================
--- prview/perspectives/pr/pr_thread.py	(revision 357b79bbbeba38e9d823b795286617198f6617c3)
+++ prview/perspectives/pr/pr_thread.py	(revision 4318af7f944bb50db64e8aecf1226baf8d6a650e)
@@ -1,7 +1,4 @@
 import sys, time
 from calcthread import CalcThread
-from sans.pr.invertor import Invertor
-import numpy
-from config import printEVT
 
 class CalcPr(CalcThread):
@@ -28,13 +25,8 @@
         self.starttime = 0
         
-    def isquit(self):
-        try:
-            CalcThread.isquit(self)
-        except KeyboardInterrupt:
-            printEVT("P(r) calc interrupted")
-            raise KeyboardInterrupt
-        
     def compute(self):
-        import time
+        """
+            Perform P(r) inversion
+        """
         try:
             self.starttime = time.time()
@@ -46,5 +38,5 @@
         except KeyboardInterrupt:
             # Thread was interrupted, just proceed
-            printEVT("P(r) calc interrupted")
+            pass
         except:
             if not self.error_func==None:
@@ -84,5 +76,5 @@
         except KeyboardInterrupt:
             # Thread was interrupted, just proceed
-            printEVT("Alpha estimator thread interrupted")
+            pass
         except:
             if not self.error_func==None:
@@ -119,5 +111,4 @@
             Calculates the estimate
         """
-        import time
         try:            
             t_0 = time.time()
@@ -129,5 +120,5 @@
         except KeyboardInterrupt:
             # Thread was interrupted, just proceed
-            printEVT("Number of terms thread interrupted")
+            pass
         except:
             if not self.error_func==None:
Index: prview/sansview.py
===================================================================
--- prview/sansview.py	(revision 2a92852289b3d31493a8b789124f9826d3a28bf6)
+++ prview/sansview.py	(revision 4318af7f944bb50db64e8aecf1226baf8d6a650e)
@@ -6,4 +6,11 @@
 import local_config
 from perspectives.pr.pr import NewPrFileEvent
+
+# OS-dependent preferred height
+#TODO: refactor this
+_DEFAULT_HEIGHT=650
+import sys
+if sys.platform.count("darwin")>0:
+	_DEFAULT_HEIGHT=720
 
 class PrFrame(gui_manager.ViewerFrame):
@@ -15,9 +22,8 @@
         #from gui_manager import ViewerFrame
         self.frame = PrFrame(None, -1, local_config.__appname__, 
-                             window_height=650, window_width=750)    
+                             window_height=_DEFAULT_HEIGHT, window_width=750)    
         self.frame.Show(True)
 
         if hasattr(self.frame, 'special'):
-            print "Special?", self.frame.special.__class__.__name__
             self.frame.special.SetCurrent()
         self.SetTopWindow(self.frame)
