mirror of
				https://github.com/swaywm/sway.git
				synced 2025-11-03 09:01:43 -05:00 
			
		
		
		
	Implement Tray Icons
This commit implements the StatusNotifierItem protocol, and enables swaybar to show tray icons. It also uses `xembedsniproxy` in order to communicate with xembed applications. The tray is completely optional, and can be disabled on compile time with the `enable-tray` option. Or on runtime with the bar config option `tray_output none`. Overview of changes: In swaybar very little is changed outside the tray subfolder except that all events are now polled in `event_loop.c`, this creates no functional difference. Six bar configuration options were added, these are detailed in sway-bar(5) The tray subfolder is where all protocol implementation takes place and is organised as follows: tray/sni_watcher.c: This file contains the StatusNotifierWatcher. It keeps track of items and hosts and reports when they come or go. tray/tray.c This file contains the StatusNotifierHost. It keeps track of sway's version of the items and represents the tray itself. tray/sni.c This file contains the StatusNotifierItem struct and all communication with individual items. tray/icon.c This file implements the icon theme protocol. It allows for finding icons by name, rather than by pixmap. tray/dbus.c This file allows for asynchronous DBus communication. See #986 #343
This commit is contained in:
		
							parent
							
								
									fd47a30e75
								
							
						
					
					
						commit
						843ad38b3c
					
				
					 35 changed files with 2714 additions and 58 deletions
				
			
		
							
								
								
									
										10
									
								
								include/swaybar/tray/sni_watcher.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								include/swaybar/tray/sni_watcher.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,10 @@
 | 
			
		|||
#ifndef _SWAYBAR_SNI_WATCHER_H
 | 
			
		||||
#define _SWAYBAR_SNI_WATCHER_H
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Starts the sni_watcher, the watcher is practically a black box and should
 | 
			
		||||
 * only be accessed though functions described in its spec
 | 
			
		||||
 */
 | 
			
		||||
int init_sni_watcher();
 | 
			
		||||
 | 
			
		||||
#endif /* _SWAYBAR_SNI_WATCHER_H */
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue