support detection of newer claws-mail
authorRicardo Mones <ricardo@mones.org>
Thu, 7 Mar 2013 23:24:13 +0000 (00:24 +0100)
committerRicardo Mones <ricardo@mones.org>
Thu, 7 Mar 2013 23:24:13 +0000 (00:24 +0100)
ChangeLog
VC
VERSION
clawsker

index 57ee32e..4ae1c87 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2013-03-08 00:23  mones   0.7.8git462
+
+       * clawsker
+               Detect running claws-mail equal or greater
+               than 3.9.0cvs36 version, when location and
+               format of lock socket changed
+
 2013-03-08 00:08  mones   0.7.8git461
 
        * clawsker
diff --git a/VC b/VC
index 408b885..bf7aeeb 100644 (file)
--- a/VC
+++ b/VC
@@ -1 +1 @@
-461
+462
diff --git a/VERSION b/VERSION
index 4eae46c..772b5e2 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.7.8git461
+0.7.8git462
index c71a1b7..e3590e1 100755 (executable)
--- a/clawsker
+++ b/clawsker
@@ -9,6 +9,7 @@ use Gtk2 -init;
 use POSIX qw(setlocale);
 use Locale::gettext;
 use Encode;
+use Digest::MD5 qw(md5_hex);
 
 my $NAME = 'clawsker';
 my $PREFIX = '@PREFIX@';
@@ -352,16 +353,26 @@ sub error_dialog {
     $errordlg->destroy;
 }
 
+sub claws_is_running() {
+    my $emsg = "$xl::s{e_error}$xl::s{e_running}";
+    log_message ($emsg);
+    error_dialog ($emsg);
+    return FALSE;
+}
+
 sub check_claws_not_running() {
     my $socket = (not $ALTCONFIGDIR)? "/tmp/": $CONFIGDIR;
     $socket .= "claws-mail-$<";
-    -S $socket and do {
-        my $emsg = "$xl::s{e_error}$xl::s{e_running}";
-        log_message ($emsg);
-        error_dialog ($emsg);
-        return FALSE;
-     };
-     return TRUE;
+    -S $socket and return &claws_is_running;
+    # since 3.9.0cvs36
+    my $lockdir = "/tmp/claws-mail-$<";
+    -d $lockdir and do { 
+       $_ = $CONFIGDIR;
+       s/\/$//;
+        $socket = "$lockdir/" . md5_hex($_);
+       -S $socket and return &claws_is_running;
+    };
+    return TRUE;
 }
 
 sub check_rc_file() {