Enable classic mode.
This commit is contained in:
parent
4e9e018b22
commit
96fe4bccb0
5 changed files with 210 additions and 16 deletions
|
@ -17,9 +17,11 @@ EXTRA_test_wmbiff_SOURCES = gnutls-common.c gnutls-common.h
|
||||||
test_wmbiff_LDADD = @LIBGCRYPT_LIBS@
|
test_wmbiff_LDADD = @LIBGCRYPT_LIBS@
|
||||||
man_MANS = wmbiff.1 wmbiffrc.5
|
man_MANS = wmbiff.1 wmbiffrc.5
|
||||||
skindir = $(datadir)/wmbiff/skins
|
skindir = $(datadir)/wmbiff/skins
|
||||||
skin_DATA = wmbiff-master-led.xpm wmbiff-master-contrast.xpm
|
skin_DATA = wmbiff-master-led.xpm wmbiff-master-contrast.xpm \
|
||||||
|
wmbiff-classic-master-led.xpm wmbiff-classic-master-contrast.xpm
|
||||||
|
|
||||||
EXTRA_DIST = $(man_MANS) sample.wmbiffrc wmbiff-master-led.xpm
|
EXTRA_DIST = $(man_MANS) sample.wmbiffrc wmbiff-master-led.xpm \
|
||||||
|
wmbiff-classic-master-led.xpm
|
||||||
|
|
||||||
MAINTAINERCLEANFILES = Makefile.in
|
MAINTAINERCLEANFILES = Makefile.in
|
||||||
|
|
||||||
|
@ -48,7 +50,8 @@ indent:
|
||||||
dist-hook-local: indent config-h-check
|
dist-hook-local: indent config-h-check
|
||||||
|
|
||||||
distclean-local:
|
distclean-local:
|
||||||
-rm -f wmbiff-master-contrast.xpm wmbiff-master.xpm
|
-rm -f wmbiff-master-contrast.xpm wmbiff-master.xpm \
|
||||||
|
wmbiff-classic-master-contrast.xpm
|
||||||
|
|
||||||
# remove colors, then substitute old colors, then repalletize
|
# remove colors, then substitute old colors, then repalletize
|
||||||
# for some reason $< doesn't always work.
|
# for some reason $< doesn't always work.
|
||||||
|
@ -58,6 +61,12 @@ wmbiff-master-contrast.xpm: wmbiff-master-led.xpm Makefile
|
||||||
sed -e 's/#\([0-9A-F]\{2\}\)[0-9A-F]\{2\}\([0-9A-F]\{2\}\)[0-9A-F]\{2\}\([0-9A-F]\{2\}\)[0-9A-F]\{2\}/#\1\2\3/'\
|
sed -e 's/#\([0-9A-F]\{2\}\)[0-9A-F]\{2\}\([0-9A-F]\{2\}\)[0-9A-F]\{2\}\([0-9A-F]\{2\}\)[0-9A-F]\{2\}/#\1\2\3/'\
|
||||||
> $@ || rm $@
|
> $@ || rm $@
|
||||||
|
|
||||||
|
wmbiff-classic-master-contrast.xpm: wmbiff-classic-master-led.xpm Makefile
|
||||||
|
egrep -v '^"[:%][[:space:]]c #' < wmbiff-classic-master-led.xpm | \
|
||||||
|
sed -e 's/:/./g' -e 's/%/$$/g' -e 's/ 15 / 13 /' | \
|
||||||
|
sed -e 's/#\([0-9A-F]\{2\}\)[0-9A-F]\{2\}\([0-9A-F]\{2\}\)[0-9A-F]\{2\}\([0-9A-F]\{2\}\)[0-9A-F]\{2\}/#\1\2\3/'\
|
||||||
|
> $@ || rm $@
|
||||||
|
|
||||||
# fail if there's a .c file that doesn't include config.h
|
# fail if there's a .c file that doesn't include config.h
|
||||||
config-h-check:
|
config-h-check:
|
||||||
ls *.c | sort > cfiles
|
ls *.c | sort > cfiles
|
||||||
|
|
|
@ -48,6 +48,7 @@ static void countMessages(Pop3 pc, const char *mbox_filename)
|
||||||
int next_from_is_start_of_header = 1;
|
int next_from_is_start_of_header = 1;
|
||||||
int count_from = 0, count_status = 0;
|
int count_from = 0, count_status = 0;
|
||||||
int len_from = strlen(FROM_STR), len_status = strlen(STATUS_STR);
|
int len_from = strlen(FROM_STR), len_status = strlen(STATUS_STR);
|
||||||
|
int pseudo_mail = 0;
|
||||||
|
|
||||||
F = openMailbox(pc, mbox_filename);
|
F = openMailbox(pc, mbox_filename);
|
||||||
if (F == NULL)
|
if (F == NULL)
|
||||||
|
@ -55,6 +56,13 @@ static void countMessages(Pop3 pc, const char *mbox_filename)
|
||||||
|
|
||||||
/* count message */
|
/* count message */
|
||||||
while (fgets(buf, BUF_SIZE, F)) {
|
while (fgets(buf, BUF_SIZE, F)) {
|
||||||
|
// The first message usually is automatically created by POP3/IMAP
|
||||||
|
// clients for internal record keeping and is ignored
|
||||||
|
// (not displayed) by most email clients.
|
||||||
|
if (is_header && !strncmp(buf, "X-IMAP: ", 8))
|
||||||
|
{
|
||||||
|
pseudo_mail = 1;
|
||||||
|
}
|
||||||
if (buf[0] == '\n') {
|
if (buf[0] == '\n') {
|
||||||
/* a newline by itself terminates the header */
|
/* a newline by itself terminates the header */
|
||||||
if (is_header)
|
if (is_header)
|
||||||
|
@ -79,6 +87,12 @@ static void countMessages(Pop3 pc, const char *mbox_filename)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (count_from && pseudo_mail) {
|
||||||
|
count_from--;
|
||||||
|
if (count_status)
|
||||||
|
count_status--;
|
||||||
|
}
|
||||||
|
|
||||||
DM(pc, DEBUG_INFO, "from: %d status: %d\n", count_from, count_status);
|
DM(pc, DEBUG_INFO, "from: %d status: %d\n", count_from, count_status);
|
||||||
pc->TotalMsgs = count_from;
|
pc->TotalMsgs = count_from;
|
||||||
pc->UnreadMsgs = count_from - count_status;
|
pc->UnreadMsgs = count_from - count_status;
|
||||||
|
|
128
wmbiff/wmbiff/wmbiff-classic-master-led.xpm
Normal file
128
wmbiff/wmbiff/wmbiff-classic-master-led.xpm
Normal file
|
@ -0,0 +1,128 @@
|
||||||
|
/* XPM */
|
||||||
|
static const char * wmbiff_classic_master_xpm[] = {
|
||||||
|
"160 109 15 1",
|
||||||
|
" c #00000000FFFF",
|
||||||
|
". c #208120812081",
|
||||||
|
"X c #FFFFFFFF0000",
|
||||||
|
"o c #492441030000",
|
||||||
|
"O c #79E779E70820",
|
||||||
|
"+ c #000000000000",
|
||||||
|
"@ c #C71BC30BC71B",
|
||||||
|
": c #000049244103",
|
||||||
|
"$ c #2081B2CAAEBA",
|
||||||
|
"% c #00007DF771C6",
|
||||||
|
"& c #B6DA04101861",
|
||||||
|
"* c #0000EBAD0000",
|
||||||
|
"= c #28A23CF338E3",
|
||||||
|
"- c #F7DEF3CEFFFF",
|
||||||
|
"; c #71C6E38D71C6",
|
||||||
|
" ................................................................................ ",
|
||||||
|
" ...XXX...oooO.OXXXO.OXXXO.OoooO.OXXXO.OXXXO.OXXXO.OXXXO.OXXXO................... ",
|
||||||
|
" ..X...X.o...X.o...X.o...X.X...X.X...o.X...o.o...X.X...X.X...X............X...... ",
|
||||||
|
" ..X...X.o...X.o...X.o...X.X...X.X...o.X...o.o...X.X...X.X...X..X....X....X...... ",
|
||||||
|
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ..OoooO..oooO.OXXXO..XXXO.OXXXO.OXXXO.OXXXO..oooO.oXXXo.OXXXO..O....O...X....... ",
|
||||||
|
" +......................................................@ ..X...X.o...X.X...o.o...X.o...X.o...X.X...X.o...X.X...X.o...X...........X....... ",
|
||||||
|
" +..:::...:::...:::...:::...:::.......:::...:::...:::...@ ..X...X.o...X.X...o.o...X.o...X.o...X.X...X.o...X.X...X.o...X..X....X..X........ ",
|
||||||
|
" +.:...:.:...:.:...:.:...:.:...:.....:...:.:...:.:...:..@ ...XXX...oooX.OXXXO.OXXXO..oooO.OXXXO.OXXXO..oooO.OXXXO.OXXXO..O....O..X........ ",
|
||||||
|
" +.:...:.:...:.:...:.:...:.:...:..:..:...:.:...:.:...:..@ ................................................................................ ",
|
||||||
|
" +..:::...:::...:::...:::...:::...:...:::...:::...:::...@ . ",
|
||||||
|
" +.:...:.:...:.:...:.:...:.:...:.....:...:.:...:.:...:..@ . ",
|
||||||
|
" +.:...:.:...:.:...:.:...:.:...:..:..:...:.:...:.:...:..@ . ",
|
||||||
|
" +..:::...:::...:::...:::...:::...:...:::...:::...:::...@ . ",
|
||||||
|
" +......................................................@ . ",
|
||||||
|
" +......................................................@ . ",
|
||||||
|
" +......................................................@ . ",
|
||||||
|
" +......................................................@ . ",
|
||||||
|
" +..:::...:::...:::...:::...:::.......:::...:::...:::...@ . ",
|
||||||
|
" +.:...:.:...:.:...:.:...:.:...:.....:...:.:...:.:...:..@ . ",
|
||||||
|
" +.:...:.:...:.:...:.:...:.:...:..:..:...:.:...:.:...:..@ . ",
|
||||||
|
" +..:::...:::...:::...:::...:::...:...:::...:::...:::...@ . ",
|
||||||
|
" +.:...:.:...:.:...:.:...:.:...:.....:...:.:...:.:...:..@ . ",
|
||||||
|
" +.:...:.:...:.:...:.:...:.:...:..:..:...:.:...:.:...:..@ . ",
|
||||||
|
" +..:::...:::...:::...:::...:::...:...:::...:::...:::...@ . ",
|
||||||
|
" +......................................................@ . ",
|
||||||
|
" +......................................................@ . ",
|
||||||
|
" +......................................................@ . ",
|
||||||
|
" +......................................................@ . ",
|
||||||
|
" +..:::...:::...:::...:::...:::.......:::...:::...:::...@ . ",
|
||||||
|
" +.:...:.:...:.:...:.:...:.:...:.....:...:.:...:.:...:..@ . ",
|
||||||
|
" +.:...:.:...:.:...:.:...:.:...:..:..:...:.:...:.:...:..@ . ",
|
||||||
|
" +..:::...:::...:::...:::...:::...:...:::...:::...:::...@ . ",
|
||||||
|
" +.:...:.:...:.:...:.:...:.:...:.....:...:.:...:.:...:..@ . ",
|
||||||
|
" +.:...:.:...:.:...:.:...:.:...:..:..:...:.:...:.:...:..@ . ",
|
||||||
|
" +..:::...:::...:::...:::...:::...:...:::...:::...:::...@ . ",
|
||||||
|
" +......................................................@ . ",
|
||||||
|
" +......................................................@ . ",
|
||||||
|
" +......................................................@ . ",
|
||||||
|
" +......................................................@ . ",
|
||||||
|
" +..:::...:::...:::...:::...:::.......:::...:::...:::...@ . ",
|
||||||
|
" +.:...:.:...:.:...:.:...:.:...:.....:...:.:...:.:...:..@ . ",
|
||||||
|
" +.:...:.:...:.:...:.:...:.:...:..:..:...:.:...:.:...:..@ . ",
|
||||||
|
" +..:::...:::...:::...:::...:::...:...:::...:::...:::...@ . ",
|
||||||
|
" +.:...:.:...:.:...:.:...:.:...:.....:...:.:...:.:...:..@ . ",
|
||||||
|
" +.:...:.:...:.:...:.:...:.:...:..:..:...:.:...:.:...:..@ . ",
|
||||||
|
" +..:::...:::...:::...:::...:::...:...:::...:::...:::...@ . ",
|
||||||
|
" +......................................................@ . ",
|
||||||
|
" +......................................................@ . ",
|
||||||
|
" +......................................................@ . ",
|
||||||
|
" +......................................................@ . ",
|
||||||
|
" +..:::...:::...:::...:::...:::.......:::...:::...:::...@ . ",
|
||||||
|
" +.:...:.:...:.:...:.:...:.:...:.....:...:.:...:.:...:..@ . ",
|
||||||
|
" +.:...:.:...:.:...:.:...:.:...:..:..:...:.:...:.:...:..@ . ",
|
||||||
|
" +..:::...:::...:::...:::...:::...:...:::...:::...:::...@ . ",
|
||||||
|
" +.:...:.:...:.:...:.:...:.:...:.....:...:.:...:.:...:..@ . ",
|
||||||
|
" +.:...:.:...:.:...:.:...:.:...:..:..:...:.:...:.:...:..@ . ",
|
||||||
|
" +..:::...:::...:::...:::...:::...:...:::...:::...:::...@ . ",
|
||||||
|
" +......................................................@ . ",
|
||||||
|
" +......................................................@ . ",
|
||||||
|
" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ . ",
|
||||||
|
" . ",
|
||||||
|
" . ",
|
||||||
|
" . ",
|
||||||
|
" . ",
|
||||||
|
"............................................................................... ",
|
||||||
|
"..$$$...:::%.%$$$%.%$$$%.%:::%.%$$$%.%$$$%.%$$$%.:$$$%.%$$$%................... ",
|
||||||
|
".$...$.:...$.:...$.:...$.$...$.$...:.$...:.:...$.$...$.$...$............$...... .&&. .**. .==. ",
|
||||||
|
".$...$.:...$.:...$.:...$.$...$.$...:.$...:.:...$.$...$.$...$..$....$....$...... &-&& *-** ==== ",
|
||||||
|
".%:::%..:::%.%$$$%..$$$%.%$$$%.%$$$%.%$$$%..:::%.:$$$:.%$$$%..%....%...$....... &&&& **** ==== .$:; ",
|
||||||
|
".$...$.:...$.$...:.:...$.:...$.:...$.$...$.:...$.$...$.:...$...........$....... .&&. .**. .==. ",
|
||||||
|
".$...$.:...$.$...:.:...$.:...$.:...$.$...$.:...$.$...$.:...$..$....$..$........ ",
|
||||||
|
"..$$$...:::$.%$$$%.%$$$%..:::%.%$$$%.%$$$%..:::%.%$$$:.%$$$%..%....%..$........ ",
|
||||||
|
"............................................................................... ",
|
||||||
|
" ",
|
||||||
|
"................................................................................................................................................................",
|
||||||
|
".:$$$:.%$$$..%$$$%.%$$$..%$$$%.%$$$%.%$$$%.%:::%..:::%..:::%.%:::%.%:::..$:::$.%$$$..%$$$%.%$$$%.%$$$%.%$$$%.%$$$%.%$$$%.%:::%.%:::%.%:::%.%:::%.%:::%.%$$$%....",
|
||||||
|
".$...$.$...$.$...:.$...$.$...:.$...:.$...:.$...$.:...$.:...$.$...$.$...:.$$.$$.$...$.$...$.$...$.$...$.$...$.$...:.:.$.:.$...$.$...$.$...$.$...$.$...$.:...$....",
|
||||||
|
".$...$.$...$.$...:.$...$.$...:.$...:.$...:.$...$.:...$.:...$.$..$:.$...:.$.$.$.$...$.$...$.$...$.$...$.$...$.$...:.:.$.:.$...$.$...$.$...$.:$.$:.$...$.:..$:....",
|
||||||
|
".%$$$%.%$$$..%:::..%:::%.%$$$..%$$$..%:$$%.%$$$%..:::%..:::%.%$$:..%:::..%:::%.%:::%.%:::%.%$$$%.%$::%.%$$$..%$$$%..:%:..%:::%.%:::%.%:::%..:$:..%$$$%..:$:.....",
|
||||||
|
".$...$.$...$.$...:.$...$.$...:.$...:.$...$.$...$.:...$.:...$.$..$:.$...:.$...$.$...$.$...$.$...:.$.$.$.$...$.:...$.:.$.:.$...$.$...$.$.$.$.:$.$:.:...$.:$..:....",
|
||||||
|
".$...$.$...$.$...:.$...$.$...:.$...:.$...$.$...$.:...$.:...$.$...$.$...:.$...$.$...$.$...$.$...:.$..$$.$...$.:...$.:.$.:.$...$.$...$.$$.$$.$...$.:...$.$...:....",
|
||||||
|
".%:::%.%$$$..%$$$%.$$$$..%$$$%.$:::..%$$$%.%:::%..:::$.:$$$%.%:::%.%$$$:.%:::%.$:::$.%$$$%.%:::..%$$$%.%:::%.%$$$%..:%:..:$$$$..$$$..$:::$.%:::$.:$$$%.%$$$%....",
|
||||||
|
"................................................................................................................................................................",
|
||||||
|
" ",
|
||||||
|
" +......................................................@ . ",
|
||||||
|
" ..:::...:::...:::...:::...:::.......:::...:::...:::... ",
|
||||||
|
" .:...:.:...:.:...:.:...:.:...:.....:...:.:...:.:...:.. ",
|
||||||
|
" .:...:.:...:.:...:.:...:.:...:..:..:...:.:...:.:...:.. ",
|
||||||
|
" ..:::...:::...:::...:::...:::...:...:::...:::...:::... ",
|
||||||
|
" .:...:.:...:.:...:.:...:.:...:.....:...:.:...:.:...:.. ",
|
||||||
|
" .:...:.:...:.:...:.:...:.:...:..:..:...:.:...:.:...:.. ",
|
||||||
|
" ..:::...:::...:::...:::...:::...:...:::...:::...:::... ",
|
||||||
|
" ...................................................... ",
|
||||||
|
" ...................................................... ",
|
||||||
|
" ",
|
||||||
|
"................................................................................................................................................................",
|
||||||
|
".oXXXo.OXXX..OXXXO.OXXX..OXXXO.OXXXO.OXXXO.OoooO..oooO..oooO.OoooO.Oooo..XoooX.OXXX..OXXXO.OXXXO.OXXXO.OXXXO.OXXXO.OXXXO.OoooO.OoooO.OoooO.OoooO.OoooO.OXXXO....",
|
||||||
|
".X...X.X...X.X...o.X...X.X...o.X...o.X...o.X...X.o...X.o...X.X...X.X...o.XX.XX.X...X.X...X.X...X.X...X.X...X.X...o.o.X.o.X...X.X...X.X...X.X...X.X...X.o...X....",
|
||||||
|
".X...X.X...X.X...o.X...X.X...o.X...o.X...o.X...X.o...X.o...X.X..Xo.X...o.X.X.X.X...X.X...X.X...X.X...X.X...X.X...o.o.X.o.X...X.X...X.X...X.oX.Xo.X...X.o..Xo....",
|
||||||
|
".OXXXO.OXXX..Oooo..OoooO.OXXX..OXXX..OoXXO.OXXXO..oooO..oooO.OXXo..Oooo..OoooO.OoooO.OoooO.OXXXO.OXooO.OXXX..OXXXO..oOo..OoooO.OoooO.OoooO..oXo..OXXXO..oXo.....",
|
||||||
|
".X...X.X...X.X...o.X...X.X...o.X...o.X...X.X...X.o...X.o...X.X..Xo.X...o.X...X.X...X.X...X.X...o.X.X.X.X...X.o...X.o.X.o.X...X.X...X.X.X.X.oX.Xo.o...X.oX..o....",
|
||||||
|
".X...X.X...X.X...o.X...X.X...o.X...o.X...X.X...X.o...X.o...X.X...X.X...o.X...X.X...X.X...X.X...o.X..XX.X...X.o...X.o.X.o.X...X.X...X.XX.XX.X...X.o...X.X...o....",
|
||||||
|
".OoooO.OXXX..OXXXO.XXXX..OXXXO.Xooo..OXXXO.OoooO..oooX.OXXXO.OoooO.OXXXo.OoooO.XoooX.OXXXO.Oooo..OXXXO.OoooO.OXXXO..oOo..oXXXX..XXX..XoooX.OoooX.oXXXO.OXXXO....",
|
||||||
|
"................................................................................................................................................................",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" "};
|
|
@ -13,12 +13,13 @@ WMBiff \- A dockable Mailbox Monitor
|
||||||
|
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.B wmbiff
|
.B wmbiff
|
||||||
[-display <display name>] [-geometry +XPOS+YPOS] [-c <filename>] [-h] [-v] [-debug] [-fg <foreground-color>] [-bg <background-color>] [-hi <highlight-color>] [-font <X11 font>|default] [+w]
|
[-display <display name>] [-geometry +XPOS+YPOS] [-c <filename>] [-h] [-v] [-debug] [-fg <foreground-color>] [-bg <background-color>] [-hi <highlight-color>] [-font <X11 font>|default] [-o] [+w]
|
||||||
.br
|
.br
|
||||||
|
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
WMbiff displays the status of up to five mailboxes. It shows the number
|
WMbiff displays the status of up to five mailboxes. It shows the number
|
||||||
of new mail messages, if any, or the total number of messages.
|
of new mail messages, if any, otherwise 0. In classic mode instead of 0
|
||||||
|
it shows the total number of messages.
|
||||||
It also has mail
|
It also has mail
|
||||||
retrieval capabilies, and can be configured to do this automatically. At the
|
retrieval capabilies, and can be configured to do this automatically. At the
|
||||||
moment, UNIX-style, maildir, POP3, APOP and IMAP4 mailboxes are supported.
|
moment, UNIX-style, maildir, POP3, APOP and IMAP4 mailboxes are supported.
|
||||||
|
@ -86,6 +87,12 @@ be careful and consider alerting your mail system
|
||||||
administrator first. The need to use this option is a sign
|
administrator first. The need to use this option is a sign
|
||||||
of server misconfiguration.
|
of server misconfiguration.
|
||||||
.TP
|
.TP
|
||||||
|
.B \-o
|
||||||
|
Enable classical mode look and behaviour: shows the number of
|
||||||
|
new mail messages, if any, or the total number of messages.
|
||||||
|
This option also enables the special keyword "beep" (disabled
|
||||||
|
by default).
|
||||||
|
.TP
|
||||||
.B \+w
|
.B \+w
|
||||||
Do not use the "withdrawn" state: the wmbiff window will not
|
Do not use the "withdrawn" state: the wmbiff window will not
|
||||||
be captured as an icon and placed in the dock, but will
|
be captured as an icon and placed in the dock, but will
|
||||||
|
|
|
@ -41,6 +41,7 @@
|
||||||
|
|
||||||
|
|
||||||
#include "wmbiff-master-led.xpm"
|
#include "wmbiff-master-led.xpm"
|
||||||
|
#include "wmbiff-classic-master-led.xpm"
|
||||||
static char wmbiff_mask_bits[64 * 64];
|
static char wmbiff_mask_bits[64 * 64];
|
||||||
static const int wmbiff_mask_width = 64;
|
static const int wmbiff_mask_width = 64;
|
||||||
// const int wmbiff_mask_height = 64;
|
// const int wmbiff_mask_height = 64;
|
||||||
|
@ -58,6 +59,7 @@ static mbox_t mbox[MAX_NUM_MAILBOXES];
|
||||||
|
|
||||||
/* this is the normal pixmap. */
|
/* this is the normal pixmap. */
|
||||||
static const char *skin_filename = "wmbiff-master-led.xpm";
|
static const char *skin_filename = "wmbiff-master-led.xpm";
|
||||||
|
static const char *classic_skin_filename = "wmbiff-classic-master-led.xpm";
|
||||||
/* global notify action taken (if globalnotify option is set) */
|
/* global notify action taken (if globalnotify option is set) */
|
||||||
static const char *globalnotify = NULL;
|
static const char *globalnotify = NULL;
|
||||||
|
|
||||||
|
@ -73,7 +75,6 @@ const char *certificate_filename = NULL;
|
||||||
macs and compression methods. */
|
macs and compression methods. */
|
||||||
const char *tls = NULL;
|
const char *tls = NULL;
|
||||||
|
|
||||||
|
|
||||||
/* it could be argued that a better default exists. */
|
/* it could be argued that a better default exists. */
|
||||||
#define DEFAULT_FONT "-*-fixed-*-r-*-*-10-*-*-*-*-*-*-*"
|
#define DEFAULT_FONT "-*-fixed-*-r-*-*-10-*-*-*-*-*-*-*"
|
||||||
static const char *font = NULL;
|
static const char *font = NULL;
|
||||||
|
@ -84,6 +85,9 @@ int debug_default = DEBUG_ERROR;
|
||||||
const char *foreground = "white"; /* foreground white */
|
const char *foreground = "white"; /* foreground white */
|
||||||
const char *background = "#505075"; /* background blue */
|
const char *background = "#505075"; /* background blue */
|
||||||
static const char *highlight = "red";
|
static const char *highlight = "red";
|
||||||
|
const char *foreground_classic = "#21B3AF"; /* classic foreground cyan */
|
||||||
|
const char *background_classic = "#202020"; /* classic background gray */
|
||||||
|
static const char *highlight_classic = "yellow"; /* classic highlight color */
|
||||||
int SkipCertificateCheck = 0;
|
int SkipCertificateCheck = 0;
|
||||||
int Relax = 0; /* be not paranoid */
|
int Relax = 0; /* be not paranoid */
|
||||||
static int notWithdrawn = 0;
|
static int notWithdrawn = 0;
|
||||||
|
@ -93,6 +97,7 @@ static const int x_origin = 5;
|
||||||
static const int y_origin = 5;
|
static const int y_origin = 5;
|
||||||
static int forever = 1; /* keep running. */
|
static int forever = 1; /* keep running. */
|
||||||
unsigned int custom_skin = 0; /* user has choose a custom skin */
|
unsigned int custom_skin = 0; /* user has choose a custom skin */
|
||||||
|
static int classic_mode = 0; /* use classic behaviour/theme of wmbiff */
|
||||||
|
|
||||||
extern Window win;
|
extern Window win;
|
||||||
extern Window iconwin;
|
extern Window iconwin;
|
||||||
|
@ -228,6 +233,11 @@ static int Read_Config_File(char *filename, int *loopinterval)
|
||||||
char setting[BUF_SMALL], value[BUF_SIZE];
|
char setting[BUF_SMALL], value[BUF_SIZE];
|
||||||
int mbox_index;
|
int mbox_index;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
char *skin = NULL;
|
||||||
|
|
||||||
|
if (classic_mode) {
|
||||||
|
skin = strdup_ordie(skin_filename);
|
||||||
|
}
|
||||||
|
|
||||||
if (!(fp = fopen(filename, "r"))) {
|
if (!(fp = fopen(filename, "r"))) {
|
||||||
DMA(DEBUG_ERROR, "Unable to open %s, no settings read: %s\n",
|
DMA(DEBUG_ERROR, "Unable to open %s, no settings read: %s\n",
|
||||||
|
@ -387,6 +397,12 @@ static int Read_Config_File(char *filename, int *loopinterval)
|
||||||
// use GnuTLS's default ciphers.
|
// use GnuTLS's default ciphers.
|
||||||
tls = "NORMAL";
|
tls = "NORMAL";
|
||||||
|
|
||||||
|
if (classic_mode && skin && !strcmp(skin, skin_filename))
|
||||||
|
skin_filename = classic_skin_filename;
|
||||||
|
|
||||||
|
if (skin)
|
||||||
|
free(skin);
|
||||||
|
|
||||||
for (i = 0; i < num_mailboxes; i++)
|
for (i = 0; i < num_mailboxes; i++)
|
||||||
if (mbox[i].label[0] != '\0')
|
if (mbox[i].label[0] != '\0')
|
||||||
parse_mbox_path(i);
|
parse_mbox_path(i);
|
||||||
|
@ -699,7 +715,7 @@ static void blitMsgCounters(unsigned int i)
|
||||||
BlitString(mbox[i].TextStatus, 39, y_row, newmail);
|
BlitString(mbox[i].TextStatus, 39, y_row, newmail);
|
||||||
} else {
|
} else {
|
||||||
int mailcount =
|
int mailcount =
|
||||||
(newmail) ? mbox[i].UnreadMsgs : 0;
|
(newmail) ? mbox[i].UnreadMsgs : ( classic_mode ? mbox[i].TotalMsgs : 0 );
|
||||||
BlitNum(mailcount, 45, y_row, newmail);
|
BlitNum(mailcount, 45, y_row, newmail);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -711,7 +727,9 @@ static void blitMsgCounters(unsigned int i)
|
||||||
static void execnotify( /*@null@ */ const char *notifycmd)
|
static void execnotify( /*@null@ */ const char *notifycmd)
|
||||||
{
|
{
|
||||||
if (notifycmd != NULL) { /* need to call notify() ? */
|
if (notifycmd != NULL) { /* need to call notify() ? */
|
||||||
if (!strcasecmp(notifycmd, "true")) {
|
if (classic_mode && !strcasecmp(notifycmd, "beep"))
|
||||||
|
XBell(display, 100);
|
||||||
|
else if (!strcasecmp(notifycmd, "true")) {
|
||||||
/* Yes, nothing */
|
/* Yes, nothing */
|
||||||
} else {
|
} else {
|
||||||
/* Else call external notifyer, ignoring the pid */
|
/* Else call external notifyer, ignoring the pid */
|
||||||
|
@ -1141,15 +1159,15 @@ static void do_biff(int argc, const char **argv)
|
||||||
if (skin_xpm == NULL) {
|
if (skin_xpm == NULL) {
|
||||||
DMA(DEBUG_ERROR, "using built-in xpm; %s wasn't found in %s\n",
|
DMA(DEBUG_ERROR, "using built-in xpm; %s wasn't found in %s\n",
|
||||||
skin_filename, skin_search_path);
|
skin_filename, skin_search_path);
|
||||||
skin_xpm = wmbiff_master_xpm;
|
skin_xpm = (classic_mode ? wmbiff_classic_master_xpm : wmbiff_master_xpm);
|
||||||
}
|
}
|
||||||
|
|
||||||
bkg_xpm = (const char **) CreateBackingXPM(wmbiff_mask_width, wmbiff_mask_height, skin_xpm);
|
bkg_xpm = (const char **) CreateBackingXPM(wmbiff_mask_width, wmbiff_mask_height, skin_xpm);
|
||||||
|
|
||||||
createXBMfromXPM(wmbiff_mask_bits, bkg_xpm,
|
createXBMfromXPM(wmbiff_mask_bits, (const char**)bkg_xpm,
|
||||||
wmbiff_mask_width, wmbiff_mask_height);
|
wmbiff_mask_width, wmbiff_mask_height);
|
||||||
|
|
||||||
openXwindow(argc, argv, bkg_xpm, skin_xpm, wmbiff_mask_bits,
|
openXwindow(argc, argv, (const char**)bkg_xpm, skin_xpm, wmbiff_mask_bits,
|
||||||
wmbiff_mask_width, wmbiff_mask_height, notWithdrawn);
|
wmbiff_mask_width, wmbiff_mask_height, notWithdrawn);
|
||||||
|
|
||||||
/* now that display is set, we can create the cursors
|
/* now that display is set, we can create the cursors
|
||||||
|
@ -1182,7 +1200,8 @@ static void do_biff(int argc, const char **argv)
|
||||||
}
|
}
|
||||||
while (forever); /* forever is usually true,
|
while (forever); /* forever is usually true,
|
||||||
but not when debugging with -exit */
|
but not when debugging with -exit */
|
||||||
if (skin_xpm != NULL && skin_xpm != wmbiff_master_xpm) {
|
if (skin_xpm != NULL && skin_xpm != wmbiff_master_xpm
|
||||||
|
&& skin_xpm != wmbiff_classic_master_xpm) {
|
||||||
free(skin_xpm); // added 3 jul 02, appeasing valgrind
|
free(skin_xpm); // added 3 jul 02, appeasing valgrind
|
||||||
}
|
}
|
||||||
if (bkg_xpm != NULL) {
|
if (bkg_xpm != NULL) {
|
||||||
|
@ -1244,6 +1263,7 @@ static void printversion(void)
|
||||||
static void parse_cmd(int argc, const char **argv, char *config_file)
|
static void parse_cmd(int argc, const char **argv, char *config_file)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
int fg = 0, bg = 0, hi = 0;
|
||||||
|
|
||||||
config_file[0] = '\0';
|
config_file[0] = '\0';
|
||||||
|
|
||||||
|
@ -1258,7 +1278,8 @@ static void parse_cmd(int argc, const char **argv, char *config_file)
|
||||||
if (strcmp(arg + 1, "bg") == 0) {
|
if (strcmp(arg + 1, "bg") == 0) {
|
||||||
if (argc > (i + 1)) {
|
if (argc > (i + 1)) {
|
||||||
background = strdup_ordie(argv[i + 1]);
|
background = strdup_ordie(argv[i + 1]);
|
||||||
DMA(DEBUG_INFO, "new background: %s", foreground);
|
bg = 1;
|
||||||
|
DMA(DEBUG_INFO, "new background: '%s'\n", foreground);
|
||||||
i++;
|
i++;
|
||||||
if (font == NULL)
|
if (font == NULL)
|
||||||
font = DEFAULT_FONT;
|
font = DEFAULT_FONT;
|
||||||
|
@ -1279,7 +1300,8 @@ static void parse_cmd(int argc, const char **argv, char *config_file)
|
||||||
if (strcmp(arg + 1, "fg") == 0) {
|
if (strcmp(arg + 1, "fg") == 0) {
|
||||||
if (argc > (i + 1)) {
|
if (argc > (i + 1)) {
|
||||||
foreground = strdup_ordie(argv[i + 1]);
|
foreground = strdup_ordie(argv[i + 1]);
|
||||||
DMA(DEBUG_INFO, "new foreground: %s", foreground);
|
fg = 1;
|
||||||
|
DMA(DEBUG_INFO, "new foreground: '%s'\n", foreground);
|
||||||
i++;
|
i++;
|
||||||
if (font == NULL)
|
if (font == NULL)
|
||||||
font = DEFAULT_FONT;
|
font = DEFAULT_FONT;
|
||||||
|
@ -1291,7 +1313,7 @@ static void parse_cmd(int argc, const char **argv, char *config_file)
|
||||||
} else {
|
} else {
|
||||||
font = strdup_ordie(argv[i + 1]);
|
font = strdup_ordie(argv[i + 1]);
|
||||||
}
|
}
|
||||||
DMA(DEBUG_INFO, "new font: %s", font);
|
DMA(DEBUG_INFO, "new font: '%s'\n", font);
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -1315,7 +1337,8 @@ static void parse_cmd(int argc, const char **argv, char *config_file)
|
||||||
if (strcmp(arg + 1, "hi") == 0) {
|
if (strcmp(arg + 1, "hi") == 0) {
|
||||||
if (argc > (i + 1)) {
|
if (argc > (i + 1)) {
|
||||||
highlight = strdup_ordie(argv[i + 1]);
|
highlight = strdup_ordie(argv[i + 1]);
|
||||||
DMA(DEBUG_INFO, "new highlight: %s", highlight);
|
hi = 1;
|
||||||
|
DMA(DEBUG_INFO, "new highlight: '%s'\n", highlight);
|
||||||
i++;
|
i++;
|
||||||
if (font == NULL)
|
if (font == NULL)
|
||||||
font = DEFAULT_FONT;
|
font = DEFAULT_FONT;
|
||||||
|
@ -1358,6 +1381,9 @@ static void parse_cmd(int argc, const char **argv, char *config_file)
|
||||||
forever = 0;
|
forever = 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 'o': /* use classic behaviour/theme */
|
||||||
|
classic_mode = 1;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
usage();
|
usage();
|
||||||
exit(EXIT_SUCCESS);
|
exit(EXIT_SUCCESS);
|
||||||
|
@ -1375,6 +1401,16 @@ static void parse_cmd(int argc, const char **argv, char *config_file)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (classic_mode) {
|
||||||
|
/* load classic colors if user did not override them */
|
||||||
|
if(!fg)
|
||||||
|
foreground = foreground_classic;
|
||||||
|
if(!bg)
|
||||||
|
background = background_classic;
|
||||||
|
if(!hi)
|
||||||
|
highlight = highlight_classic;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, const char *argv[])
|
int main(int argc, const char *argv[])
|
||||||
|
|
Loading…
Reference in a new issue