Browse Source

Merge pull request #49 from linkdd/master

focus feature
Martin Duquesnoy 12 years ago
parent
commit
d7adef7bd1
3 changed files with 15 additions and 10 deletions
  1. 2 1
      src/client.c
  2. 3 0
      src/config.c
  3. 10 9
      src/wmfs.h

+ 2 - 1
src/client.c

@@ -1006,7 +1006,8 @@ client_new(Window w, XWindowAttributes *wa, bool scan)
      if(!scan)
      {
           client_get_name(c);
-          client_focus(c);
+          if(W->flags & WMFS_AUTOFOCUS)
+               client_focus(c);
           client_configure(c);
      }
 

+ 3 - 0
src/config.c

@@ -240,6 +240,9 @@ config_client(void)
      W->padding = fetch_opt_first(sec, "0", "padding").num;
      W->client_mod = modkey_keysym(fetch_opt_first(sec, "Super", "key_modifier").str);
 
+     if(fetch_opt_first(sec, "0", "autofocus").boolean)
+          W->flags |= WMFS_AUTOFOCUS;
+
      /* Get theme */
      tmp = fetch_opt_first(sec, "default", "theme").str;
      W->ctheme = name_to_theme(tmp);

+ 10 - 9
src/wmfs.h

@@ -335,15 +335,16 @@ struct wmfs
      int nscreen;
      unsigned int client_mod;
      Flags numlockmask;
-#define WMFS_SCAN     0x001
-#define WMFS_RUNNING  0x002
-#define WMFS_RELOAD   0x004 
-#define WMFS_SYSTRAY  0x008
-#define WMFS_LOG      0x010
-#define WMFS_LAUNCHER 0x020
-#define WMFS_SIGCHLD  0x040
-#define WMFS_TABNOC   0x080 /* tab next opened client */
-#define WMFS_TAGCIRC  0x100 /* tab_next on last tag -> go to first tag / tab_prev on first tag -> go to last tag */
+#define WMFS_SCAN      0x001
+#define WMFS_RUNNING   0x002
+#define WMFS_RELOAD    0x004
+#define WMFS_SYSTRAY   0x008
+#define WMFS_LOG       0x010
+#define WMFS_LAUNCHER  0x020
+#define WMFS_SIGCHLD   0x040
+#define WMFS_TABNOC    0x080 /* tab next opened client */
+#define WMFS_TAGCIRC   0x100 /* tab_next on last tag -> go to first tag / tab_prev on first tag -> go to last tag */
+#define WMFS_AUTOFOCUS 0x200
      Flags flags;
      GC gc, rgc;
      Atom *net_atom;