]> git.sur5r.net Git - i3/i3/log
i3/i3
15 years agoImplement moving clients to the left if they are leftmost
Michael Stapelberg [Wed, 11 Mar 2009 00:55:10 +0000 (01:55 +0100)]
Implement moving clients to the left if they are leftmost

15 years agoBugfix: Redecorate the last focused window of the container we are switching into
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

15 years agoBugfix: Don’t handle mouse click events inside the titlebar
Michael Stapelberg [Tue, 10 Mar 2009 23:45:49 +0000 (00:45 +0100)]
Bugfix: Don’t handle mouse click events inside the titlebar

15 years agoBugfix: Change the event mask to ignore enter notifies when rendering the layout...
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

15 years agoBugfix: Eliminate race condition, fix dock windows
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.

15 years agoIgnore notify events which are not in mode XCB_NOTIFY_MODE_NORMAL
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

15 years agoFix warning (typecast)
Michael Stapelberg [Tue, 10 Mar 2009 08:51:00 +0000 (09:51 +0100)]
Fix warning (typecast)

15 years agoRemove that stupid XBell() which gets triggered falsely when resuming suspend to RAM
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

15 years agoMajor change: Redirect events instead of handle the notifies.
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.

15 years agoMake i3lock fork(), use white color and disable DPMS
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.

15 years agoImport slock-0.9 as i3lock
Michael Stapelberg [Mon, 9 Mar 2009 17:15:38 +0000 (18:15 +0100)]
Import slock-0.9 as i3lock

15 years agoFix warning
Michael Stapelberg [Mon, 9 Mar 2009 16:50:00 +0000 (17:50 +0100)]
Fix warning

15 years agoBugfix: Handle all events when dragging to resize, correctly set OVERRIDE_REDIRECT
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

15 years agoBugfix: Draw bar at the correct position, handle expose events for bars
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

15 years agoBugfix: Correctly free containers, the bug was not freeing when not moving
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

15 years agoImplement wrapping left/right/up/down across screens
Michael Stapelberg [Mon, 9 Mar 2009 06:39:19 +0000 (07:39 +0100)]
Implement wrapping left/right/up/down across screens

15 years agoUpdate comment
Michael Stapelberg [Mon, 9 Mar 2009 06:18:04 +0000 (07:18 +0100)]
Update comment

15 years agoBugfix: Use memcmp() instead of strcmp(), use new_len * 2 to check all bytes
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

15 years agoBugfix: Correctly free containers when shrinking the table
Michael Stapelberg [Mon, 9 Mar 2009 05:49:11 +0000 (06:49 +0100)]
Bugfix: Correctly free containers when shrinking the table

15 years agoBugfix: Don’t strcmp() if client->name == NULL
Michael Stapelberg [Mon, 9 Mar 2009 05:41:04 +0000 (06:41 +0100)]
Bugfix: Don’t strcmp() if client->name == NULL

15 years agoConvert window title to UCS-2 when updating it, don’t update it if it didn’t change
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

15 years agos/atomar/atomic
Michael Stapelberg [Sun, 8 Mar 2009 20:01:06 +0000 (21:01 +0100)]
s/atomar/atomic

15 years agoBugfix: Use a new variable called new_position and initialize it correctly when resizing
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

15 years agoUse -idirafter which is the same as -I but first looks at the standard system headers
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.

15 years agoFix race condition when updating client->name
Michael Stapelberg [Sun, 8 Mar 2009 19:04:01 +0000 (20:04 +0100)]
Fix race condition when updating client->name

15 years agoBugfix: Use _NET_WM_NAME (UTF-8) rather than WM_NAME (COMPOUND_TEXT). Only render...
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

15 years agoFix the warning on SUS-compatible systems (char**) and on NetBSD (const char**)
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**)

15 years agoFix warnings, update DEPENDS, update Makefile for NetBSD
Michael Stapelberg [Sun, 8 Mar 2009 16:30:17 +0000 (17:30 +0100)]
Fix warnings, update DEPENDS, update Makefile for NetBSD

15 years agoUpdate default config/manpage
Michael Stapelberg [Sat, 7 Mar 2009 23:51:38 +0000 (00:51 +0100)]
Update default config/manpage

15 years agoImplement UTF-8-clean window titles
Michael Stapelberg [Sat, 7 Mar 2009 23:49:11 +0000 (00:49 +0100)]
Implement UTF-8-clean window titles

