]> git.sur5r.net Git - i3/i3/log
i3/i3
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()

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