Commit graph

317 commits

Author SHA1 Message Date
Reginald Kennedy
b686cb58ae Add missing prototype in swm_hack.c.
Remove stray end of line space.
2012-08-29 08:35:50 +08:00
David Hill
8d6f43bd88 MERGE_MEMBERS is unused. 2012-08-28 19:50:38 -04:00
David Hill
0d5bc34d2b sysconf returns long 2012-08-28 19:50:01 -04:00
David Hill
09729fd715 clean -Wshadow 2012-08-28 19:46:31 -04:00
David Hill
eed83a7ee1 add remaining missing prototypes 2012-08-28 19:42:33 -04:00
David Hill
365159febd print_win_geom is SWM_DEBUG only 2012-08-28 19:20:23 -04:00
David Hill
55ba1e3395 add missing spawn_ prototypes 2012-08-28 19:15:53 -04:00
David Hill
5df53a77cf add missing prototypes 2012-08-28 17:04:52 -04:00
Reginald Kennedy
77dc1e0928 Fix scan_xrandr to fallback when a scan results in no new regions. 2012-08-27 23:45:03 +08:00
David Hill
80e56a145d couple more const's 2012-08-27 10:46:07 -04:00
David Hill
024d93cece sprinkle some const 2012-08-27 09:40:49 -04:00
Reginald Kennedy
2d86bc6b5d Add tilde ~ expansion to autorun command in the config. 2012-08-27 20:33:00 +08:00
Reginald Kennedy
983382db57 Remove setquirk error; just ignore when attempting to set quirk to NONE. 2012-08-26 20:39:51 +08:00
Reginald Kennedy
a5b560b41f Fix use of free'd memory.
Fix memory leak.

Submitted by: Campbell Barton (ideasman42)
2012-08-26 20:30:10 +08:00
Reginald Kennedy
b2b0c8fcf2 Add support for Xcursor. 2012-08-26 19:21:45 +08:00
Reginald Kennedy
f171ae19f6 Fix 'focus_mode = default' to ignore pointer position on startup. 2012-08-26 19:09:45 +08:00
Reginald Kennedy
a23aaa1549 Fix issue when switching to a workspace in fullscreen layout (max_stack). 2012-08-25 01:30:44 +08:00
Reginald Kennedy
8b3d816a64 Fix stacking of transients and new windows in max_stack mode.
Fix issue in libswmhack that can cause applications to crash.

Fix issue in mouse button handling that could cause a segfault.

Improve focus handling so related windows are raised when appropriate.

Fix ConfigureRequest handling of floating windows in max_stack mode.

Fix issue in startup where managable windows are sometimes not managed.

Fix possible focus issue when changing focus with keyboard bindings.

Add debug output to grab_windows function.
2012-08-24 23:33:18 +08:00
Reginald Kennedy
3946872e2b Fix focus issue when a window is manipulated via EWMH.
Fix issues when in unmapnotify.

Improve debug output for PropertyNotify events.
2012-08-24 04:43:50 +08:00
Reginald Kennedy
78972f1414 Fix keyboard move and resize operation delay.
Fix debug mode segfault in unmapnotify.
2012-08-23 08:29:41 +08:00
Reginald Kennedy
3050ccac16 Fix uninitialized variable warning. 2012-08-23 03:36:11 +08:00
Reginald Kennedy
f9609966f0 Fix follow mode window unmap focus issue. 2012-08-23 03:29:03 +08:00
Reginald Kennedy
73d7b552f0 Fix manual focus mode not allowing empty regions to be clicked.
Improve debug output for ButtonPress event.
2012-08-23 02:16:22 +08:00
Reginald Kennedy
79c64ab736 Fix new windows not always being handled in a prompt fashion. 2012-08-23 00:02:48 +08:00
Reginald Kennedy
bedad617e4 Fix switchws issue when swapping with an empty workspace.
Fix screen switching issue when switching to a screen with an empty ws.

Improve root_to_region by adding check flags for pointer, focus, etc.

When moving mouse pointer to a region with an empty ws, focus on root.

Select EnterNotify events on root for moving mouse to an empty region.
2012-08-22 23:50:09 +08:00
Reginald Kennedy
36e10e1dfb Take input focus into consideration when determining active region.
Change screen_next and screen_prev to no longer warp mouse pointer.
2012-08-22 21:35:39 +08:00
Reginald Kennedy
e6a9b61ffe Fix focus when transient windows get unmapped, but not destroyed.
Cleanup some logical operations.

Improve debug output for ConfigureNotify events.
2012-08-22 19:16:18 +08:00
Reginald Kennedy
152d9a5bbe Fix follow_cursor focus mode and rename option value to 'focus'.
Note that previous value of 'focus_cursor' is still valid.
2012-08-22 02:24:20 +08:00
Reginald Kennedy
b019e45389 Fix focus issue when swapping visible workspaces.
Fix move window to workspace operation.

Rename update_iconic function to set_swm_iconic.

Cleanup propertynotify function.
2012-08-22 01:35:33 +08:00
Reginald Kennedy
eb81669a34 Fix unmapnotify to update the win mapping and iconic state.
Improve set_win_state debug.

