434345aa30
Ignore notify events which are not in mode XCB_NOTIFY_MODE_NORMAL
2009-03-10 11:26:52 +01:00
441f406a4b
Fix warning (typecast)
2009-03-10 09:51:00 +01:00
c025678177
Major change: Redirect events instead of handle the notifies.
...
By specifying XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT, the window manager
will get map request events instead of map notify events, and therefore
can act sooner (the window won’t be positioned on the screen and moved
afterwards).
Furthermore, this fixes some problems with GIMP/VLC (and probably others)
which caused endless loops.
Also, events which should be ignored are now saved in a queue rather than
saving just the last event. This should eliminate race conditions.
Note that there is a new FIXME in src/handlers.c. Some windows generate
unmap notify events when reparenting while others don’t. We need to
understand, document and implement a more correct way to handle this.
2009-03-10 00:51:15 +01:00
d38636439c
Fix warning
2009-03-09 17:50:00 +01:00
b800408a97
Bugfix: Handle all events when dragging to resize, correctly set OVERRIDE_REDIRECT
2009-03-09 08:50:33 +01:00
3a34cfc603
Bugfix: Draw bar at the correct position, handle expose events for bars
2009-03-09 08:24:05 +01:00
00f08cba75
Bugfix: Correctly free containers, the bug was not freeing when not moving
2009-03-09 08:14:00 +01:00
71993c9b48
Implement wrapping left/right/up/down across screens
2009-03-09 07:39:19 +01:00
38d903aea5
Update comment
2009-03-09 07:18:04 +01:00
cc78664f9d
Bugfix: Use memcmp() instead of strcmp(), use new_len * 2 to check all bytes
2009-03-09 07:02:47 +01:00
2cf3a9dd96
Bugfix: Correctly free containers when shrinking the table
2009-03-09 06:49:11 +01:00
65595c61a8
Bugfix: Don’t strcmp() if client->name == NULL
2009-03-09 06:41:04 +01:00
6df039c3b5
Convert window title to UCS-2 when updating it, don’t update it if it didn’t change
2009-03-09 06:26:32 +01:00
4f8e704017
s/atomar/atomic
2009-03-08 21:01:06 +01:00
cefc1dabac
Bugfix: Use a new variable called new_position and initialize it correctly when resizing
2009-03-08 20:59:49 +01:00
71221baca0
Fix race condition when updating client->name
2009-03-08 20:04:01 +01:00
9e74378dd0
Bugfix: Use _NET_WM_NAME (UTF-8) rather than WM_NAME (COMPOUND_TEXT). Only render client titles, if they are set
2009-03-08 19:07:33 +01:00
4e12c9b39c
Fix the warning on SUS-compatible systems (char**) and on NetBSD (const char**)
2009-03-08 17:47:45 +01:00
f85990b27a
Fix warnings, update DEPENDS, update Makefile for NetBSD
2009-03-08 17:30:17 +01:00
6f630a3335
Implement UTF-8-clean window titles
2009-03-08 00:49:11 +01:00
35c04b448a
Don’t start a terminal on startup
2009-03-07 05:50:19 +01:00
1f3ce94027
Bugfix: Correctly place new windows while other windows are in fullscreen mode
2009-03-07 05:49:13 +01:00
6abcc5f656
Fix some bugs found by using raster’s wm_torture
2009-03-07 02:44:46 +01:00
a411ed24cb
Bugfix: Correctly check for empty containers and unmap the stack_win
2009-03-06 19:08:59 +01:00
017a0c0d08
Don’t set focus outside of the current container
2009-03-06 17:13:20 +01:00
97f23f549b
Bugfix: decorate_window() needs a flush of course
2009-03-06 17:02:43 +01:00
bf92a0c617
Don’t switch focus when in fullscreen mode
2009-03-06 16:53:47 +01:00
4259e58655
Bugfix: One warning was left
2009-03-06 16:36:05 +01:00
ee1f64a94e
Bugfix: return value was missing
2009-03-06 16:21:39 +01:00
fc3338d3c1
Bugfix: Missing flush after render_container()
2009-03-06 06:56:13 +01:00
96ac9f9066
Implement slog() and the LOG() macro, convert printf() to LOG()
2009-03-06 06:46:43 +01:00
0831f3e129
Implement handling the size hints so that aspect ratio is used correctly, fix rendering on stacks
2009-03-06 06:06:19 +01:00
3684abec1a
Bugfix: Fix rendering (needed a flush)
2009-03-05 20:07:57 +01:00
d2d6c0de12
Enable switching to containers when the current container has only one client
2009-03-05 19:47:16 +01:00
c5dffde101
Bugfix: Correct boundary checking for increasing col/rowspan
2009-03-05 17:24:04 +01:00
906914fe61
Bugfix: Rendering of colspan/rowspan was wrong
2009-03-05 17:17:37 +01:00
76c201f940
Bugfix: Correctly set currently_focused when clients are destroyed
2009-03-05 17:08:57 +01:00
841ad55f4a
Move HAS_CHANGED into a function
2009-03-05 16:23:26 +01:00
e643d34ddc
Use unchecked versions for more speed
2009-03-05 03:33:15 +01:00
56393c823e
Make colorpixels independent from clients
2009-03-05 02:58:12 +01:00
e4627bcaed
Don’t re-initialize Xinerama on every configurenotify. This needs to be fixed properly.
2009-03-05 02:17:10 +01:00
1343b77dbb
Bugfix: Some memory leaks / invalid accesses
2009-03-05 01:48:30 +01:00
17bca23a8c
Implement a focus stack, correctly free table columns/rows
2009-03-05 01:20:13 +01:00
bde67a179e
Implement wrapping, selecting containers is now Mod1+Ctrl+h/j/k/l
2009-03-04 23:45:44 +01:00
91f98cc597
Implement auto-destroying of empty workspaces
2009-03-04 22:52:36 +01:00
8b34eb5fc2
Bugfix: Reconfigure all clients in stacking, correctly ignore events, event when for the root window
2009-03-04 22:41:04 +01:00
0344ca3f36
Bugfix: Border presses weren’t correctly handled
2009-03-04 21:56:27 +01:00
03e48b8bfe
Bugfix: Reconfigure x/y of stack_windows when necessary
2009-03-04 21:49:29 +01:00
8fe84697f3
Bugfix: Correctly destroy and remove stack_windows when the container is cleaned up
2009-03-04 21:30:02 +01:00
0ce298250b
Bugfix: Correctly initialize new containers
2009-03-04 21:00:32 +01:00