Commit graph

477 commits

Author SHA1 Message Date
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
David Hill
ad878f12d8 Use poll(2) instead of select(2). 2014-11-04 11:34:25 -05:00
Reginald Kennedy
89f0f8e1db Fix urgency indicator issue.
Only the last window in a workspace would register.

Fixes #83
2014-10-25 18:42:10 +08:00
Reginald Kennedy
6d31f1c543 Fix stacking issue on (re)start when managing unmanaged windows.
Fix always_raise.
2014-10-25 01:24:32 +08:00
Reginald Kennedy
e39267765c Fix focus_urgent.
fixes #81
2014-10-14 09:51:09 +08:00
Yuri D'Elia
1a4854383b Honour correctly "disable_border" in max_stack 2014-10-08 00:56:20 +08:00
Reginald Kennedy
56313f2dcc Fix warp_pointer centering.
Pointer now centers on the following actions:
	swap window
	move/resize floated window
	stack reconfiguration
	cycle/flip layout
	maximize toggle

Fixes #71
2014-09-30 09:32:13 +08:00
Reginald Kennedy
18364e3dce Add new option: urgent_collapse
Enables hiding of placeholders in the urgency hint indicator for
workspaces that do not have any urgent windows.

Closes #60
2014-08-15 04:08:48 +08:00