2
0
mirror of https://github.com/chubin/cheat.sheets synced 2024-11-17 09:25:32 +00:00
cheat.sheets/sheets/i3

115 lines
3.1 KiB
Plaintext
Raw Normal View History

# Note: most i3 keybindings use ◆ mod key. This is `Alt` key by default,
2019-12-03 21:07:43 +00:00
# but is frequently swapped with Meta (windows) key.
# Open new terminal
◆ + Enter
2019-12-03 21:07:43 +00:00
# Open application launcher
◆ + d
2019-12-03 21:07:43 +00:00
# Change where new window is opened:
# Horizontal split
◆ + h
2019-12-03 21:07:43 +00:00
# Vertical split
◆ + v
2019-12-03 21:07:43 +00:00
# Movement
# (like in vim, but one key to right)
^
l
< j ; >
k
V
# Switch focus around windows in workspace
◆ + <movement key>
2019-12-03 21:07:43 +00:00
# Move windows around workspace
◆ + Shift + <movement key>
2019-12-03 21:07:43 +00:00
# Workspaces
# i3 has by default 10 workspaces, labeled 1,2,...,9,0
# Each opened window resides in one of the workspaces
# Change workspace
◆ + 0-9
2019-12-03 21:07:43 +00:00
# Send focused window to workspace
◆ + Shift + 0-9
2019-12-03 21:07:43 +00:00
# Toggle fullscreen
◆ + f
2019-12-03 21:07:43 +00:00
# Enter resize mode (resize with movement/arrow keys, exit with Esc)
◆ + r
2019-12-03 21:07:43 +00:00
# Change container layout
# default: next to each other
◆ + e
2019-12-03 21:07:43 +00:00
# stacked: all windows but one are minimized
◆ + s
2019-12-03 21:07:43 +00:00
# tabbed: like browser tabs
◆ + w
# floating window (drag with ◆ + LeftClick):
◆ + Shift + Space
# Guide: precise positioning of newly spawned windows
#
# When creating new window, currently focused window
# will be split in half and one half will be used by new window.
# You can control whether it will split horiontally or
# vertically with ◆+v or ◆+h.
# You can focus multiple windows at once.
# For example with this layout with two windows:
+-------+-------+
2019-12-03 22:20:53 +00:00
| . . . | . . . |
| . . . | . . . |
| . 1 . | . 2 . |
| . . . | . . . |
| . . . | . . . |
+-------+-------+
# One can select both windows at once and split them vertically,
# so the new window will take half of whole screen.
# Select parent container (both windows 1 and 2):
◆ + a
# Vertically spawn new terminal window: ◆+v, ◆+Enter
# Result:
+-------+-------+
2019-12-03 22:20:53 +00:00
| . . . | . . . |
| . 1 . | . 2 . |
+-------+-------+
2019-12-03 22:20:53 +00:00
| . . . 3 . . . |
| . . . . . . . |
+---------------+
# Whenever you split window in half by spawning new window,
# both windows will be placed in an invisible container.
# One can focus parent container with ◆+a.
# i3 configuration
# Configuration files can be found at following locations (ordered by priority):
~/.config/i3/config (or $XDG_CONFIG_HOME/i3/config)
~/.i3/config
/etc/xdg/i3/config (or $XDG_CONFIG_DIRS/i3/config)
/etc/i3/config
# One can specify custom config file with -c option while starting i3
# Most configuration options can be inferred from default configuration
# Default configuration path:
/etc/i3/config
# Keys can be binded with bindsym like this:
bindsym $mod+4 workspace $ws4
bindsym $mod+Shift+R exec custom-script-in-path.sh --flag1 --flag2
bindcode 172 exec playerctl play-pause
# Always execute code when i3 starts:
exec --no-startup-id ~/.config/polybar/launch.sh
# One can make special modes (much like resize mode)
set $gamingMode "gaming_mode"
bindsym $mod+g mode $gamingMode
mode $gamingMode {
# Insert declarations for this mode
# Useful when normal keybindings fight with keybindings of your games
# Don't forget to add option to return from this mode!
bindsym $mod+Escape mode default
}
# Move workspace between multiple monitors
bindsym $mod+x move workspace to output right