Add desktop notifications code
This commit is contained in:
parent
61de4adf18
commit
be6c4fa9c5
5
Makefile
5
Makefile
@ -1,4 +1,4 @@
|
||||
FLAGS = -g -Wall -Wextra -DLOG_USE_COLOR
|
||||
FLAGS = -g -Wall -Wextra -DLOG_USE_COLOR `pkg-config --cflags --libs libnotify`
|
||||
LD_FLAGS = -lsqlite3
|
||||
|
||||
|
||||
@ -33,4 +33,5 @@ uninstall: takl
|
||||
|
||||
clean:
|
||||
rm out -r
|
||||
rm ./takl
|
||||
rm ./takl
|
||||
rm ./takl-daemon
|
@ -23,4 +23,9 @@ Libère la mémoire allouée à une liste de tâches
|
||||
*/
|
||||
void free_task_list(task_list_t* list);
|
||||
|
||||
/*
|
||||
Envoyer une notification avec t
|
||||
*/
|
||||
void desktop_notification(task_t t);
|
||||
|
||||
#endif
|
@ -4,6 +4,7 @@ Fonctions utilitaires concernant les tâches
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include <libnotify/notify.h>
|
||||
|
||||
#include "include/db.h"
|
||||
#include "include/struct.h"
|
||||
@ -64,20 +65,20 @@ void print_task_list(task_list_t* list, bool show_completed) {
|
||||
}
|
||||
|
||||
cur = list;
|
||||
while (cur) { // Show not completed but not due_to then
|
||||
while (cur) { // Show not completed but not due_to now then
|
||||
task_t t = cur->task;
|
||||
if (!t.done && (difftime(now, t.due_to) <= 0 || t.due_to == 0)) {
|
||||
printf(BOLD YELLOW "[%d]" RESET " %s\n", t.id, t.text); // Task not completed but should be !
|
||||
printf(BOLD YELLOW "[%d]" RESET " %s\n", t.id, t.text); // Task not completed but fine
|
||||
}
|
||||
cur = cur->next;
|
||||
}
|
||||
|
||||
if (show_completed) {
|
||||
cur = list;
|
||||
while (cur) { // Show not completed but not due_to then
|
||||
while (cur) { // Show completed
|
||||
task_t t = cur->task;
|
||||
if (t.done) {
|
||||
printf(BOLD GREEN "[%d]" RESET " %s\n", t.id, t.text); // Task not completed but should be !
|
||||
printf(BOLD GREEN "[%d]" RESET " %s\n", t.id, t.text); // Task already done
|
||||
}
|
||||
cur = cur->next;
|
||||
}
|
||||
@ -92,4 +93,12 @@ void free_task_list(task_list_t* list) {
|
||||
free(list);
|
||||
list = next;
|
||||
}
|
||||
}
|
||||
|
||||
void desktop_notification(task_t t) {
|
||||
notify_init ("TaKl");
|
||||
NotifyNotification * Notif = notify_notification_new ("TaKl Daemon", t.text, "dialog-information");
|
||||
notify_notification_show (Notif, NULL);
|
||||
g_object_unref(G_OBJECT(Notif));
|
||||
notify_uninit();
|
||||
}
|
Loading…
Reference in New Issue
Block a user