110 Commits

Author SHA1 Message Date
Michael Stapelberg
14834c3530 Fake more configure notifies (makes xpdf work better) 2009-03-13 00:39:16 +01:00
Michael Stapelberg
cc2c63b860 Handle legacy window titles by rendering them not unicode-compatible. 2009-03-11 21:31:54 +01:00
Michael Stapelberg
38c8541807 Bugfix: Change the event mask to ignore enter notifies when rendering the layout and changing workspaces 2009-03-11 00:20:56 +01:00
Michael Stapelberg
408b2bdb39 Bugfix: Eliminate race condition, fix dock windows
There was a race condition when mapping a window and not setting the event mask
before. Therefore, the ReparentNotify and (more important) the UnmapNotify generated
by reparenting were not received, thus leaving the awaiting_useless_unmap variable
of the client "true". To just make it work, in previous commits the DestroyNotify
handler was introduced. Fortunately, with fixing this race condition by first
setting the event mask and mapping the window afterwards, we can remove this handler.

As for the dock windows, there were quite some occurences were client->container
was used without checking if the client is inside a container at all.

Furthermore, the client’s strut containing the space to reserve at the screen edge
is now checked and the desired height is set to the window’s height if the strut
contains 0 or if no strut was specified at all.
2009-03-10 20:56:25 +01:00
Michael Stapelberg
3a34cfc603 Bugfix: Draw bar at the correct position, handle expose events for bars 2009-03-09 08:24:05 +01:00
Michael Stapelberg
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
Michael Stapelberg
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
Michael Stapelberg
6f630a3335 Implement UTF-8-clean window titles 2009-03-08 00:49:11 +01:00
Michael Stapelberg
1f3ce94027 Bugfix: Correctly place new windows while other windows are in fullscreen mode 2009-03-07 05:49:13 +01:00
Michael Stapelberg
96ac9f9066 Implement slog() and the LOG() macro, convert printf() to LOG() 2009-03-06 06:46:43 +01:00
Michael Stapelberg
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
Michael Stapelberg
3684abec1a Bugfix: Fix rendering (needed a flush) 2009-03-05 20:07:57 +01:00
Michael Stapelberg
906914fe61 Bugfix: Rendering of colspan/rowspan was wrong 2009-03-05 17:17:37 +01:00
Michael Stapelberg
841ad55f4a Move HAS_CHANGED into a function 2009-03-05 16:23:26 +01:00
Michael Stapelberg
e643d34ddc Use unchecked versions for more speed 2009-03-05 03:33:15 +01:00
Michael Stapelberg
56393c823e Make colorpixels independent from clients 2009-03-05 02:58:12 +01:00
Michael Stapelberg
8b34eb5fc2 Bugfix: Reconfigure all clients in stacking, correctly ignore events, event when for the root window 2009-03-04 22:41:04 +01:00
Michael Stapelberg
03e48b8bfe Bugfix: Reconfigure x/y of stack_windows when necessary 2009-03-04 21:49:29 +01:00
Michael Stapelberg
a3f47fa6f0 Bugfix: Rendering error when resizing a column near a stacked column 2009-03-04 18:50:52 +01:00
Michael Stapelberg
a02b861826 Use "conn" for xcb_connection and "event" for xcb_event_* variables everywhere 2009-03-04 15:45:12 +01:00
Michael Stapelberg
f45e706c48 Merge font.c into xcb.c 2009-03-04 14:52:04 +01:00
Michael Stapelberg
05747c4a1c Implement an internal bar which displays the workspaces 2009-03-04 12:09:43 +01:00
Michael Stapelberg
3c6d4f7663 Don’t put the client’s X11 ID into the titlebar 2009-03-04 09:02:49 +01:00
Michael Stapelberg
3b50615a71 Implement Xinerama screen changes 2009-03-03 23:51:02 +01:00
Michael Stapelberg
1157229888 Bugfix: Don’t raise the active window when there is a fullscreen client 2009-03-03 04:25:32 +01:00
Michael Stapelberg
a12ca34d1c Bugfixes: Various fixes when cleaning up the table/rendering 2009-03-03 03:40:57 +01:00
Michael Stapelberg
16a514b9c1 Use a different color for focused windows in not focused containers, includes bugfixes for re-decoration 2009-03-03 02:28:26 +01:00
Michael Stapelberg
dd325879d1 Bugfix: Override client’s moves/resizes in configure_notify_event 2009-03-03 01:14:11 +01:00
Michael Stapelberg
ac6567c0a6 Documentation update: Make some comments more understandable, more docs 2009-03-01 22:00:54 +01:00
Michael Stapelberg
6868534fcb Draw stacking borders correctly 2009-03-01 03:55:29 +01:00
Michael Stapelberg
df402bacf7 Bugfix: Use HAS_CHANGED on all occurences 2009-03-01 01:56:20 +01:00
Michael Stapelberg
4ad7f8fb1a Bugfix: Correctly reconfigure clients when it’s necessary 2009-02-28 15:47:51 +01:00
Michael Stapelberg
327a53c849 More Debug-output 2009-02-28 13:44:43 +01:00
Michael Stapelberg
61c089e982 Bugfix: Raise the stack win when its size changes 2009-02-28 13:03:44 +01:00
Michael Stapelberg
d8d4d0182d Revert 43d471b9ab736f5ff5b458a672d54319e3366464 and apply correct bugfix:
Before, all clients were reconfigured to just raise them, when focus should
be set. However, this generated lots of notify events, which in turn lead
to an endless loop of setting focus, reconfiguring, setting focus, …
2009-02-28 02:40:07 +01:00
Michael Stapelberg
43d471b9ab Bugfix: Raise clients only when needed 2009-02-28 02:15:14 +01:00
Michael Stapelberg
67fbec2061 Bugfix: Correctly unmap/remap the stack_win when a container becomes empty 2009-02-28 01:38:53 +01:00
Michael Stapelberg
e77ebb6c71 Implement configuration file parsing 2009-02-25 00:50:30 +01:00
Michael Stapelberg
aa18ca0889 More documentation, cleanups, and a cache for get_colorpixel() 2009-02-24 14:18:08 +01:00
Michael Stapelberg
36aec13860 Cleanups, documentation 2009-02-24 01:24:28 +01:00
Michael Stapelberg
0e3a378c39 Implement stacking 2009-02-24 00:30:04 +01:00
Michael Stapelberg
6e81d1c5e4 s/…/./ where it makes sense 2009-02-23 17:23:57 +01:00
Michael Stapelberg
07b92c2792 Don’t assign ->container for dock-windows 2009-02-23 03:44:10 +01:00
Michael Stapelberg
8b0bc8c3ff Implement vertical resize 2009-02-23 03:27:59 +01:00
Michael Stapelberg
404f19a376 Beautify handle_key_press 2009-02-23 02:55:10 +01:00
Michael Stapelberg
656bdc5090 Implement colspan for resizing 2009-02-23 02:23:16 +01:00
Michael Stapelberg
695494606d Fix: Calculation of unoccupied space has to depend on current row/col 2009-02-23 02:09:24 +01:00
Michael Stapelberg
fe0485f9e5 Fix some movement/rendering bugs 2009-02-23 01:41:26 +01:00
Michael Stapelberg
1a0817eb39 Correctly handle _NET_WM_WINDOW_TYPE == _NET_WM_WINDOW_TYPE_DOCK (for dzen2 -dock) 2009-02-23 00:18:13 +01:00
Michael Stapelberg
d88c49682f Linux needs -D_GNU_SOURCE for some functions, so enable it in Makefile 2009-02-16 03:35:16 +01:00