]>
git.sur5r.net Git - i3/i3/log
Michael Stapelberg [Fri, 1 Apr 2011 19:54:45 +0000 (21:54 +0200)]
x: skip creating pixmaps when the rect is actually invisible
This fixes a few X11 errors.
Michael Stapelberg [Fri, 1 Apr 2011 19:39:58 +0000 (21:39 +0200)]
bugfix: fix race condition where window titles were not correctly updated
Fixes: #351
Michael Stapelberg [Fri, 1 Apr 2011 18:41:08 +0000 (20:41 +0200)]
x: skip x_draw_decoration when con is not mapped
This commit makes workspace switching completely free of cache misses, so
decorations are not re-rendered when switching workspaces.
Michael Stapelberg [Fri, 1 Apr 2011 18:40:32 +0000 (20:40 +0200)]
x: recurse x_push_node in focus order. reduces flickering when switching workspaces
Michael Stapelberg [Wed, 30 Mar 2011 21:00:48 +0000 (23:00 +0200)]
Skip FocusIn events with mode == NOTIFY_MODE_GRAB or NOTIFY_MODE_UNGRAB
According to the Xlib Programming Manual section 10.7.2 [1], these events are
generated when keyboard grabs activate/deactivate, while we are only interested
in focus changes which are done by other programs independend from the
keyboard.
[1] http://tronche.com/gui/x/xlib/events/input-focus/grab.html
Michael Stapelberg [Mon, 21 Mar 2011 22:54:13 +0000 (23:54 +0100)]
little coding style fixes, fix compilation warning
Fernando Tarlá Cardoso Lemos [Mon, 21 Mar 2011 12:05:58 +0000 (09:05 -0300)]
If the socket path isn't specified, write it to /tmp.
Michael Stapelberg [Mon, 21 Mar 2011 22:49:16 +0000 (23:49 +0100)]
FREE() already nulls the pointer
Fernando Tarlá Cardoso Lemos [Sun, 20 Mar 2011 14:34:34 +0000 (11:34 -0300)]
Set the I3_SOCKET_PATH atom to the expanded path.
Michael Stapelberg [Sun, 20 Mar 2011 18:32:00 +0000 (19:32 +0100)]
Focus cons when moving to a visible workspace on a different output (Thanks mseed)
Fixes: #355
Michael Stapelberg [Sun, 20 Mar 2011 17:27:14 +0000 (18:27 +0100)]
Bugfix: Fix switching workspaces on multi-monitor setups (Thanks mseed)
Fixes #356
Michael Stapelberg [Sun, 20 Mar 2011 17:17:18 +0000 (18:17 +0100)]
Bugfix: Also invalidate caches of the following cons in a split con on cache miss (Thanks fernandotcl)
Michael Stapelberg [Sun, 20 Mar 2011 17:07:07 +0000 (18:07 +0100)]
Bugfix: Also update pixmaps when the position of the deco_rect has changed (Thanks fernandotcl)
Michael Stapelberg [Sun, 20 Mar 2011 15:53:12 +0000 (16:53 +0100)]
refactor handlers.{c,h}: declare the handlers static, remove unnecessary parameters
Michael Stapelberg [Sun, 20 Mar 2011 15:35:08 +0000 (16:35 +0100)]
remove unused struct Colorpixel
Michael Stapelberg [Sun, 20 Mar 2011 15:26:36 +0000 (16:26 +0100)]
Handle FocusIn events generated by clients and update decoration accordingly (Thanks mseed)
Michael Stapelberg [Sun, 20 Mar 2011 13:29:48 +0000 (14:29 +0100)]
Remove debugging syncs
Michael Stapelberg [Sun, 20 Mar 2011 13:07:16 +0000 (14:07 +0100)]
Re-implement rendering to pixmaps (double-buffering) and caching decorations
Michael Stapelberg [Sun, 20 Mar 2011 00:07:21 +0000 (01:07 +0100)]
Bugfix: Actually re-attach dock clients when outputs get disabled (Thanks phnom)
Fixes: #348
Michael Stapelberg [Sat, 19 Mar 2011 22:19:42 +0000 (23:19 +0100)]
Bugfix: Don’t use the workspace where focus is for deleting workspaces when switching (Thanks mseed)
Fixes: #353
Michael Stapelberg [Sat, 19 Mar 2011 21:54:53 +0000 (22:54 +0100)]
Bugfix: also invalidate focused_id when the to_focus window is not mapped
This fixes a bug where focus might not be set correctly when changing workspaces
Michael Stapelberg [Sat, 19 Mar 2011 21:26:15 +0000 (22:26 +0100)]
Handle saved_configpath in get_config_path, fix memleak in current_configpath handling, update atoms after reloading (Thanks fernandotcl)
Michael Stapelberg [Sat, 19 Mar 2011 20:50:13 +0000 (21:50 +0100)]
Bugfix: correctly store the config path for using it for I3_CONFIG_PATH later
Michael Stapelberg [Sat, 19 Mar 2011 20:37:27 +0000 (21:37 +0100)]
Bugfix: fix null-pointer dereference when IPC is disabled (Thanks Merovius)
Michael Stapelberg [Sat, 19 Mar 2011 20:23:55 +0000 (21:23 +0100)]
i3-msg, i3-input: get the I3_SOCKET_PATH atoms if socket path was not specified
Michael Stapelberg [Sat, 19 Mar 2011 20:20:38 +0000 (21:20 +0100)]
Set the I3_SOCKET_PATH and I3_CONFIG_PATH atoms on the X11 root window
Michael Stapelberg [Sat, 19 Mar 2011 19:43:06 +0000 (20:43 +0100)]
Bugfix: When there’s nothing to focus, focus the root window (Thanks fernandotcl, ThePub)
Michael Stapelberg [Sat, 19 Mar 2011 01:21:46 +0000 (02:21 +0100)]
tests: add testcase for WM_TAKE_FOCUS
requires the very latest checkout of X11::XCB
Michael Stapelberg [Fri, 18 Mar 2011 19:47:59 +0000 (20:47 +0100)]
rendering: correctly draw background rect (Thanks phnom)
Fixes #347
Michael Stapelberg [Fri, 18 Mar 2011 17:11:02 +0000 (18:11 +0100)]
remove hard-coded paths since we now use pkg-config for all the dependencies
Michael Stapelberg [Fri, 18 Mar 2011 17:07:04 +0000 (18:07 +0100)]
remove obsolete xcb-property line (Thanks SardemFF7)
Michael Stapelberg [Fri, 18 Mar 2011 16:32:37 +0000 (17:32 +0100)]
i3-input: remove dependency on xcb-event
Michael Stapelberg [Fri, 18 Mar 2011 16:08:48 +0000 (17:08 +0100)]
remove obsolete comment
Michael Stapelberg [Fri, 18 Mar 2011 16:07:56 +0000 (17:07 +0100)]
Only send WM_TAKE_FOCUS when the client supports it in the protocols atom
Fixes opening xterm, for example
Michael Stapelberg [Fri, 18 Mar 2011 13:36:36 +0000 (14:36 +0100)]
Make i3 compatible with the very latest xcb
This involves:
• Compiling with xcb-util instead of xcb-{atom,aux} (they merged the libraries)
• Not using xcb-{event,property} anymore (code removed upstream)
• Not using the predefined WINDOW, CARDINEL, … atoms (removed upstream)
• Using the new xcb_icccm_* data types/functions instead of just xcb_*
(for example xcb_icccm_get_wm_hints instead of xcb_get_wm_hints)
Also I refactored the atoms to use x-macros.
Michael Stapelberg [Thu, 17 Mar 2011 21:27:59 +0000 (22:27 +0100)]
Send WM_TAKE_FOCUS to clients when setting focus (fixes java swing problems)
Michael Stapelberg [Thu, 17 Mar 2011 20:52:12 +0000 (21:52 +0100)]
remove orientation and fall back to default behaviour
Michael Stapelberg [Thu, 17 Mar 2011 16:55:53 +0000 (17:55 +0100)]
change the config parser to use default_orientation instead of new_container_orientation
It’s a shorter and probably more meaningful description as it is not
immediately clear what a container exactly is when first installing i3.
Michael Stapelberg [Thu, 17 Mar 2011 16:53:56 +0000 (17:53 +0100)]
cleanup code of workspace rotation on output changes
Simon Kampe [Wed, 16 Mar 2011 10:56:51 +0000 (11:56 +0100)]
Added config key for default orientation of containers (new_container_orientation) and added support in randr.c for automatically changing the orientation when user does a xrandr rotate.
Michael Stapelberg [Mon, 14 Mar 2011 22:50:29 +0000 (23:50 +0100)]
When making floating cons tiling, re-insert next to the next focused *tiling* con (Thanks mseed)
Fixes: #337 and #350
Michael Stapelberg [Mon, 14 Mar 2011 22:17:52 +0000 (23:17 +0100)]
fix small warnings when compiling with DEBUG=0
Michael Stapelberg [Mon, 14 Mar 2011 22:14:40 +0000 (23:14 +0100)]
cmdparse: correctly parse con_id/id (fixes warning)
Michael Stapelberg [Mon, 14 Mar 2011 22:08:33 +0000 (23:08 +0100)]
cmdparse: expect 4 shift/reduce conflicts
Michael Stapelberg [Mon, 14 Mar 2011 22:03:25 +0000 (23:03 +0100)]
cmdparse: don’t allow empty operations
Michael Stapelberg [Mon, 14 Mar 2011 22:03:13 +0000 (23:03 +0100)]
cmdparse: don’t allow empty commands
Michael Stapelberg [Mon, 14 Mar 2011 21:29:07 +0000 (22:29 +0100)]
remove usless 'operation' token, already handled by 'operation optwhitespace'
Michael Stapelberg [Mon, 14 Mar 2011 21:28:55 +0000 (22:28 +0100)]
remove unused current_bindings (left-over from cfgparse.y)
Michael Stapelberg [Mon, 14 Mar 2011 16:20:04 +0000 (17:20 +0100)]
re-implement support for MappingNotifys
Michael Stapelberg [Mon, 14 Mar 2011 16:15:18 +0000 (17:15 +0100)]
ewmh: bump copyright
Michael Stapelberg [Mon, 14 Mar 2011 16:15:04 +0000 (17:15 +0100)]
ewmh: add comment to describe why we count
Fernando Tarlá Cardoso Lemos [Sun, 13 Mar 2011 23:44:16 +0000 (20:44 -0300)]
Make it easier to use other atoms.
Fernando Tarlá Cardoso Lemos [Mon, 14 Mar 2011 00:09:32 +0000 (21:09 -0300)]
Bring back some more EWMH support.
Fernando Tarlá Cardoso Lemos [Sun, 13 Mar 2011 23:56:04 +0000 (20:56 -0300)]
Add the "created" parameter to workspace_get.
If created is not NULL, *created is set to whether or not the
workspace has been just created.
Fernando Tarlá Cardoso Lemos [Sun, 13 Mar 2011 23:32:54 +0000 (20:32 -0300)]
Reload the same config file specified in the command line.
Fixes: #346
Michael Stapelberg [Mon, 14 Mar 2011 15:34:35 +0000 (16:34 +0100)]
Bugfix: restore focus to the correct window when a non-focused window gets destroyed (+testcase)
Michael Stapelberg [Thu, 10 Mar 2011 22:20:17 +0000 (23:20 +0100)]
refactor font caching to just save the ID instead of mainting a cache with pattern→id-mapping
Simon Kampe [Wed, 9 Mar 2011 20:43:50 +0000 (21:43 +0100)]
Fallback fonts for when requesting a erronous font with load_font (e.g. user have specified a font which does not exist in the config file).
Michael Stapelberg [Wed, 9 Mar 2011 19:25:17 +0000 (20:25 +0100)]
tests: clean up/beautify all tests (code style / test style)
Michael Stapelberg [Wed, 9 Mar 2011 17:47:00 +0000 (18:47 +0100)]
tests: fix t/19-match.t, needs a delay for i3 to pick up the UnmapNotify event
Michael Stapelberg [Wed, 9 Mar 2011 17:36:45 +0000 (18:36 +0100)]
Bugfix: Make level up a noop during fullscreen mode (+testcase) (Thanks dothebart)
Fixes #341
Michael Stapelberg [Wed, 9 Mar 2011 17:08:01 +0000 (18:08 +0100)]
Bugfix: Send WM_DELETE / kill window the right way (Thanks dothebart)
Fixes #336
Michael Stapelberg [Mon, 7 Mar 2011 19:24:23 +0000 (20:24 +0100)]
properly clean all files in 'make clean'
Michael Stapelberg [Sun, 6 Mar 2011 23:06:27 +0000 (00:06 +0100)]
When leaving fullscreen, set focus to con which was opened during fullscreen (+testcase) (Thanks dothebart)
Michael Stapelberg [Sun, 6 Mar 2011 22:26:02 +0000 (23:26 +0100)]
Bugfix: Don’t focus new cons when there is a fullscreen con (Thanks dothebart)
Also, remove the focus_it parameter from tree_open_con, it makes more sense to
call con_focus outside of the function.
Michael Stapelberg [Sun, 6 Mar 2011 21:02:02 +0000 (22:02 +0100)]
Bugfix: Fix crash with transient dock clients caused by
7154fecbb
Michael Stapelberg [Sun, 6 Mar 2011 20:56:15 +0000 (21:56 +0100)]
remove left-over xcb_aux_sync (debugging code)
Michael Stapelberg [Sun, 6 Mar 2011 20:49:53 +0000 (21:49 +0100)]
x: remove XCB_EVENT_MASK_ENTER_WINDOW from child event mask, already handled in parent
This prevents unwanted EnterNotifys when switching cons in a stacked con with
an h-split as second child in the stacked con.
Michael Stapelberg [Sun, 6 Mar 2011 20:49:17 +0000 (21:49 +0100)]
rendering: bugfix: stack child windows of stacked/tabbed cons according to their focus
fixes focusing the wrong window after closing a con
Michael Stapelberg [Sun, 6 Mar 2011 20:48:49 +0000 (21:48 +0100)]
x: disable all events while re-stacking windows, prevents unwanted EnterNotifys
Michael Stapelberg [Sun, 6 Mar 2011 19:45:03 +0000 (20:45 +0100)]
Bugfix: use tree_render() instead of x_push_changes() to re-render and update the stack
Michael Stapelberg [Sun, 6 Mar 2011 14:45:42 +0000 (15:45 +0100)]
Implement the popup_during_fullscreen option, set default to leave_fullscreen
Fixes #333
Michael Stapelberg [Sun, 6 Mar 2011 13:15:46 +0000 (14:15 +0100)]
Obey minimum size when resizing floating windows
Fixes #285
Michael Stapelberg [Sun, 6 Mar 2011 12:35:07 +0000 (13:35 +0100)]
Bugfix: also stop searching for resize cons when reaching a floatingcon (Thanks julien)
Michael Stapelberg [Sun, 6 Mar 2011 01:38:21 +0000 (02:38 +0100)]
Use the combined geometry of children when setting a split container to floating (+testcase) (Thanks mseed)
Fixes #332
Michael Stapelberg [Sun, 6 Mar 2011 01:06:05 +0000 (02:06 +0100)]
Bugfix: don’t focus dock clients with new click handling code (Thanks mseed)
Michael Stapelberg [Sat, 5 Mar 2011 19:35:16 +0000 (20:35 +0100)]
document the different cases for click handling
Michael Stapelberg [Sat, 5 Mar 2011 19:23:29 +0000 (20:23 +0100)]
refactor the click handling completely
Also re-implements floating modifier on tiling cons.
Fixes: #288 and a lot of headache :)
Michael Stapelberg [Fri, 4 Mar 2011 14:21:18 +0000 (15:21 +0100)]
Bugfix: Focus workspace after closing one of multiple dock clients (+testcase) (Thanks mseed)
Michael Stapelberg [Thu, 3 Mar 2011 15:36:18 +0000 (16:36 +0100)]
Re-implement focus follows mouse for outputs
That is, moving your mouse pointer to a different workspace which does not have
any windows on it yet will correctly update the focus.
Michael Stapelberg [Thu, 3 Mar 2011 15:22:22 +0000 (16:22 +0100)]
Use the original geometry for floating windows
Michael Stapelberg [Thu, 3 Mar 2011 13:55:02 +0000 (14:55 +0100)]
Don’t create floating containers from whole workspaces when they are empty (Thanks mseed)
This fixes #327
Michael Stapelberg [Thu, 3 Mar 2011 13:30:13 +0000 (14:30 +0100)]
Bugfix: 'level up' needs to stop at the workspace con + testcase (Thanks mseed)
Michael Stapelberg [Thu, 3 Mar 2011 13:14:35 +0000 (14:14 +0100)]
fix invalid memory access in xcb_reply_contains_atom (Thanks ys)
Michael Stapelberg [Thu, 3 Mar 2011 13:03:06 +0000 (14:03 +0100)]
Bugfix: don’t focus the dockarea when closing a dock client
Michael Stapelberg [Thu, 3 Mar 2011 12:59:42 +0000 (13:59 +0100)]
Bugfix: don’t focus dock clients (Thanks mseed, mist)
Fixes #321 and #323
Michael Stapelberg [Mon, 28 Feb 2011 22:59:56 +0000 (23:59 +0100)]
Bugfix: Correctly fix the percent values for resizing when making a floating con tiling (Thanks mseed) (+testcase)
Michael Stapelberg [Mon, 28 Feb 2011 19:44:23 +0000 (20:44 +0100)]
Fix regression: Don’t add floating nodes twice when restoring layout (+testcase)
Michael Stapelberg [Mon, 28 Feb 2011 16:23:50 +0000 (17:23 +0100)]
Bugfix: Re-attach floating cons to the right container (Thanks mseed)
This fixes #315.
Fernando Tarlá Cardoso Lemos [Sun, 27 Feb 2011 23:23:54 +0000 (20:23 -0300)]
Don't leak this descriptor (thanks dothebart).
Note that fclose closes the file descriptor frees the stream.
Fernando Tarlá Cardoso Lemos [Sat, 26 Feb 2011 00:21:48 +0000 (21:21 -0300)]
Some assertions to make the static analyzer happy.
Assertions give hints to the static analyzer about code paths
where we make assumptions. Used the Clang Static Analyzer.
Fernando Tarlá Cardoso Lemos [Fri, 25 Feb 2011 23:31:26 +0000 (20:31 -0300)]
Very minor issues found with statical analysis.
The Clang Static Analyzer uncovered those issues:
- The variable "changed" in handlers.c is written to, but it's
never read since that specific write, so the write is not
necessary.
- In util.c, "tail" may be NULL. In that case, we shouldn't pass
it to strlen because strlen's behavior is not defined when s is
NULL.
- In util.c, "write_index" is incremented twice. It's never used
anymore after being incremented once, so the second increment is
not necessary.
Michael Stapelberg [Mon, 21 Feb 2011 19:00:56 +0000 (20:00 +0100)]
add proof-of-concept perl script to render the tree to SVG
This will be useful to generate examples for the documentation.
Michael Stapelberg [Mon, 21 Feb 2011 13:55:03 +0000 (14:55 +0100)]
tests: extend t/10-dock.t for top/bottom positioned dock clients by position/hint
Michael Stapelberg [Mon, 21 Feb 2011 13:27:32 +0000 (14:27 +0100)]
Implement support for top/bottom dock clients (according to _NET_WM_STRUT_PARTIAL or requested position)
Michael Stapelberg [Mon, 21 Feb 2011 11:21:02 +0000 (12:21 +0100)]
tests: add test for dock client + restart
Michael Stapelberg [Mon, 21 Feb 2011 11:20:55 +0000 (12:20 +0100)]
tests: fix t/16-nestedcons.t
Michael Stapelberg [Mon, 21 Feb 2011 02:13:27 +0000 (03:13 +0100)]
Bugfix: restore the original width/height with X11 border when restarting (Thanks Merovius)
Michael Stapelberg [Mon, 21 Feb 2011 02:01:55 +0000 (03:01 +0100)]
Fix dock client handling for inplace restarts
Michael Stapelberg [Mon, 21 Feb 2011 00:58:57 +0000 (01:58 +0100)]
bugfix: fix clicking on dock clients (Thanks mseed)