From 335774321012a0abc23d9f6fec44c396d6b8a2c5 Mon Sep 17 00:00:00 2001 From: Nikos Tsipinakis Date: Sun, 2 Apr 2017 18:41:39 +0300 Subject: [PATCH] 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' --- config.mk | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/config.mk b/config.mk index 2b73ee7..a4a6178 100644 --- a/config.mk +++ b/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))