Commit Graph

102 Commits

Author SHA1 Message Date
60bfc3a600 Bugfix: Correctly handle --no-startup-id with quoted exec commands (Thanks aksr)
Parser changes shortly before a release. What could possibly go wrong.
2011-11-11 00:28:04 +00:00
8e3cef33d9 Error out early if there is nothing to move
Fixes: #532
2011-10-27 23:27:33 +01:00
df980bffa4 Make 'move' handle floating windows properly
This means you can now specify an amount of pixels for the move command. The
default is 10. Note that this of course only works for floating windows.

Example:
  move left 20 px
2011-10-27 21:46:15 +01:00
bbfbd28dfa Add a --no-startup-id flag for exec (command), exec (config), exec_always (config) 2011-10-25 22:18:17 +01:00
726f2a1e5a normalize file headers across **/*.{h,c} 2011-10-25 21:19:38 +01:00
9d15a00ba8 introduce sasprintf() in libi3, use it everywhere 2011-10-23 13:16:56 +01:00
178be03fa6 Implement 'workspace back_and_forth' (Patch by Michael Walle) 2011-10-17 23:17:56 +01:00
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
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
92cc4494aa refactor workspace_show and friends 2011-10-02 21:57:00 +01:00
1717b88174 Merge branch 'master' into next 2011-09-22 20:11:44 +01:00
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
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
5a85c9efd2 fix build in 'next' (Thanks thomasba) 2011-09-14 23:16:23 +01:00
ad568aa8c1 Merge branch 'master' into next 2011-09-14 23:00:02 +01:00
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
2fc54aadf1 Implement support for PCRE regular expressions for all criteria (for_window, commands, assignments) 2011-09-10 23:53:11 +01:00
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
2acbf4d4a4 Compilation fix: Add dont_warp=false 2011-08-24 23:06:49 +02:00
75c11cb894 Merge branch 'master' into next 2011-08-24 23:00:12 +02:00
698d97cd02 Bugfix: Correctly warp floating windows when using the 'move' command 2011-08-24 22:59:46 +02:00
ff85023b08 Merge branch 'master' into next 2011-08-24 15:14:53 +02:00
0d35feb71b Bugfix: Make the 'resize' command work inside tabbed/stacked cons (+test) (Thanks sbedivere)
Fixes #461
2011-08-24 15:14:04 +02:00
642a745004 Merge branch 'master' into next 2011-08-24 00:57:36 +02:00
0848844f2d Bugfix: Fix 'focus mode_toggle' on an empty workspace (Thanks BeF)
Fixes #487
2011-08-24 00:55:11 +02:00
ec317e78c1 use 'break' instead of 'return', the generated code will end up in a switch statement 2011-08-17 16:12:48 +02:00
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
cd1add1f3c Bugfix: don’t free the old json_output, the caller does that 2011-08-09 09:27:28 +02:00
1913bf0e5c Add "instance" to matching criteria 2011-08-04 20:10:31 +02:00
c883e7050a Include <limits.h> in all.h 2011-08-04 00:10:04 +02:00
cc5f3ce95a Bugfix: Fix 'resize' with direction != 'up' for floating windows
Fixes #447
2011-08-03 14:48:52 +02:00
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
f2fc523de7 Bugfix: fix memory leak in src/cmdparse.y 2011-07-31 17:11:28 +02:00
2d71102796 Bugfix: Switch to appropriate workspace when using 'focus' (+test) (Thanks rogutes)
Fixes #432
2011-07-14 23:45:36 +02:00
c55abca115 add i3-nagbar. tells you about config file errors (for example) 2011-07-10 14:33:19 +02:00
c408fef021 Implement 'focus floating', 'focus tiling' and 'focus mode_toggle' (+test +docs) 2011-07-04 17:09:52 +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
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
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
08f64f011d cleanup cmdparse lexer/parser (ignore whitespace, solves conflicts) 2011-05-22 21:26:50 +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