i3/config (view raw)
1# _ _____ _____
2# (_)__ / _________ ____ / __(_)___ _
3# / / /_ < / ___/ __ \/ __ \/ /_/ / __ `/
4# / /___/ / / /__/ /_/ / / / / __/ / /_/ /
5#/_//____/ \___/\____/_/ /_/_/ /_/\__, /
6# /____/
7
8
9
10set $mod Mod4
11
12# set fonts in funky way
13font pango: SF Mono SemiBold 13
14for_window [class=".*"] title_format "<span font='SF Mono SemiBold 11'> › %title</span>"
15floating_modifier $mod
16for_window [class="^.*"] border 1
17for_window [class="Firefox"] border none
18for_window [class="Discord"] border none
19
20# start a terminal
21bindsym $mod+Return exec urxvtc
22
23# kill focused window
24bindsym $mod+Shift+q kill
25
26# lock the screen
27bindsym $mod+Ctrl+l exec ~/bin/lock.sh
28
29# start rofi (an alternative to dmenu)
30bindsym $mod+d exec "rofi -show run"
31
32# disable title bar
33new_window normal 0
34
35# change focus
36bindsym $mod+h focus left
37bindsym $mod+j focus down
38bindsym $mod+k focus up
39bindsym $mod+l focus right
40
41# alternatively, you can use the cursor keys:
42bindsym $mod+Left focus left
43bindsym $mod+Down focus down
44bindsym $mod+Up focus up
45bindsym $mod+Right focus right
46
47# move focused window
48bindsym $mod+Shift+h move left
49bindsym $mod+Shift+j move down
50bindsym $mod+Shift+k move up
51bindsym $mod+Shift+l move right
52
53# alternatively, you can use the cursor keys:
54bindsym $mod+Shift+Left move left
55bindsym $mod+Shift+Down move down
56bindsym $mod+Shift+Up move up
57bindsym $mod+Shift+Right move right
58
59# split in horizontal orientation
60bindsym $mod+g split h
61
62# split in vertical orientation
63bindsym $mod+v split v
64
65# enter fullscreen mode for the focused container
66bindsym $mod+f fullscreen toggle
67
68# change container layout (stacked, tabbed, toggle split)
69bindsym $mod+s layout stacking
70bindsym $mod+w layout tabbed
71bindsym $mod+e layout toggle split
72
73# toggle tiling / floating
74bindsym $mod+Shift+space floating toggle
75
76# change focus between tiling / floating windows
77bindsym $mod+space focus mode_toggle
78
79# focus the parent container
80bindsym $mod+a focus parent
81
82# focus the child container
83bindsym $mod+x focus child
84
85# switch to workspace
86bindsym $mod+1 workspace 1
87bindsym $mod+2 workspace 2
88bindsym $mod+3 workspace 3
89bindsym $mod+4 workspace 4
90bindsym $mod+5 workspace 5
91bindsym $mod+6 workspace 6
92bindsym $mod+7 workspace 7
93bindsym $mod+8 workspace 8
94bindsym $mod+9 workspace 9
95
96
97# move focused container to workspace
98bindsym $mod+Shift+1 move container to workspace 1
99bindsym $mod+Shift+2 move container to workspace 2
100bindsym $mod+Shift+3 move container to workspace 3
101bindsym $mod+Shift+4 move container to workspace 4
102bindsym $mod+Shift+5 move container to workspace 5
103bindsym $mod+Shift+6 move container to workspace 6
104bindsym $mod+Shift+7 move container to workspace 7
105bindsym $mod+Shift+8 move container to workspace 8
106bindsym $mod+Shift+9 move container to workspace 9
107
108
109
110# reload the configuration file
111bindsym $mod+Shift+c reload
112# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
113bindsym $mod+Shift+r restart
114
115# resize window (you can also use the mouse for that)
116mode "resize" {
117 bindsym h resize shrink width 15 px or 15 ppt
118 bindsym j resize grow height 15 px or 15 ppt
119 bindsym k resize shrink height 15 px or 15 ppt
120 bindsym l resize grow width 15 px or 15 ppt
121
122 # same bindings, but for the arrow keys
123 bindsym Left resize shrink width 10 px or 10 ppt
124 bindsym Down resize grow height 10 px or 10 ppt
125 bindsym Up resize shrink height 10 px or 10 ppt
126 bindsym Right resize grow width 10 px or 10 ppt
127
128 # back to normal: Enter or Escape
129 bindsym Return mode "default"
130 bindsym Escape mode "default"
131}
132
133bindsym $mod+r mode "resize"
134
135# colors
136set $base00 #111111
137set $base01 #303030
138set $base02 #353535
139set $base03 #4A4A4A
140set $base04 #B2CCD6
141set $base05 #FFFFFF
142set $base06 #EEFFFF
143set $base07 #FFFFFF
144set $base08 #F07178
145set $base09 #F78C6C
146set $base0A #FDF200
147set $base0B #13CA91
148set $base0C #00FECA
149set $base0D #7898FB
150set $base0E #FF2079
151set $base0F #FF5370
152
153# Property Name Border BG Text Indicator Child Border
154client.focused $base05 $base05 $base00 $base05 $base05
155client.focused_inactive $base01 $base01 $base05 $base03 $base01
156client.unfocused $base00 $base00 $base05 $base03 $base01
157client.urgent $base08 $base08 $base00 $base08 $base08
158client.placeholder $base00 $base00 $base05 $base00 $base00
159client.background $base07
160# smart_gaps on
161# smart_borders on
162
163# executions
164exec xrdb -load ~/.Xresources
165exec compton &
166exec xautolock -time 7 -locker ~/bin/lock.sh
167exec_always --no-startup-id ~/bin/bar.sh
168exec feh --bg-tile ~/.wall
169exec_always --no-startup-id ~/.local/bin/flashfocus
170exec_always dunst
171exec_always redshift &
172exec --no-startup-id udiskie -ans &
173
174# cycle workspaces
175bindsym $mod+Tab workspace back_and_forth
176bindsym $mod+q workspace next
177
178# rofi-pass
179bindsym $mod+p exec "rofi-pass"
180
181# volume controls
182bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5%
183bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5%
184bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle
185
186# brightness controls
187bindsym XF86MonBrightnessUp exec xbacklight -inc 5
188bindsym XF86MonBrightnessDown exec xbacklight -dec 5
189
190# media player controls
191bindsym XF86AudioPlay exec playerctl play
192bindsym XF86AudioPause exec playerctl pause
193bindsym XF86AudioNext exec playerctl next
194bindsym XF86AudioPrev exec playerctl previous
195
196# screenshot
197bindsym Print exec scr
198bindsym Ctrl+Print exec "scr -w"
199bindsym Ctrl+Shift+Print exec "scr -s"