Make selecting which multi-monitor selection to use simpler
Use a single MULTIMON variable which can be set to either xrandr, xinerama or none and replace the previous system which used 2 variables for each extension which were then added to CFLAGS and instead append xrandr or xinerama respectively to pkg_config_packs so their availability can be checked with pkg-config. The main advantage of this is that the extension can now be set from the command like like so 'MULTIMON=xinerama make'
This commit is contained in:
		
							parent
							
								
									43b4d4bb41
								
							
						
					
					
						commit
						3357743210
					
				
							
								
								
									
										29
									
								
								config.mk
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								config.mk
									
									
									
									
									
								
							| @ -8,13 +8,14 @@ ifeq ('',$(VERSION)) | ||||
| VERSION := $(shell git describe --tags) | ||||
| endif | ||||
| 
 | ||||
| # Xinerama, comment if you don't want it
 | ||||
| #XINERAMALIBS  = -lXinerama
 | ||||
| #XINERAMAFLAGS = -DXINERAMA
 | ||||
| 
 | ||||
| # RANDR, comment if you don't want it
 | ||||
| XRANDRLIBS = -lXrandr | ||||
| XRANDRFLAGS = -DXRANDR | ||||
| # Specifies which X extension dunst should use for multi monitor support
 | ||||
| # Possible values are randr, xinerama or none
 | ||||
| # * xrandr is the recommended/default value and should be the best option in most cases
 | ||||
| # * xinerama is the legacy equivalent to randr but does not support some more
 | ||||
| #   advanced features like per-monitor dpi calculation it should probably one
 | ||||
| #   be used if xrandr cannot be used for some reason.
 | ||||
| # * none disables multi-monitor support and dunst will assume only one monitor.
 | ||||
| MULTIMON ?= xrandr | ||||
| 
 | ||||
| # uncomment to disable parsing of dunstrc
 | ||||
| # or use "CFLAGS=-DSTATIC_CONFIG make" to build
 | ||||
| @ -26,13 +27,21 @@ ifeq (${PKG_CONFIG}, ${EMPTY}) | ||||
| endif | ||||
| 
 | ||||
| # flags
 | ||||
| CPPFLAGS += -D_DEFAULT_SOURCE -DVERSION=\"${VERSION}\" ${XRANDRFLAGS} ${XINERAMAFLAGS} ${INIFLAGS} | ||||
| CFLAGS   += -g --std=gnu99 -pedantic -Wall -Wno-overlength-strings -Os ${STATIC} ${CPPFLAGS} ${EXTRACFLAGS} | ||||
| CPPFLAGS += -D_DEFAULT_SOURCE -DVERSION=\"${VERSION}\" | ||||
| CFLAGS   += -g --std=gnu99 -pedantic -Wall -Wno-overlength-strings -Os ${STATIC} ${CPPFLAGS} | ||||
| 
 | ||||
| pkg_config_packs := dbus-1 x11 xscrnsaver \
 | ||||
|                     "glib-2.0 >= 2.36" gio-2.0 \
 | ||||
|                     pangocairo gdk-2.0 | ||||
| 
 | ||||
| ifeq ($(MULTIMON), xrandr) | ||||
| pkg_config_packs += xrandr | ||||
| CFLAGS += -DXRANDR | ||||
| else ifeq ($(MULTIMON), xinerama) | ||||
| pkg_config_packs += xinerama | ||||
| CFLAGS += -DXINERAMA | ||||
| endif | ||||
| 
 | ||||
| # check if we need libxdg-basedir
 | ||||
| ifeq (,$(findstring STATIC_CONFIG,$(CFLAGS))) | ||||
| 	pkg_config_packs += libxdg-basedir | ||||
| @ -41,7 +50,7 @@ endif | ||||
| # includes and libs
 | ||||
| INCS := $(shell ${PKG_CONFIG} --cflags ${pkg_config_packs}) | ||||
| CFLAGS += ${INCS} | ||||
| LDFLAGS += -lm -L${X11LIB} -lXss ${XRANDRLIBS} ${XINERAMALIBS} $(shell ${PKG_CONFIG} --libs ${pkg_config_packs}) | ||||
| LDFLAGS += -lm -L${X11LIB} -lXss $(shell ${PKG_CONFIG} --libs ${pkg_config_packs}) | ||||
| 
 | ||||
| # only make this an fatal error when where not cleaning
 | ||||
| ifneq (clean, $(MAKECMDGOALS)) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Nikos Tsipinakis
						Nikos Tsipinakis