Commit graph

429 commits

Author SHA1 Message Date
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
Reginald Kennedy
638428ac07 Add new quirk: WS[n]
Forces a new window to appear on workspace n.

Closes #6
2014-08-15 04:04:42 +08:00
Reginald Kennedy
ae2989db90 Add new option: warp_pointer.
Centers the mouse pointer on the focused window when using key bindings
to change focus, switch workspaces, change regions, etc.
2014-08-08 06:02:27 +08:00
Reginald Kennedy
54ebbac260 Convert all booleans to stdbool.h bool.
Add missing code to read java_workaround from config file.

Remove unused variables.

Rename s/xrandr/randr.
2014-07-29 17:32:22 +08:00
Reginald Kennedy
f986795d66 Fix stacking issue at (re)start when spawn_position = first or prev.
Begin using stdbool.h.
2014-07-29 15:03:32 +08:00
Reginald Kennedy
ca2de79bd2 Add new quirk IGNORESPAWNWS.
Ignore the spawn workspace when determining the initial workspace for a
new window.

resolves #11
2014-05-09 15:48:39 +08:00
Reginald Kennedy
8f2b071e3d Add new quirk IGNOREPID.
Ignore the PID when determining the initial workspace for a new window.
Especially useful for terminal windows that share a process.

closes #49
2014-05-09 15:48:39 +08:00
Reginald Kennedy
2c9a693ca9 Fix segfault when loading "layout" with non-zero parameters.
This affected multi-region. stack() must be called after the region bars
are created.

Fix layout entry in man page.

Fixes #38
2014-03-21 01:48:06 +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
332906d454 Set stacking order when setting up a new status bar.
Fixes stacking issues that can arise on a randr screenchange event.
2014-03-08 06:50:08 +08:00
Reginald Kennedy
b5b9fa3388 Fix segfault in fullscreen layout when a window with transient(s) unmap. 2014-03-07 23:44:39 +08:00
Reginald Kennedy
c7dc4771c9 Fix text rendering issue in search_win.
The depth of the indicator window must match the depth of the allocated
text color.  To ensure this is always the case, copy from root instead
of parent.
2014-02-26 12:48:26 +08:00
Reginald Kennedy
870f90b273 Ignore EnterNotify when entering from an inferior window.
Fixes #28
2014-02-26 12:48:26 +08:00
Reginald Kennedy
78cac56aec Fix floating windows remaining borderless after being fullscreen.
Fixes #32
2014-02-20 13:22:08 +08:00
Reginald Kennedy
b015891a95 Fix window border colors when moving windows to hidden workspaces.
Fixes #31
2014-02-20 12:27:50 +08:00
Reginald Kennedy
a6032ff131 Add new OBEYAPPFOCUSREQ quirk.
When an application requests focus on the window via a
_NET_ACTIVE_WINDOW client message (source indication of 1), comply with
the request.
2014-02-07 23:37:39 +08:00
Reginald Kennedy
9c6fb4c472 Fix segfault when attempting to set a color on a non-existent screen.
Show error instead of exiting when screen index is invalid.

Cleanup setconfcolor() and setscreencolor().

Fix warning.
2014-02-07 23:37:39 +08:00
Reginald Kennedy
f52df6cff1 Deny _NET_ACTIVE_WINDOW ClientMessages with a source type of 'normal'.
Focus change requests that are not a result of direct user action are
ignored.  Requests from applications that use the old EWMH specification
such as wmctrl(1) are still accepted.

Fixes #28
2014-02-07 23:37:39 +08:00
Reginald Kennedy
585edea31e Rename variables that shadow global declarations.
Fix some typos.
2014-02-07 23:37:39 +08:00
Reginald Kennedy
3a8ade46f6 Add color_focus_maximized and color_unfocus_maximized config options.
Sets border colors on maximized windows.  Defaults to the value of
color_focus and color_unfocus, respectively.
2014-02-07 23:37:39 +08:00
Reginald Kennedy
80b6156fc1 Add new reorder stack action.
Ignore key press events while moving/resizing.

Fix configurerequest resize on transients.

Add stacking order debug messages.
2014-02-07 23:37:39 +08:00
Reginald Kennedy
46d8ea00ad Add support for _NET_WM_DESKTOP client message.
Grab windows after creating bars.

Fix move floater to max_stack.

Disable floating_toggle on fullscreen layout.

Fix some stacking issues.

Some cleanup.

Fixes #9
2014-02-07 23:37:39 +08:00
Reginald Kennedy
57bfbfcfaa Add 'name' configuration option.
Set name of workspace at start-of-day.
2014-02-07 23:37:39 +08:00
Reginald Kennedy
09e555187c Add support for _NET_DESKTOP_GEOMETRY and _NET_DESKTOP_VIEWPORT. 2014-02-07 23:37:39 +08:00
Reginald Kennedy
7d450eab18 Add support for _NET_RESTACK_WINDOW.
Fix support for _NET_WM_NAME.
2014-02-07 23:37:39 +08:00
Reginald Kennedy
db56f5244f Improve support for Extended Window Manager Hints (EWMH).
Add support for _NET_CURRENT DESKTOP.

Add support for _NET_DESKTOP_NAMES.

Add support for _NET_NUMBER_OF_DESKTOPS.

Add support for _NET_CLIENT_LIST.
Windows are sorted according to _NET_CLIENT_LIST at start.

