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: Fira Sans Medium 14
14for_window [class=".*"] title_format "<span font='Fira Sans Medium 12'> > %title</span>"
15# Use Mouse+$mod to drag floating windows to their wanted position
16floating_modifier $mod
17
18# start a terminal
19bindsym $mod+Return exec urxvtc
20#for_window [class="URxvt"] floating enable
21
22# kill focused window
23bindsym $mod+Shift+q kill
24
25# lock the screen
26bindsym $mod+Ctrl+l exec ~/bin/lock.sh
27
28# start rofi (an alternative to dmenu)
29bindsym $mod+d exec "rofi -show run"
30
31# disable title bar
32#new_window pixel 2
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# Name the workspaces
86set $tag1 1:""
87set $tag2 2:""
88set $tag3 3:""
89set $tag4 4:""
90set $tag5 5:""
91
92
93# switch to workspace
94bindsym $mod+1 workspace $tag1
95bindsym $mod+2 workspace $tag2
96bindsym $mod+3 workspace $tag3
97bindsym $mod+4 workspace $tag4
98bindsym $mod+5 workspace $tag5
99
100
101# move focused container to workspace
102bindsym $mod+Shift+1 move container to workspace $tag1
103bindsym $mod+Shift+2 move container to workspace $tag2
104bindsym $mod+Shift+3 move container to workspace $tag3
105bindsym $mod+Shift+4 move container to workspace $tag4
106bindsym $mod+Shift+5 move container to workspace $tag5
107
108
109# reload the configuration file
110bindsym $mod+Shift+c reload
111# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
112bindsym $mod+Shift+r restart
113
114# resize window (you can also use the mouse for that)
115mode "resize" {
116 # These bindings trigger as soon as you enter the resize mode
117
118 # Pressing left will shrink the window’s width.
119 # Pressing right will grow the window’s width.
120 # Pressing up will shrink the window’s height.
121 # Pressing down will grow the window’s height.
122 bindsym j resize shrink width 10 px or 10 ppt
123 bindsym k resize grow height 10 px or 10 ppt
124 bindsym l resize shrink height 10 px or 10 ppt
125 bindsym semicolon resize grow width 10 px or 10 ppt
126
127 # same bindings, but for the arrow keys
128 bindsym Left resize shrink width 10 px or 10 ppt
129 bindsym Down resize grow height 10 px or 10 ppt
130 bindsym Up resize shrink height 10 px or 10 ppt
131 bindsym Right resize grow width 10 px or 10 ppt
132
133 # back to normal: Enter or Escape
134 bindsym Return mode "default"
135 bindsym Escape mode "default"
136}
137
138# assign windows to workspaces
139
140assign [class="Steam"] $tag4
141assign [class="Battle.net.exe"] $tag5
142assign [class="firefox"] $tag1
143assign [class="spotify"] $tag3
144
145# selectively enable floating
146
147for_window [class="Steam"] floating enable
148for_window [class="Keybase"] floating enable
149for_window [class="Battle.net.exe"] floating enable
150
151bindsym $mod+r mode "resize"
152
153## colors
154
155set $base00 #2f1e2e
156set $base01 #41323f
157set $base02 #4f424c
158set $base03 #776e71
159set $base04 #8d8687
160set $base05 #a39e9b
161set $base06 #b9b6b0
162set $base07 #e7e9db
163set $base08 #ef6155
164set $base09 #f99b15
165set $base0A #fec418
166set $base0B #48b685
167set $base0C #5bc4bf
168set $base0D #06b6ef
169set $base0E #815ba4
170set $base0F #e96ba8
171
172# Basic color configuration using the Base16 variables for windows and borders.
173# Property Name Border BG Text Indicator Child Border
174client.focused $base05 $base05 $base00 $base05 $base05
175client.focused_inactive $base01 $base01 $base05 $base03 $base01
176client.unfocused $base00 $base00 $base05 $base03 $base01
177client.urgent $base08 $base08 $base00 $base08 $base08
178client.placeholder $base00 $base00 $base05 $base00 $base00
179client.background $base07
180smart_gaps on
181smart_borders on
182
183
184# executions
185exec xrdb -load ~/.Xresources
186exec compton &
187exec xautolock -time 7 -locker lock &
188exec killall -q xfce4-notifyd
189exec_always --no-startup-id ~/bin/bar.sh
190exec xrdb .Xresources
191exec feh --bg-fill ~/.wallpaper/wall.jpg
192exec xautolock -time 5 -locker ~/scripts/lock.sh
193exec urxvtd &
194exec xset -b
195
196# cycle workspaces
197bindsym $mod+Tab workspace back_and_forth
198bindsym $mod+q workspace next