]> Dogcows Code - chaz/openbox/blobdiff - openbox/frame.c
Add options for controlling frame flashing
[chaz/openbox] / openbox / frame.c
index 48dda24eaa9880380d05b1ecc9bcc875cdb1a456..4468e1910bf75d33ef3e5da5cc24f4b2bc966561 100644 (file)
@@ -1665,11 +1665,13 @@ static gboolean flash_timeout(gpointer data)
     ObFrame *self = data;
     GTimeVal now;
 
-    g_get_current_time(&now);
-    if (now.tv_sec > self->flash_end.tv_sec ||
-        (now.tv_sec == self->flash_end.tv_sec &&
-         now.tv_usec >= self->flash_end.tv_usec))
-        self->flashing = FALSE;
+    if (config_frame_flash_duration != 0) {
+        g_get_current_time(&now);
+        if (now.tv_sec > self->flash_end.tv_sec ||
+            (now.tv_sec == self->flash_end.tv_sec &&
+             now.tv_usec >= self->flash_end.tv_usec))
+            self->flashing = FALSE;
+    }
 
     if (!self->flashing)
         return FALSE; /* we are done */
@@ -1685,14 +1687,19 @@ static gboolean flash_timeout(gpointer data)
 
 void frame_flash_start(ObFrame *self)
 {
+    if (config_frame_flash_delay == 0) return;
+
     self->flash_on = self->focused;
 
     if (!self->flashing)
         self->flash_timer = g_timeout_add_full(G_PRIORITY_DEFAULT,
-                                               600, flash_timeout, self,
+                                               config_frame_flash_delay, flash_timeout, self,
                                                flash_done);
-    g_get_current_time(&self->flash_end);
-    g_time_val_add(&self->flash_end, G_USEC_PER_SEC * 5);
+
+    if (config_frame_flash_duration != 0) {
+        g_get_current_time(&self->flash_end);
+        g_time_val_add(&self->flash_end, 1000 * config_frame_flash_duration);
+    }
 
     self->flashing = TRUE;
 }
This page took 0.021191 seconds and 4 git commands to generate.