Commit graph

484 commits

Author SHA1 Message Date
orbea
1b7dffbed0 Silence -Wformat-truncation= warning with gcc7 2017-06-30 16:08:05 +08:00
James Bunton
94b5bca182 Trim trailing whitespace when loading config 2017-04-25 04:44:24 +08:00
Reginald Kennedy
ba474302eb Handle MappingNotify during startup.
fixes #128
2017-04-21 20:02:14 +08:00
Reginald Kennedy
79473c1e77 Fix _NET_WM_STATE_FULLSCREEN window geometry in fullscreen layout.
fixes #155
2016-11-24 00:46:59 +08:00
Martin Natano
dd1b73634f Reset SIGPIPE before execvp().
Otherwise child processes inherit SIG_IGN for SIGPIPE, which can have
unexpected consequences. e.g. when performing pkg_add -ui in an xterm
spawned by spectrwm some spurious EPIPE errors find their way to the
output due to pkg_add expecting a sane default signal environment.

$ pkg_add -nuix vim
quirks-2.261 signed on 2016-10-11T14:06:48Z
Error from http://ftp.fr.openbsd.org/pub/OpenBSD/snapshots/packages/amd64/vim-8.0.0004-gtk2-perl-python3-ruby.tgz
signify: write to stdout: Broken pipe
Error from http://ftp.fr.openbsd.org/pub/OpenBSD/snapshots/packages/amd64/vim-8.0.0004-gtk2-lua.tgz
signify: write to stdout: Broken pipe
[...]
2016-11-23 11:18:55 +01:00
Campbell Barton
bc96e0b5ee Correct size for WM_STATE
Match the type of the array to the `format` argument (32).

Could change the format to 16, but the value is documented to be a `CARD32`, so may as well use 32 bit input.
2016-11-20 09:12:47 +11:00
Andrea Bolognani
914d8f4c46 Include the top level header of each xcb module used
One xcb module, one header file: <xcb/xcb.h> should to be
included directly, instead of relying on other modules dragging
it in; on the other hand, it's okay to include just the top
level <xcb/xcb_util.h> instead of the three separate sub-headers.

[rk@rejii.com: skip xcb_util.h since it breaks xcb-util < 0.3.8]
closes #142
2016-08-26 13:06:25 +08:00
Reginald Kennedy
96a9efc6dd Ensure iconic windows stay iconic when reparenting. 2016-05-18 00:39:01 +08:00
Reginald Kennedy
68a43ba16a Fix workspace cleanup on RandR screenchange.
Fixes #127 and #120
2016-05-09 23:21:01 +08:00
Reginald Kennedy
0fb39f91df Redraw the focus window frame when changing regions with the pointer.
fixes #126
2016-05-05 01:20:24 +08:00
Reginald Kennedy
7e685eaa4c Prepend SWM_LIB to LD_PRELOAD instead of clobbering.
closes #124
2016-05-04 22:29:26 +08:00
Reginald Kennedy
6b0c4d1493 Add new fullscreen_toggle action.
Toggles _NET_WM_STATE_FULLSCREEN on the current window.
Default binding: M-S-e
2016-05-03 04:15:23 +08:00
Reginald Kennedy
f82969b59c Rename raise_focused to raise and set default binding to M-r.
Rename mvws_next and mvws_prev to mvrg_next and mvrg_prev, respectively.

Fix man page typo.

Tweak styling.
2016-05-03 03:43:53 +08:00
Campbell Barton
bc124ae0b2 Send window to next/previous regions workspace 2016-05-03 02:40:59 +08:00
Yuri D'Elia
df6ae9dcd4 Implement the "raise_focused" function 2016-05-03 01:48:51 +08:00
Yuri D'Elia
a77860696e Always swap regions when using rg_move_next/rg_move_prev
Fixes interaction with the option workspace_clamp
2016-05-03 01:20:27 +08:00
Reginald Kennedy
7a7a5aa571 Remove unused macros. 2016-04-29 23:50:12 +08:00
Reginald Kennedy
8fcba7a479 Update the license in spectrwm.c
spectrwm.c does not contain any 'copy' or 'substantial portion' of dwm.
2016-04-29 22:52:54 +08:00
David Hill
22faec8354 cleanup warnings 2016-04-27 11:28:11 -04:00
Reginald Kennedy
53fae91f1d Fix segfault when handling RRScreenChangeNotify.
Fixes #118
2016-04-23 04:48:12 +08:00
Reginald Kennedy
77e1075c10 Fix ICCCM 4.2.3 compliance and add special handling for Java.
Fix transient windows blocking focus to respective main windows.

Fix override_redirect window focus issue.

Fix window borders when applications set focus.

Add more details to debug overlay.

Fixes #42
2016-04-22 02:45:13 +08:00
Reginald Kennedy
da92f07e6b Upgrade to window reparenting.
Change X11 window borders to drawn frames.

Add support for _NET_REQUEST_FRAME_EXTENTS.

Disable java_workaround.
We no longer need to spoof the LG3D non-reparenting window manager.
A dummy option is still present to prevent a startup exception.

Remove the use of BORDER() since it is no longer needed.

Fix move_ on tiled.

Add new debug_toggle bind for SWM_DEBUG.

Fix managing of mapped 'withdrawn' windows.