Remove commented global variable.
2012-08-21 23:41:31 +08:00
Reginald Kennedy
5f8042da0e Fix focus on iconify.
Remove some double blank lines.
2012-08-21 02:39:38 +08:00
Reginald Kennedy
95832ed6c4 Silence the -Wconditional-uninitialized warning with clang. 2012-08-21 02:39:38 +08:00
Reginald Kennedy
c03f2b3972 In Linux Makefile, only set CC when it isn't already set.
Fix some uninitialized warnings.
2012-08-21 02:39:37 +08:00
Reginald Kennedy
42610fddc3 Fix switchws to unfocus the focused win before operating on ws.
In unmanage_window, do not change focus.

Add more member initializations in workspace.

Add new focus_pending member to workspace.

Fix destroynotify to correctly set focus.

In propertynotify when state has a new value, check the state.
2012-08-21 02:39:37 +08:00
Reginald Kennedy
cc5d90f729 Add WM_HINT_INPUT compatibility macro for old xcb-util versions.
Fix switchws to set focus immediately when swapping visible workspaces.
2012-08-21 02:39:27 +08:00
Reginald Kennedy
5d83029a3a Add border with unfocused color for all windows in manage_window. 2012-08-21 02:37:34 +08:00
Reginald Kennedy
2c636ec10a Replace map_window_raised with map_window function.
Rename get_iconic to get_swm_iconic

Add new xcb_timestamp_t parameter to client_msg.

Add debug output to client_msg.

Remove unfocus_all since no longer needed.

Fix focus_win to correctly set focus on window.

Time must be specified in ClientMessage WM_TAKE_FOCUS.

Track window mapped state.

Change focus function to only set workspace focus; need to call
focus_win separately.

Fix focus_win function to correctly set window focus.

Add FocusOut debug output.

Add debug message to client_msg.

Add timestamp parameter to client_msg.
When sending the client message WM_TAKE_FOCUS, the time must not be
XCB_TIME_CURRENT.

Check window state before unmapping.

Track X11 timestamps for use in focus_win.

Handle iconify on property notify.
2012-08-21 02:37:34 +08:00
Reginald Kennedy
43af7f1229 Unmap after map in switchws. 2012-08-21 02:37:34 +08:00
Reginald Kennedy
4c59fde083 Convert SWM_ARG_ID_FOCUSCUR into a function called get_region_focus. 2012-08-21 02:37:34 +08:00
Reginald Kennedy
e0f96d62c6 Fix focus_win function to correctly set window focus.
Time must be specified in ClientMessage WM_TAKE_FOCUS; not
XCB_TIME_CURRENT.

Add timestamp parameter to client_msg.

Track X11 timestamps for use in focus_win.

Track window mapped state.

Check window state before unmapping.

Change focus function to only set workspace focus; need to call
focus_win separately.

Add debug output for FocusOut event.

Replace map_window_raised with map_window function.

Rename get_iconic to get_swm_iconic

Add debug output to client_msg.

Remove unfocus_all since no longer needed.

(Un)iconify in propertynotify.
2012-08-21 02:37:22 +08:00
Reginald Kennedy
701e10650a Fix stack_config by adding a focus_flush(). 2012-08-21 02:35:58 +08:00
Reginald Kennedy
b61c3d6ec7 Fix search_resp by adding xcb_flush. 2012-08-21 02:32:34 +08:00
Reginald Kennedy
858666e4e7 Change manual focus mode; focus is set with mouse button 1.
Grab only the mouse buttons for the binds and button 1 for focus.

Fix focus_win to not unfocus the same window twice.

Add more debug messages to unfocus_win.

Change Xlib macro to XCB.

Change unmanage_window to not focus on root.

Rename focus_magic to get_focus_magic.

Rename focus_prev to get_focus_prev and make it return the win to focus.
2012-08-21 02:31:36 +08:00
Reginald Kennedy
6f1236b917 Fix focus_win to call unfocus_win when appropriate.
Change grabkeys() to grab in synchronous mode.
2012-08-16 18:27:55 +08:00
Reginald Kennedy
f2fa926aa1 Fix grabbuttons. 2012-08-15 22:40:24 +08:00
Reginald Kennedy
df5ba22907 Fix mouse button grab. 2012-08-15 22:08:50 +08:00
Reginald Kennedy
7c89d364d9 Add new 'manual' focus_mode.
Mouse sets focus on window interaction.

Add new focus_flush() function to cleanup code.

Remove do_sync() since it is not needed.
2012-08-15 21:45:22 +08:00
Reginald Kennedy
7921c5dfbb Fix floating window positioning.
Always center unless ANYWHERE quirk is set or window was manually
moved or resized.

Add new load_float_geom() function.

Fix float_toggle to ignore fullscreen windows.

Fix ConfigureRequest events sometimes causing a focus change.

Fix event_drain sometimes not working as expected.

Remove some #if 0 code.
2012-08-13 04:00:52 +08:00
Reginald Kennedy
b3ce153db7 Fix xcb_create_window() call in workaround(). 2012-08-12 23:48:31 +08:00
Reginald Kennedy
f747837804 Fix xcb_poly_fill_rectangle() call in bar_print(). 2012-08-12 23:21:40 +08:00