de94f6da1a
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
140 lines
4.3 KiB
Plaintext
140 lines
4.3 KiB
Plaintext
# WARNING
|
||
# WARNING: This configuration file is a template for the i3-config-wizard to
|
||
# WARNING: generate a config which uses keysyms in your current layout. It does
|
||
# WARNING: not get loaded by i3. Please do not change it.
|
||
# WARNING
|
||
|
||
# i3 config file (v4)
|
||
#
|
||
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
|
||
|
||
set $mod Mod1
|
||
|
||
# font for window titles. ISO 10646 = Unicode
|
||
font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
|
||
|
||
# Use Mouse+$mod to drag floating windows to their wanted position
|
||
floating_modifier $mod
|
||
|
||
# start a terminal
|
||
bindcode $mod+36 exec i3-sensible-terminal
|
||
|
||
# kill focused window
|
||
bindcode $mod+Shift+24 kill
|
||
|
||
# start dmenu (a program launcher)
|
||
bindcode $mod+40 exec dmenu_run
|
||
|
||
# change focus
|
||
bindcode $mod+44 focus left
|
||
bindcode $mod+45 focus down
|
||
bindcode $mod+46 focus up
|
||
bindcode $mod+47 focus right
|
||
|
||
# alternatively, you can use the cursor keys:
|
||
bindcode $mod+113 focus left
|
||
bindcode $mod+116 focus down
|
||
bindcode $mod+111 focus up
|
||
bindcode $mod+114 focus right
|
||
|
||
# move focused window
|
||
bindcode $mod+Shift+44 move left
|
||
bindcode $mod+Shift+45 move down
|
||
bindcode $mod+Shift+46 move up
|
||
bindcode $mod+Shift+47 move right
|
||
|
||
# alternatively, you can use the cursor keys:
|
||
bindcode $mod+Shift+113 move left
|
||
bindcode $mod+Shift+116 move down
|
||
bindcode $mod+Shift+111 move up
|
||
bindcode $mod+Shift+114 move right
|
||
|
||
# split in horizontal orientation
|
||
bindcode $mod+43 split h
|
||
|
||
# split in vertical orientation
|
||
bindcode $mod+55 split v
|
||
|
||
# enter fullscreen mode for the focused container
|
||
bindcode $mod+41 fullscreen
|
||
|
||
# change container layout (stacked, tabbed, toggle split)
|
||
bindcode $mod+39 layout stacking
|
||
bindcode $mod+25 layout tabbed
|
||
bindcode $mod+26 layout toggle split
|
||
|
||
# toggle tiling / floating
|
||
bindcode $mod+Shift+65 floating toggle
|
||
|
||
# change focus between tiling / floating windows
|
||
bindcode $mod+65 focus mode_toggle
|
||
|
||
# focus the parent container
|
||
bindcode $mod+38 focus parent
|
||
|
||
# focus the child container
|
||
#bindcode $mod+d focus child
|
||
|
||
# switch to workspace
|
||
bindcode $mod+10 workspace 1
|
||
bindcode $mod+11 workspace 2
|
||
bindcode $mod+12 workspace 3
|
||
bindcode $mod+13 workspace 4
|
||
bindcode $mod+14 workspace 5
|
||
bindcode $mod+15 workspace 6
|
||
bindcode $mod+16 workspace 7
|
||
bindcode $mod+17 workspace 8
|
||
bindcode $mod+18 workspace 9
|
||
bindcode $mod+19 workspace 10
|
||
|
||
# move focused container to workspace
|
||
bindcode $mod+Shift+10 move container to workspace 1
|
||
bindcode $mod+Shift+11 move container to workspace 2
|
||
bindcode $mod+Shift+12 move container to workspace 3
|
||
bindcode $mod+Shift+13 move container to workspace 4
|
||
bindcode $mod+Shift+14 move container to workspace 5
|
||
bindcode $mod+Shift+15 move container to workspace 6
|
||
bindcode $mod+Shift+16 move container to workspace 7
|
||
bindcode $mod+Shift+17 move container to workspace 8
|
||
bindcode $mod+Shift+18 move container to workspace 9
|
||
bindcode $mod+Shift+19 move container to workspace 10
|
||
|
||
# reload the configuration file
|
||
bindcode $mod+Shift+54 reload
|
||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||
bindcode $mod+Shift+27 restart
|
||
# exit i3 (logs you out of your X session)
|
||
bindcode $mod+Shift+26 exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
|
||
|
||
# resize window (you can also use the mouse for that)
|
||
mode "resize" {
|
||
# These bindings trigger as soon as you enter the resize mode
|
||
|
||
# Pressing left will shrink the window’s width.
|
||
# Pressing right will grow the window’s width.
|
||
# Pressing up will shrink the window’s height.
|
||
# Pressing down will grow the window’s height.
|
||
bindcode 44 resize shrink width 10 px or 10 ppt
|
||
bindcode 45 resize grow height 10 px or 10 ppt
|
||
bindcode 46 resize shrink height 10 px or 10 ppt
|
||
bindcode 47 resize grow width 10 px or 10 ppt
|
||
|
||
# same bindings, but for the arrow keys
|
||
bindcode 113 resize shrink width 10 px or 10 ppt
|
||
bindcode 116 resize grow height 10 px or 10 ppt
|
||
bindcode 111 resize shrink height 10 px or 10 ppt
|
||
bindcode 114 resize grow width 10 px or 10 ppt
|
||
|
||
# back to normal: Enter or Escape
|
||
bindcode 36 mode "default"
|
||
bindcode 9 mode "default"
|
||
}
|
||
|
||
bindcode $mod+27 mode "resize"
|
||
|
||
# Start i3bar to display a workspace bar (plus the system information i3status
|
||
# finds out, if available)
|
||
bar {
|
||
status_command i3status
|
||
}
|