]> git.sur5r.net Git - i3/i3/log
i3/i3
15 years agoImplement clicking on the bar to switch workspaces
Michael Stapelberg [Sun, 15 Mar 2009 16:49:25 +0000 (17:49 +0100)]
Implement clicking on the bar to switch workspaces

15 years agoBugfix: Fix rounding problems when positioning proportional windows
Michael Stapelberg [Sun, 15 Mar 2009 16:35:16 +0000 (17:35 +0100)]
Bugfix: Fix rounding problems when positioning proportional windows

15 years agoBugfix: Query WM_NORMAL_HINTS when managing a window to handle proportional hints...
Michael Stapelberg [Sun, 15 Mar 2009 11:24:49 +0000 (12:24 +0100)]
Bugfix: Query WM_NORMAL_HINTS when managing a window to handle proportional hints which were set before mapping

15 years agoImplement kill-command to kill the current window, document it
Michael Stapelberg [Sat, 14 Mar 2009 21:09:36 +0000 (22:09 +0100)]
Implement kill-command to kill the current window, document it

15 years agoImplement exit command, document it in manpage, add it to defaultconfig (Mod1+Shift+e)
Michael Stapelberg [Sat, 14 Mar 2009 20:31:22 +0000 (21:31 +0100)]
Implement exit command, document it in manpage, add it to defaultconfig (Mod1+Shift+e)

15 years agoAdd docbook-xml as build dependency, revert last commit
Michael Stapelberg [Sat, 14 Mar 2009 17:55:47 +0000 (18:55 +0100)]
Add docbook-xml as build dependency, revert last commit

15 years agoAdd -L to not invoke xmllint which fails on some systems because it can’t download...
Michael Stapelberg [Sat, 14 Mar 2009 17:45:55 +0000 (18:45 +0100)]
Add -L to not invoke xmllint which fails on some systems because it can’t download the DTD

15 years agoSend configure notify after putting a client into fullscreen mode, log at a central...
Michael Stapelberg [Sat, 14 Mar 2009 16:37:11 +0000 (17:37 +0100)]
Send configure notify after putting a client into fullscreen mode, log at a central place

15 years agoUpdate „Building i3 on Ubuntu 9.04” howto
Michael Stapelberg [Sat, 14 Mar 2009 16:12:11 +0000 (17:12 +0100)]
Update „Building i3 on Ubuntu 9.04” howto

15 years agoAdd imprint to the website for compliance with german law.
Michael Stapelberg [Sat, 14 Mar 2009 00:51:01 +0000 (01:51 +0100)]
Add imprint to the website for compliance with german law.

15 years agoAdd file PACKAGE-MAINTAINERS with hints for package maintainers
Michael Stapelberg [Sat, 14 Mar 2009 00:30:37 +0000 (01:30 +0100)]
Add file PACKAGE-MAINTAINERS with hints for package maintainers

15 years agoUpdate the overview of default bindings
Michael Stapelberg [Sat, 14 Mar 2009 00:26:09 +0000 (01:26 +0100)]
Update the overview of default bindings

15 years agoFix errors in i3.config, update manpage
Michael Stapelberg [Sat, 14 Mar 2009 00:21:51 +0000 (01:21 +0100)]
Fix errors in i3.config, update manpage

15 years agoUpdate website (menu, links to the documentation, manpage online)
Michael Stapelberg [Sat, 14 Mar 2009 00:15:54 +0000 (01:15 +0100)]
Update website (menu, links to the documentation, manpage online)

15 years agoRemove unused variable (fixes warning)
Michael Stapelberg [Fri, 13 Mar 2009 10:20:21 +0000 (11:20 +0100)]
Remove unused variable (fixes warning)

15 years agoUpdate build-dependencies for debian
Michael Stapelberg [Fri, 13 Mar 2009 04:08:42 +0000 (05:08 +0100)]
Update build-dependencies for debian

15 years agoFix fullscreen for xpdf (at least on debian, with proper _NET_WM_STATE hints)
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

15 years agoFix compilation
Michael Stapelberg [Fri, 13 Mar 2009 03:51:09 +0000 (04:51 +0100)]
Fix compilation

15 years agoFake more configure notifies (makes xpdf work better)
Michael Stapelberg [Thu, 12 Mar 2009 23:39:16 +0000 (00:39 +0100)]
Fake more configure notifies (makes xpdf work better)

15 years agoMore example code
Michael Stapelberg [Thu, 12 Mar 2009 16:56:03 +0000 (17:56 +0100)]
More example code

15 years agoAdd some code to the presentation
Michael Stapelberg [Thu, 12 Mar 2009 16:19:19 +0000 (17:19 +0100)]
Add some code to the presentation

15 years agoBugfix: Completely ignore legacy hints as soon as the client uses _NET_WM_NAME
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

15 years agoAdd slides for presentation at NoName e.V.
Michael Stapelberg [Thu, 12 Mar 2009 03:37:05 +0000 (04:37 +0100)]
Add slides for presentation at NoName e.V.

15 years agoAdd website for i3lock
Michael Stapelberg [Wed, 11 Mar 2009 23:25:28 +0000 (00:25 +0100)]
Add website for i3lock

15 years agoUpdate debian/ to build a meta-package for i3
Michael Stapelberg [Wed, 11 Mar 2009 21:49:41 +0000 (22:49 +0100)]
Update debian/ to build a meta-package for i3

15 years agoMove i3lock in its own repository
Michael Stapelberg [Wed, 11 Mar 2009 21:21:50 +0000 (22:21 +0100)]
Move i3lock in its own repository

15 years agoHandle legacy window titles by rendering them not unicode-compatible.
Michael Stapelberg [Wed, 11 Mar 2009 20:31:54 +0000 (21:31 +0100)]
Handle legacy window titles by rendering them not unicode-compatible.

15 years agoImplement cleaning up the list of ignored events
Michael Stapelberg [Wed, 11 Mar 2009 19:06:30 +0000 (20:06 +0100)]
Implement cleaning up the list of ignored events

15 years agoFix misnomer (window_type_handler → handle_window_type), resolve TODO
Michael Stapelberg [Wed, 11 Mar 2009 18:39:32 +0000 (19:39 +0100)]
Fix misnomer (window_type_handler → handle_window_type), resolve TODO

15 years agoUpdate config to use i3menu on Mod1+p, update Makefile to compile/install i3lock...
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

15 years agoMove i3lock to src/i3lock, import dmenu-3.9 as 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

15 years agoImplement moving containers, implement moving windows to the top if top-most, change...
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

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()