[Sugar-devel] [sugar PATCH] sl#3833: Now, the palettes appear fine in the bottom frame-tray.
The solution has been build upon the no-caching solution provided by erikos at http://bugs.sugarlabs.org/ticket/4419#comment:4 Theerafter, the cause of http://bugs.sugarlabs.org/attachment/ticket/3833/Screenshot%20of%20_Journal_.png is not taking style.GRID_CELL_SIZE into account, when calucating the alignments for the palettes. I will have to thank manuq a great deal, for his comment http://bugs.sugarlabs.org/ticket/3833#comment:11, which helped me debug the real issue. In particular, his observation that the landscape-mode-obscurity occurs only in one of the erikos' solutions; while the portrait-mode-obscurity occurs only in both of erikos's solutions. Finally, this patch provides the no-obscurity solution for all cases :) src/sugar3/graphics/palettewindow.py | 18 -- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/sugar3/graphics/palettewindow.py b/src/sugar3/graphics/palettewindow.py index c48ae55..e192a7c 100644 --- a/src/sugar3/graphics/palettewindow.py +++ b/src/sugar3/graphics/palettewindow.py @@ -777,8 +777,6 @@ class Invoker(GObject.GObject): self._screen_area = Gdk.Rectangle() self._screen_area.x = self._screen_area.y = 0 -self._screen_area.width = Gdk.Screen.width() -self._screen_area.height = Gdk.Screen.height() self._position_hint = self.ANCHORED self._cursor_x = -1 self._cursor_y = -1 @@ -841,8 +839,8 @@ class Invoker(GObject.GObject): def _in_screen(self, rect): return rect.x = self._screen_area.x and \ rect.y = self._screen_area.y and \ - rect.x + rect.width = self._screen_area.width and \ - rect.y + rect.height = self._screen_area.height + rect.x + rect.width = (Gdk.Screen.width() - style.GRID_CELL_SIZE) and \ + rect.y + rect.height = (Gdk.Screen.height() - style.GRID_CELL_SIZE) def _get_area_in_screen(self, rect): Return area of rectangle visible in the screen @@ -850,9 +848,9 @@ class Invoker(GObject.GObject): x1 = max(rect.x, self._screen_area.x) y1 = max(rect.y, self._screen_area.y) x2 = min(rect.x + rect.width, -self._screen_area.x + self._screen_area.width) +self._screen_area.x + Gdk.Screen.width() - style.GRID_CELL_SIZE) y2 = min(rect.y + rect.height, -self._screen_area.y + self._screen_area.height) +self._screen_area.y + Gdk.Screen.height() - style.GRID_CELL_SIZE) return (x2 - x1) * (y2 - y1) @@ -882,8 +880,8 @@ class Invoker(GObject.GObject): rect.x = max(0, rect.x) rect.y = max(0, rect.y) -rect.x = min(rect.x, self._screen_area.width - rect.width) -rect.y = min(rect.y, self._screen_area.height - rect.height) +rect.x = min(rect.x, Gdk.Screen.width() - style.GRID_CELL_SIZE - rect.width) +rect.y = min(rect.y, Gdk.Screen.height()- style.GRID_CELL_SIZE - rect.height) return rect @@ -913,7 +911,7 @@ class Invoker(GObject.GObject): if best_alignment in self.LEFT or best_alignment in self.RIGHT: dtop = rect.y - screen_area.y -dbottom = screen_area.y + screen_area.height - rect.y - rect.width +dbottom = screen_area.y + Gdk.Screen.height() - style.GRID_CELL_SIZE - rect.y - rect.width iv = 0 @@ -928,7 +926,7 @@ class Invoker(GObject.GObject): elif best_alignment in self.TOP or best_alignment in self.BOTTOM: dleft = rect.x - screen_area.x -dright = screen_area.x + screen_area.width - rect.x - rect.width +dright = screen_area.x + Gdk.Screen.width() - style.GRID_CELL_SIZE - rect.x - rect.width ih = 0 -- 1.7.11.7 ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [sugar PATCH] sl#3833: Now, the palettes appear fine in the bottom frame-tray.
A minor goofup :: this is a sugar-toolkit-gtk3 patch, and not a sugar patch. Sorry for being an idiot. On Wed, Mar 6, 2013 at 6:00 PM, Ajay Garg a...@activitycentral.com wrote: The solution has been build upon the no-caching solution provided by erikos at http://bugs.sugarlabs.org/ticket/4419#comment:4 Theerafter, the cause of http://bugs.sugarlabs.org/attachment/ticket/3833/Screenshot%20of%20_Journal_.png is not taking style.GRID_CELL_SIZE into account, when calucating the alignments for the palettes. I will have to thank manuq a great deal, for his comment http://bugs.sugarlabs.org/ticket/3833#comment:11, which helped me debug the real issue. In particular, his observation that the landscape-mode-obscurity occurs only in one of the erikos' solutions; while the portrait-mode-obscurity occurs only in both of erikos's solutions. Finally, this patch provides the no-obscurity solution for all cases :) src/sugar3/graphics/palettewindow.py | 18 -- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/sugar3/graphics/palettewindow.py b/src/sugar3/graphics/palettewindow.py index c48ae55..e192a7c 100644 --- a/src/sugar3/graphics/palettewindow.py +++ b/src/sugar3/graphics/palettewindow.py @@ -777,8 +777,6 @@ class Invoker(GObject.GObject): self._screen_area = Gdk.Rectangle() self._screen_area.x = self._screen_area.y = 0 -self._screen_area.width = Gdk.Screen.width() -self._screen_area.height = Gdk.Screen.height() self._position_hint = self.ANCHORED self._cursor_x = -1 self._cursor_y = -1 @@ -841,8 +839,8 @@ class Invoker(GObject.GObject): def _in_screen(self, rect): return rect.x = self._screen_area.x and \ rect.y = self._screen_area.y and \ - rect.x + rect.width = self._screen_area.width and \ - rect.y + rect.height = self._screen_area.height + rect.x + rect.width = (Gdk.Screen.width() - style.GRID_CELL_SIZE) and \ + rect.y + rect.height = (Gdk.Screen.height() - style.GRID_CELL_SIZE) def _get_area_in_screen(self, rect): Return area of rectangle visible in the screen @@ -850,9 +848,9 @@ class Invoker(GObject.GObject): x1 = max(rect.x, self._screen_area.x) y1 = max(rect.y, self._screen_area.y) x2 = min(rect.x + rect.width, -self._screen_area.x + self._screen_area.width) +self._screen_area.x + Gdk.Screen.width() - style.GRID_CELL_SIZE) y2 = min(rect.y + rect.height, -self._screen_area.y + self._screen_area.height) +self._screen_area.y + Gdk.Screen.height() - style.GRID_CELL_SIZE) return (x2 - x1) * (y2 - y1) @@ -882,8 +880,8 @@ class Invoker(GObject.GObject): rect.x = max(0, rect.x) rect.y = max(0, rect.y) -rect.x = min(rect.x, self._screen_area.width - rect.width) -rect.y = min(rect.y, self._screen_area.height - rect.height) +rect.x = min(rect.x, Gdk.Screen.width() - style.GRID_CELL_SIZE - rect.width) +rect.y = min(rect.y, Gdk.Screen.height()- style.GRID_CELL_SIZE - rect.height) return rect @@ -913,7 +911,7 @@ class Invoker(GObject.GObject): if best_alignment in self.LEFT or best_alignment in self.RIGHT: dtop = rect.y - screen_area.y -dbottom = screen_area.y + screen_area.height - rect.y - rect.width +dbottom = screen_area.y + Gdk.Screen.height() - style.GRID_CELL_SIZE - rect.y - rect.width iv = 0 @@ -928,7 +926,7 @@ class Invoker(GObject.GObject): elif best_alignment in self.TOP or best_alignment in self.BOTTOM: dleft = rect.x - screen_area.x -dright = screen_area.x + screen_area.width - rect.x - rect.width +dright = screen_area.x + Gdk.Screen.width() - style.GRID_CELL_SIZE - rect.x - rect.width ih = 0 -- 1.7.11.7 -- Regards, Ajay Garg Dextrose Developer Activity Central: http://activitycentral.com ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
[Sugar-devel] [ASLO] Release View Slides-14
Activity Homepage: http://activities.sugarlabs.org/addon/4039 Sugar Platform: 0.98 - 0.98 Download Now: http://activities.sugarlabs.org/downloads/file/28513/view_slides-14.xo Release notes: Aneesh Dogra's update to GTK3 for Google code-in 2012, plus some bug fixes. Sugar Labs Activities http://activities.sugarlabs.org ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel