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.
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.
With modification not to enforce correct buttons when applying configuration.
Instead warn if an invalid configuration is set after loading the configuration.
The improvements fall into three categories:
1. typos / grammar;
2. internal consistency, eg. the format of all options is described
using the same conventions;
3. better semantics, eg. using .Ar instead of .Pa for arguments.
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
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.
This makes it possible for tiled windows to overlap. If set to the
opposite of border_width, adjacent borders will appear to collapse.
Add details to man page about negative values for tile_gap.
Windows will change regions based on the cursor location or, if being
moved by a key binding, window center.
Add 'soft boundary' window containment behavior to region boundaries.
When moving a window past the region boundary, the window will 'snap' to
the region boundary until it is moved more than boundary_width distance
beyond the edge.
Add constraint to ensure windows always have at least 1 pixel in a
region.
Add new boundary_width configuration option.
Disable the window containment behavior by setting this option to 0.
Fix floating window stacking order issue on multiple-region setups.
Eliminate unneeded region parameter on load_float_geom() and
store_float_geom().
Don't change focus to the window when it gets mapped on the screen.
Add new quirk FOCUSONMAP_SINGLE.
When the window is mapped, change focus if it is the only mapped window
on the workspace using the quirk entry.
Change validation behavior for default 'optional' applications.
Overriding the binding will no longer cause validation.
Validation will only occur when the program call is overridden.
Add details in spectrwm.conf on how to disable the default programs.
Improve man page PROGRAMS section.
Added details on default program validation and how to disable/override.