Commit Graph

53 Commits

Author SHA1 Message Date
Michael Stapelberg de94f6da1a Introduce splith/splitv layouts, remove orientation
With this commit, the "default" layout is replaced by the splith and
splitv layouts. splith is equivalent to default with orientation
horizontal and splitv is equivalent to default with orientation
vertical.

The "split h" and "split v" commands continue to work as before, they
split the current container and you will end up in a split container
with layout splith (after "split h") or splitv (after "split v").

To change a splith container into a splitv container, use either "layout
splitv" or "layout toggle split". The latter command is used in the
default config as mod+l (previously "layout default"). In case you have
"layout default" in your config file, it is recommended to just replace
it by "layout toggle split", which will work as "layout default" did
before when pressing it once, but toggle between horizontal/vertical
when pressing it repeatedly.

The rationale behind this commit is that it’s cleaner to have all
parameters that influence how windows are rendered in the layout itself
rather than having a special parameter in combination with only one
layout. This enables us to change existing split containers in all cases
without breaking existing features (see ticket #464). Also, users should
feel more confident about whether they are actually splitting or just
changing an existing split container now.

As a nice side-effect, this commit brings back the "layout toggle"
feature we once had in i3 version 3 (see the userguide).

AFAIK, it is safe to use in-place restart to upgrade into versions
after this commit (switching to an older version will break your layout,
though).

Fixes #464
2012-08-04 03:13:24 +02:00
Michael Stapelberg 9191b56924 config: require confirmation when exiting i3 (Thanks Felicitus)
Fixes #751
2012-08-02 16:17:42 +02:00
Michael Stapelberg 2d110c90e6 Implement resize <grow|shrink> <width|height>, use it in the default config
Fixes: #576
2012-04-08 16:00:15 +02:00
Michael Stapelberg df9b338175 Introduce synonyms: 'move to workspace' and 'move container to workspace' and 'move window to workspace'
This makes the new 'move workspace to output' command much more clear
2012-01-10 22:16:09 +00:00
mgsnova cedeb88682 convert tabs into whitespaces in config files 2011-11-27 21:44:00 +00:00
Michael Stapelberg 0298c72802 Bugfix: i3.config: status_command, not status_line (Thanks eeemsi) 2011-10-22 18:28:11 +01:00
Michael Stapelberg bc679b0168 change default config to use 'bar' blocks (Thanks mxf) 2011-10-21 19:01:02 +01:00
Michael Stapelberg 6420b2b102 Introduce the i3-sensible-{pager,editor,terminal} scripts
The former two provide fallbacks in case $PAGER or $EDITOR is not set (which
might be more common than you think, because they have to be set in
~/.xsession, not in the shell configuration!) while the latter tries to launch
a terminal emulator. The scripts are most prominently used in i3-nagbar, which
alerts the user when the configuration is broken for some reason. Also,
i3-sensible-terminal is used in the default configuration.

This commit does not rely on the shell supporting ${PAGER:-less} anymore, which
is not the case for 'fish'.
2011-09-25 18:46:37 +01:00
Michael Stapelberg 9f9fc82cc6 Don’t use absolute paths in the default config (Thanks cls)
Fixes #489
2011-08-23 21:30:09 +02:00
Michael Stapelberg 86de02ca8c default config: start i3bar -d by default
like i3-migrate-config-to-v4.pl does it
2011-07-27 13:32:27 +02:00
Michael Stapelberg 7bb9949e23 default config: start i3-config-wizard 2011-07-11 20:02:25 +02:00
Michael Stapelberg 4693d5f91a default config: put bindings in the right order (left/down/up/right) 2011-07-11 19:42:30 +02:00
Michael Stapelberg 6fb4d91daf default config: convert to QWERTY, add comments 2011-07-11 17:23:28 +02:00
Michael Stapelberg 675785005d default config: add resize mode 2011-07-11 17:11:13 +02:00
Michael Stapelberg fa0c8e4140 default config: add binding to change focus between tiling / floating windows 2011-07-11 16:57:16 +02:00
Michael Stapelberg ac335fcffa Automatically call the migration script when the config does not look like v4 2011-07-06 20:43:00 +02:00
Michael Stapelberg 6fe3d84265 config: change order, normalize comments, more comments, remove advanced/experimental bindings 2011-06-16 18:58:49 +02:00
Michael Stapelberg 931a5c749a 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.
2011-06-11 14:39:13 +02:00
Michael Stapelberg c6352ded4e default config: don’t use /tmp/nestedcons, better description of ipc-socket 2011-06-10 02:27: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 adb6d9630c config: more descriptive comments 2011-06-10 01:16:29 +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 c1a9e1593d remove orientation and fall back to default behaviour 2011-03-17 21:52:12 +01:00
Simon Kampe 2f992f5c0e Added config key for default orientation of containers (new_container_orientation) and added support in randr.c for automatically changing the orientation when user does a xrandr rotate. 2011-03-17 17:43:35 +01:00
Michael Stapelberg 0df960b7d7 also change the cursor keys to the new move syntax 2011-02-20 02:11:03 +01:00
Michael Stapelberg 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
Michael Stapelberg dab83ba413 add shortcut to default config for tiling/floating toggle 2010-11-21 17:04:35 +01:00
Michael Stapelberg 5adcea6b3c config: add reload keybinding 2010-07-03 19:27:25 +02:00
Michael Stapelberg 317d2bbe2b update configfile for the new commands (this is not the final default config file) 2010-06-30 00:25:11 +02:00
Michael Stapelberg 234ed6c99b docs: merge spelling and grammar fixes by sasha (Thanks!) 2010-03-21 01:50:10 +01:00
Michael Stapelberg c50bde458b Fix bindings using the cursor keys in default config 2009-12-29 17:48:16 +01:00
Michael Stapelberg d266474f97 Remove the terminal option from config.
The welcome message is displayed using xmessage(1), not using your
terminal. Thus, it makes no sense to have this option anymore. Also,
the new lex/yacc parser cannot correctly handle the situation:
normal variables are expanded before parsing the file. As a replacement,
you can use:
  set $terminal /usr/bin/urxvt
2009-11-13 20:36:59 +01:00
Michael Stapelberg aa712fc63b Install welcome message, display it in default config 2009-11-06 17:46:34 +01:00
Michael Stapelberg 153462824b Add cursor keys for focussing, moving, snapping to the default config 2009-10-26 15:13:25 +01:00
Michael Stapelberg 76e6145741 Add tabbing to default config 2009-10-23 19:53:21 +02:00
Michael Stapelberg 62c8d58d82 Implement the configuration option floating_modifier and document it 2009-06-24 20:31:00 +02:00
Michael Stapelberg cba36914a8 Implement selecting the next tiling/floating window (using "focus")
Also update documentation (manpage, userguide).
To make the code easier to read/write when checking if a client is
floating, introduce client_is_floating().
2009-06-21 16:14:15 +02:00
Michael Stapelberg b0cf3ec026 Document binding on Mode_switch in userguide, be more verbose in config 2009-05-26 17:37:56 +02:00
Michael Stapelberg 5b8e2ecb18 Implement floating (please test and find bugs)
Details which are missing: A command to hide/show all floating clients,
moving/resizing clients with your mouse holding Mod1 (click anywhere
in the client, not just on its borders), resize/move by keyboard, select
next/previous client by keyboard
2009-05-23 16:34:03 +02:00
Michael Stapelberg cb9c7078be Implement kill-command to kill the current window, document it 2009-03-14 22:09:36 +01:00
Michael Stapelberg cc0b060628 Implement exit command, document it in manpage, add it to defaultconfig (Mod1+Shift+e) 2009-03-14 21:31:22 +01:00
Michael Stapelberg 95cd4334a9 Fix errors in i3.config, update manpage 2009-03-14 01:21:51 +01:00
Michael Stapelberg d8ac364749 Update config to use i3menu on Mod1+p, update Makefile to compile/install i3lock and i3menu 2009-03-11 19:09:17 +01:00
Michael Stapelberg c0aa9cac61 Implement moving containers, implement moving windows to the top if top-most, change config to use Mod3 2009-03-11 18:56:31 +01:00
Michael Stapelberg b51604bde6 Update default config/manpage 2009-03-08 00:51:38 +01:00
Michael Stapelberg c04baeeea2 Bugfix: Should be workspace 10 not 0 in moving aswell 2009-03-06 17:08:01 +01:00
Michael Stapelberg f8007a60b3 Bugfix: Should be workspace 10 not 0 2009-03-06 17:06:33 +01:00
Michael Stapelberg bde67a179e Implement wrapping, selecting containers is now Mod1+Ctrl+h/j/k/l 2009-03-04 23:45:44 +01:00