]>
git.sur5r.net Git - i3/i3/log
Michael Stapelberg [Sat, 14 Mar 2009 00:15:54 +0000 (01:15 +0100)]
Update website (menu, links to the documentation, manpage online)
Michael Stapelberg [Fri, 13 Mar 2009 10:20:21 +0000 (11:20 +0100)]
Remove unused variable (fixes warning)
Michael Stapelberg [Fri, 13 Mar 2009 04:08:42 +0000 (05:08 +0100)]
Update build-dependencies for debian
Michael Stapelberg [Fri, 13 Mar 2009 03:51:17 +0000 (04:51 +0100)]
Fix fullscreen for xpdf (at least on debian, with proper _NET_WM_STATE hints)
xpdf sets the _NET_WM_STATE before actually mapping the window. i3 only checked
for changes of this hint, but not if it is already set when intially managing
the window.
Note that you need to patch your xpdf to support _NET_WM_STATE, because, while
only being reported at 2004, upstream still did not merge the patch *grrr*
See this debian bug report:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=247602
Or directly download the patch from:
http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=61;filename=31_fullscreen.dpatch;att=1;bug=247602
Michael Stapelberg [Fri, 13 Mar 2009 03:51:09 +0000 (04:51 +0100)]
Fix compilation
Michael Stapelberg [Thu, 12 Mar 2009 23:39:16 +0000 (00:39 +0100)]
Fake more configure notifies (makes xpdf work better)
Michael Stapelberg [Thu, 12 Mar 2009 16:56:03 +0000 (17:56 +0100)]
More example code
Michael Stapelberg [Thu, 12 Mar 2009 16:19:19 +0000 (17:19 +0100)]
Add some code to the presentation
Michael Stapelberg [Thu, 12 Mar 2009 15:44:44 +0000 (16:44 +0100)]
Bugfix: Completely ignore legacy hints as soon as the client uses _NET_WM_NAME
Michael Stapelberg [Thu, 12 Mar 2009 03:37:05 +0000 (04:37 +0100)]
Add slides for presentation at NoName e.V.
Michael Stapelberg [Wed, 11 Mar 2009 23:25:28 +0000 (00:25 +0100)]
Add website for i3lock
Michael Stapelberg [Wed, 11 Mar 2009 21:49:41 +0000 (22:49 +0100)]
Update debian/ to build a meta-package for i3
Michael Stapelberg [Wed, 11 Mar 2009 21:21:50 +0000 (22:21 +0100)]
Move i3lock in its own repository
Michael Stapelberg [Wed, 11 Mar 2009 20:31:54 +0000 (21:31 +0100)]
Handle legacy window titles by rendering them not unicode-compatible.
Michael Stapelberg [Wed, 11 Mar 2009 19:06:30 +0000 (20:06 +0100)]
Implement cleaning up the list of ignored events
Michael Stapelberg [Wed, 11 Mar 2009 18:39:32 +0000 (19:39 +0100)]
Fix misnomer (window_type_handler → handle_window_type), resolve TODO
Michael Stapelberg [Wed, 11 Mar 2009 18:09:17 +0000 (19:09 +0100)]
Update config to use i3menu on Mod1+p, update Makefile to compile/install i3lock and i3menu
Michael Stapelberg [Wed, 11 Mar 2009 18:03:24 +0000 (19:03 +0100)]
Move i3lock to src/i3lock, import dmenu-3.9 as i3menu
Michael Stapelberg [Wed, 11 Mar 2009 17:56:31 +0000 (18:56 +0100)]
Implement moving containers, implement moving windows to the top if top-most, change config to use Mod3
Michael Stapelberg [Wed, 11 Mar 2009 00:55:10 +0000 (01:55 +0100)]
Implement moving clients to the left if they are leftmost
Michael Stapelberg [Tue, 10 Mar 2009 23:56:39 +0000 (00:56 +0100)]
Bugfix: Redecorate the last focused window of the container we are switching into
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