]> git.sur5r.net Git - i3/i3/commitdiff
Some little fixes (mostly formatting) for bapt’s patch
authorMichael Stapelberg <michael@stapelberg.de>
Tue, 21 Jul 2009 22:16:16 +0000 (00:16 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Tue, 21 Jul 2009 22:16:16 +0000 (00:16 +0200)
src/commands.c

index b57b3ac50a18863ff6691e0b10698d94e083ec1d..0322a51da7a4d121f5d09d4cb4b9f9b26b5e4c08 100644 (file)
@@ -845,31 +845,38 @@ static char **append_argument(char **original, char *argument) {
 
         return result;
 }
+
 /* 
- * switch to next or previous existing workspace
+ * Switch to next or previous existing workspace
+ *
  */
 static void next_previous_workspace(xcb_connection_t *conn, int direction) {
-       Workspace *t_ws;
-       int i;
-       if (direction == 'n') {
-               if (c_ws->num == 9) 
-                       return;
-               for ( i = c_ws->num + 1; i <= 9; i++) {
-                       t_ws = &(workspaces[i]);
-                       if (t_ws->screen != NULL) break;
-               }
-       } else if (direction == 'p' ) {
-               if (c_ws->num == 0) 
-                       return;
-               for (i = c_ws->num - 1; i >= 0 ; i--) {
-                       t_ws = &(workspaces[i]);
-                       if (t_ws->screen != NULL) break;
-               }
-       }
-       if (t_ws->screen != NULL)
-               show_workspace(conn,i+1);
-}
+        Workspace *t_ws;
+        int i;
 
+        if (direction == 'n') {
+                /* If we are on the last workspace, we cannot go any further */
+                if (c_ws->num == 9)
+                        return;
+
+                for (i = c_ws->num + 1; i <= 9; i++) {
+                        t_ws = &(workspaces[i]);
+                        if (t_ws->screen != NULL)
+                                break;
+                }
+        } else if (direction == 'p') {
+                if (c_ws->num == 0)
+                        return;
+                for (i = c_ws->num - 1; i >= 0 ; i--) {
+                        t_ws = &(workspaces[i]);
+                        if (t_ws->screen != NULL)
+                                break;
+                }
+        }
+
+        if (t_ws->screen != NULL)
+                show_workspace(conn, i+1);
+}
 
 /*
  * Parses a command, see file CMDMODE for more information
@@ -1007,14 +1014,18 @@ void parse_command(xcb_connection_t *conn, const char *command) {
 
                 return;
         }
-       /* Is it 'n' for next workspace (nw) */
-       if (command[0] == 'n' && command[1] == 'w') {
+
+       /* Is it 'n' or 'p' for next/previous workspace? (nw) */
+        if (command[0] == 'n' && command[1] == 'w') {
                next_previous_workspace(conn, command[0]);
-       }
+               return;
+        }
 
         if (command[0] == 'p' && command[1] == 'w') {
                next_previous_workspace(conn, command[0]);
-       }
+               return;
+        }
+
         /* It’s a normal <cmd> */
         char *rest = NULL;
         enum { ACTION_FOCUS, ACTION_MOVE, ACTION_SNAP } action = ACTION_FOCUS;