]> git.sur5r.net Git - i3/i3/blob - etc/config.keycodes
Merge branch 'release-4.16.1'
[i3/i3] / etc / config.keycodes
1 # WARNING
2 # WARNING: This configuration file is a template for the i3-config-wizard to
3 # WARNING: generate a config which uses keysyms in your current layout. It does
4 # WARNING: not get loaded by i3. Please do not change it.
5 # WARNING
6
7 # i3 config file (v4)
8 #
9 # Please see https://i3wm.org/docs/userguide.html for a complete reference!
10
11 set $mod Mod1
12
13 # Font for window titles. Will also be used by the bar unless a different font
14 # is used in the bar {} block below.
15 font pango:monospace 8
16
17 # This font is widely installed, provides lots of unicode glyphs, right-to-left
18 # text rendering and scalability on retina/hidpi displays (thanks to pango).
19 #font pango:DejaVu Sans Mono 8
20
21 # Before i3 v4.8, we used to recommend this one as the default:
22 # font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
23 # The font above is very space-efficient, that is, it looks good, sharp and
24 # clear in small sizes. However, its unicode glyph coverage is limited, the old
25 # X core fonts rendering does not support right-to-left and this being a bitmap
26 # font, it doesn’t scale on retina/hidpi displays.
27
28 # Use Mouse+$mod to drag floating windows to their wanted position
29 floating_modifier $mod
30
31 # start a terminal
32 bindcode $mod+36 exec i3-sensible-terminal
33
34 # kill focused window
35 bindcode $mod+Shift+24 kill
36
37 # start dmenu (a program launcher)
38 bindcode $mod+40 exec dmenu_run
39 # There also is the (new) i3-dmenu-desktop which only displays applications
40 # shipping a .desktop file. It is a wrapper around dmenu, so you need that
41 # installed.
42 # bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
43
44 # change focus
45 bindcode $mod+44 focus left
46 bindcode $mod+45 focus down
47 bindcode $mod+46 focus up
48 bindcode $mod+47 focus right
49
50 # alternatively, you can use the cursor keys:
51 bindcode $mod+113 focus left
52 bindcode $mod+116 focus down
53 bindcode $mod+111 focus up
54 bindcode $mod+114 focus right
55
56 # move focused window
57 bindcode $mod+Shift+44 move left
58 bindcode $mod+Shift+45 move down
59 bindcode $mod+Shift+46 move up
60 bindcode $mod+Shift+47 move right
61
62 # alternatively, you can use the cursor keys:
63 bindcode $mod+Shift+113 move left
64 bindcode $mod+Shift+116 move down
65 bindcode $mod+Shift+111 move up
66 bindcode $mod+Shift+114 move right
67
68 # split in horizontal orientation
69 bindcode $mod+43 split h
70
71 # split in vertical orientation
72 bindcode $mod+55 split v
73
74 # enter fullscreen mode for the focused container
75 bindcode $mod+41 fullscreen toggle
76
77 # change container layout (stacked, tabbed, toggle split)
78 bindcode $mod+39 layout stacking
79 bindcode $mod+25 layout tabbed
80 bindcode $mod+26 layout toggle split
81
82 # toggle tiling / floating
83 bindcode $mod+Shift+65 floating toggle
84
85 # change focus between tiling / floating windows
86 bindcode $mod+65 focus mode_toggle
87
88 # focus the parent container
89 bindcode $mod+38 focus parent
90
91 # focus the child container
92 #bindsym $mod+d focus child
93
94 # Define names for default workspaces for which we configure key bindings later on.
95 # We use variables to avoid repeating the names in multiple places.
96 set $ws1 "1"
97 set $ws2 "2"
98 set $ws3 "3"
99 set $ws4 "4"
100 set $ws5 "5"
101 set $ws6 "6"
102 set $ws7 "7"
103 set $ws8 "8"
104 set $ws9 "9"
105 set $ws10 "10"
106
107 # switch to workspace
108 bindcode $mod+10 workspace $ws1
109 bindcode $mod+11 workspace $ws2
110 bindcode $mod+12 workspace $ws3
111 bindcode $mod+13 workspace $ws4
112 bindcode $mod+14 workspace $ws5
113 bindcode $mod+15 workspace $ws6
114 bindcode $mod+16 workspace $ws7
115 bindcode $mod+17 workspace $ws8
116 bindcode $mod+18 workspace $ws9
117 bindcode $mod+19 workspace $ws10
118
119 # move focused container to workspace
120 bindcode $mod+Shift+10 move container to workspace $ws1
121 bindcode $mod+Shift+11 move container to workspace $ws2
122 bindcode $mod+Shift+12 move container to workspace $ws3
123 bindcode $mod+Shift+13 move container to workspace $ws4
124 bindcode $mod+Shift+14 move container to workspace $ws5
125 bindcode $mod+Shift+15 move container to workspace $ws6
126 bindcode $mod+Shift+16 move container to workspace $ws7
127 bindcode $mod+Shift+17 move container to workspace $ws8
128 bindcode $mod+Shift+18 move container to workspace $ws9
129 bindcode $mod+Shift+19 move container to workspace $ws10
130
131 # reload the configuration file
132 bindcode $mod+Shift+54 reload
133 # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
134 bindcode $mod+Shift+27 restart
135 # exit i3 (logs you out of your X session)
136 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'"
137
138 # resize window (you can also use the mouse for that)
139 mode "resize" {
140         # These bindings trigger as soon as you enter the resize mode
141
142         # Pressing left will shrink the window’s width.
143         # Pressing right will grow the window’s width.
144         # Pressing up will shrink the window’s height.
145         # Pressing down will grow the window’s height.
146         bindcode 44 resize shrink width 10 px or 10 ppt
147         bindcode 45 resize grow height 10 px or 10 ppt
148         bindcode 46 resize shrink height 10 px or 10 ppt
149         bindcode 47 resize grow width 10 px or 10 ppt
150
151         # same bindings, but for the arrow keys
152         bindcode 113 resize shrink width 10 px or 10 ppt
153         bindcode 116 resize grow height 10 px or 10 ppt
154         bindcode 111 resize shrink height 10 px or 10 ppt
155         bindcode 114 resize grow width 10 px or 10 ppt
156
157         # back to normal: Enter or Escape or $mod+r
158         bindcode 36 mode "default"
159         bindcode 9 mode "default"
160         bindcode $mod+27 mode "default"
161 }
162
163 bindcode $mod+27 mode "resize"
164
165 # Start i3bar to display a workspace bar (plus the system information i3status
166 # finds out, if available)
167 bar {
168         status_command i3status
169 }