]>
git.sur5r.net Git - i3/i3/log
Michael Stapelberg [Tue, 10 Mar 2009 23:45:49 +0000 (00:45 +0100)]
Bugfix: Don’t handle mouse click events inside the titlebar
Michael Stapelberg [Tue, 10 Mar 2009 23:20:56 +0000 (00:20 +0100)]
Bugfix: Change the event mask to ignore enter notifies when rendering the layout and changing workspaces
Michael Stapelberg [Tue, 10 Mar 2009 19:56:25 +0000 (20:56 +0100)]
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.
Michael Stapelberg [Tue, 10 Mar 2009 10:26:52 +0000 (11:26 +0100)]
Ignore notify events which are not in mode XCB_NOTIFY_MODE_NORMAL
Michael Stapelberg [Tue, 10 Mar 2009 08:51:00 +0000 (09:51 +0100)]
Fix warning (typecast)
Michael Stapelberg [Tue, 10 Mar 2009 08:46:17 +0000 (09:46 +0100)]
Remove that stupid XBell() which gets triggered falsely when resuming suspend to RAM
Michael Stapelberg [Mon, 9 Mar 2009 23:51:15 +0000 (00:51 +0100)]
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.
Michael Stapelberg [Mon, 9 Mar 2009 17:20:15 +0000 (18:20 +0100)]
Make i3lock fork(), use white color and disable DPMS
The idea of fork()ing is to allow for aliases which first lock the screen,
then suspend.
White color and no DPMS is better than black color because you can tell the
difference between your notebook failed to suspend and it being locked.
Michael Stapelberg [Mon, 9 Mar 2009 17:15:38 +0000 (18:15 +0100)]
Import slock-0.9 as i3lock
Michael Stapelberg [Mon, 9 Mar 2009 16:50:00 +0000 (17:50 +0100)]
Fix warning
Michael Stapelberg [Mon, 9 Mar 2009 07:50:33 +0000 (08:50 +0100)]
Bugfix: Handle all events when dragging to resize, correctly set OVERRIDE_REDIRECT
Michael Stapelberg [Mon, 9 Mar 2009 07:24:05 +0000 (08:24 +0100)]
Bugfix: Draw bar at the correct position, handle expose events for bars
Michael Stapelberg [Mon, 9 Mar 2009 07:14:00 +0000 (08:14 +0100)]
Bugfix: Correctly free containers, the bug was not freeing when not moving
Michael Stapelberg [Mon, 9 Mar 2009 06:39:19 +0000 (07:39 +0100)]
Implement wrapping left/right/up/down across screens
Michael Stapelberg [Mon, 9 Mar 2009 06:18:04 +0000 (07:18 +0100)]
Update comment
Michael Stapelberg [Mon, 9 Mar 2009 06:02:47 +0000 (07:02 +0100)]
Bugfix: Use memcmp() instead of strcmp(), use new_len * 2 to check all bytes
Michael Stapelberg [Mon, 9 Mar 2009 05:49:11 +0000 (06:49 +0100)]
Bugfix: Correctly free containers when shrinking the table
Michael Stapelberg [Mon, 9 Mar 2009 05:41:04 +0000 (06:41 +0100)]
Bugfix: Don’t strcmp() if client->name == NULL
Michael Stapelberg [Mon, 9 Mar 2009 05:26:32 +0000 (06:26 +0100)]
Convert window title to UCS-2 when updating it, don’t update it if it didn’t change
Michael Stapelberg [Sun, 8 Mar 2009 20:01:06 +0000 (21:01 +0100)]
s/atomar/atomic
Michael Stapelberg [Sun, 8 Mar 2009 19:59:49 +0000 (20:59 +0100)]
Bugfix: Use a new variable called new_position and initialize it correctly when resizing
Michael Stapelberg [Sun, 8 Mar 2009 19:04:33 +0000 (20:04 +0100)]
Use -idirafter which is the same as -I but first looks at the standard system headers
As iconv(3) is in NetBSD’s libc but the GNU version can be installed to /usr/pkg, searching
/usr/pkg/include before /usr/include (standard behaviour with -I) is not a good idea.
Michael Stapelberg [Sun, 8 Mar 2009 19:04:01 +0000 (20:04 +0100)]
Fix race condition when updating client->name
Michael Stapelberg [Sun, 8 Mar 2009 18:07:33 +0000 (19:07 +0100)]
Bugfix: Use _NET_WM_NAME (UTF-8) rather than WM_NAME (COMPOUND_TEXT). Only render client titles, if they are set
Michael Stapelberg [Sun, 8 Mar 2009 16:47:45 +0000 (17:47 +0100)]
Fix the warning on SUS-compatible systems (char**) and on NetBSD (const char**)
Michael Stapelberg [Sun, 8 Mar 2009 16:30:17 +0000 (17:30 +0100)]
Fix warnings, update DEPENDS, update Makefile for NetBSD
Michael Stapelberg [Sat, 7 Mar 2009 23:51:38 +0000 (00:51 +0100)]
Update default config/manpage
Michael Stapelberg [Sat, 7 Mar 2009 23:49:11 +0000 (00:49 +0100)]
Implement UTF-8-clean window titles
Michael Stapelberg [Sat, 7 Mar 2009 16:02:17 +0000 (17:02 +0100)]
More work on hacking-howto
Michael Stapelberg [Sat, 7 Mar 2009 05:24:31 +0000 (06:24 +0100)]
Some more work on docs/hacking-howto
Michael Stapelberg [Sat, 7 Mar 2009 04:50:19 +0000 (05:50 +0100)]
Don’t start a terminal on startup
Michael Stapelberg [Sat, 7 Mar 2009 04:49:13 +0000 (05:49 +0100)]
Bugfix: Correctly place new windows while other windows are in fullscreen mode
Michael Stapelberg [Sat, 7 Mar 2009 01:44:46 +0000 (02:44 +0100)]
Fix some bugs found by using raster’s wm_torture
Michael Stapelberg [Fri, 6 Mar 2009 23:50:18 +0000 (00:50 +0100)]
Add how to hack guide, first version
Michael Stapelberg [Fri, 6 Mar 2009 18:08:59 +0000 (19:08 +0100)]
Bugfix: Correctly check for empty containers and unmap the stack_win
Michael Stapelberg [Fri, 6 Mar 2009 16:13:20 +0000 (17:13 +0100)]
Don’t set focus outside of the current container
Michael Stapelberg [Fri, 6 Mar 2009 16:07:53 +0000 (17:07 +0100)]
Bugfix: Should be workspace 10 not 0 in moving aswell
Michael Stapelberg [Fri, 6 Mar 2009 16:06:33 +0000 (17:06 +0100)]
Bugfix: Should be workspace 10 not 0
Michael Stapelberg [Fri, 6 Mar 2009 16:02:43 +0000 (17:02 +0100)]
Bugfix: decorate_window() needs a flush of course
Michael Stapelberg [Fri, 6 Mar 2009 15:56:04 +0000 (16:56 +0100)]
Don’t override /etc/i3/config if it already exists
Michael Stapelberg [Fri, 6 Mar 2009 15:53:47 +0000 (16:53 +0100)]
Don’t switch focus when in fullscreen mode
Michael Stapelberg [Fri, 6 Mar 2009 15:48:30 +0000 (16:48 +0100)]
Use __FUNCTION__ in LOG()
Michael Stapelberg [Fri, 6 Mar 2009 15:36:05 +0000 (16:36 +0100)]
Bugfix: One warning was left
Michael Stapelberg [Fri, 6 Mar 2009 15:21:39 +0000 (16:21 +0100)]
Bugfix: return value was missing
Michael Stapelberg [Fri, 6 Mar 2009 05:56:13 +0000 (06:56 +0100)]
Bugfix: Missing flush after render_container()
Michael Stapelberg [Fri, 6 Mar 2009 05:46:43 +0000 (06:46 +0100)]
Implement slog() and the LOG() macro, convert printf() to LOG()
Michael Stapelberg [Fri, 6 Mar 2009 05:06:19 +0000 (06:06 +0100)]
Implement handling the size hints so that aspect ratio is used correctly, fix rendering on stacks
Michael Stapelberg [Thu, 5 Mar 2009 19:07:57 +0000 (20:07 +0100)]
Bugfix: Fix rendering (needed a flush)
Michael Stapelberg [Thu, 5 Mar 2009 18:47:16 +0000 (19:47 +0100)]
Enable switching to containers when the current container has only one client
Michael Stapelberg [Thu, 5 Mar 2009 16:23:13 +0000 (17:23 +0100)]
Bugfix: Correct boundary checking for increasing col/rowspan
Michael Stapelberg [Thu, 5 Mar 2009 16:17:37 +0000 (17:17 +0100)]
Bugfix: Rendering of colspan/rowspan was wrong
Michael Stapelberg [Thu, 5 Mar 2009 16:08:57 +0000 (17:08 +0100)]
Bugfix: Correctly set currently_focused when clients are destroyed
Michael Stapelberg [Thu, 5 Mar 2009 15:23:26 +0000 (16:23 +0100)]
Move HAS_CHANGED into a function
Michael Stapelberg [Thu, 5 Mar 2009 02:33:15 +0000 (03:33 +0100)]
Use unchecked versions for more speed
Michael Stapelberg [Thu, 5 Mar 2009 01:58:12 +0000 (02:58 +0100)]
Make colorpixels independent from clients
Michael Stapelberg [Thu, 5 Mar 2009 01:17:10 +0000 (02:17 +0100)]
Don’t re-initialize Xinerama on every configurenotify. This needs to be fixed properly.
Michael Stapelberg [Thu, 5 Mar 2009 00:48:30 +0000 (01:48 +0100)]
Bugfix: Some memory leaks / invalid accesses
Michael Stapelberg [Thu, 5 Mar 2009 00:20:13 +0000 (01:20 +0100)]
Implement a focus stack, correctly free table columns/rows
Michael Stapelberg [Wed, 4 Mar 2009 22:45:44 +0000 (23:45 +0100)]
Implement wrapping, selecting containers is now Mod1+Ctrl+h/j/k/l
Michael Stapelberg [Wed, 4 Mar 2009 21:52:36 +0000 (22:52 +0100)]
Implement auto-destroying of empty workspaces
Michael Stapelberg [Wed, 4 Mar 2009 21:41:04 +0000 (22:41 +0100)]
Bugfix: Reconfigure all clients in stacking, correctly ignore events, event when for the root window
Michael Stapelberg [Wed, 4 Mar 2009 20:56:27 +0000 (21:56 +0100)]
Bugfix: Border presses weren’t correctly handled
Michael Stapelberg [Wed, 4 Mar 2009 20:49:29 +0000 (21:49 +0100)]
Bugfix: Reconfigure x/y of stack_windows when necessary
Michael Stapelberg [Wed, 4 Mar 2009 20:30:02 +0000 (21:30 +0100)]
Bugfix: Correctly destroy and remove stack_windows when the container is cleaned up
Michael Stapelberg [Wed, 4 Mar 2009 20:00:32 +0000 (21:00 +0100)]
Bugfix: Correctly initialize new containers
Michael Stapelberg [Wed, 4 Mar 2009 19:41:54 +0000 (20:41 +0100)]
Bugfix: Fix several bugs in table_cleanup()
Michael Stapelberg [Wed, 4 Mar 2009 18:08:08 +0000 (19:08 +0100)]
Website: First version of the howto for ubuntu 9.04
Michael Stapelberg [Wed, 4 Mar 2009 17:50:36 +0000 (18:50 +0100)]
Bugfix: Rendering error when resizing a column near a stacked column
Michael Stapelberg [Wed, 4 Mar 2009 17:09:04 +0000 (18:09 +0100)]
Fix datatype for cursor
Michael Stapelberg [Wed, 4 Mar 2009 15:06:39 +0000 (16:06 +0100)]
Implement option parsing (-c <configfile>)
Michael Stapelberg [Wed, 4 Mar 2009 14:45:12 +0000 (15:45 +0100)]
Use "conn" for xcb_connection and "event" for xcb_event_* variables everywhere
Michael Stapelberg [Wed, 4 Mar 2009 14:28:50 +0000 (15:28 +0100)]
Use default cursor (XC_left_ptr) for all windows
Michael Stapelberg [Wed, 4 Mar 2009 13:52:04 +0000 (14:52 +0100)]
Merge font.c into xcb.c
Michael Stapelberg [Wed, 4 Mar 2009 12:06:14 +0000 (13:06 +0100)]
Implement switching to different screens when focusing left/right/up/down at the edge of a screen
Michael Stapelberg [Wed, 4 Mar 2009 11:09:43 +0000 (12:09 +0100)]
Implement an internal bar which displays the workspaces
Michael Stapelberg [Wed, 4 Mar 2009 08:31:00 +0000 (09:31 +0100)]
Implement clicking on titlebars in stack windows to focus
Michael Stapelberg [Wed, 4 Mar 2009 08:22:00 +0000 (09:22 +0100)]
Update default configuration file, install it to /etc/i3/config
Michael Stapelberg [Wed, 4 Mar 2009 08:16:18 +0000 (09:16 +0100)]
Load configuration file from ~/.i3/config or /etc/i3/config
Michael Stapelberg [Wed, 4 Mar 2009 08:02:49 +0000 (09:02 +0100)]
Don’t put the client’s X11 ID into the titlebar
Michael Stapelberg [Wed, 4 Mar 2009 07:59:03 +0000 (08:59 +0100)]
Implement moving windows to other workspaces
Michael Stapelberg [Wed, 4 Mar 2009 07:05:49 +0000 (08:05 +0100)]
Save unnecessary redecorations
Michael Stapelberg [Tue, 3 Mar 2009 22:51:02 +0000 (23:51 +0100)]
Implement Xinerama screen changes
Michael Stapelberg [Tue, 3 Mar 2009 03:25:32 +0000 (04:25 +0100)]
Bugfix: Don’t raise the active window when there is a fullscreen client
Michael Stapelberg [Tue, 3 Mar 2009 02:40:57 +0000 (03:40 +0100)]
Bugfixes: Various fixes when cleaning up the table/rendering
Michael Stapelberg [Tue, 3 Mar 2009 01:28:26 +0000 (02:28 +0100)]
Use a different color for focused windows in not focused containers, includes bugfixes for re-decoration
Michael Stapelberg [Tue, 3 Mar 2009 01:05:35 +0000 (02:05 +0100)]
Little cleanups
Michael Stapelberg [Tue, 3 Mar 2009 00:14:11 +0000 (01:14 +0100)]
Bugfix: Override client’s moves/resizes in configure_notify_event
Michael Stapelberg [Mon, 2 Mar 2009 02:35:25 +0000 (03:35 +0100)]
Bugfix: Forgot to change the number of atoms correctly
Michael Stapelberg [Mon, 2 Mar 2009 02:33:29 +0000 (03:33 +0100)]
Bugfix: Don’t crash when we’re already in stacking mode and go into stacking
Michael Stapelberg [Sun, 1 Mar 2009 21:00:54 +0000 (22:00 +0100)]
Documentation update: Make some comments more understandable, more docs
Michael Stapelberg [Sun, 1 Mar 2009 02:55:29 +0000 (03:55 +0100)]
Draw stacking borders correctly
Michael Stapelberg [Sun, 1 Mar 2009 00:56:20 +0000 (01:56 +0100)]
Bugfix: Use HAS_CHANGED on all occurences
Michael Stapelberg [Sat, 28 Feb 2009 21:11:48 +0000 (22:11 +0100)]
Bugfix: Fix various bugs when switching workspaces
Michael Stapelberg [Sat, 28 Feb 2009 14:47:51 +0000 (15:47 +0100)]
Bugfix: Correctly reconfigure clients when it’s necessary
Michael Stapelberg [Sat, 28 Feb 2009 12:44:43 +0000 (13:44 +0100)]
More Debug-output
Michael Stapelberg [Sat, 28 Feb 2009 12:03:44 +0000 (13:03 +0100)]
Bugfix: Raise the stack win when its size changes
Michael Stapelberg [Sat, 28 Feb 2009 01:46:36 +0000 (02:46 +0100)]
Update TODO, fix parsing in commandmode for moving windows to workspaces vs. switching
Michael Stapelberg [Sat, 28 Feb 2009 01:36:40 +0000 (02:36 +0100)]
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, …
Michael Stapelberg [Sat, 28 Feb 2009 01:24:38 +0000 (02:24 +0100)]
Bugfix: Insert the new client after the currently active one, not always at the end
Michael Stapelberg [Sat, 28 Feb 2009 01:17:55 +0000 (02:17 +0100)]
Correctly disable buffering for stdout