Martin Duquesnoy преди 12 години
родител
ревизия
736b55b6c7
променени са 3 файла, в които са добавени 17 реда и са изтрити 24 реда
  1. 13 20
      wmfs2/src/client.c
  2. 1 1
      wmfs2/src/client.h
  3. 3 3
      wmfs2/src/tag.c

+ 13 - 20
wmfs2/src/client.c

@@ -124,7 +124,7 @@ client_next_with_pos(struct client *bc, Position p)
 {
      struct client *c;
      int x, y;
-     const static char scanfac[PositionLast] = { +1, -1, 0, 0 };
+     const static char scanfac[PositionLast] = { +10, -10, 0, 0 };
 
      /*
       * Set start place of pointer (edge with position
@@ -259,7 +259,6 @@ client_get_name(struct client *c)
 void
 client_close(struct client *c)
 {
-     bool canbedel;
      int proto;
      XEvent ev;
      Atom *atom = NULL;
@@ -270,27 +269,21 @@ client_close(struct client *c)
           while(proto--)
                if(atom[proto] == ATOM("WM_DELETE_WINDOW"))
                {
-                    canbedel = true;
+                    ev.type = ClientMessage;
+                    ev.xclient.window = c->win;
+                    ev.xclient.message_type = ATOM("WM_PROTOCOLS");
+                    ev.xclient.format = 32;
+                    ev.xclient.data.l[0] = ATOM("WM_DELETE_WINDOW");
+                    ev.xclient.data.l[1] = CurrentTime;
+
+                    XSendEvent(W->dpy, c->win, False, NoEventMask, &ev);
                     XFree(atom);
-                    break;
-               }
 
-          if(canbedel)
-          {
-               ev.type = ClientMessage;
-               ev.xclient.window = c->win;
-               ev.xclient.message_type = ATOM("WM_PROTOCOLS");
-               ev.xclient.format = 32;
-               ev.xclient.data.l[0] = ATOM("WM_DELETE_WINDOW");
-               ev.xclient.data.l[1] = CurrentTime;
-
-               XSendEvent(W->dpy, c->win, False, NoEventMask, &ev);
-          }
-          else
-               XKillClient(W->dpy, c->win);
+                    return;
+               }
      }
-     else
-          XKillClient(W->dpy, c->win);
+
+     XKillClient(W->dpy, c->win);
 }
 
 void

+ 1 - 1
wmfs2/src/client.h

@@ -89,7 +89,7 @@ client_fac_geo(struct client *c, Position p, int fac)
 
      /* Check for incompatible geo */
      if(cg.w > c->screen->ugeo.w || cg.h > c->screen->ugeo.h
-               || cg.w < 3 || cg.h < 3)
+               || cg.w < 5 || cg.h < 5)
           return false;
 
      /* Set transformed geo in tmp geo */

+ 3 - 3
wmfs2/src/tag.c

@@ -109,15 +109,15 @@ tag_client(struct tag *t, struct client *c)
           return;
      }
 
+     /* Reparent client win in frame win */
+     XReparentWindow(W->dpy, c->win, t->frame, 0, 0);
+
      /* Map frame if tag was empty */
      if(SLIST_EMPTY(&t->clients))
           WIN_STATE(t->frame, Map);
 
      c->tag = t;
 
-     /* Reparent client win in frame win */
-     XReparentWindow(W->dpy, c->win, t->frame, 0, 0);
-
      layout_split_integrate(c, t->sel);
 
      /* Insert in new tag list */