Refactor history_* functions to match queues namespace
This commit is contained in:
parent
38e4bbb7bb
commit
e3881766c0
34
src/queues.c
34
src/queues.c
@ -122,7 +122,7 @@ bool queues_notification_replace_id(notification *new)
|
|||||||
new->start = time(NULL);
|
new->start = time(NULL);
|
||||||
new->dup_count = old->dup_count;
|
new->dup_count = old->dup_count;
|
||||||
notification_run_script(new);
|
notification_run_script(new);
|
||||||
history_push(old);
|
queues_history_push(old);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -134,7 +134,7 @@ bool queues_notification_replace_id(notification *new)
|
|||||||
if (old->id == new->id) {
|
if (old->id == new->id) {
|
||||||
iter->data = new;
|
iter->data = new;
|
||||||
new->dup_count = old->dup_count;
|
new->dup_count = old->dup_count;
|
||||||
history_push(old);
|
queues_history_push(old);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -150,7 +150,7 @@ int queues_notification_close_id(int id, int reason)
|
|||||||
notification *n = iter->data;
|
notification *n = iter->data;
|
||||||
if (n->id == id) {
|
if (n->id == id) {
|
||||||
g_queue_remove(displayed, n);
|
g_queue_remove(displayed, n);
|
||||||
history_push(n);
|
queues_history_push(n);
|
||||||
target = n;
|
target = n;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -161,7 +161,7 @@ int queues_notification_close_id(int id, int reason)
|
|||||||
notification *n = iter->data;
|
notification *n = iter->data;
|
||||||
if (n->id == id) {
|
if (n->id == id) {
|
||||||
g_queue_remove(queue, n);
|
g_queue_remove(queue, n);
|
||||||
history_push(n);
|
queues_history_push(n);
|
||||||
target = n;
|
target = n;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -180,18 +180,7 @@ int queues_notification_close(notification *n, int reason)
|
|||||||
return queues_notification_close_id(n->id, reason);
|
return queues_notification_close_id(n->id, reason);
|
||||||
}
|
}
|
||||||
|
|
||||||
void move_all_to_history()
|
void queues_history_pop(void)
|
||||||
{
|
|
||||||
while (displayed->length > 0) {
|
|
||||||
queues_notification_close(g_queue_peek_head_link(displayed)->data, 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
while (queue->length > 0) {
|
|
||||||
queues_notification_close(g_queue_peek_head_link(queue)->data, 2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void history_pop(void)
|
|
||||||
{
|
{
|
||||||
if (g_queue_is_empty(history))
|
if (g_queue_is_empty(history))
|
||||||
return;
|
return;
|
||||||
@ -203,7 +192,7 @@ void history_pop(void)
|
|||||||
g_queue_push_head(queue, n);
|
g_queue_push_head(queue, n);
|
||||||
}
|
}
|
||||||
|
|
||||||
void history_push(notification *n)
|
void queues_history_push(notification *n)
|
||||||
{
|
{
|
||||||
if (settings.history_length > 0 && history->length >= settings.history_length) {
|
if (settings.history_length > 0 && history->length >= settings.history_length) {
|
||||||
notification *to_free = g_queue_pop_head(history);
|
notification *to_free = g_queue_pop_head(history);
|
||||||
@ -214,6 +203,17 @@ void history_push(notification *n)
|
|||||||
g_queue_push_tail(history, n);
|
g_queue_push_tail(history, n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void queues_history_push_all(void)
|
||||||
|
{
|
||||||
|
while (displayed->length > 0) {
|
||||||
|
queues_notification_close(g_queue_peek_head_link(displayed)->data, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
while (queue->length > 0) {
|
||||||
|
queues_notification_close(g_queue_peek_head_link(queue)->data, 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void queues_check_timeouts(bool idle)
|
void queues_check_timeouts(bool idle)
|
||||||
{
|
{
|
||||||
/* nothing to do */
|
/* nothing to do */
|
||||||
|
19
src/queues.h
19
src/queues.h
@ -58,9 +58,22 @@ int queues_notification_close_id(int id, int reason);
|
|||||||
/* Close the given notification. SEE queues_notification_close_id. */
|
/* Close the given notification. SEE queues_notification_close_id. */
|
||||||
int queues_notification_close(notification *n, int reason);
|
int queues_notification_close(notification *n, int reason);
|
||||||
|
|
||||||
void history_pop(void);
|
/*
|
||||||
void history_push(notification *n);
|
* Pushed the latest notification of history to the displayed queue
|
||||||
void move_all_to_history(void);
|
* and removes it from history
|
||||||
|
*/
|
||||||
|
void queues_history_pop(void);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Push a single notification to history
|
||||||
|
* The given notification has to be removed its queue
|
||||||
|
*/
|
||||||
|
void queues_history_push(notification *n);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Push all waiting and displayed notifications to history
|
||||||
|
*/
|
||||||
|
void queues_history_push_all(void);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check timeout of each notification and close it, if neccessary
|
* Check timeout of each notification and close it, if neccessary
|
||||||
|
@ -866,14 +866,14 @@ gboolean x_mainloop_fd_dispatch(GSource *source, GSourceFunc callback,
|
|||||||
&& XLookupKeysym(&ev.xkey,
|
&& XLookupKeysym(&ev.xkey,
|
||||||
0) == settings.history_ks.sym
|
0) == settings.history_ks.sym
|
||||||
&& settings.history_ks.mask == state) {
|
&& settings.history_ks.mask == state) {
|
||||||
history_pop();
|
queues_history_pop();
|
||||||
wake_up();
|
wake_up();
|
||||||
}
|
}
|
||||||
if (settings.close_all_ks.str
|
if (settings.close_all_ks.str
|
||||||
&& XLookupKeysym(&ev.xkey,
|
&& XLookupKeysym(&ev.xkey,
|
||||||
0) == settings.close_all_ks.sym
|
0) == settings.close_all_ks.sym
|
||||||
&& settings.close_all_ks.mask == state) {
|
&& settings.close_all_ks.mask == state) {
|
||||||
move_all_to_history();
|
queues_history_push_all();
|
||||||
wake_up();
|
wake_up();
|
||||||
}
|
}
|
||||||
if (settings.context_ks.str
|
if (settings.context_ks.str
|
||||||
@ -917,7 +917,7 @@ bool x_is_idle(void)
|
|||||||
static void x_handle_click(XEvent ev)
|
static void x_handle_click(XEvent ev)
|
||||||
{
|
{
|
||||||
if (ev.xbutton.button == Button3) {
|
if (ev.xbutton.button == Button3) {
|
||||||
move_all_to_history();
|
queues_history_push_all();
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user