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 #383c3e
138set $base02 #53585b
139set $base03 #6f7579
140set $base04 #cdcdcd
141set $base05 #ffffff
142set $base06 #dddddd
143set $base07 #e5e5e5
144set $base08 #d72638
145set $base09 #eb8413
146set $base0A #f19d1a
147set $base0B #88b92d
148set $base0C #1ba595
149set $base0D #1e8bac
150set $base0E #be4264
151set $base0F #c85e0d
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-fill ~/.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"