Use MAINT_CPPFLAGS only for stuff used directly by spectrwm, and
move all the stuff needed by dependencies to the newly-defined
BIN_CPPFLAGS and LIB_CPPFLAGS.
The libswmhack library uses dlopen() and friends, so it needs
to link against libdl; on the other hand, it doesn't use nearly
as many library as spectrwm itself, so linking against them is
pointless.
Split MAINT_LDLIBS into BIN_LDLIBS and LIB_LDLIBS, and use them
for spectrwm and libswmhack respectively.
Buttons are specified as Button<n> (case sensitive) where n is 1 to 255.
Example:
bind[move] = MOD+Button8
Existing pointer actions are now available for bind[]:
focus - Focus window/region under pointer.
move - Move window with pointer while binding is pressed.
resize - Resize window with pointer while binding is pressed.
resize_centered - Same as resize but keep window centered.
Defaults:
bind[focus] = ANYMOD+REPLAY+Button1
bind[move] = MOD+Button1
bind[resize] = MOD+Button3
bind[resize_centered] = MOD+Shift+Button3
Button binds can be unbound the same as key binds:
Example:
bind[] = MOD+Button1 # unbind default move binding.
Add new special bind arguments:
ANYMOD
Binds all modifier combinations not handled by another binding.
REPLAY
Allows other programs to receive press/release events for bind.
Unavailable for move, resize and resize_centered.
The following changes have been implemented:
* make sure all standard (eg. $CFLAGS) variables are taken into
account when compiling;
* define default compilation flags in separate $MAINT_* variables
so that user-defined variables can override them;
* split default flags the expected way, eg. $CPPFLAGS instead of
$CFLAGS for C preprocessor flags;
* declare all dependencies, including the ones on header files;
* install localized man pages in the corresponding locale-qualified
directories, so that man(1) can pick them up automatically;
* install .desktop file;
* support $DESTDIR for downstream maintainers' convenience;
* provide uninstall target;
* get rid of symlink hackery.
Fix hang in fullscreen layout when a window has multiple transients.
Fix focus_(prev|next) for windows with multiple transients.
Add a missing queue.h macro to Linux util.h.
On 64-bit Linux systems, if LD_PRELOAD isn't a relative/absolute
pathname to libswmhack.so, then ld.so attempts to load a 32-bit version
for 32-bit programs. This produces an error message. The solution is
to either build and install a 32-bit libswmhack.so.0.0 or use an
absolute/relative path so that ld.so only loads libswmhack.so for 64-bit
binaries.
Fix Makefiles to set variables before they are referenced.
XCB ICCCM public functions, types and macros are now prefixed.
A temporary fix has been added for OpenBSD. Needs improvement.
Resolve a variable naming conflict.
Set num_screens in unmap_all.
In workaround(), utf8_string should be netwmname, not netwmcheck.
Initialize some uninitialized pointers.
Update debug printf format to reflect new xcb variable types.
Vacuum up whitespace.
Add XCB libs to linux Makefile