Commit graph

78 commits

Author SHA1 Message Date
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
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
ee4e60a8d4 Sort quirks in man page. 2015-04-22 18:30:52 +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
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
0a755545f7 Document visible_noswap and at it in spectrwm.conf 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
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
shobute
99677cb82b Fixed bug in man page.
It was saying M-S-<Up> switches to the last visited workspace, but by
default it is M-a.
2014-12-30 10:45:59 +08:00
Reginald Kennedy
33d4117279 Add note to man page regarding autorun and LD_PRELOAD.
closes #72
2014-10-06 10:57:28 +08:00
Andrea Bolognani
087a459347 Man page fixes, mostly spacing related. 2014-09-09 22:47:15 +02:00
Andrea Bolognani
0063e6f13b Fix xscreensaver-command example. 2014-08-26 00:11:09 +02: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
Andrea Bolognani
ebadaee5f9 Improve English man page.
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.
2014-08-09 18:50:16 +02: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
Jean-Philippe Ouellet
de157659cf fix typo s/fallowing/following/ 2014-06-17 14:08:37 -04: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
5e9a0de7ca Fix man page to use escape codes for aring å and pi π. 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
91f1a47639 Add default maximize_toggle binding to man page. 2014-02-27 09:05:52 +08:00
Reginald Kennedy
2f1d83807d Add clarification for the 'name' option to man page.
Remove stray new paragraph macro in man page.

Closes #33 and closes #34
2014-02-27 09:05:40 +08:00
Reginald Kennedy
3677d289e8 Fix typo in man page. 2014-02-20 11:52:35 +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
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
57bfbfcfaa Add 'name' configuration option.
Set name of workspace at start-of-day.
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
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
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
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
Reginald Kennedy
6d0c9ff207 Add ability to set tile_gap to negative values.
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.
2013-04-30 02:59:34 +08:00
Reginald Kennedy
0cef11f17d Add ability to move/resize floating windows beyond the region boundary.
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().
2013-04-30 01:45:46 +08:00
Reginald Kennedy
d766c1e8d1 Update copyrights. 2013-03-26 06:18:29 +08:00
Reginald Kennedy
9adcfaabcc Improve man page explanation of verbose_layout. 2013-03-21 11:58:55 +08:00
Reginald Kennedy
5cbc2896c4 Add new ws_next_move and ws_prev_move bindings.
Switches to next/prev workspace with the current window.

Improve grabkeys to only grab ws binds within workspace_limit.
2013-02-19 08:57:49 +08:00
Reginald Kennedy
fedd800f2a Add new quirk NOFOCUSONMAP.
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.
2012-12-04 14:49:00 +08:00
Reginald Kennedy
083bdac7ac Fix setkeymapping to call expand_tilde for proper expansion of ~ in path.
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.
2012-12-04 14:26:28 +08:00
Reginald Kennedy
214aca697c Fix fparseln flags to remove escape characters in the result.
For example, \# should result in #.

Add note in manpage that # must be escaped when not used in an option.
2012-11-02 02:31:34 +08:00
Reginald Kennedy
2ac03f635f Add new argument variables for programs:
$region_index
$workspace_index
2012-10-26 14:25:30 +08:00
Reginald Kennedy
94c892a9de Add tile_gap option.
Pixel width of empty space between tiled windows.

Add region_padding option.
Pixel width of empty space within region borders.
2012-10-26 13:19:32 +08:00