Michael Stapelberg
9d15a00ba8
introduce sasprintf() in libi3, use it everywhere
2011-10-23 13:16:56 +01:00
Michael Stapelberg
178be03fa6
Implement 'workspace back_and_forth' (Patch by Michael Walle)
2011-10-17 23:17:56 +01:00
Michael Stapelberg
658bf5adff
Bugfix: Warp pointer to the correct window when using the 'focus' command
...
Comment in the code makes the fix clear, I think.
Steps to reproduce the issue:
1) On the right monitor, open two terminals (h-split workspace)
2) 'i3 mark foo' on the right terminal
3) Focus the left terminal
4) Switch to the left monitor
5) i3 '[con_mark="foo"] focus'
6) the left window will contain the pointer (and is focused for a short period
of time, or even permanently due to race conditions)
2011-10-03 21:54:36 +01:00
Noe Rubinstein
1eab86b916
add "move workspace next" and "move workspace prev"
...
some factorization would be better here, however I don't really know my
way around bison
2011-10-02 22:03:47 +01:00
Noe Rubinstein
92cc4494aa
refactor workspace_show and friends
2011-10-02 21:57:00 +01:00
Michael Stapelberg
1717b88174
Merge branch 'master' into next
2011-09-22 20:11:44 +01:00
Michael Stapelberg
4dbda73114
Bugfix: Correctly revert focus to other floating windows when closing a floating window
...
Uncovered by the testsuite \o/
2011-09-22 20:10:51 +01:00
Michael Stapelberg
b3adaa2983
Implement the window_role criterion (checks WM_WINDOW_ROLE)
...
Closes : #446
This is handy for matching specific windows of a multi-window application, for
example only Pidgin’s buddy list window.
2011-09-18 16:05:10 +01:00
Michael Stapelberg
5a85c9efd2
fix build in 'next' (Thanks thomasba)
2011-09-14 23:16:23 +01:00
Michael Stapelberg
ad568aa8c1
Merge branch 'master' into next
2011-09-14 23:00:02 +01:00
Michael Stapelberg
6b541d382b
Bugfix: Don’t fix floating coordinates when reassigning (fixes flickering)
...
This fixes flickering when moving floating windows between different monitors.
2011-09-14 22:58:51 +01:00
Michael Stapelberg
2fc54aadf1
Implement support for PCRE regular expressions for all criteria (for_window, commands, assignments)
2011-09-10 23:53:11 +01:00
Michael Stapelberg
77ae771476
Restrict 'resize' command to left/right for horizontal cons, up/down for vertical cons
...
This makes the interface much clearer and avoids confusion about which key to
press in which situation.
2011-09-05 22:36:04 +02:00
Michael Stapelberg
2acbf4d4a4
Compilation fix: Add dont_warp=false
2011-08-24 23:06:49 +02:00
Michael Stapelberg
75c11cb894
Merge branch 'master' into next
2011-08-24 23:00:12 +02:00
Michael Stapelberg
698d97cd02
Bugfix: Correctly warp floating windows when using the 'move' command
2011-08-24 22:59:46 +02:00
Michael Stapelberg
ff85023b08
Merge branch 'master' into next
2011-08-24 15:14:53 +02:00
Michael Stapelberg
0d35feb71b
Bugfix: Make the 'resize' command work inside tabbed/stacked cons (+test) (Thanks sbedivere)
...
Fixes #461
2011-08-24 15:14:04 +02:00
Michael Stapelberg
642a745004
Merge branch 'master' into next
2011-08-24 00:57:36 +02:00
Michael Stapelberg
0848844f2d
Bugfix: Fix 'focus mode_toggle' on an empty workspace (Thanks BeF)
...
Fixes #487
2011-08-24 00:55:11 +02:00
Michael Stapelberg
ec317e78c1
use 'break' instead of 'return', the generated code will end up in a switch statement
2011-08-17 16:12:48 +02:00
Peter Bui
7ddba4995f
BUG-396: Implement move output <RANDR-OUTPUT> command
...
Also add support for move output <up|down|left|right> and update
userguide about the new command.
2011-08-17 16:10:11 +02:00
Michael Stapelberg
cd1add1f3c
Bugfix: don’t free the old json_output, the caller does that
2011-08-09 09:27:28 +02:00
Mateusz Poszwa
1913bf0e5c
Add "instance" to matching criteria
2011-08-04 20:10:31 +02:00
Michael Stapelberg
c883e7050a
Include <limits.h> in all.h
2011-08-04 00:10:04 +02:00
Michael Stapelberg
cc5f3ce95a
Bugfix: Fix 'resize' with direction != 'up' for floating windows
...
Fixes #447
2011-08-03 14:48:52 +02:00
Michael Stapelberg
719022d80a
Bugfix: Ensure that the percentage is > 0.05 when using the 'resize' cmd (Thanks rogutes)
...
Fixes #437
2011-08-02 22:31:45 +02:00
Michael Stapelberg
f2fc523de7
Bugfix: fix memory leak in src/cmdparse.y
2011-07-31 17:11:28 +02:00
Michael Stapelberg
2d71102796
Bugfix: Switch to appropriate workspace when using 'focus' (+test) (Thanks rogutes)
...
Fixes #432
2011-07-14 23:45:36 +02:00
Michael Stapelberg
c55abca115
add i3-nagbar. tells you about config file errors (for example)
2011-07-10 14:33:19 +02:00
Michael Stapelberg
c408fef021
Implement 'focus floating', 'focus tiling' and 'focus mode_toggle' (+test +docs)
2011-07-04 17:09:52 +02:00
Michael Stapelberg
fb9d77305e
Implement 'fullscreen global'
2011-06-10 18:27:20 +02:00
Michael Stapelberg
bef25d72aa
Implement 'border toggle' (+test)
2011-06-10 16:15:52 +02:00
Michael Stapelberg
60ae26c19d
Implement 'workspace next/prev' (+test)
2011-06-10 16:03:59 +02:00
Michael Stapelberg
39b1c1bf75
Re-implement the 'mode' command
2011-06-10 02:38:07 +02:00
Michael Stapelberg
df0b7bed48
cmdparse: s/direction/split_direction to be more clear
2011-06-10 02:25:14 +02:00
Michael Stapelberg
f1385ba3d5
CONFIG BREAK: Rename 'restore' to 'append_layout'
2011-06-10 02:15:31 +02:00
Michael Stapelberg
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
Michael Stapelberg
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
Michael Stapelberg
9aa7e5fbd6
Parse multiple criteria in commands (+test), better error message for 'focus'
2011-06-08 23:34:08 +02:00
Michael Stapelberg
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
Michael Stapelberg
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
Michael Stapelberg
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
Michael Stapelberg
08f64f011d
cleanup cmdparse lexer/parser (ignore whitespace, solves conflicts)
2011-05-22 21:26:50 +02:00
Michael Stapelberg
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
Michael Stapelberg
ca2e4199b5
Introduce HANDLE_EMPTY_MATCH macro to simplify command handlers in cmdparse.y
2011-05-15 19:43:35 +02:00
Michael Stapelberg
3d2cd6abaa
Fix kill command with trailing whitespace
2011-05-13 21:18:20 +02:00
Michael Stapelberg
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
Michael Stapelberg
a075fd4ee2
cmdparse.y: set type on the tokens/non-terminals (Thanks Merovius)
2011-05-05 20:39:05 +02:00
Michael Stapelberg
b342d387a8
Handle saved_configpath in get_config_path, fix memleak in current_configpath handling, update atoms after reloading (Thanks fernandotcl)
2011-03-19 22:26:15 +01:00