]>
git.sur5r.net Git - i3/i3/log
Michael Stapelberg [Sun, 10 Jul 2011 19:54:34 +0000 (21:54 +0200)]
x: Don’t pre-render the decoration for windows inside a stack which are not visible
Saves n-1 decoration renderings for n windows in a stack whenever a new window
gets added or removed.
Michael Stapelberg [Sun, 10 Jul 2011 19:19:31 +0000 (21:19 +0200)]
x: use PolySegment instead of two PolyLine requests
Michael Stapelberg [Sun, 10 Jul 2011 18:18:06 +0000 (20:18 +0200)]
x: change EnterNotify event mask only for mapped windows
Saves a few ChangeWindowAttributes requests.
Michael Stapelberg [Sun, 10 Jul 2011 18:15:22 +0000 (20:15 +0200)]
x: copy the pre-rendered pixmap contents to a decoration window immediately after mapping
Reduces flickering.
Michael Stapelberg [Sun, 10 Jul 2011 18:08:40 +0000 (20:08 +0200)]
x: set the contents of a decoration window immediately after changing its size
Reduces flickering. A window loses its contents when being resized, so we have
to restore them as fast as possible.
Michael Stapelberg [Sun, 10 Jul 2011 18:05:49 +0000 (20:05 +0200)]
x: raise the stack decoration above the stack windows (reduces flickering)
This reduces flickering when opening new windows in a stack, see the comment.
Michael Stapelberg [Sun, 10 Jul 2011 18:01:29 +0000 (20:01 +0200)]
x: when rendering stacked/tabbed cons, only update decoration once, saves some CopyAreas
Michael Stapelberg [Sun, 10 Jul 2011 17:58:46 +0000 (19:58 +0200)]
x: Don’t set background color on frame windows, reduces flickering
Michael Stapelberg [Sun, 10 Jul 2011 14:22:09 +0000 (16:22 +0200)]
Revert "x: Set pixmap as background window, saves a lot of CopyAreas"
This reverts commit
84b804cda61c9fda33521c11882b926ef4fc7f79 .
Turns out that it triggered graphic corruptions on ATI graphics cards (Thanks
aniou) with certain drivers.
Michael Stapelberg [Sun, 10 Jul 2011 12:41:00 +0000 (14:41 +0200)]
Makefile: add i3-nagbar to install target
Michael Stapelberg [Sun, 10 Jul 2011 12:36:53 +0000 (14:36 +0200)]
document TERM_EMU make variable in PACKAGE-MAINTAINER
Michael Stapelberg [Sun, 10 Jul 2011 12:34:14 +0000 (14:34 +0200)]
add binaries to .gitignore
Michael Stapelberg [Sun, 10 Jul 2011 12:33:19 +0000 (14:33 +0200)]
add i3-nagbar. tells you about config file errors (for example)
Michael Stapelberg [Fri, 8 Jul 2011 23:02:13 +0000 (01:02 +0200)]
migrate-config: also migrate border toggle (bt) (Thanks woddf2)
Michael Stapelberg [Fri, 8 Jul 2011 23:01:52 +0000 (01:01 +0200)]
tests: t/19-match needs a little delay
Michael Stapelberg [Thu, 7 Jul 2011 22:21:29 +0000 (00:21 +0200)]
Bugfix: multiple criteria should use a logical AND (+test) (Thanks f8l)
Michael Stapelberg [Thu, 7 Jul 2011 22:17:48 +0000 (00:17 +0200)]
migrate-config: also make force_focus_wrapping a v4-only statement
Michael Stapelberg [Wed, 6 Jul 2011 18:51:49 +0000 (20:51 +0200)]
Makefile: install i3-migrate-config-to-v4.pl
Michael Stapelberg [Wed, 6 Jul 2011 18:40:46 +0000 (20:40 +0200)]
Automatically call the migration script when the config does not look like v4
Michael Stapelberg [Wed, 6 Jul 2011 18:21:39 +0000 (20:21 +0200)]
migrate-config: Bugfix: 'borderless' has to be 'none'
Michael Stapelberg [Wed, 6 Jul 2011 15:56:09 +0000 (17:56 +0200)]
migrate-config: also handle named workspaces correctly when their names come after the bindings (Thanks xpt)
Michael Stapelberg [Wed, 6 Jul 2011 15:51:32 +0000 (17:51 +0200)]
migrate-config: also leave client.background lines unchanged (Thanks cloud)
Michael Stapelberg [Wed, 6 Jul 2011 15:50:14 +0000 (17:50 +0200)]
migrate-config: include the old bar color line in new config (Thanks cloud)
Michael Stapelberg [Wed, 6 Jul 2011 11:56:58 +0000 (13:56 +0200)]
Add script to migrate a v3 config to v4 (tree). Please test this!
Run ./i3-migrate-config-to-v4.pl < ~/.i3/config > /tmp/i3.config
and see if /tmp/i3.config is fine (especially check the comments
starting with XXX, they are inserted by the script).
Michael Stapelberg [Mon, 4 Jul 2011 15:09:52 +0000 (17:09 +0200)]
Implement 'focus floating', 'focus tiling' and 'focus mode_toggle' (+test +docs)
Michael Stapelberg [Mon, 4 Jul 2011 11:41:02 +0000 (13:41 +0200)]
Bugfix: Only set ENTER_WINDOW event mask for mapped windows (fixes focus problems)
Fixes focus problems when switching to empty workspaces or when going in/out of
fullscreen.
Michael Stapelberg [Thu, 30 Jun 2011 23:10:43 +0000 (01:10 +0200)]
Bugfix: Correctly revert floating focus when killing the last floating window (+test)
Michael Stapelberg [Thu, 30 Jun 2011 22:37:30 +0000 (00:37 +0200)]
Bugfix: testcase was still using 'mode floating' instead of 'floating enable'
Michael Stapelberg [Thu, 16 Jun 2011 16:58:49 +0000 (18:58 +0200)]
config: change order, normalize comments, more comments, remove advanced/experimental bindings
Michael Stapelberg [Mon, 13 Jun 2011 15:42:59 +0000 (17:42 +0200)]
Bugfix: Fix floating assignments, extend test for the assign command (Thanks Tucos)
Michael Stapelberg [Sun, 12 Jun 2011 11:01:16 +0000 (13:01 +0200)]
add *.gcda and *.gcno (code coverage files) to .gitignore
Michael Stapelberg [Sat, 11 Jun 2011 17:15:16 +0000 (19:15 +0200)]
Don’t force wrapping when focusing in a direction would work (+test)
Think of the following layout:
-------------
| tab | |
| con | win |
| | |
-------------
The tabbed container on the left has two children. Assume you have focused the
second/right child in the tabbed container. i3 used to focus the first/left
container of the tabbed container when using 'focus right' (it wrapped focus).
With this commit, the default behaviour is to instead focus the window on the
right of the screen.
The intention is to make focus switching more intuitive, especially with tabbed
containers supporting 'focus left'/'focus right' in tree. You should end up
using less 'focus parent' :).
You can force the old behaviour with 'force_focus_wrapping true' in your
config.
Code coverage is 62.5% with this commit.
Michael Stapelberg [Sat, 11 Jun 2011 12:39:13 +0000 (14:39 +0200)]
default config: remove ipc-socket directive, has no effect anyways
The ipc socket directive needs a path, otherwise it’s useless.
A socket will be created in any case.
Michael Stapelberg [Sat, 11 Jun 2011 12:36:09 +0000 (14:36 +0200)]
Bugfix: Correctly attach new output cons to the root con (Thanks mseed)
Michael Stapelberg [Fri, 10 Jun 2011 16:27:20 +0000 (18:27 +0200)]
Implement 'fullscreen global'
Michael Stapelberg [Fri, 10 Jun 2011 14:15:52 +0000 (16:15 +0200)]
Implement 'border toggle' (+test)
Michael Stapelberg [Fri, 10 Jun 2011 14:03:59 +0000 (16:03 +0200)]
Implement 'workspace next/prev' (+test)
Michael Stapelberg [Fri, 10 Jun 2011 13:16:05 +0000 (15:16 +0200)]
userguide: document resizing with a mode
Michael Stapelberg [Fri, 10 Jun 2011 13:14:42 +0000 (15:14 +0200)]
userguide: document workspace_layout
Michael Stapelberg [Fri, 10 Jun 2011 11:00:24 +0000 (13:00 +0200)]
debian: fix build-deps for recent debian systems
Michael Stapelberg [Fri, 10 Jun 2011 00:38:07 +0000 (02:38 +0200)]
Re-implement the 'mode' command
Michael Stapelberg [Fri, 10 Jun 2011 00:27:14 +0000 (02:27 +0200)]
default config: don’t use /tmp/nestedcons, better description of ipc-socket
Michael Stapelberg [Fri, 10 Jun 2011 00:25:14 +0000 (02:25 +0200)]
cmdparse: s/direction/split_direction to be more clear
Michael Stapelberg [Fri, 10 Jun 2011 00:15:31 +0000 (02:15 +0200)]
CONFIG BREAK: Rename 'restore' to 'append_layout'
Michael Stapelberg [Fri, 10 Jun 2011 00:06:47 +0000 (02:06 +0200)]
CONFIG BREAK: rename 'mode floating/tiling' to 'floating enable/disable'
The three different variants now:
floating enable
floating disable
floating toggle
Michael Stapelberg [Thu, 9 Jun 2011 23:36:33 +0000 (01:36 +0200)]
BREAKS CONFIG: rename 'level up' to 'focus parent'
…and 'level down' to 'focus child'. More intuitive than the old command names.
Michael Stapelberg [Thu, 9 Jun 2011 23:16:29 +0000 (01:16 +0200)]
config: more descriptive comments
Michael Stapelberg [Wed, 8 Jun 2011 21:34:08 +0000 (23:34 +0200)]
Parse multiple criteria in commands (+test), better error message for 'focus'
Michael Stapelberg [Wed, 8 Jun 2011 18:49:49 +0000 (20:49 +0200)]
CONFIG BREAK: kick the 'next'/'prev' commands, introduce 'focus left' etc.
Instead of the cryptic next/prev commands, we now provide an argument to the
focus command. Userguide and default config is updated.
Michael Stapelberg [Fri, 3 Jun 2011 00:05:34 +0000 (02:05 +0200)]
add testcase for the fullscreen restart problem of the previous commit
Michael Stapelberg [Thu, 2 Jun 2011 23:48:55 +0000 (01:48 +0200)]
Bugfix: Don’t break focus stack when inplace restarting with fullscreen windows (Thanks mike)
Michael Stapelberg [Thu, 2 Jun 2011 15:21:38 +0000 (17:21 +0200)]
Make workspace_layout handle all cons at workspace level, not only the first one (+test)
This makes opening new windows on workspace level and moving windows to the
right/left more like in the old i3.
Michael Stapelberg [Thu, 2 Jun 2011 15:12:18 +0000 (17:12 +0200)]
ipc: make 'layout' a string
Michael Stapelberg [Sun, 29 May 2011 12:39:41 +0000 (14:39 +0200)]
Bugfix: RandR: Correctly assign focused workspaces to outputs
Fixes: #399
Michael Stapelberg [Sun, 29 May 2011 11:20:12 +0000 (13:20 +0200)]
testcase: correct window names (trivial)
Michael Stapelberg [Sun, 29 May 2011 11:03:36 +0000 (13:03 +0200)]
Bugfix: rendering cache also needs to consider con->pixmap_recreated for borders
Michael Stapelberg [Sun, 29 May 2011 10:32:01 +0000 (12:32 +0200)]
x: fix race condition where the new event mask was not set directly after reparenting
Michael Stapelberg [Sun, 29 May 2011 10:29:49 +0000 (12:29 +0200)]
call tree_render() only after commands which require it
Saves one call of tree_render for exec, for example
Michael Stapelberg [Sun, 29 May 2011 10:20:09 +0000 (12:20 +0200)]
Bugfix: Set pixmap_recreated before rendering the decoration
Michael Stapelberg [Sun, 29 May 2011 09:46:01 +0000 (11:46 +0200)]
x: only re-render the tree in handle_normal_hints when they actually changed
Michael Stapelberg [Sun, 29 May 2011 09:31:22 +0000 (11:31 +0200)]
x: first create/render pixmap, then change window sizes (reduces flickering for new windows)
Especially in stacked cons.
Michael Stapelberg [Sat, 28 May 2011 20:12:47 +0000 (22:12 +0200)]
add release notes for tree-pr3
Michael Stapelberg [Sat, 28 May 2011 20:12:06 +0000 (22:12 +0200)]
makefile: include yajl-fallback in 'make dist'
Michael Stapelberg [Sat, 28 May 2011 19:58:58 +0000 (21:58 +0200)]
update the userguide for tree (not complete yet)
Michael Stapelberg [Wed, 25 May 2011 19:00:53 +0000 (21:00 +0200)]
Bugfix: Check swallows before assignments when managing windows (Thanks julien)
Fixes #395 (empty containers on restart when assigned windows are visible)
Michael Stapelberg [Wed, 25 May 2011 19:00:46 +0000 (21:00 +0200)]
gitignore: ignore tarballs
Michael Stapelberg [Wed, 25 May 2011 18:47:47 +0000 (20:47 +0200)]
remove unused code from manage.c
Michael Stapelberg [Wed, 25 May 2011 18:16:14 +0000 (20:16 +0200)]
tests: explicitly declare done_testing in subtest
Michael Stapelberg [Wed, 25 May 2011 18:15:52 +0000 (20:15 +0200)]
tests: use Test:Most instead of Test:More
apt-get install libtest-most-perl
Michael Stapelberg [Tue, 24 May 2011 20:56:28 +0000 (22:56 +0200)]
tests: add test for the 'assign' feature
Increases line coverage from 60.9% to 61.5%
Michael Stapelberg [Tue, 24 May 2011 20:56:06 +0000 (22:56 +0200)]
fix typo in t/65-for_window.t
Michael Stapelberg [Tue, 24 May 2011 20:21:05 +0000 (22:21 +0200)]
tests: make t/59-socketpaths exit gracefully
Increases reported line coverage from 60.7% to 60.9%
Michael Stapelberg [Mon, 23 May 2011 16:41:17 +0000 (18:41 +0200)]
Implement assignments for (named) workspaces, with '~' compatibility (floating)
Michael Stapelberg [Sun, 22 May 2011 21:32:59 +0000 (23:32 +0200)]
Bugfix: Free pixmaps when killing windows (Thanks Mike)
Michael Stapelberg [Sun, 22 May 2011 20:15:43 +0000 (22:15 +0200)]
retab! cfgparse.l
Michael Stapelberg [Sun, 22 May 2011 20:08:40 +0000 (22:08 +0200)]
cfgparse.l: kill a few states by using the stack
Michael Stapelberg [Sun, 22 May 2011 19:48:25 +0000 (21:48 +0200)]
cleanup cfgparse lexer/parser (ignore whitespace, solves conflicts)
Michael Stapelberg [Sun, 22 May 2011 19:42:34 +0000 (21:42 +0200)]
forgot to remove unused TOK_ATTACH token from lexer
Michael Stapelberg [Sun, 22 May 2011 19:26:50 +0000 (21:26 +0200)]
cleanup cmdparse lexer/parser (ignore whitespace, solves conflicts)
Michael Stapelberg [Mon, 16 May 2011 20:03:07 +0000 (22:03 +0200)]
tests: also test multiple commands in for_window
Increases branch coverage to 49.1%
Michael Stapelberg [Mon, 16 May 2011 19:45:30 +0000 (21:45 +0200)]
tests: add test for the for_window config directive, use separate config for tests
This test increases code coverage to 60.7%
Michael Stapelberg [Mon, 16 May 2011 18:51:29 +0000 (20:51 +0200)]
Bugfix: fix crash when disabling floating mode
Michael Stapelberg [Sun, 15 May 2011 18:10:25 +0000 (20:10 +0200)]
Time Lord technology: for_window config directive to run arbitrary cmds
An example to set all XTerms floating:
for_window [class="XTerm"] mode floating
To make all urxvts use a 1-pixel border:
for_window [class="urxvt"] border 1pixel
A less useful, but rather funny example:
for_window [title="x200: ~/work"] mode floating
The commands are not completely arbitrary. The commands above were tested,
others may need some fixing. Internally, windows are compared against your
criteria (class, title, …) when they are initially managed and whenever one of
the relevant values change. Then, the specified command is run *once* (per
window). It gets prefixed with a criteria to make it match only the specific
window that triggered it. So, if you configure "mode floating", i3 runs
something like '[id="
8393923 "] mode floating'.
Michael Stapelberg [Sun, 15 May 2011 17:43:35 +0000 (19:43 +0200)]
Introduce HANDLE_EMPTY_MATCH macro to simplify command handlers in cmdparse.y
Michael Stapelberg [Sat, 14 May 2011 20:38:19 +0000 (22:38 +0200)]
Remove old code from randr.c and workspace.c
Michael Stapelberg [Sat, 14 May 2011 20:34:34 +0000 (22:34 +0200)]
Bugfix: Fix initialization / assignments when RandR is missing
Michael Stapelberg [Sat, 14 May 2011 20:13:29 +0000 (22:13 +0200)]
re-implement assignments of workspace to specific outputs
Michael Stapelberg [Sat, 14 May 2011 20:11:09 +0000 (22:11 +0200)]
introduce the NODES_FOREACH and GREP_FIRST macros
Michael Stapelberg [Sat, 14 May 2011 18:04:34 +0000 (20:04 +0200)]
x.c: disable some of the debug output
Michael Stapelberg [Fri, 13 May 2011 19:57:45 +0000 (21:57 +0200)]
Correctly re-implement scrolling on window decorations
Got lost when refactoring the click handling in
24463718cc2ae6d44d75104bb8ade636985ff86c
Fixes: #390
Michael Stapelberg [Fri, 13 May 2011 19:29:01 +0000 (21:29 +0200)]
Bugfix: Attach new cons at the correct place when a floating con is focused (+test) (Thanks fernandotcl)
New containers were previously attached directly to the workspace instead of to
the previously focused place in the workspace (for example a stacked con).
Fixes: #376
Michael Stapelberg [Fri, 13 May 2011 19:18:20 +0000 (21:18 +0200)]
Fix kill command with trailing whitespace
Michael Stapelberg [Fri, 13 May 2011 18:41:03 +0000 (20:41 +0200)]
Argument for 'kill' for killing a specific window (now default) or the whole client (+test)
Use 'kill window' to kill a specific window (for example only one specific
popup), use 'kill client' to kill the whole application (or X11 connection to
be specific).
Michael Stapelberg [Fri, 13 May 2011 17:53:19 +0000 (19:53 +0200)]
Bugfix: When focusing the next floating window, descend the CT_FLOATING_CON
makes t/35-floating-focus.t pass again
Michael Stapelberg [Fri, 13 May 2011 17:27:18 +0000 (19:27 +0200)]
t/35-floating-focus: rewrite testcase to use windows instead of empty cons
Michael Stapelberg [Fri, 13 May 2011 15:03:52 +0000 (17:03 +0200)]
Bugfix: set WM_STATE to WITHDRAWN when an app unmaps their window(s) (+test)
Fixes: #362
Michael Stapelberg [Fri, 13 May 2011 15:03:15 +0000 (17:03 +0200)]
Bugfix: Fix the WANT_QSTRING state
Michael Stapelberg [Thu, 12 May 2011 20:24:52 +0000 (22:24 +0200)]
Bugfix: Fix focus follows mouse for non-default layout cons (Thanks phnom)
Fixes: #361
Michael Stapelberg [Thu, 12 May 2011 15:20:00 +0000 (17:20 +0200)]
s/seperate/separate (Thanks Jon)
Michael Stapelberg [Thu, 12 May 2011 05:22:17 +0000 (07:22 +0200)]
Bugfix: Ignore focus when attaching cons while restoring the layout
Fixes: #369