]> git.sur5r.net Git - i3/i3/commitdiff
wsbar: print an error and exit after not being able to talk to i3 for 2 seconds ...
authorMichael Stapelberg <michael@stapelberg.de>
Wed, 26 May 2010 21:40:05 +0000 (23:40 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Wed, 26 May 2010 21:40:05 +0000 (23:40 +0200)
i3-wsbar

index 2f62edb4c4e187ada2b795327012750a6abdfa80..3c76864e053950b341f81d602c0c31e3ec922710 100755 (executable)
--- a/i3-wsbar
+++ b/i3-wsbar
@@ -15,6 +15,13 @@ my $stdin;
 my $socket_path = undef;
 my ($workspaces, $outputs) = ([], {});
 my $last_line = "";
+my $w = AnyEvent->timer(
+    after => 2,
+    cb => sub {
+        say "Connection to i3 timed out. Verify socket path ($socket_path)";
+        exit 1;
+    }
+);
 
 my $command = "";
 my $input_on = "";
@@ -47,6 +54,16 @@ $| = 1;
 # Wait a short amount of time and try to connect to i3 again
 sub reconnect {
     my $timer;
+    if (!defined($w)) {
+        $w = AnyEvent->timer(
+            after => 2,
+            cb => sub {
+                say "Connection to i3 timed out. Verify socket path ($socket_path)";
+                exit 1;
+            }
+        );
+    }
+
     my $c = sub {
         $timer = AnyEvent->timer(
             after => 0.01,
@@ -65,6 +82,8 @@ sub connected {
         return;
     }
 
+    $w = undef;
+
     $i3->subscribe({
         workspace => \&ws_change,
         output => \&output_change,