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
ca2e4199b5
Introduce HANDLE_EMPTY_MATCH macro to simplify command handlers in cmdparse.y
2011-05-15 19:43:35 +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
a075fd4ee2
cmdparse.y: set type on the tokens/non-terminals (Thanks Merovius)
2011-05-05 20:39:05 +02:00
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
7100d32971
cmdparse: correctly parse con_id/id (fixes warning)
2011-03-14 23:14:40 +01:00
b21137b2c0
cmdparse: expect 4 shift/reduce conflicts
2011-03-14 23:08:33 +01:00
f900fab453
cmdparse: don’t allow empty operations
2011-03-14 23:03:25 +01:00
627683c053
cmdparse: don’t allow empty commands
2011-03-14 23:03:13 +01:00
8928823e07
remove usless 'operation' token, already handled by 'operation optwhitespace'
2011-03-14 22:29:07 +01:00
18215445f8
remove unused current_bindings (left-over from cfgparse.y)
2011-03-14 22:28:55 +01:00
b4e3dfd76b
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.
2011-03-14 17:07:53 +01:00
287d7f9527
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.
2011-03-06 23:26:02 +01:00
7f89c71689
Implement dock mode, update testsuite
...
Currently, dock clients are only possible at the top.
2011-02-20 23:43:03 +01:00
26a416e016
refactor tree_move() into src/move.c, change config (!), change testcase
...
Due to lots of cases which were added and added to tree_move(), the function
was not really easy to understand. For this refactoring, I wrote tree_move()
from scratch, thinking about (hopefully) all cases. The testsuite still passes.
The move command also has different parameters now. Instead of the hard to
understand 'before v' stuff, we use 'move [left|right|up|down]'.
2011-02-14 23:05:20 +01:00
0238ce3c73
fix some compiler warnings
2011-02-01 15:43:59 +01:00
bdbda20293
cmdparse: free strings
2011-01-04 22:37:50 +01:00
aa422c07c4
Add forgetful restart to sighandler
2010-12-31 19:36:35 +01:00
a86d8ab329
use con_num_children()
2010-11-28 22:45:39 +01:00
77d0d42ed2
look and feel: create split container when switching workspace layout
...
Quote from the source:
When the container type is CT_WORKSPACE, the user wants to change the
whole workspace into stacked/tabbed mode. To do this and still allow
intuitive operations (like level-up and then opening a new window), we
need to create a new split container. */
2010-11-26 23:08:12 +01:00
131a2f8765
debugging: implement a NOP command which just spits out its argument
...
You can use this in testcases to mark specific sections:
$i3->command('nop before trying to crash')->recv;
leads to the following output in the i3 logfile:
-------------------------------------------------
NOP: before trying to crash
-------------------------------------------------
2010-11-20 18:40:25 +01:00
d760a1c7b2
Bugfix: don’t kill parent when currently in tree_close() for a child of this parent
2010-11-14 20:14:09 +01:00
a415d56048
parser: return a proper JSON reply on parse errors
2010-11-14 01:45:05 +01:00
e07fee4472
parser: don’t exit(1) on invalid command, use better error message
2010-11-12 20:22:55 +01:00
ea4e3e7682
parser: bugfix: initialize match when parsing new command
2010-11-12 19:07:48 +01:00
6eb7f2a01d
lexer/parser: implement 'border' command
2010-11-12 18:41:54 +01:00
8159ffaa06
Bugfix for the kill command (used a.o. in test 18). Call to match_init is to be used i.o. a simple memset() to zero. Otherwise the boolean dock field doesn't get initalized to -1.
2010-08-21 18:28:37 +02:00
d066341261
ipc/parser: commands can now return custom JSON replies
...
Also, finally add include/cmdparse.h
2010-07-17 15:15:37 +02:00
6d152103f5
parser: implement move
2010-06-30 22:23:32 +02:00
565ef78b12
parser: implement resize command
2010-06-30 19:47:23 +02:00
bd9e5c0bc4
parser: implement explicit "mode floating"/"mode tiling"
2010-06-30 15:54:34 +02:00
2da4173144
parser: implement "reload"
2010-06-30 15:31:29 +02:00
ea30fdc327
parser: call tree_close_con() instead of tree_close() when run interactively
2010-06-30 15:27:18 +02:00
6897e15e72
Implement mark/goto, modify testcase
2010-06-02 23:32:05 +02:00