]> git.sur5r.net Git - i3/i3/commitdiff
make the old assign syntax trigger an i3-nagbar warning (it’s deprecated), adjust...
authorMichael Stapelberg <michael@stapelberg.de>
Sun, 11 Sep 2011 21:01:36 +0000 (22:01 +0100)
committerMichael Stapelberg <michael@stapelberg.de>
Sun, 11 Sep 2011 21:01:36 +0000 (22:01 +0100)
src/cfgparse.y
testcases/t/66-assign.t

index 53d23815caf9145ac431fccf076ee6920449bf23..572fe6d25cfb52420e3e84cfe8c239521ffe6782 100644 (file)
@@ -1076,8 +1076,13 @@ workspace_name:
 assign:
     TOKASSIGN window_class STR
     {
-        /* TODO: the assign command also needs some kind of new syntax where we
-         * just use criteria. Then deprecate the old form */
+        /* This is the old, deprecated form of assignments. It’s provided for
+         * compatibility in version (4.1, 4.2, 4.3) and will be removed
+         * afterwards. It triggers an i3-nagbar warning starting from 4.1. */
+        ELOG("You are using the old assign syntax (without criteria). "
+             "Please see the User's Guide for the new syntax and fix "
+             "your config file.\n");
+        context->has_errors = true;
         printf("assignment of %s to *%s*\n", $2, $3);
         char *workspace = $3;
         char *criteria = $2;
index 25855b589ae18870e3c35dd2499608d3821b2978..b8366917b90c917bd828fa99d1e6db278748476d 100644 (file)
@@ -240,7 +240,9 @@ $tmp = fresh_workspace;
 
 ok(@{get_ws_content($tmp)} == 0, 'no containers yet');
 my @docked = get_dock_clients;
-is(@docked, 0, 'no dock clients yet');
+# We expect i3-nagbar as the first dock client due to using the old assign
+# syntax
+is(@docked, 1, 'one dock client yet');
 
 my $window = $x->root->create_child(
     class => WINDOW_CLASS_INPUT_OUTPUT,
@@ -259,7 +261,7 @@ my $content = get_ws($tmp);
 ok(@{$content->{nodes}} == 0, 'no tiling cons');
 ok(@{$content->{floating_nodes}} == 0, 'one floating con');
 @docked = get_dock_clients;
-is(@docked, 1, 'no dock clients yet');
+is(@docked, 2, 'two dock clients now');
 
 $window->destroy;