Commit graph

50 commits

Author SHA1 Message Date
William Orr
d619f904b9 Add initial pledge(2) support on OpenBSD (#217)
On other platforms, this will be a no-op. Fixes #164.
2019-01-07 15:25:43 +00:00
Andrea Bolognani
69385ecedb linux: Install more files
We're already installing most supporting data along with the
application itself, but we have been skipping additional
documentation (such as the license and release notes) and most
importantly the default configuration file.
2018-12-06 11:53:30 +08:00
Reginald Kennedy
f9c4156217 Fix warp pointer issue when Coordinate Transformation Matrix is used.
Requires libxcb >= 1.9 and xinput2.

Fix screenchange should only be called if RandR is supported.

Fixes #208
2018-09-07 12:29:37 +08:00
orbea
e40e0282a7 Whitespace 2018-05-09 08:18:41 +08:00
Andrea Bolognani
9caab3f155 Add keywords to desktop file 2018-02-20 12:11:18 +08:00
Andrea Bolognani
092e5c269f linux: Enable PIE
PIE (position-independent executables) is a security feature
that has been made reasonably cheap by recent improvements in
GCC; as a result, more and more Linux distributions are pushing
for its adoption.

Unfortunately, PIE and PIC are not compatible, so we have to
manage the CFLAGS and LDFLAGS used to compile the library and
the executable indipendently.
2016-07-31 19:05:10 +02:00
Andrea Bolognani
2c2034e3bf linux: Use -fPIC instead of -fpic
According to GCC's documentation, -fpic can have compatibility
issues on some platforms. Use -fPIC instead, which generates
slightly bigger objects but is generally more likely to work.

Get rid of -DPIC, since the symbol is not used anywhere.
2016-07-31 19:03:38 +02:00
Andrea Bolognani
ac945112ba linux: Use --as-needed when linking
Using this flag will cause the linker to ignore any libraries
that have been listed on the command line but whose symbols are
not actually used.

Right now, it just gets rid of the unnecessary linking against
xcb-render (see https://bugs.debian.org/829709), but it might
catch missing dependencies in the future, and it will generally
keep the resulting binaries nice and tidy.

Ubuntu and Arch are both using --as-needed by default already,
and other distributions will probably switch at some point.
2016-07-05 16:40:48 +02:00
Andrea Bolognani
857820719e linux: Use pkg-config for dependencies' CPPFLAGS and LDLIBS
Instead of hardcoding the information needed to compile and link
against libraries, call pkg-config to retrieve them at runtime.
2016-07-03 22:48:18 +02:00
Andrea Bolognani
831173e62a linux: Split off dependencies' CPPFLAGS
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.
2016-07-03 22:46:16 +02:00
Andrea Bolognani
c85236d67f linux: Reduce linking for libswmhack
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.
2016-07-03 22:45:04 +02:00
Marco Peereboom
86268c60a5 retire unmaintained man pages harder 2016-05-03 14:51:17 -05:00
Reginald Kennedy
42bccafc30 Improve the bind[] option to accept pointer buttons.
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.
2015-05-22 08:41:30 +08:00
Reginald Kennedy
829092cd42 Reorder LDFLAGS in Linux Makefile to work with --as-needed. 2014-09-30 09:29:40 +08:00
Andrea Bolognani
884794feec Improve Linux Makefile.
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.
2014-08-15 04:03:38 +08:00
Reginald Kennedy
d2cf9769ea Improve stacking for windows with multiple transients.
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.
2014-03-12 10:02:04 +08:00
Reginald Kennedy
b397ce68dc Fix LD_PRELOAD error on Linux.
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.
2013-12-02 23:47:02 +08:00
Reginald Kennedy
d8a7afac8a Improve consistency of warning flags between makefiles.
Change default CC to cc.

Change symlinks to be relative.

Eliminate warnings.
2013-06-15 20:37:18 +08:00
David Hill
a29ac2b28a cleanup linux Makefile.
from Michael Weber
2013-06-13 13:25:28 -04:00
Reginald Kennedy
3c35ef5d7c Fix symlinks in Linux Makefile. 2013-04-29 13:39:01 +08:00
Reginald Kennedy
49d22e3088 Remove path from Linux spectrwm.desktop. 2013-01-08 05:36:06 +08:00
David Hill
3b3c4e31f3 add -Wmissing-prototypes 2012-08-28 19:46:51 -04:00
Reginald Kennedy
b2b0c8fcf2 Add support for Xcursor. 2012-08-26 19:21:45 +08:00
Reginald Kennedy
c03f2b3972 In Linux Makefile, only set CC when it isn't already set.
Fix some uninitialized warnings.
2012-08-21 02:39:37 +08:00
Reginald Kennedy
ebb72d68f2 Fix check_conn.
Resolve declaration shadows.
2012-07-28 04:48:27 +08:00
Reginald Kennedy
9a6057d006 Oops, bar_font conflicted, renamed bar_font to font in bar_setup.
Add the correct libraries and include to linux Makefile.
2012-07-21 06:00:02 +08:00
Reginald Kennedy
103465407f Fix linux makefile. 2012-07-21 06:00:02 +08:00
David Hill
8f2c842365 remove extra lib dependancies from Makefile 2012-07-21 05:59:30 +08:00
Reginald Kennedy
e676f5a92b Some OpenBSD styling cleanup.
keyfunc names are now uppercase.

Add -Wextra to Linux Makefile for dev purposes.

Remove unneeded dummykeyfunc().
2012-07-21 05:59:30 +08:00
Reginald Kennedy
3228ba7d20 Fix XCB error macros to use current naming.
Add -lxcb-xtest to Linux Makefile.

Indentation of multi-line statements should be 4 spaces.

Remove EOL whitespace.
2012-07-21 05:59:28 +08:00
Reginald Kennedy
e5e36a7e1d Fix linux Makefile.
Some whitespace.
2012-07-21 05:59:28 +08:00
Reginald Kennedy
90f1696b7a Update code to compile against XCB util-wm >= 0.3.8
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
2012-07-21 05:58:31 +08:00
Marco Peereboom
ba542eb493 remove ggdb3 2012-06-23 10:00:47 -05:00
Marco Peereboom
bec4acf876 make buildversion optional, from drahn 2012-02-17 10:07:06 -06:00
Marco Peereboom
1e065dd313 better fix from davec 2012-02-17 09:53:50 -06:00
Marco Peereboom
732f22de72 attempt to print the git version in the version string 2012-02-17 09:50:21 -06:00
Marco Peereboom
ce26d85ef8 ln spectrwm to scrotwm for now 2012-02-15 17:39:14 -06:00
Marco Peereboom
e83f3b7908 rename scrotwm to spectrwm 2012-02-15 14:09:13 -06:00
marco
d9ed576fa1 add rb stuff to linux 2012-02-10 19:31:11 -06:00
Niclas Zeising
c4467452a2 Clean up properly in linux/Makefile.
ok marco
2012-01-23 21:03:41 -05:00
Lawrence Teo
a628bd8eed let scrotwm build on Linux again
ok marco
2011-11-01 22:59:54 -04:00
Marco Peereboom
8eb6cfee63 kill cvs tags 2011-10-25 15:54:39 -05:00
Marco Peereboom
8e2b81c30c add -lXtst here too 2011-08-10 13:44:36 +00:00
Marco Peereboom
f9a4023081 The arch linux folks want this so that they can add scrotwm to the
official repos.

from keenerd <keenerd@gmail.com>
2011-04-09 03:26:41 +00:00
Marco Peereboom
aaee1e4644 Add portugese from Alicornio <alicornio@ig.com.br>
Update engrish man page while at it.
2010-09-16 02:00:51 +00:00
Marco Peereboom
bd9d120876 Make compile in cygwin 2010-01-11 20:44:54 +00:00
Marco Peereboom
8f1b49684d shame on you ulrich drepper! there is no limit as to how much more you
can fuck up glibc.
2009-10-13 14:38:49 +00:00
Marco Peereboom
b9d28b5c06 Make linux makefile work nicer; from Tobias Ulmer <tobiasu@tmux.org> 2009-09-17 02:22:52 +00:00
Marco Peereboom
7a67c7b461 Not sure if this works but at least has a fighting chance. 2009-02-08 04:10:00 +00:00
Marco Peereboom
d3af2be74b Add linux goo; from NicM 2009-01-22 23:12:27 +00:00