15 years agoMore work on hacking-howto
Michael Stapelberg [Sat, 7 Mar 2009 16:02:17 +0000 (17:02 +0100)]
More work on hacking-howto

15 years agoSome more work on docs/hacking-howto
Michael Stapelberg [Sat, 7 Mar 2009 05:24:31 +0000 (06:24 +0100)]
Some more work on docs/hacking-howto

15 years agoDon’t start a terminal on startup
Michael Stapelberg [Sat, 7 Mar 2009 04:50:19 +0000 (05:50 +0100)]
Don’t start a terminal on startup

15 years agoBugfix: Correctly place new windows while other windows are in fullscreen mode
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

15 years agoFix some bugs found by using raster’s wm_torture
Michael Stapelberg [Sat, 7 Mar 2009 01:44:46 +0000 (02:44 +0100)]
Fix some bugs found by using raster’s wm_torture

15 years agoAdd how to hack guide, first version
Michael Stapelberg [Fri, 6 Mar 2009 23:50:18 +0000 (00:50 +0100)]
Add how to hack guide, first version

15 years agoBugfix: Correctly check for empty containers and unmap the stack_win
Michael Stapelberg [Fri, 6 Mar 2009 18:08:59 +0000 (19:08 +0100)]
Bugfix: Correctly check for empty containers and unmap the stack_win

15 years agoDon’t set focus outside of the current container
Michael Stapelberg [Fri, 6 Mar 2009 16:13:20 +0000 (17:13 +0100)]
Don’t set focus outside of the current container

15 years agoBugfix: Should be workspace 10 not 0 in moving aswell
Michael Stapelberg [Fri, 6 Mar 2009 16:07:53 +0000 (17:07 +0100)]
Bugfix: Should be workspace 10 not 0 in moving aswell

15 years agoBugfix: Should be workspace 10 not 0
Michael Stapelberg [Fri, 6 Mar 2009 16:06:33 +0000 (17:06 +0100)]
Bugfix: Should be workspace 10 not 0

15 years agoBugfix: decorate_window() needs a flush of course
Michael Stapelberg [Fri, 6 Mar 2009 16:02:43 +0000 (17:02 +0100)]
Bugfix: decorate_window() needs a flush of course

15 years agoDon’t override /etc/i3/config if it already exists
Michael Stapelberg [Fri, 6 Mar 2009 15:56:04 +0000 (16:56 +0100)]
Don’t override /etc/i3/config if it already exists

15 years agoDon’t switch focus when in fullscreen mode
Michael Stapelberg [Fri, 6 Mar 2009 15:53:47 +0000 (16:53 +0100)]
Don’t switch focus when in fullscreen mode

15 years agoUse __FUNCTION__ in LOG()
Michael Stapelberg [Fri, 6 Mar 2009 15:48:30 +0000 (16:48 +0100)]
Use __FUNCTION__ in LOG()

15 years agoBugfix: One warning was left
Michael Stapelberg [Fri, 6 Mar 2009 15:36:05 +0000 (16:36 +0100)]
Bugfix: One warning was left

15 years agoBugfix: return value was missing
Michael Stapelberg [Fri, 6 Mar 2009 15:21:39 +0000 (16:21 +0100)]
Bugfix: return value was missing

15 years agoBugfix: Missing flush after render_container()
Michael Stapelberg [Fri, 6 Mar 2009 05:56:13 +0000 (06:56 +0100)]
Bugfix: Missing flush after render_container()

15 years agoImplement slog() and the LOG() macro, convert printf() to LOG()
Michael Stapelberg [Fri, 6 Mar 2009 05:46:43 +0000 (06:46 +0100)]
Implement slog() and the LOG() macro, convert printf() to LOG()

15 years agoImplement handling the size hints so that aspect ratio is used correctly, fix renderi...
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

15 years agoBugfix: Fix rendering (needed a flush)
Michael Stapelberg [Thu, 5 Mar 2009 19:07:57 +0000 (20:07 +0100)]
Bugfix: Fix rendering (needed a flush)

15 years agoEnable switching to containers when the current container has only one client
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

15 years agoBugfix: Correct boundary checking for increasing col/rowspan
Michael Stapelberg [Thu, 5 Mar 2009 16:23:13 +0000 (17:23 +0100)]
Bugfix: Correct boundary checking for increasing col/rowspan

