0add563448
Bugfix: multiple criteria should use a logical AND (+test) (Thanks f8l)
2011-07-08 00:21:29 +02:00
0ca229ceb3
migrate-config: also make force_focus_wrapping a v4-only statement
2011-07-08 00:17:48 +02:00
ac335fcffa
Automatically call the migration script when the config does not look like v4
2011-07-06 20:43:00 +02:00
c408fef021
Implement 'focus floating', 'focus tiling' and 'focus mode_toggle' (+test +docs)
2011-07-04 17:09:52 +02:00
71741d7620
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.
2011-07-04 13:41:02 +02:00
23d4917e43
Bugfix: Correctly revert floating focus when killing the last floating window (+test)
2011-07-01 01:10:43 +02:00
e5c811248f
Bugfix: Fix floating assignments, extend test for the assign command (Thanks Tucos)
2011-06-13 17:42:59 +02:00
d641e1da3b
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.
2011-06-12 12:56:50 +02:00
b35ff6a7c9
Bugfix: Correctly attach new output cons to the root con (Thanks mseed)
2011-06-11 14:36:09 +02:00
fb9d77305e
Implement 'fullscreen global'
2011-06-10 18:27:20 +02:00
bef25d72aa
Implement 'border toggle' (+test)
2011-06-10 16:15:52 +02:00
60ae26c19d
Implement 'workspace next/prev' (+test)
2011-06-10 16:03:59 +02:00
39b1c1bf75
Re-implement the 'mode' command
2011-06-10 02:38:07 +02:00
df0b7bed48
cmdparse: s/direction/split_direction to be more clear
2011-06-10 02:25:14 +02:00
f1385ba3d5
CONFIG BREAK: Rename 'restore' to 'append_layout'
2011-06-10 02:15:31 +02:00
bd49c80d5f
CONFIG BREAK: rename 'mode floating/tiling' to 'floating enable/disable'
...
The three different variants now:
floating enable
floating disable
floating toggle
2011-06-10 02:06:47 +02:00
9bbb37bb55
BREAKS CONFIG: rename 'level up' to 'focus parent'
...
…and 'level down' to 'focus child'. More intuitive than the old command names.
2011-06-10 01:36:33 +02:00
9aa7e5fbd6
Parse multiple criteria in commands (+test), better error message for 'focus'
2011-06-08 23:34:08 +02:00
d68e4710fe
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.
2011-06-08 20:49:49 +02:00
58e02e84e2
Bugfix: Don’t break focus stack when inplace restarting with fullscreen windows (Thanks mike)
2011-06-03 01:48:55 +02:00
1585d942ea
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.
2011-06-02 17:21:38 +02:00
51bfdbf0a8
ipc: make 'layout' a string
2011-06-02 17:12:18 +02:00
97e45b9cfc
Bugfix: RandR: Correctly assign focused workspaces to outputs
...
Fixes : #399
2011-05-29 14:39:41 +02:00
1fc15d270e
Bugfix: rendering cache also needs to consider con->pixmap_recreated for borders
2011-05-29 13:20:41 +02:00
18ec15b0f9
x: fix race condition where the new event mask was not set directly after reparenting
2011-05-29 13:20:41 +02:00
8acea3d34c
call tree_render() only after commands which require it
...
Saves one call of tree_render for exec, for example
2011-05-29 13:20:34 +02:00
446c9b7313
Bugfix: Set pixmap_recreated before rendering the decoration
2011-05-29 12:20:09 +02:00
f680c8841f
x: only re-render the tree in handle_normal_hints when they actually changed
2011-05-29 11:46:01 +02:00
b49874dcb8
x: first create/render pixmap, then change window sizes (reduces flickering for new windows)
...
Especially in stacked cons.
2011-05-29 11:31:22 +02:00
7ae0c9c973
Bugfix: Check swallows before assignments when managing windows (Thanks julien)
...
Fixes #395 (empty containers on restart when assigned windows are visible)
2011-05-25 21:00:53 +02:00
7208d01048
remove unused code from manage.c
2011-05-25 20:47:47 +02:00
2c68c234ea
Implement assignments for (named) workspaces, with '~' compatibility (floating)
2011-05-23 18:41:17 +02:00
272a86745e
Bugfix: Free pixmaps when killing windows (Thanks Mike)
2011-05-22 23:32:59 +02:00
4c1392d8ab
retab! cfgparse.l
2011-05-22 22:15:43 +02:00
c23f3b45fc
cfgparse.l: kill a few states by using the stack
2011-05-22 22:08:40 +02:00
1d6447187c
cleanup cfgparse lexer/parser (ignore whitespace, solves conflicts)
2011-05-22 21:48:25 +02:00
e27a8597d8
forgot to remove unused TOK_ATTACH token from lexer
2011-05-22 21:42:34 +02:00
08f64f011d
cleanup cmdparse lexer/parser (ignore whitespace, solves conflicts)
2011-05-22 21:26:50 +02:00
03cc490f0e
Bugfix: fix crash when disabling floating mode
2011-05-16 20:51:29 +02:00
5ae4620a24
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'.
2011-05-15 20:10:25 +02:00
ca2e4199b5
Introduce HANDLE_EMPTY_MATCH macro to simplify command handlers in cmdparse.y
2011-05-15 19:43:35 +02:00
d3e458bc78
Remove old code from randr.c and workspace.c
2011-05-14 22:38:19 +02:00
5db97dc473
Bugfix: Fix initialization / assignments when RandR is missing
2011-05-14 22:34:34 +02:00
3f45d3c447
re-implement assignments of workspace to specific outputs
2011-05-14 22:19:58 +02:00
443753bea6
x.c: disable some of the debug output
2011-05-14 20:04:34 +02:00
0bfab98a7f
Correctly re-implement scrolling on window decorations
...
Got lost when refactoring the click handling in 24463718cc
Fixes : #390
2011-05-13 21:58:17 +02:00
aea445b690
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
2011-05-13 21:30:37 +02:00
3d2cd6abaa
Fix kill command with trailing whitespace
2011-05-13 21:18:20 +02:00
167bdd26b7
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).
2011-05-13 20:41:03 +02:00
44c2555e67
Bugfix: When focusing the next floating window, descend the CT_FLOATING_CON
...
makes t/35-floating-focus.t pass again
2011-05-13 19:53:19 +02:00