Commit graph

406 commits

Author SHA1 Message Date
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
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
a8461cfbb9 Fix crash on maprequest when WM_CLASS name and/or instance isn't set. 2013-04-30 02:57:22 +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
519aa00149 Change global variable to local. 2013-04-30 01:45:12 +08:00
Reginald Kennedy
cc09aae734 Fix positioning issue on flipped layouts with a multi-column/row stack. 2013-04-28 05:36:02 +08:00
Reginald Kennedy
cfe055c6fc Fix focus when switching to an inactive workspace with a new window. 2013-03-26 15:53:11 +08:00
Reginald Kennedy
d766c1e8d1 Update copyrights. 2013-03-26 06:18:29 +08:00
Reginald Kennedy
749dbb28b2 Fix manual focus mode sometimes switching region with pointer motion. 2013-03-23 07:46:09 +08:00
Reginald Kennedy
0b083dbf59 Fix input focus fallback issue when running with multiple regions.
When a region is empty, input focus is now set to the invisible input
window in the region.  This enables programs (e.g. dmenu) to correctly
determine which monitor has focus.
2013-03-23 07:45:26 +08:00
David Hill
10147c617a unsigned long -> size_t 2013-03-21 10:59:47 -04:00
Reginald Kennedy
3b8acfe399 Fix fullscreen layout stacking issue when using multiple regions. 2013-03-08 09:36:17 +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
417c9ef016 Initialize some pointers that could be freed without being initialized. 2012-12-31 09:57:06 +08:00
Reginald Kennedy
66f742ca48 Add get_screen_count function that handles the result of xcb_get_setup. 2012-12-20 11:56:51 +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
6bc606589a Fix bar clock not getting updated during periods of inactivity. 2012-11-24 15:34:05 +08:00
Reginald Kennedy
f885700bbd Fix move/resize to bail if the window gets destroyed. 2012-11-17 01:13:07 +08:00
Reginald Kennedy
cc956fe9e2 Validate bound spawn programs after conf is loaded.
Validate screenshot_* and initscr bindings only when overridden.

Simplify setspawn.

Remove spawn_replace as it is no longer needed.
2012-11-13 07:56:21 +08:00
David Hill
0f58463601 avoid a free on an uninitialized variable by setting optval to NULL. 2012-11-11 09:14:15 -05:00
Reginald Kennedy
9d5207775b Fix issue where rapid window crossing events might get ignored. 2012-11-11 13:40:40 +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
a02a15fb5d Change event mask on bar windows to handle pointer activity. 2012-10-30 20:53:56 +08:00