Wait for all x11 events to finish processing on shutdown_cleanup.
2016-04-22 02:41:46 +08:00
Reginald Kennedy
37f7ee73cc Fix possible delay on uniconify/search_win/search_workspace. 2016-03-23 10:38:38 +08:00
Reginald Kennedy
f12e178ce2 Restore Num_Lock workaround.
If Num_Lock is mapped to a modifier, filter the modifier.

closes #103
2015-05-27 04:43:32 +08:00
Reginald Kennedy
19d9110314 Fix autorun.
free() from memory leak fix was too early.
2015-05-24 20:39:37 +08:00
Marco Peereboom
354d4e4969 add queue.h to OSX
OSX' queue.h does not provide SIMPLEQ because it is too old.  Pull in
tha latest version from Bitrig and use that instead for all queue
related stuff.
2015-05-22 08:41:35 +08: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
5aee442940 Pacify -Wconditional-uninitialized warnings. 2015-05-21 04:18:44 +08:00
Reginald Kennedy
4e5c9bd680 Tweak the urgency indicator default padding for urgent_collapse = 1.
e.g. * 1 3* -> *1 3*

Add clarification for urgent_collapse in the man page.

closes #96
2015-05-14 13:05:40 +08:00
Reginald Kennedy
8aa184cb8b Additional shutdown cleanup.
Initialize some global pointers to NULL.

Fix more leaks.

Fix styling.

closes #93
2015-04-19 18:31:32 +08:00
Campbell Barton
d5362eb9f7 Resolve memory leaks on exit 2015-04-19 18:31:32 +08:00
Reginald Kennedy
978e4b1b00 Fix MINIMALBORDER on region focus cycling.
Fix quirk ordering in man page.
2015-04-19 18:31:29 +08:00
Yuri D'Elia
734f4a1b0e Add 'MINIMALBORDER' quirk to remove borders from floating/unfocused windows. 2015-04-16 22:14:22 +08:00
Reginald Kennedy
b95155ee80 Keep function prototypes in alphabetical order.
closes #92
2015-04-15 17:52:49 +08:00
Campbell Barton
4f61f95463 Resolve memory leaks on exit. 2015-04-15 17:52:17 +08:00
Reginald Kennedy
05be57f687 Fix segfault when attempting to switch workspace during startup. 2015-03-26 00:58:20 +08:00
Reginald Kennedy
6638851238 Add new option: warp_focus
Focus on the target window/workspace/region when clamped.
For example, when attempting to switch to a workspace that is mapped on
another region and workspace_clamp is enabled, focus on the region with
the target workspace.  Enable by setting to 1.

Rename visible_noswap to workspace_clamp and update man page:
Prevents workspaces from being swapped when attempting to switch to a
workspace that is mapped to another region.  Use warp_focus if you want
to focus on the region containing the workspace and warp_pointer if you
want to also send the pointer.  Enable by setting to 1.

closes #80.
2015-02-28 04:05:37 +08:00
Jonathan Armani
aac2f2f4ba Add a new visible_noswap option that allow to not swap two visible workspace
This is useful in multi monitor setup, if you have workspace 1 on left
and workspace 2 on right monitor, trying to switch from 1 to 2 on left
region now does nothing.

This option can be enabled in combination with warp_pointer to send the
mouse pointer on the non-swapped workspace.
2015-02-28 03:59:25 +08:00
Reginald Kennedy
79df455b47 Revert "Mouse button mapping config option, by levaidaniel"
This reverts commit e0e24c4fa6.
2015-02-28 02:23:32 +08:00
Reginald Kennedy
7709861107 Change rg_move_(prev|next) and stack_balance to be unbound by default.
Some cleanup.
2015-02-25 08:49:31 +08:00
Yuri D'Elia
edfc16af9a Strip trailing padding with urgent_collapse 2015-02-17 12:59:19 -06:00
Marco Peereboom
10f544c6db ad yuri to copyrights 2015-02-17 12:53:34 -06:00
Yuri D'Elia
6705289444 Implement rg_move_prev/rg_move_next to move workspaces across regions/screens. 2015-02-17 12:52:30 -06:00
Yuri D'Elia
5a6f9473f2 Add 'maximize_hide_bar' to also hide the bar when maximing a window. 2015-02-17 12:48:59 -06:00
Yuri D'Elia
f78f487b20 Implement quirk NOFOCUSCYCLE to remove a window from the normal focus cycle. 2015-02-17 12:42:33 -06:00
Yuri D'Elia
5af4c4b26b Implement stack_balance and assign it to M-S-<h,l> 2015-02-17 12:38:37 -06:00
Campbell Barton
e0e24c4fa6 Mouse button mapping config option, by levaidaniel
With modification not to enforce correct buttons when applying configuration.
Instead warn if an invalid configuration is set after loading the configuration.
2015-02-17 12:29:16 -06:00
Marco Peereboom
3bae729314 adjust copyright dates 2015-02-04 07:32:25 -06:00
Marco Peereboom
00913e0a93 Add Mod5 to support some more weird keyboards.
From Franck Lesage <fkl@rayservers.net>
2015-01-27 09:13:59 -06:00
Reginald Kennedy
cbbe2779fa Prevent possible focus change on release of a pointer grab. 2014-11-18 11:36:26 +08:00