Change iconify to use _NET_WM_STATE_HIDDEN instead of _SWM_ICONIC.

Add _NET_WM_FULL_PLACEMENT to _NET_SUPPORTED.

Improve handling of _NET_WM_STATE_FULLSCREEN.

Improve general handling of EWMH.

Fix focus issues when a window maps/unmaps on an unfocused region.

Fix calls to get property length that did not adjust for item size.

Fix stacking issues.

Fix segfault.

Disable swapwin on fullscreen layout.

Remove floating property from ws_win struct.

Add new macros for accessing ewmh_flags.

Initialize variables that should be initialized.

Fix some formatting.

Improve debug output.

Closes #1 and closes #20
2014-02-07 23:37:39 +08:00
Reginald Kennedy
28dbf3c66e Add new maximize_toggle action.
Modify floating indicator to also show 'm' for maximized state.
2014-02-07 23:37:39 +08:00
Reginald Kennedy
857580b3ae Revert 2 commits to simplify merge.
0847b1d8e4
"oops, killed a d on the way out"

d600683a5e
"please OCD a little"
2014-02-07 23:36:41 +08:00
Marco Peereboom
0847b1d8e4 oops, killed a d on the way out 2014-02-07 08:25:59 -06:00
Marco Peereboom
d600683a5e please OCD a little 2014-02-07 08:24:38 -06:00
Reginald Kennedy
56230c5c16 Fix quirk matching of windows missing WM_CLASS.
From: Yuri D'Elia <wavexx@thregr.org>
(Note: Modified styling and skipped the addition of a default quirk.)
2013-12-04 15:37:16 +08:00
Reginald Kennedy
844157986d Fix 'bind[] = ...' not unbinding as expected.
Fixes #23
2013-11-16 23:50:55 +08:00
Reginald Kennedy
db199fb02f Improve spawn program command parsing.
Closes #15
2013-11-15 03:55:45 +08:00
Reginald Kennedy
b2c1286094 Fix segfault when X keyboard map does not include Num_Lock.
Fixes #21
2013-11-09 05:49:13 +08:00
Reginald Kennedy
157c555b77 Fix placement issue when uniconifying floaters.
Resolves #4
2013-11-06 04:27:43 +08:00
Reginald Kennedy
850d045442 Fix default quirks to work correctly with regex. 2013-10-31 00:50:11 +08:00
Reginald Kennedy
75649b6a4b Add new option: iconic_enabled
When one or more windows are iconic, show the count in bar.

Add new bar_format character sequence: +M
Replaced with iconic window count.

Closes #19
2013-10-30 22:40:10 +08:00
Reginald Kennedy
2bf2ca8bf0 Add quirk POSIX Extended Regular Expression pattern matching.
Note that square brackets [] and colons : in patterns must be
escaped with a backslash \ in addition to any other escaping.

Add 3rd (optional) _NET_WM_NAME/WM_NAME field to quirks.
Quirks can be specified as quirk[<class>], quirk[<class>:<instance>]
or quirk[<class>:<instance>:<name>].
The 'instance' and 'name' fields are optional and will 'match all' if
omitted or 'match empty' if left blank.

Cleanup window property terms; should be 'class', 'instance' and 'name'.
title_class_enabled and title_name_enabled are now aliases for
window_class_enabled and window_instance_enabled, respectively.

Fix uniconify of windows having neither _NET_WM_NAME nor WM_NAME.

Use const in conf_load functions.
2013-10-30 08:12:44 +08:00
Reginald Kennedy
b983deb7b9 Fix focus border issue on output only windows.
Track WM_PROTOCOLS window property changes.

Select window events prior to getting initial properties.
This fixes an issue in manage_window() where early events could
sometimes get missed.
2013-08-29 09:14:43 +08:00
Reginald Kennedy
314eb46249 Fix segfault when xcb_get_geometry_reply() fails. 2013-08-12 14:50:13 +08:00
Reginald Kennedy
b196a62241 Some cleanup. 2013-08-12 14:50:00 +08:00
Reginald Kennedy
b7dfe791b6 Fix compile issue on older versions of XCB. 2013-07-30 21:19:07 +08:00
Reginald Kennedy
bb8117c675 Add new focus_urgent binding.
Focuses on the next window with the urgency hint set.  The workspace is
switched if needed.

Fix description of urgent_enabled in man page.
2013-07-30 00:28:31 +08:00
Reginald Kennedy
bc6ee31c0f Fix crash in rg_n/mvrg_n when the target region does not exist. 2013-07-18 12:13:31 +08:00
Reginald Kennedy
7e463aa1bd Fix focus state issue when switching between workspaces.
Closes FS#364
2013-07-04 14:08:10 +08:00
Reginald Kennedy
f1975d23f7 Fix focus issue when (un)mapping a window on an unfocused region. 2013-06-17 13:24:18 +08:00
Reginald Kennedy
21a0870e7d Remove unused local variables. 2013-05-07 22:18:43 +08:00
Reginald Kennedy
7e9b839a7e Remove unused global atom variables. 2013-05-07 01:15:14 +08:00
Reginald Kennedy
7caf33e755 Add new $dmenu_bottom spawn argument variable for use with dmenu.
Evaluates to '-b' if bar_at_bottom is enabled.

Change default dmenu spawns to include $dmenu_bottom.
2013-05-02 03:33:34 +08:00