]> Dogcows Code - chaz/openbox/blobdiff - openbox/client.c
When determining the current timestamp, try get something a lil more accurate
[chaz/openbox] / openbox / client.c
index adbbc13b9d849f5ceb0baf05f5f1b2f256d1e9c0..3399b509d48667a239fa16ca736d44614e449f86 100644 (file)
@@ -203,13 +203,14 @@ void client_manage(Window window, ObPrompt *prompt)
     ObAppSettings *settings;
     gboolean transient = FALSE;
     Rect place;
-    Time launch_time, map_time;
+    Time launch_time;
     guint32 user_time;
     gboolean obplaced;
 
     ob_debug("Managing window: 0x%lx", window);
 
-    map_time = event_get_server_time();
+    /* we want to always have a valid time when the window is mapping */
+    g_assert(event_curtime != CurrentTime);
 
     /* choose the events we want to receive on the CLIENT window
        (ObPrompt windows can request events too) */
@@ -272,7 +273,7 @@ void client_manage(Window window, ObPrompt *prompt)
     launch_time = sn_app_started(self->startup_id, self->class, self->name);
 
     if (!OBT_PROP_GET32(self->window, NET_WM_USER_TIME, CARDINAL, &user_time))
-        user_time = map_time;
+        user_time = event_curtime;
 
     /* do this after we have a frame.. it uses the frame to help determine the
        WM_STATE to apply. */
@@ -295,7 +296,7 @@ void client_manage(Window window, ObPrompt *prompt)
         /* this checks for focus=false for the window */
         (!settings || settings->focus != 0) &&
         focus_valid_target(self, self->desktop,
-                           FALSE, FALSE, TRUE, FALSE, FALSE,
+                           FALSE, FALSE, TRUE, TRUE, FALSE, FALSE,
                            settings->focus == 1))
     {
         activate = TRUE;
@@ -441,7 +442,7 @@ void client_manage(Window window, ObPrompt *prompt)
     ob_debug_type(OB_DEBUG_FOCUS, "Going to try activate new window? %s",
                   activate ? "yes" : "no");
     if (activate) {
-        activate = client_can_steal_focus(self, map_time, launch_time);
+        activate = client_can_steal_focus(self, event_curtime, launch_time);
 
         if (!activate) {
             /* if the client isn't stealing focus, then hilite it so the user
@@ -2043,7 +2044,7 @@ void client_update_strut(ObClient *self)
     if (!got &&
         OBT_PROP_GETA32(self->window, NET_WM_STRUT, CARDINAL, &data, &num)) {
         if (num == 4) {
-            Rect const *a;
+            const Rect *a;
 
             got = TRUE;
 
@@ -2468,10 +2469,10 @@ gboolean client_has_parent(ObClient *self)
     return self->parents != NULL;
 }
 
-gboolean client_is_oldfullscreen(const ObClient const *self,
-                                 const Rect const *area)
+gboolean client_is_oldfullscreen(const ObClient *self,
+                                 const Rect *area)
 {
-    Rect const *monitor, *allmonitors;
+    const Rect *monitor, *allmonitors;
 
     /* No decorations and fills the monitor = oldskool fullscreen.
        But not for maximized windows.
@@ -2489,7 +2490,7 @@ gboolean client_is_oldfullscreen(const ObClient const *self,
 static ObStackingLayer calc_layer(ObClient *self)
 {
     ObStackingLayer l;
-    Rect const *monitor, *allmonitors;
+    const Rect *monitor, *allmonitors;
 
     monitor = screen_physical_area_monitor(client_monitor(self));
     allmonitors = screen_physical_area_all_monitors();
@@ -2842,7 +2843,7 @@ void client_try_configure(ObClient *self, gint *x, gint *y, gint *w, gint *h,
 
     /* set the size and position if fullscreen */
     if (self->fullscreen) {
-        Rect const *a;
+        const Rect *a;
         guint i;
 
         i = screen_find_monitor(&desired);
This page took 0.025165 seconds and 4 git commands to generate.