| 
									
										
										
										
											2016-11-16 11:34:54 +03:00
										 |  |  | # vim: ft=ruby | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class NewMail < Worker | 
					
						
							|  |  |  | 	def mainloop() | 
					
						
							|  |  |  | 		while true do | 
					
						
							|  |  |  | 			if unread_mail? | 
					
						
							|  |  |  | 				self.write "%{F#{@my_config['crit_colour']}}#{@my_config['crit_message']}%{F-}" | 
					
						
							| 
									
										
										
										
											2016-11-21 13:40:38 +03:00
										 |  |  | 			else | 
					
						
							|  |  |  | 				self.write "%{F#{@my_config['ok_colour']}}#{@my_config['ok_message']}%{F-}" | 
					
						
							| 
									
										
										
										
											2016-11-16 11:34:54 +03:00
										 |  |  | 			end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			sleep(3) | 
					
						
							|  |  |  | 		end | 
					
						
							|  |  |  | 	end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	def unread_mail? | 
					
						
							|  |  |  | 		@my_config['maildirs'].each do |dir| | 
					
						
							| 
									
										
										
										
											2016-11-21 13:40:38 +03:00
										 |  |  | 			if not (Dir.entries(dir + "/new") - [ '.', '..' ]).empty? | 
					
						
							| 
									
										
										
										
											2016-11-16 11:34:54 +03:00
										 |  |  | 				return true | 
					
						
							|  |  |  | 			end | 
					
						
							|  |  |  | 		end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		return false | 
					
						
							|  |  |  | 	end | 
					
						
							|  |  |  | end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Modules.add("newmail", "NewMail") |