|
diff --git a/i3config b/i3config
|
|
|
1 |
# This file has been auto-generated by i3-config-wizard(1). |
|
|
2 |
# It will not be overwritten, so edit it as you like. |
|
|
3 |
# |
|
|
4 |
# Should you change your keyboard layout some time, delete |
|
|
5 |
# this file and re-run i3-config-wizard(1). |
|
|
6 |
# |
|
|
7 |
|
|
|
8 |
# i3 config file (v4) |
|
|
9 |
# |
|
|
10 |
# Please see https://i3wm.org/docs/userguide.html for a complete reference! |
|
|
11 |
|
|
|
12 |
set $mod Mod4 |
|
|
13 |
|
|
|
14 |
# Font for window titles. Will also be used by the bar unless a different font |
|
|
15 |
# is used in the bar {} block below. |
|
|
16 |
font pango:monospace 8 |
|
|
17 |
|
|
|
18 |
# This font is widely installed, provides lots of unicode glyphs, right-to-left |
|
|
19 |
# text rendering and scalability on retina/hidpi displays (thanks to pango). |
|
|
20 |
#font pango:DejaVu Sans Mono 8 |
|
|
21 |
|
|
|
22 |
# Start XDG autostart .desktop files using dex. See also |
|
|
23 |
# https://wiki.archlinux.org/index.php/XDG_Autostart |
|
|
24 |
exec --no-startup-id dex-autostart --autostart --environment i3 |
|
|
25 |
|
|
|
26 |
# The combination of xss-lock, nm-applet and pactl is a popular choice, so |
|
|
27 |
# they are included here as an example. Modify as you see fit. |
|
|
28 |
|
|
|
29 |
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the |
|
|
30 |
# screen before suspend. Use loginctl lock-session to lock your screen. |
|
|
31 |
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork |
|
|
32 |
|
|
|
33 |
# NetworkManager is the most popular way to manage wireless networks on Linux, |
|
|
34 |
# and nm-applet is a desktop environment-independent system tray GUI for it. |
|
|
35 |
exec --no-startup-id nm-applet |
|
|
36 |
|
|
|
37 |
# Use pactl to adjust volume in PulseAudio. |
|
|
38 |
set $refresh_i3status killall -SIGUSR1 i3status |
|
|
39 |
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status |
|
|
40 |
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status |
|
|
41 |
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status |
|
|
42 |
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status |
|
|
43 |
|
|
|
44 |
# Use Mouse+$mod to drag floating windows to their wanted position |
|
|
45 |
floating_modifier $mod |
|
|
46 |
|
|
|
47 |
# start a terminal |
|
|
48 |
# bindsym $mod+Return exec i3-sensible-terminal |
|
|
49 |
bindsym $mod+Return exec st |
|
|
50 |
|
|
|
51 |
# kill focused window |
|
|
52 |
bindsym $mod+Shift+q kill |
|
|
53 |
|
|
|
54 |
# start dmenu (a program launcher) |
|
|
55 |
bindsym $mod+d exec --no-startup-id "dmenu_run -nf '#BBBBBB' -nb '#222222' -sb '#005577' -sf '#EEEEEE' -fn 'monospace-10'" |
|
|
56 |
# A more modern dmenu replacement is rofi: |
|
|
57 |
# bindcode $mod+40 exec "rofi -modi drun,run -show drun" |
|
|
58 |
# There also is i3-dmenu-desktop which only displays applications shipping a |
|
|
59 |
# .desktop file. It is a wrapper around dmenu, so you need that installed. |
|
|
60 |
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop |
|
|
61 |
|
|
|
62 |
# change focus |
|
|
63 |
bindsym $mod+j focus left |
|
|
64 |
bindsym $mod+k focus down |
|
|
65 |
bindsym $mod+l focus up |
|
|
66 |
bindsym $mod+semicolon focus right |
|
|
67 |
|
|
|
68 |
# alternatively, you can use the cursor keys: |
|
|
69 |
bindsym $mod+Left focus left |
|
|
70 |
bindsym $mod+Down focus down |
|
|
71 |
bindsym $mod+Up focus up |
|
|
72 |
bindsym $mod+Right focus right |
|
|
73 |
|
|
|
74 |
# move focused window |
|
|
75 |
bindsym $mod+Shift+j move left |
|
|
76 |
bindsym $mod+Shift+k move down |
|
|
77 |
bindsym $mod+Shift+l move up |
|
|
78 |
bindsym $mod+Shift+semicolon move right |
|
|
79 |
|
|
|
80 |
# alternatively, you can use the cursor keys: |
|
|
81 |
bindsym $mod+Shift+Left move left |
|
|
82 |
bindsym $mod+Shift+Down move down |
|
|
83 |
bindsym $mod+Shift+Up move up |
|
|
84 |
bindsym $mod+Shift+Right move right |
|
|
85 |
|
|
|
86 |
# split in horizontal orientation |
|
|
87 |
bindsym $mod+h split h |
|
|
88 |
|
|
|
89 |
# split in vertical orientation |
|
|
90 |
bindsym $mod+v split v |
|
|
91 |
|
|
|
92 |
# enter fullscreen mode for the focused container |
|
|
93 |
bindsym $mod+f fullscreen toggle |
|
|
94 |
|
|
|
95 |
# change container layout (stacked, tabbed, toggle split) |
|
|
96 |
bindsym $mod+s layout stacking |
|
|
97 |
bindsym $mod+w layout tabbed |
|
|
98 |
bindsym $mod+e layout toggle split |
|
|
99 |
|
|
|
100 |
# toggle tiling / floating |
|
|
101 |
bindsym $mod+Shift+space floating toggle |
|
|
102 |
|
|
|
103 |
# change focus between tiling / floating windows |
|
|
104 |
bindsym $mod+space focus mode_toggle |
|
|
105 |
|
|
|
106 |
# focus the parent container |
|
|
107 |
bindsym $mod+a focus parent |
|
|
108 |
|
|
|
109 |
# focus the child container |
|
|
110 |
#bindsym $mod+d focus child |
|
|
111 |
|
|
|
112 |
# Define names for default workspaces for which we configure key bindings later on. |
|
|
113 |
# We use variables to avoid repeating the names in multiple places. |
|
|
114 |
set $ws1 "1" |
|
|
115 |
set $ws2 "2" |
|
|
116 |
set $ws3 "3" |
|
|
117 |
set $ws4 "4" |
|
|
118 |
set $ws5 "5" |
|
|
119 |
set $ws6 "6" |
|
|
120 |
set $ws7 "7" |
|
|
121 |
set $ws8 "8" |
|
|
122 |
set $ws9 "9" |
|
|
123 |
set $ws10 "10" |
|
|
124 |
|
|
|
125 |
# switch to workspace |
|
|
126 |
bindsym $mod+1 workspace number $ws1 |
|
|
127 |
bindsym $mod+2 workspace number $ws2 |
|
|
128 |
bindsym $mod+3 workspace number $ws3 |
|
|
129 |
bindsym $mod+4 workspace number $ws4 |
|
|
130 |
bindsym $mod+5 workspace number $ws5 |
|
|
131 |
bindsym $mod+6 workspace number $ws6 |
|
|
132 |
bindsym $mod+7 workspace number $ws7 |
|
|
133 |
bindsym $mod+8 workspace number $ws8 |
|
|
134 |
bindsym $mod+9 workspace number $ws9 |
|
|
135 |
bindsym $mod+0 workspace number $ws10 |
|
|
136 |
|
|
|
137 |
# move focused container to workspace |
|
|
138 |
bindsym $mod+Shift+1 move container to workspace number $ws1 |
|
|
139 |
bindsym $mod+Shift+2 move container to workspace number $ws2 |
|
|
140 |
bindsym $mod+Shift+3 move container to workspace number $ws3 |
|
|
141 |
bindsym $mod+Shift+4 move container to workspace number $ws4 |
|
|
142 |
bindsym $mod+Shift+5 move container to workspace number $ws5 |
|
|
143 |
bindsym $mod+Shift+6 move container to workspace number $ws6 |
|
|
144 |
bindsym $mod+Shift+7 move container to workspace number $ws7 |
|
|
145 |
bindsym $mod+Shift+8 move container to workspace number $ws8 |
|
|
146 |
bindsym $mod+Shift+9 move container to workspace number $ws9 |
|
|
147 |
bindsym $mod+Shift+0 move container to workspace number $ws10 |
|
|
148 |
|
|
|
149 |
# reload the configuration file |
|
|
150 |
bindsym $mod+Shift+c reload |
|
|
151 |
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) |
|
|
152 |
bindsym $mod+Shift+r restart |
|
|
153 |
# exit i3 (logs you out of your X session) |
|
|
154 |
bindsym $mod+Shift+e 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'" |
|
|
155 |
|
|
|
156 |
# resize window (you can also use the mouse for that) |
|
|
157 |
mode "resize" { |
|
|
158 |
# These bindings trigger as soon as you enter the resize mode |
|
|
159 |
|
|
|
160 |
# Pressing left will shrink the window’s width. |
|
|
161 |
# Pressing right will grow the window’s width. |
|
|
162 |
# Pressing up will shrink the window’s height. |
|
|
163 |
# Pressing down will grow the window’s height. |
|
|
164 |
bindsym j resize shrink width 10 px or 10 ppt |
|
|
165 |
bindsym k resize grow height 10 px or 10 ppt |
|
|
166 |
bindsym l resize shrink height 10 px or 10 ppt |
|
|
167 |
bindsym semicolon resize grow width 10 px or 10 ppt |
|
|
168 |
|
|
|
169 |
# same bindings, but for the arrow keys |
|
|
170 |
bindsym Left resize shrink width 10 px or 10 ppt |
|
|
171 |
bindsym Down resize grow height 10 px or 10 ppt |
|
|
172 |
bindsym Up resize shrink height 10 px or 10 ppt |
|
|
173 |
bindsym Right resize grow width 10 px or 10 ppt |
|
|
174 |
|
|
|
175 |
# back to normal: Enter or Escape or $mod+r |
|
|
176 |
bindsym Return mode "default" |
|
|
177 |
bindsym Escape mode "default" |
|
|
178 |
bindsym $mod+r mode "default" |
|
|
179 |
} |
|
|
180 |
|
|
|
181 |
bindsym $mod+r mode "resize" |
|
|
182 |
|
|
|
183 |
# class border bground text indicator child_border |
|
|
184 |
client.focused #222222 #222222 #FFFFFF #222222 #222222 |
|
|
185 |
client.focused_inactive #111111 #111111 #FFFFFF #111111 #111111 |
|
|
186 |
client.unfocused #111111 #111111 #FFFFFF #111111 #111111 |
|
|
187 |
client.urgent #900000 #900000 #FFFFFF #900000 #900000 |
|
|
188 |
client.placeholder #111111 #111111 #FFFFFF #111111 #111111 |
|
|
189 |
|
|
|
190 |
client.background #FFFFFF |
|
|
191 |
|
|
|
192 |
# Start i3bar to display a workspace bar (plus the system information i3status |
|
|
193 |
# finds out, if available) |
|
|
194 |
bar { |
|
|
195 |
position top |
|
|
196 |
colors { |
|
|
197 |
background #000000 |
|
|
198 |
statusline #FFFFFF |
|
|
199 |
separator #000000 |
|
|
200 |
|
|
|
201 |
focused_workspace #CCCCCC #CCCCCC #000000 |
|
|
202 |
active_workspace #222222 #222222 #FFFFFF |
|
|
203 |
inactive_workspace #222222 #222222 #888888 |
|
|
204 |
urgent_workspace #900000 #900000 #FFFFFF |
|
|
205 |
binding_mode #900000 #900000 #FFFFFF |
|
|
206 |
} |
|
|
207 |
status_command i3status |
|
|
208 |
} |
|
|
209 |
|
|
|
210 |
focus_follows_mouse no |
|
|
211 |
|