[caribou/transparency: 2/2] Add assertion for min > max alpha, don't add timeout if min and max are equal.



commit 1c7a3cda2bcb0a9587bfb292fc4f203ede691514
Author: Eitan Isaacson <eitan monotonous org>
Date:   Thu Dec 3 18:26:37 2009 -0800

    Add assertion for min > max alpha, don't add timeout if min and max are equal.

 src/caribou/window.py |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/src/caribou/window.py b/src/caribou/window.py
index e3979dd..c06994a 100644
--- a/src/caribou/window.py
+++ b/src/caribou/window.py
@@ -110,6 +110,8 @@ class CaribouWindowTransparent(CaribouWindow):
         self.connect('map-event', self._onmapped)
         self._position = (0, 0)
         self.max_distance = max_distance
+        if max_alpha < min_alpha:
+            raise ValueError, "min_alpha can't be larger than max_alpha"
         self.min_alpha = min_alpha
         self.max_alpha = max_alpha
 
@@ -119,9 +121,10 @@ class CaribouWindowTransparent(CaribouWindow):
 
     def _onmapped(self, obj, event):
         if self.is_composited():
-            # Don't waste CPU if we are not composited.
-            glib.timeout_add(80, self._proximity_check)
             self.set_opacity(self.max_alpha)
+            if self.max_alpha != self.min_alpha:
+                # Don't waste CPU if the max and min are equal.
+                glib.timeout_add(80, self._proximity_check)
 
     def _proximity_check(self):
         x, y = self.get_pointer()



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]