diff --git a/terminatorlib/paned.py b/terminatorlib/paned.py index ca58b884..b115290a 100755 --- a/terminatorlib/paned.py +++ b/terminatorlib/paned.py @@ -156,9 +156,11 @@ class Paned(Container): """Handle button presses on a Pane""" if event.button == 1: if self.last_balance_time > (time.time() - 1): - while gtk.events_pending(): - gtk.main_iteration_do(False) - self.do_redistribute(*self.last_balance_args) + # Dumb loop still needed, or some terms get squished on a Super rebalance + for i in range(3): + while gtk.events_pending(): + gtk.main_iteration_do(False) + self.do_redistribute(*self.last_balance_args) return False def do_redistribute(self, recurse_up=False, recurse_down=False): @@ -175,10 +177,7 @@ class Paned(Container): if maker.isinstance(grandfather, 'VPaned') or \ maker.isinstance(grandfather, 'HPaned') : grandfather.do_redistribute(recurse_up, recurse_down) - - gobject.idle_add(highest_ancestor._do_redistribute, recurse_up, recurse_down) - while gtk.events_pending(): - gtk.main_iteration_do(False) + gobject.idle_add(highest_ancestor._do_redistribute, recurse_up, recurse_down) def _do_redistribute(self, recurse_up=False, recurse_down=False):