autodrawer: Don't draw a stray pixel when not in fullscreen mode

This commit is contained in:
Cole Robinson 2011-05-18 20:33:42 -04:00
parent bbf158b9cb
commit 68f6be4153

View File

@ -108,6 +108,19 @@ class OverBox(parentclass):
geo.height = height geo.height = height
return geo return geo
def _set_overwin_size(self, alloc):
# Trying to set the overwindow size to 0,0 always draws a 1,1 pixel
# on the screen. Have this wrapper hide the window if trying to
# resize to 0,0
self.overWin.move_resize(alloc.x, alloc.y,
alloc.width, alloc.height)
if alloc.height == 0 and alloc.width == 0:
self.overWin.hide()
else:
self.overWin.show()
def _set_background(self): def _set_background(self):
style = self.get_style() style = self.get_style()
style.set_background(self.window, gtk.STATE_NORMAL) style.set_background(self.window, gtk.STATE_NORMAL)
@ -223,12 +236,13 @@ class OverBox(parentclass):
self.underWidget.set_parent_window(self.underWin) self.underWidget.set_parent_window(self.underWin)
self.underWin.show() self.underWin.show()
overalloc = self._get_over_window_geometry()
self.overWin = make_window(window, self.overWin = make_window(window,
self._get_over_window_geometry()) self._get_over_window_geometry())
self.overWin.set_user_data(self) self.overWin.set_user_data(self)
if self.overWidget: if self.overWidget:
self.overWidget.set_parent_window(self.overWin) self.overWidget.set_parent_window(self.overWin)
self.overWin.show() self._set_overwin_size(overalloc)
self._set_background() self._set_background()
@ -258,8 +272,7 @@ class OverBox(parentclass):
newalloc.width, newalloc.height) newalloc.width, newalloc.height)
self.underWin.move_resize(under.x, under.y, self.underWin.move_resize(under.x, under.y,
under.width, under.height) under.width, under.height)
self.overWin.move_resize(over.x, over.y, self._set_overwin_size(over)
over.width, over.height)
under.x = 0 under.x = 0
under.y = 0 under.y = 0