#ifndef MAIN_MESMS_H #define MAIN_MESMS_H #ifndef _DEFAULT_SOURCE #define _DEFAULT_SOURCE #endif #ifndef _XOPEN_SOURCE #define _XOPEN_SOURCE 700 // For strnlen() #endif #include #include #include #include #include #include #include "contactList.h" #include "wind.h" #include "sms.h" #include "config.h" #define HIDDEN 1 void resize(void); void fail_exit(const char *msg); // Checks errors for (most) ncurses functions. CHECK(fn, x, y, z) is a checked // version of fn(x, y, z). #define CHECK(fn, ...) \ do \ if (fn(__VA_ARGS__) == ERR) \ fail_exit(#fn"() failed"); \ while (false) #define max(a, b) \ ({ typeof(a) _a = a; \ typeof(b) _b = b; \ _a > _b ? _a : _b; }) #define VERSION_MESMS "Beta" #define HELP_STRING_MESMS "Usage : mesms [OPTION]..." "\n"\ "SMS Manager" "\n"\ "Options :" "\n"\ "\t\t--help -h Show this help mesage\n"\ "\t\t--version -v Print the version \n"\ "\t\t[--contact NUMBER_OR_NAME] [-c NUMBER_OR_NAME] Retrive a contact \n"\ "\n" "\n"\ "Examples :" "\n"\ " $ mesms -c +5555 will retrive the name of the contact with number +5555 \n"\ " Alexis " "\n"\ " $ mesms -c Alexis will do the contrary" "\n"\ " +5555" "\n"\ "\n" "\n"\ " $ mesms will launch the main program" "\n"\ "\n" "\n"\ "Note : type 'h' in the main program to get help" "\n"\ "" #define RUNTIME_HELP_STRING \ " Will in the main program, you can manage contact, display SMS and send SMS. \n"\ " Just type the letter associated with the action." "\n"\ "" "\n"\ " 'a' to Add a contact, you will be asked for some information" "\n"\ "" "\n"\ " 'd' to Delete a contact, you will be asked for confirmation" "\n"\ "" "\n"\ " 'q' to exit the program" "\n"\ "" "\n"\ " '/' to search for a contact, you will be asked for a name" "\n"\ "" "\n"\ " 'n' to toogle display number option" "\n"\ "" "\n"\ " 'jk' Vim's equivalent of arrow keys, to select a contact" "\n"\ " When a conversation is selected, navigate througth the SMS" "\n"\ "" "\n"\ " 'e' to Edit a contact" "\n"\ "" "\n"\ " '\t' Tab key, toogle selection of a the conversion (SMSs)" "\n"\ " with the highlighted contact" "\n"\ "" "\n"\ " 's' to send a SMS to the highlighted contact, you will be asked" "\n"\ " for confirmation." "\n"\ "" "\n"\ " 'i' to send a SMS. Identical to 's' but a Vim shortcut" "\n"\ "" #endif