1set $mod Mod4
2
3font pango:Berkeley Mono Bold 7
4exec --no-startup-id dex --autostart --environment i3
5exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork --color 000000
6set $refresh_i3status killall -SIGUSR1 i3status
7
8# Keybinds
9bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
10bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
11bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
12bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
13bindsym $mod+bracketright exec --no-startup-id pats -t
14bindsym $mod+m exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle
15bindsym $mod+l exec --no-startup-id i3lock --nofork --color 000000
16bindsym $mod+z exec --no-startup-id xmagnify -s 1000 -z 3
17bindsym $mod+p exec --no-startup-id "rofi -show drun -theme ~/.black.rasi"
18bindsym $mod+grave exec --no-startup-id "maim -s | xclip -selection clipboard -t image/png"
19
20# Use Mouse+$mod to drag floating windows to their wanted position
21floating_modifier $mod
22tiling_drag modifier titlebar
23
24# start a terminal
25bindsym $mod+Return exec st -f "Berkeley Mono:style=Bold:size=10" -g 110x60
26
27# kill focused window
28bindsym $mod+Shift+q kill
29
30# change focus
31bindsym $mod+Left focus left
32bindsym $mod+Down focus down
33bindsym $mod+Up focus up
34bindsym $mod+Right focus right
35
36# move focused window
37bindsym $mod+Shift+j move left
38bindsym $mod+Shift+k move down
39bindsym $mod+Shift+l move up
40bindsym $mod+Shift+semicolon move right
41
42# alternatively, you can use the cursor keys:
43bindsym $mod+Shift+Left move left 100 px
44bindsym $mod+Shift+Down move down 100 px
45bindsym $mod+Shift+Up move up 100 px
46bindsym $mod+Shift+Right move right 100 px
47
48# split in horizontal orientation
49bindsym $mod+h split h
50
51# split in vertical orientation
52bindsym $mod+v split v
53
54# enter fullscreen mode for the focused container
55bindsym $mod+f fullscreen toggle
56
57# change container layout (stacked, tabbed, toggle split)
58bindsym $mod+s layout stacking
59bindsym $mod+w layout tabbed
60bindsym $mod+e layout toggle split
61
62# toggle tiling / floating
63bindsym $mod+Shift+space floating toggle
64
65# change focus between tiling / floating windows
66bindsym $mod+space focus mode_toggle
67
68# focus the parent container
69bindsym $mod+a focus parent
70
71# focus the child container
72bindsym $mod+d focus child
73
74# Define names for default workspaces for which we configure key bindings later on.
75# We use variables to avoid repeating the names in multiple places.
76set $ws1 "1"
77set $ws2 "2"
78set $ws3 "3"
79set $ws4 "4"
80set $ws5 "5"
81set $ws6 "6"
82set $ws7 "7"
83set $ws8 "8"
84set $ws9 "9"
85set $ws10 "10"
86
87# switch to workspace
88bindsym $mod+1 workspace number $ws1
89bindsym $mod+2 workspace number $ws2
90bindsym $mod+3 workspace number $ws3
91bindsym $mod+4 workspace number $ws4
92bindsym $mod+5 workspace number $ws5
93bindsym $mod+6 workspace number $ws6
94bindsym $mod+7 workspace number $ws7
95bindsym $mod+8 workspace number $ws8
96bindsym $mod+9 workspace number $ws9
97bindsym $mod+0 workspace number $ws10
98
99# move focused container to workspace
100bindsym $mod+Shift+1 move container to workspace number $ws1
101bindsym $mod+Shift+2 move container to workspace number $ws2
102bindsym $mod+Shift+3 move container to workspace number $ws3
103bindsym $mod+Shift+4 move container to workspace number $ws4
104bindsym $mod+Shift+5 move container to workspace number $ws5
105bindsym $mod+Shift+6 move container to workspace number $ws6
106bindsym $mod+Shift+7 move container to workspace number $ws7
107bindsym $mod+Shift+8 move container to workspace number $ws8
108bindsym $mod+Shift+9 move container to workspace number $ws9
109bindsym $mod+Shift+0 move container to workspace number $ws10
110
111# reload the configuration file
112bindsym $mod+Shift+c reload
113# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
114bindsym $mod+Shift+r restart
115# exit i3 (logs you out of your X session)
116bindsym $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'"
117
118# resize window (you can also use the mouse for that)
119mode "resize" {
120 # same bindings, but for the arrow keys
121 bindsym Left resize shrink width 10 px or 10 ppt
122 bindsym Down resize grow height 10 px or 10 ppt
123 bindsym Up resize shrink height 10 px or 10 ppt
124 bindsym Right resize grow width 10 px or 10 ppt
125
126 # back to normal: Enter or Escape or $mod+r
127 bindsym Return mode "default"
128 bindsym Escape mode "default"
129 bindsym $mod+r mode "default"
130}
131
132bindsym $mod+r mode "resize"
133
134# No title bars
135for_window [class="^.*"] border pixel 2
136
137# Do not follow mouse for focus
138focus_follows_mouse no
139
140set $primary #c3b091
141set $secondary #ff4500
142set $dark #333333
143set $light #ffffff
144
145# Start i3bar to display a workspace bar (plus the system information i3status
146# finds out, if available)
147bar {
148 status_command i3status
149 position top
150 colors {
151 background #000000
152 separator #191919
153 # border background text
154 focused_workspace $primary $primary $dark
155 inactive_workspace $dark $dark $light
156 urgent_workspace $secondary $secondary $light
157
158 }
159}
160
161# border background text indicator
162client.focused $primary $primary $light $light
163client.unfocused $dark $dark $light $light
164client.focused_inactive $dark $dark $light $light
165client.urgent $secondary $secondary $light $light
166
167# Workspaces with only floating windows
168for_window [workspace="^(1|5)$"] floating enable
169
170# Expections for opening in floating mode where XSetClassHint is set to floating
171for_window [class="^(floating|mpv|SimpleScreenRecorder|Thunar|transmission|Xmagnify)$"] floating enable
172for_window [title="^(Stalag|game)$"] floating enable