+++ /dev/null
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## imap_unseen.dpatch by Alexander Galanin <al@galanin.nnov.ru>
-##
-## DP: Debian Bug report logs - #539956
-## DP: [icewm] support for unseen messages on IMAP
-## DP: with minor changes by Eduard Bloch <blade@debian.org>
-
-@DPATCH@
-Index: icewm-1.3.7~pre2/src/amailbox.cc
-===================================================================
---- icewm-1.3.7~pre2.orig/src/amailbox.cc 2010-04-28 21:00:30.000000000 +0200
-+++ icewm-1.3.7~pre2/src/amailbox.cc 2010-04-29 22:11:16.950092518 +0200
-@@ -278,14 +278,27 @@
- state = WAIT_STAT;
- delete[] status;
- } else if (state == WAIT_STAT) {
-- MSG(("imap: logout"));
-- char logout[] = "0002 LOGOUT\r\n", folder[128];
-+ MSG(("imap: unseen"));
-+ char * unseen(cstrJoin("0002 STATUS ",
-+ (fURL->path() == null || fURL->path().equals("/")) ? "INBOX" : cstring(fURL->path()).c_str() + 1,
-+ " (UNSEEN)\r\n", NULL));
-+ char folder[128] = "";
- if (sscanf(bf, "* STATUS %127s (MESSAGES %lu)",
- folder, &fCurCount) != 2) {
- fCurCount = 0;
- }
- fCurUnseen = 0;
-- sk.write(logout, strlen(logout));
-+ sk.write(unseen, strlen(unseen));
-+ state = WAIT_UNSEEN;
-+ delete [] unseen;
-+ } else if (state == WAIT_UNSEEN) {
-+ MSG(("imap: logout"));
-+ const char logout[] = "0003 LOGOUT\r\n", folder[128] = "";
-+ if (sscanf(bf, "* STATUS %127s (UNSEEN %lu)",
-+ folder, &fCurUnseen) != 2) {
-+ fCurUnseen = 0;
-+ }
-+ sk.write(logout, sizeof(logout)/sizeof(char)-1);
- state = WAIT_QUIT;
- } else if (state == WAIT_QUIT) {
- MSG(("imap: done"));
-@@ -294,10 +307,11 @@
- state = SUCCESS;
- if (fCurCount == 0)
- fMbx->mailChecked(MailBoxStatus::mbxNoMail, fCurCount);
-- else if (fCurCount > fLastCount && fLastCount != -1)
-- fMbx->mailChecked(MailBoxStatus::mbxHasNewMail, fCurCount);
-+ // A.Galanin: I think that 'has unseen' flag has priority higher that 'has new' flag
- else if (fCurUnseen != 0)
- fMbx->mailChecked(MailBoxStatus::mbxHasUnreadMail, fCurCount);
-+ else if (fCurCount > fLastCount && fLastCount != -1)
-+ fMbx->mailChecked(MailBoxStatus::mbxHasNewMail, fCurCount);
- else
- fMbx->mailChecked(MailBoxStatus::mbxHasMail, fCurCount);
- fLastUnseen = fCurUnseen;
-Index: icewm-1.3.7~pre2/src/amailbox.h
-===================================================================
---- icewm-1.3.7~pre2.orig/src/amailbox.h 2010-04-28 21:00:30.000000000 +0200
-+++ icewm-1.3.7~pre2/src/amailbox.h 2010-04-29 22:11:16.950092518 +0200
-@@ -25,6 +25,7 @@
- WAIT_USER,
- WAIT_PASS,
- WAIT_STAT,
-+ WAIT_UNSEEN,
- WAIT_QUIT,
- ERROR,
- SUCCESS