-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig
326 lines (269 loc) · 11 KB
/
config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
## Copyright (C) 2020-2024 @spaciousejar
##
## i3wm configuration for Archcraft
##
## i3 config file (v4)
##-- Include Config Files ----------------------
## Tilde expands to the user’s home directory:
#include ~/.config/i3/01_theme.conf
## Environment variables are expanded:
#include $HOME/.config/i3/01_theme.conf
## Wildcards are expanded:
include ~/.config/i3/config.d/*.conf
## Command substitution:
#include ~/.config/i3/`hostname`.conf
## i3 changes the working directory while parsing a config file
## so that relative paths are interpreted relative to the directory
## of the config file that contains the path:
#include 01_theme.conf
## To list all loaded configuration files, run `i3 --moreversion`
#------
## Load i3 config files
include ~/.config/i3/config.d/*.conf
## Enable/Disable i3 bar
#include ~/.config/i3/i3status/statusbar.conf
##-- Mod Keys ----------------------------------
set $MOD Mod4
set $ALT Mod1
##-- General Settings --------------------------
## Floating Modifier
##
## To move floating windows with your mouse, you can either grab their titlebar
## or configure the so-called floating modifier which you can then press and click
## anywhere in the window itself to move it.
##
## When holding the floating modifier, you can resize a floating window by pressing
## the right mouse button on it and moving around while holding it.
## If you hold the shift button as well, the resize will be proportional
## (the aspect ratio will be preserved).
floating_modifier $MOD
#------
## Orientation for new workspaces
##
## New workspaces get a reasonable default orientation: Wide-screen monitors
## (anything wider than high) get horizontal orientation, rotated monitors
## (anything higher than wide) get vertical orientation.
##
## Syntax: default_orientation horizontal|vertical|auto
default_orientation auto
#------
## Layout mode for new containers
##
## This option determines in which mode new containers on workspace level will start.
##
## Syntax: workspace_layout default|stacking|tabbed
workspace_layout default
#------
## Window title alignment
##
## This option determines the window title’s text alignment. Default is left
##
## Syntax: title_align left|center|right
title_align center
## Print all window titles in format of 'class | title'
for_window [class=".*"] title_format "%class | %title"
## Enable window icons for all windows
for_window [all] title_window_icon off
## Enable window icons for all windows with extra horizontal padding
#for_window [all] title_window_icon padding 5px
#------
## Default border style for new windows
##
## This option determines which border style new windows will have. The default is `normal`.
## Note that `default_floating_border` applies only to windows which are starting out
## as floating windows, e.g., dialog windows, but not windows that are floated later on.
##
## Setting border style to `pixel` eliminates title bars. The border style `normal`
## allows you to adjust edge border width while keeping your title bar.
##
## Syntax:
#default_border normal|none|pixel
#default_border normal|pixel <px>
#default_floating_border normal|none|pixel
#default_floating_border normal|pixel <px>
#default_border none
default_floating_border none
#------
## Hiding borders adjacent to the screen edges
##
## You can hide container borders adjacent to the screen edges using `hide_edge_borders`
## (the default is none). Hiding borders is useful if you are using scrollbars,
## or do not want to waste even two pixels in displayspace.
##
## The `smart` setting hides borders on workspaces with only one window visible,
## but keeps them on workspaces with multiple windows visible.
##
## The `smart_no_gaps` setting hides edge-specific borders of a container if the
## container is the only container on its workspace and the gaps to the screen edge are 0.
##
## Syntax: hide_edge_borders none|vertical|horizontal|both|smart|smart_no_gaps
hide_edge_borders smart
#------
## Smart borders
##
## Smart borders will draw borders on windows only if there is more than one window
## in a workspace. This feature can also be enabled only if the gap size between
## window and screen edge is 0.
##
## Syntax: smart_borders on|off|no_gaps
#smart_borders on
#------
## Don’t focus window upon opening
##
## When a new window appears, it will be focused. The `no_focus` directive allows
## preventing this from happening and must be used in combination with [command_criteria].
##
## Syntax: no_focus <criteria>
#no_focus [window_role="pop-up"]
#------
## Automatically putting workspaces on specific screens
##
## If you assign clients to workspaces, it might be handy to put the workspaces on
## specific screens. Also, the assignment of workspaces to screens will determine
## which workspace i3 uses for a new screen when adding screens or when starting
## (e.g., by default it will use 1 for the first screen, 2 for the second screen and so on).
##
## Syntax: workspace <workspace> output <output1> [output2]…
##
## The `output` is the name of the RandR output you attach your screen to.
## On a laptop, you might have VGA1 and LVDS1 as output names.
## You can see the available outputs by running `xrandr --current`
#workspace 1 output LVDS1
#workspace 2 output primary
#workspace 5 output VGA1 LVDS1
#workspace "2: vim" output VGA1
#------
## Interprocess communication
##
## i3 uses Unix sockets to provide an IPC interface. This allows third-party programs
## to get information from i3, such as the current workspaces (to display a workspace bar), and to control i3.
##
## You can override the default path through the environment-variable `I3SOCK`
## or by specifying the `ipc-socket` directive.This is discouraged, though,
## since i3 does the right thing by default. If you decide to change it,
## it is strongly recommended to set this to a location in your home directory
## so that no other user can create that directory.
#ipc-socket ~/.i3/i3-ipc.sock
#------
## Focus follows mouse
##
## By default, window focus follows your mouse movements as the mouse crosses window borders.
## However, if you have a setup where your mouse usually is in your way
## (like a touchpad on your laptop which you do not want to disable completely),
## you might want to disable `focus follows mouse` and control focus only by using your keyboard.
## The mouse will still be useful inside the currently active window (for example to click on links in your browser window).
##
## Syntax: focus_follows_mouse yes|no
focus_follows_mouse yes
#------
## Mouse warping
##
## By default, when switching focus to a window on a different output
## (e.g. focusing a window on workspace 3 on output VGA-1, coming from workspace 2 on LVDS-1),
## the mouse cursor is warped to the center of that window.
##
## With the `mouse_warping` option, you can control when the mouse cursor should be warped.
## `none` disables warping entirely, whereas `output` is the default behavior described above.
##
## Syntax: mouse_warping output|none
mouse_warping none
#------
## Popups during fullscreen mode
##
## When you are in fullscreen mode, some applications still open popup windows (take Xpdf for example).
## This is because these applications might not be aware that they are in fullscreen mode
## (they do not check the corresponding hint).
## There are three things which are possible to do in this situation.
##
## Syntax: popup_during_fullscreen smart|ignore|leave_fullscreen
popup_during_fullscreen smart
#------
## Focus wrapping
##
## By default, when in a container with several windows or child containers,
## the opposite window will be focused when trying to move the focus over the edge of
## a container (and there are no other containers in that direction) — the focus wraps.
##
## Syntax: focus_wrapping yes|no|force|workspace
# Disable focus wrapping
#focus_wrapping no
# Force focus wrapping
#focus_wrapping force
#------
## Forcing Xinerama
##
## As explained in-depth in https://i3wm.org/docs/multi-monitor.html, some X11 video
## drivers (especially the nVidia binary driver) only provide support for Xinerama
## instead of RandR. In such a situation, i3 must be told to use the inferior Xinerama
## API explicitly and therefore don’t provide support for reconfiguring your screens
## on the fly (they are read only once on startup and that’s it).
##
## Syntax: force_xinerama yes|no
#force_xinerama yes
#------
## Automatic back-and-forth when switching to the current workspace
##
## This configuration directive enables automatic `workspace back_and_forth`
## when switching to the workspace that is currently focused.
##
## Syntax: workspace_auto_back_and_forth yes|no
workspace_auto_back_and_forth yes
#------
## Delaying urgency hint reset on workspace change
##
## If an application on another workspace sets an urgency hint, switching to this
## workspace might lead to immediate focus of the application, which also means the
## window decoration color would be immediately reset to `client.focused`.
## This might make it unnecessarily hard to tell which window originally raised the event.
##
## In order to prevent this, you can tell i3 to delay resetting the urgency state by
## a certain time using the `force_display_urgency_hint` directive.
## Setting the value to 0 disables this feature. The default is 500ms.
##
## Syntax: force_display_urgency_hint <timeout> ms
force_display_urgency_hint 500 ms
#------
## Focus on window activation
##
## If a window is activated, e.g., via `google-chrome www.google.com`, it may request to take focus.
## Since this might not be preferable, different reactions can be configured.
##
## Note that this might not affect windows that are being opened.
## To prevent new windows from being focused.
##
## Syntax: focus_on_window_activation smart|urgent|focus|none
focus_on_window_activation smart
#------
## Drawing marks on window decoration
##
## If activated, marks on windows are drawn in their window decoration.
## However, any mark starting with an underscore in its name (_) will not be drawn
## even if this option is activated.
##
## The default for this option is yes.
##
## Syntax: show_marks yes|no
show_marks yes
#------
## Tiling drag
##
## You can configure how to initiate the tiling drag feature.
##
## Syntax:
#tiling_drag off
#tiling_drag modifier|titlebar [modifier|titlebar]
tiling_drag modifier titlebar
##-- Autostart ---------------------------------
## Automatically starting applications on i3 startup
##
## By using the `exec` keyword outside a keybinding, you can configure which commands
## will be performed by i3 on initial startup. `exec` commands will not run when
## restarting i3, if you need a command to run also when restarting i3 you should
## use the `exec_always` keyword. These commands will be run in order.
##
## Syntax:
#exec [--no-startup-id] <command>
#exec_always [--no-startup-id] <command>
exec_always --no-startup-id ~/.config/i3/scripts/i3_autostart
## The --no-startup-id parameter disables startup-notification support for this particular exec command.
## With startup-notification, i3 can make sure that a window appears on the workspace on which you used the exec command.