Commit Graph

139 Commits

Author SHA1 Message Date
Michael Stapelberg 8cc1fcf536 General small cleanups 2009-04-11 14:08:19 +02:00
Michael Stapelberg 28aa13d831 Bugfix: Don’t set focus if it is not necessary.
This fixes ticket #13
2009-04-01 12:50:42 +02:00
Michael Stapelberg 75a35319c9 Bugfix: Correctly remove client from container when moving to another workspace
This fixes ticket #16
2009-04-01 12:02:22 +02:00
Michael Stapelberg 0520714aa0 Remove comment as popup menus in dzen2 get triggered by enter notify and focus is not needed 2009-04-01 11:51:11 +02:00
Michael Stapelberg 9077831ed3 Bugfix: When entering a stack window with the mouse, set the focus to the active client
Fixes ticket #17
2009-03-26 23:00:26 +01:00
Michael Stapelberg cb9c7078be Implement kill-command to kill the current window, document it 2009-03-14 22:09:36 +01:00
Michael Stapelberg 80e2bf708d Send configure notify after putting a client into fullscreen mode, log at a central place 2009-03-14 17:37:11 +01:00
Michael Stapelberg 9c0d5b6e5e Bugfix: Redecorate the last focused window of the container we are switching into 2009-03-11 00:56:39 +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 4e12c9b39c Fix the warning on SUS-compatible systems (char**) and on NetBSD (const char**) 2009-03-08 17:47:45 +01:00
Michael Stapelberg f85990b27a Fix warnings, update DEPENDS, update Makefile for NetBSD 2009-03-08 17:30:17 +01:00
Michael Stapelberg 6f630a3335 Implement UTF-8-clean window titles 2009-03-08 00:49:11 +01:00
Michael Stapelberg a411ed24cb Bugfix: Correctly check for empty containers and unmap the stack_win 2009-03-06 19:08:59 +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 3684abec1a Bugfix: Fix rendering (needed a flush) 2009-03-05 20:07:57 +01:00
Michael Stapelberg 17bca23a8c Implement a focus stack, correctly free table columns/rows 2009-03-05 01:20:13 +01:00
Michael Stapelberg 03e48b8bfe Bugfix: Reconfigure x/y of stack_windows when necessary 2009-03-04 21:49:29 +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 45827607dc Use default cursor (XC_left_ptr) for all windows 2009-03-04 15:28:50 +01:00
Michael Stapelberg 6653c3a686 Save unnecessary redecorations 2009-03-04 08:05:49 +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 1d9dc05b91 Little cleanups 2009-03-03 02:05:35 +01:00
Michael Stapelberg be21e784d9 Bugfix: Don’t crash when we’re already in stacking mode and go into stacking 2009-03-02 03:33:29 +01:00
Michael Stapelberg cb6ea9861d Bugfix: Fix various bugs when switching workspaces 2009-02-28 22:11:48 +01:00
Michael Stapelberg d8d4d0182d Revert 43d471b9ab 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 e4b637b67b Bugfix: Fix two bugs in fullscreen mode 2009-02-28 01:01:06 +01:00
Michael Stapelberg aa18ca0889 More documentation, cleanups, and a cache for get_colorpixel() 2009-02-24 14:18:08 +01:00
Michael Stapelberg 0e3a378c39 Implement stacking 2009-02-24 00:30:04 +01:00
Michael Stapelberg 07b92c2792 Don’t assign ->container for dock-windows 2009-02-23 03:44:10 +01:00
Michael Stapelberg 7216738778 Implement exit_if_null using variadic macros, fix compilation 2009-02-15 22:52:33 +01:00
Michael Stapelberg 28ea379c10 Update TODO and header-comments 2009-02-15 03:07:29 +01:00
Michael Stapelberg 742cef2881 Finalize font.c 2009-02-15 02:52:52 +01:00
Michael Stapelberg 09cd7bd2d0 Implement Xinerama (workspaces have a specific screen) 2009-02-15 01:58:09 +01:00
Michael Stapelberg 18543c6bce Implement fullscreen mode (Mod1+f) 2009-02-14 20:12:50 +01:00
Michael Stapelberg fb4c851e2a Add vim hints, copyright notice to each file, add LICENSE, retab! everything 2009-02-14 02:33:31 +01:00
Michael Stapelberg 4589c26558 Environment filtering is not needed. Instead, open applications through SHELL, double-fork 2009-02-14 01:36:12 +01:00
Michael Stapelberg 82dd64ff24 Move stuff to include/ and src/ 2009-02-13 19:09:25 +01:00