15 years agoBugfix: Rendering of colspan/rowspan was wrong
Michael Stapelberg [Thu, 5 Mar 2009 16:17:37 +0000 (17:17 +0100)]
Bugfix: Rendering of colspan/rowspan was wrong

15 years agoBugfix: Correctly set currently_focused when clients are destroyed
Michael Stapelberg [Thu, 5 Mar 2009 16:08:57 +0000 (17:08 +0100)]
Bugfix: Correctly set currently_focused when clients are destroyed

15 years agoMove HAS_CHANGED into a function
Michael Stapelberg [Thu, 5 Mar 2009 15:23:26 +0000 (16:23 +0100)]
Move HAS_CHANGED into a function

15 years agoUse unchecked versions for more speed
Michael Stapelberg [Thu, 5 Mar 2009 02:33:15 +0000 (03:33 +0100)]
Use unchecked versions for more speed

15 years agoMake colorpixels independent from clients
Michael Stapelberg [Thu, 5 Mar 2009 01:58:12 +0000 (02:58 +0100)]
Make colorpixels independent from clients

15 years agoDon’t re-initialize Xinerama on every configurenotify. This needs to be fixed properly.
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.

15 years agoBugfix: Some memory leaks / invalid accesses
Michael Stapelberg [Thu, 5 Mar 2009 00:48:30 +0000 (01:48 +0100)]
Bugfix: Some memory leaks / invalid accesses

15 years agoImplement a focus stack, correctly free table columns/rows
Michael Stapelberg [Thu, 5 Mar 2009 00:20:13 +0000 (01:20 +0100)]
Implement a focus stack, correctly free table columns/rows

15 years agoImplement wrapping, selecting containers is now Mod1+Ctrl+h/j/k/l
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

15 years agoImplement auto-destroying of empty workspaces
Michael Stapelberg [Wed, 4 Mar 2009 21:52:36 +0000 (22:52 +0100)]
Implement auto-destroying of empty workspaces

15 years agoBugfix: Reconfigure all clients in stacking, correctly ignore events, event when...
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

15 years agoBugfix: Border presses weren’t correctly handled
Michael Stapelberg [Wed, 4 Mar 2009 20:56:27 +0000 (21:56 +0100)]
Bugfix: Border presses weren’t correctly handled

15 years agoBugfix: Reconfigure x/y of stack_windows when necessary
Michael Stapelberg [Wed, 4 Mar 2009 20:49:29 +0000 (21:49 +0100)]
Bugfix: Reconfigure x/y of stack_windows when necessary

15 years agoBugfix: Correctly destroy and remove stack_windows when the container is cleaned up
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

15 years agoBugfix: Correctly initialize new containers
Michael Stapelberg [Wed, 4 Mar 2009 20:00:32 +0000 (21:00 +0100)]
Bugfix: Correctly initialize new containers

15 years agoBugfix: Fix several bugs in table_cleanup()
Michael Stapelberg [Wed, 4 Mar 2009 19:41:54 +0000 (20:41 +0100)]
Bugfix: Fix several bugs in table_cleanup()

15 years agoWebsite: First version of the howto for ubuntu 9.04
Michael Stapelberg [Wed, 4 Mar 2009 18:08:08 +0000 (19:08 +0100)]
Website: First version of the howto for ubuntu 9.04

15 years agoBugfix: Rendering error when resizing a column near a stacked column
Michael Stapelberg [Wed, 4 Mar 2009 17:50:36 +0000 (18:50 +0100)]
Bugfix: Rendering error when resizing a column near a stacked column

15 years agoFix datatype for cursor
Michael Stapelberg [Wed, 4 Mar 2009 17:09:04 +0000 (18:09 +0100)]
Fix datatype for cursor

15 years agoImplement option parsing (-c <configfile>)
Michael Stapelberg [Wed, 4 Mar 2009 15:06:39 +0000 (16:06 +0100)]
Implement option parsing (-c <configfile>)

15 years agoUse "conn" for xcb_connection and "event" for xcb_event_* variables everywhere
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

15 years agoUse default cursor (XC_left_ptr) for all windows
Michael Stapelberg [Wed, 4 Mar 2009 14:28:50 +0000 (15:28 +0100)]
Use default cursor (XC_left_ptr) for all windows

15 years agoMerge font.c into xcb.c
Michael Stapelberg [Wed, 4 Mar 2009 13:52:04 +0000 (14:52 +0100)]
Merge font.c into xcb.c

15 years agoImplement switching to different screens when focusing left/right/up/down at the...
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

