-
Notifications
You must be signed in to change notification settings - Fork 0
/
i3.config
176 lines (137 loc) · 5.49 KB
/
i3.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
# Ant's i3wm config
# Prerequisites: feh rofi darktable thunar gimp pavucontrol vim-gtk firefox alsa-utils i3blocks i3lock
# startup applications
# The background wallpaper is done via a fixed path. This can be a symlink.
set $wallpaper_dir ~/Pictures/Wallpaper
exec feh --bg-scale $wallpaper_dir/1.jpg &
# Capslock becomes a Super key
exec setxkbmap -option caps:super &
# Global modifier key (used all throughout this config).
set $mod Mod4
# Font for window decorations.
# font pango:DejaVu Sans Mono 12
font pango:Iosevka Antibody Regular 12
# Use Mouse+$mod to drag floating windows to their wanted position.
floating_modifier Mod1
# Start a terminal.
bindsym $mod+Return exec i3-sensible-terminal
# Kill focused window.
bindsym Mod1+F4 kill
# Application launchers.
bindsym Mod1+F2 exec rofi -show combi
bindsym Mod1+F3 exec rofi -show combi
bindsym Control+Mod1+d exec darktable
bindsym Control+Mod1+f exec thunar ~
bindsym Control+Mod1+g exec gimp
bindsym Control+Mod1+l exec i3lock
bindsym Control+Mod1+p exec pavucontrol
bindsym Control+Mod1+t exec i3-sensible-terminal
bindsym Control+Mod1+v exec gvim
bindsym Control+Mod1+w exec firefox
# Music and volume control.
bindsym XF86AudioLowerVolume exec amixer -D pulse sset Master 1%-
bindsym XF86AudioRaiseVolume exec amixer -D pulse sset Master 1%+
bindsym XF86AudioMute exec amixer -D pulse sset Master toggle
# Suspend using power management utils.
bindsym Control+Mod1+Delete exec sudo pm-suspend
# Change focus using vim navigation keys.
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
bindsym Mod1+Shift+Tab focus left
bindsym Mod1+Tab focus right
# Alternatively, use the cursor keys.
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# To move (shift) the focused window around, use the mod key, shift, and vim navigation keys.
bindsym $mod+Shift+H move left
bindsym $mod+Shift+J move down
bindsym $mod+Shift+K move up
bindsym $mod+Shift+L move right
# Similarly, you can use the cursor keys for the same thing.
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# Split windows in a horizontal (|) or vertical (-) orientation.
bindsym $mod+backslash split h
bindsym $mod+minus split v
# Fullscreen mode for the focused container.
bindsym $mod+f fullscreen
# Change the container layout (stacked, tabbed, default).
bindsym $mod+d layout default
bindsym $mod+s layout stacking
bindsym $mod+t layout tabbed
# Toggle tiling / floating.
bindsym $mod+space floating toggle
# Move focus up and down the tree.
bindsym $mod+a focus parent
# Switching workspaces.
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10
# Move (shift) focused container to workspace is the same as the above, but with the shift key.
bindsym $mod+Shift+exclam move workspace 1
bindsym $mod+Shift+at move workspace 2
bindsym $mod+Shift+numbersign move workspace 3
bindsym $mod+Shift+dollar move workspace 4
bindsym $mod+Shift+percent move workspace 5
bindsym $mod+Shift+asciicircum move workspace 6
bindsym $mod+Shift+ampersand move workspace 7
bindsym $mod+Shift+asterisk move workspace 8
bindsym $mod+Shift+parenleft move workspace 9
bindsym $mod+Shift+parenright move workspace 10
# Reload the configuration file.
bindsym $mod+Shift+C reload
# Restart i3 in-place (preserves your layout/session, can be used to upgrade i3).
bindsym Control+Mod1+r restart
# Exit i3 (logs you out of your X session).
bindsym Control+Mod1+Q exit
# Toggle between the last workspace you went to with $mod + <workspace>
# and the workspace you're currently in.
workspace_auto_back_and_forth yes
# Resize window (you can also use the mouse for that).
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# They resize the border in the direction you pressed, e.g.
# when pressing left, the window is resized so that it has
# more space on its left
bindsym h resize grow left 10 px or 10 ppt
bindsym Shift+H resize shrink left 10 px or 10 ppt
bindsym j resize grow down 10 px or 10 ppt
bindsym Shift+J resize shrink down 10 px or 10 ppt
bindsym k resize grow up 10 px or 10 ppt
bindsym Shift+K shrink up 10 px or 10 ppt
bindsym l resize grow right 10 px or 10 ppt
bindsym Shift+L resize shrink right 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize grow left 10 px or 10 ppt
bindsym Shift+Left resize grow left 10 px or 10 ppt
bindsym Down resize grow down 10 px or 10 ppt
bindsym Shift+Down resize grow down 10 px or 10 ppt
bindsym Up resize grow up 10 px or 10 ppt
bindsym Shift+Up resize grow up 10 px or 10 ppt
bindsym Right resize grow right 10 px or 10 ppt
bindsym Shift+Right resize grow right 10 px or 10 ppt
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
# The bar at the bottom of the screen. This is done with i3blocks, and requires additional
# scripts to work properly. Get them with the following:
#
# git clone https://github.com/vivien/i3blocks-contrib ~/.config/i3blocks
bar {
status_command i3blocks
}