Move pause_display to queues.c
Hint for dbus.c lines (134,138): pause_display => (displayed->length == 0)
This commit is contained in:
		
							parent
							
								
									59ac6d0f88
								
							
						
					
					
						commit
						c70da444a9
					
				
							
								
								
									
										11
									
								
								src/dunst.c
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								src/dunst.c
									
									
									
									
									
								
							| @ -36,7 +36,6 @@ typedef struct _x11_source { | ||||
| } x11_source_t; | ||||
| 
 | ||||
| /* index of colors fit to urgency level */ | ||||
| bool pause_display = false; | ||||
| 
 | ||||
| GMainLoop *mainloop = NULL; | ||||
| 
 | ||||
| @ -85,7 +84,7 @@ void update_lists() | ||||
| { | ||||
|         check_timeouts(); | ||||
| 
 | ||||
|         if (pause_display) { | ||||
|         if (queues_pause_status()) { | ||||
|                 while (displayed->length > 0) { | ||||
|                         g_queue_insert_sorted(queue, g_queue_pop_head(displayed), | ||||
|                                               notification_cmp_data, NULL); | ||||
| @ -130,11 +129,11 @@ gboolean run(void *data) | ||||
|                 timeout_cnt--; | ||||
|         } | ||||
| 
 | ||||
|         if (displayed->length > 0 && !xctx.visible && !pause_display) { | ||||
|         if (displayed->length > 0 && !xctx.visible) { | ||||
|                 x_win_show(); | ||||
|         } | ||||
| 
 | ||||
|         if (xctx.visible && (pause_display || displayed->length == 0)) { | ||||
|         if (xctx.visible && displayed->length == 0) { | ||||
|                 x_win_hide(); | ||||
|         } | ||||
| 
 | ||||
| @ -162,7 +161,7 @@ gboolean run(void *data) | ||||
| 
 | ||||
| gboolean pause_signal(gpointer data) | ||||
| { | ||||
|         pause_display = true; | ||||
|         queues_pause_on(); | ||||
|         wake_up(); | ||||
| 
 | ||||
|         return G_SOURCE_CONTINUE; | ||||
| @ -170,7 +169,7 @@ gboolean pause_signal(gpointer data) | ||||
| 
 | ||||
| gboolean unpause_signal(gpointer data) | ||||
| { | ||||
|         pause_display = false; | ||||
|         queues_pause_off(); | ||||
|         wake_up(); | ||||
| 
 | ||||
|         return G_SOURCE_CONTINUE; | ||||
|  | ||||
| @ -17,7 +17,6 @@ | ||||
| #define ColBG 0 | ||||
| 
 | ||||
| extern GSList *rules; | ||||
| extern bool pause_display; | ||||
| extern const char *color_strings[3][3]; | ||||
| 
 | ||||
| /* return id of notification */ | ||||
|  | ||||
| @ -294,12 +294,12 @@ void notification_init(notification *n) | ||||
| 
 | ||||
|         // TODO: this does not belong into notification_init
 | ||||
|         if (strcmp("DUNST_COMMAND_PAUSE", n->summary) == 0) { | ||||
|                 pause_display = true; | ||||
|                 queues_pause_on(); | ||||
|                 return; | ||||
|         } | ||||
| 
 | ||||
|         if (strcmp("DUNST_COMMAND_RESUME", n->summary) == 0) { | ||||
|                 pause_display = false; | ||||
|                 queues_pause_off(); | ||||
|                 return; | ||||
|         } | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										16
									
								
								src/queues.c
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								src/queues.c
									
									
									
									
									
								
							| @ -16,6 +16,7 @@ GQueue *history   = NULL; /* history of displayed notifications */ | ||||
| 
 | ||||
| unsigned int displayed_limit = 0; | ||||
| int next_notification_id = 1; | ||||
| bool pause_displayed = false; | ||||
| 
 | ||||
| static int queues_stack_duplicate(notification *n); | ||||
| 
 | ||||
| @ -244,6 +245,21 @@ gint64 queues_get_next_datachange(gint64 time) | ||||
|         return sleep != G_MAXINT64 ? sleep : -1; | ||||
| } | ||||
| 
 | ||||
| void queues_pause_on(void) | ||||
| { | ||||
|         pause_displayed = true; | ||||
| } | ||||
| 
 | ||||
| void queues_pause_off(void) | ||||
| { | ||||
|         pause_displayed = false; | ||||
| } | ||||
| 
 | ||||
| bool queues_pause_status(void) | ||||
| { | ||||
|         return pause_displayed; | ||||
| } | ||||
| 
 | ||||
| static void teardown_notification(gpointer data) | ||||
| { | ||||
|         notification *n = data; | ||||
|  | ||||
							
								
								
									
										11
									
								
								src/queues.h
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								src/queues.h
									
									
									
									
									
								
							| @ -74,6 +74,17 @@ void move_all_to_history(void); | ||||
|  */ | ||||
| gint64 queues_get_next_datachange(gint64 time); | ||||
| 
 | ||||
| /*
 | ||||
|  * Pause queue-management of dunst | ||||
|  *   pause_on  = paused (no notifications displayed) | ||||
|  *   pause_off = running | ||||
|  * | ||||
|  * Calling update_lists is neccessary | ||||
|  */ | ||||
| void queues_pause_on(void); | ||||
| void queues_pause_off(void); | ||||
| bool queues_pause_status(void); | ||||
| 
 | ||||
| /*
 | ||||
|  * Remove all notifications from all lists | ||||
|  * and free the notifications | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Benedikt Heine
						Benedikt Heine