15 years agoImplement an internal bar which displays the workspaces
Michael Stapelberg [Wed, 4 Mar 2009 11:09:43 +0000 (12:09 +0100)]
Implement an internal bar which displays the workspaces

15 years agoImplement clicking on titlebars in stack windows to focus
Michael Stapelberg [Wed, 4 Mar 2009 08:31:00 +0000 (09:31 +0100)]
Implement clicking on titlebars in stack windows to focus

15 years agoUpdate default configuration file, install it to /etc/i3/config
Michael Stapelberg [Wed, 4 Mar 2009 08:22:00 +0000 (09:22 +0100)]
Update default configuration file, install it to /etc/i3/config

15 years agoLoad configuration file from ~/.i3/config or /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

15 years agoDon’t put the client’s X11 ID into the titlebar
Michael Stapelberg [Wed, 4 Mar 2009 08:02:49 +0000 (09:02 +0100)]
Don’t put the client’s X11 ID into the titlebar

15 years agoImplement moving windows to other workspaces
Michael Stapelberg [Wed, 4 Mar 2009 07:59:03 +0000 (08:59 +0100)]
Implement moving windows to other workspaces

15 years agoSave unnecessary redecorations
Michael Stapelberg [Wed, 4 Mar 2009 07:05:49 +0000 (08:05 +0100)]
Save unnecessary redecorations

15 years agoImplement Xinerama screen changes
Michael Stapelberg [Tue, 3 Mar 2009 22:51:02 +0000 (23:51 +0100)]
Implement Xinerama screen changes

15 years agoBugfix: Don’t raise the active window when there is a fullscreen client
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

15 years agoBugfixes: Various fixes when cleaning up the table/rendering
Michael Stapelberg [Tue, 3 Mar 2009 02:40:57 +0000 (03:40 +0100)]
Bugfixes: Various fixes when cleaning up the table/rendering

15 years agoUse a different color for focused windows in not focused containers, includes bugfixe...
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

15 years agoLittle cleanups
Michael Stapelberg [Tue, 3 Mar 2009 01:05:35 +0000 (02:05 +0100)]
Little cleanups

15 years agoBugfix: Override client’s moves/resizes in configure_notify_event
Michael Stapelberg [Tue, 3 Mar 2009 00:14:11 +0000 (01:14 +0100)]
Bugfix: Override client’s moves/resizes in configure_notify_event

15 years agoBugfix: Forgot to change the number of atoms correctly
Michael Stapelberg [Mon, 2 Mar 2009 02:35:25 +0000 (03:35 +0100)]
Bugfix: Forgot to change the number of atoms correctly

15 years agoBugfix: Don’t crash when we’re already in stacking mode and go into stacking
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

15 years agoDocumentation update: Make some comments more understandable, more docs
Michael Stapelberg [Sun, 1 Mar 2009 21:00:54 +0000 (22:00 +0100)]
Documentation update: Make some comments more understandable, more docs

15 years agoDraw stacking borders correctly
Michael Stapelberg [Sun, 1 Mar 2009 02:55:29 +0000 (03:55 +0100)]
Draw stacking borders correctly

15 years agoBugfix: Use HAS_CHANGED on all occurences
Michael Stapelberg [Sun, 1 Mar 2009 00:56:20 +0000 (01:56 +0100)]
Bugfix: Use HAS_CHANGED on all occurences

15 years agoBugfix: Fix various bugs when switching workspaces
Michael Stapelberg [Sat, 28 Feb 2009 21:11:48 +0000 (22:11 +0100)]
Bugfix: Fix various bugs when switching workspaces

15 years agoBugfix: Correctly reconfigure clients when it’s necessary
Michael Stapelberg [Sat, 28 Feb 2009 14:47:51 +0000 (15:47 +0100)]
Bugfix: Correctly reconfigure clients when it’s necessary

15 years agoMore Debug-output
Michael Stapelberg [Sat, 28 Feb 2009 12:44:43 +0000 (13:44 +0100)]
More Debug-output

15 years agoBugfix: Raise the stack win when its size changes
Michael Stapelberg [Sat, 28 Feb 2009 12:03:44 +0000 (13:03 +0100)]
Bugfix: Raise the stack win when its size changes

15 years agoUpdate TODO, fix parsing in commandmode for moving windows to workspaces vs. switching
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

15 years agoRevert 43d471b9ab736f5ff5b458a672d54319e3366464 and apply correct bugfix:
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, …