-
-
Notifications
You must be signed in to change notification settings - Fork 6
/
config
180 lines (153 loc) · 7.22 KB
/
config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
# i3 config file (v4)
set $mod Mod4
set $up l
set $down k
set $left j
set $right semicolon
set $term vbeterm
set $mediaplayer spotify
set $borderpx 3
font pango:Iosevka Aile 9
# style and colors
default_border pixel $borderpx
default_floating_border pixel $borderpx
# class border backgr. text indicator child_border
client.focused #cc5c00 #cc5c00 #ffffff #ee9c31 #cc5c00
client.focused_inactive #5f676a #5f676a #ffffff #484e50 #5f676a
client.unfocused #222222 #222222 #888888 #292d2e #222222
client.urgent #d00000 #d00000 #ffffff #d00000 #d00000
client.placeholder #0c0c0c #0c0c0c #ffffff #000000 #0c0c0c
client.background #ffffff
# gaps
gaps inner 10
# smart_gaps on
# audio
bindsym XF86AudioRaiseVolume exec --no-startup-id exec pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym $mod+Up exec --no-startup-id exec pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym XF86AudioLowerVolume exec --no-startup-id exec pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym $mod+Down exec --no-startup-id exec pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym XF86AudioMute exec --no-startup-id exec ~/.config/i3/bin/toggle-mute sink
bindsym XF86AudioMicMute exec --no-startup-id exec ~/.config/i3/bin/toggle-mute source
bindsym XF86AudioPlay exec --no-startup-id exec playerctl -p $mediaplayer play-pause
bindsym $mod+Left exec --no-startup-id exec playerctl -p $mediaplayer play-pause
bindsym XF86AudioPause exec --no-startup-id exec playerctl -p $mediaplayer pause
bindsym XF86AudioStop exec --no-startup-id exec playerctl -p $mediaplayer stop
bindsym XF86AudioNext exec --no-startup-id exec playerctl -p $mediaplayer next
bindsym $mod+Right exec --no-startup-id exec playerctl -p $mediaplayer next
bindsym XF86AudioPrev exec --no-startup-id exec playerctl -p $mediaplayer previous
bindsym $mod+s exec --no-startup-id exec ~/.config/i3/bin/rofi-mediaplayer $mediaplayer
# brightness
bindsym XF86MonBrightnessUp exec --no-startup-id exec brightnessctl -q set +5%
bindsym XF86MonBrightnessDown exec --no-startup-id exec brightnessctl -q set 5%-
# use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
floating_minimum_size 55 x 30
# start a terminal
bindsym $mod+Return exec exec $term
# kill focused window
bindsym $mod+x kill
# execute command
set $rofi exec rofi -modi drun -show drun -show-icons -drun-match-fields name
bindsym $mod+r exec --no-startup-id $rofi
bindsym XF86LaunchA exec --no-startup-id $rofi
# change focus
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
focus_follows_mouse no
# move focused window
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
bindsym $mod+o move container to output next ; focus output next
# resize focused window
bindsym $mod+Ctrl+$left resize shrink width 10 px or 4 ppt
bindsym $mod+Ctrl+$down resize grow height 10 px or 4 ppt
bindsym $mod+Ctrl+$up resize shrink height 10 px or 4 ppt
bindsym $mod+Ctrl+$right resize grow width 10 px or 4 ppt
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
bindsym $mod+Shift+f fullscreen toggle global
# change container layout (tabbed, toggle split)
bindsym $mod+w layout toggle splitv splith tabbed
bindsym $mod+v split toggle
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# toggle sticky
bindsym $mod+period sticky toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# default workspace layout: tabbed
workspace_layout tabbed
# switch to workspace
bindsym $mod+1 workspace number 1
bindsym $mod+2 workspace number 2
bindsym $mod+3 workspace number 3
bindsym $mod+4 workspace number 4
bindsym $mod+5 workspace number 5
bindsym $mod+6 workspace number 6
bindsym $mod+7 workspace number 7
bindsym $mod+8 workspace number 8
bindsym $mod+9 workspace number 9
bindsym $mod+0 workspace number 10
bindsym $mod+Tab nop "previous-workspace"
bindsym $mod+Ctrl+o focus output next
bindsym $mod+n nop "new-workspace"
focus_wrapping no
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number 1
bindsym $mod+Shift+2 move container to workspace number 2
bindsym $mod+Shift+3 move container to workspace number 3
bindsym $mod+Shift+4 move container to workspace number 4
bindsym $mod+Shift+5 move container to workspace number 5
bindsym $mod+Shift+6 move container to workspace number 6
bindsym $mod+Shift+7 move container to workspace number 7
bindsym $mod+Shift+8 move container to workspace number 8
bindsym $mod+Shift+9 move container to workspace number 9
bindsym $mod+Shift+0 move container to workspace number 10
bindsym $mod+Shift+o move workspace to output next
bindsym $mod+Ctrl+Shift+o nop "move-all-workspaces-to-next-output"
bindsym $mod+Shift+n nop "move-to-new-workspace"
# lock screen
bindsym XF86ScreenSaver exec --no-startup-id exec loginctl lock-session
bindsym $mod+Delete exec --no-startup-id exec loginctl lock-session
# print screen
bindsym Print exec --no-startup-id exec ~/.config/i3/bin/screenshot window
bindsym $mod+Print exec --no-startup-id exec ~/.config/i3/bin/screenshot desktop
bindsym $mod+F12 exec --no-startup-id exec ~/.config/i3/bin/screenshot window
# Quake window
bindsym $mod+grave nop "quake-console:$term:QuakeConsole:0.3"
# get info about container/workspace
bindsym $mod+i nop "container-info"
bindsym $mod+Shift+i nop "workspace-info"
# random rules
no_focus [window_type="splash"]
for_window [tiling] border pixel $borderpx
for_window [class="Nm-connection-editor"] floating enable
for_window [class="Shadow"] fullscreen enable
for_window [window_role="PictureInPicture"] floating enable, resize set 1280 720
for_window [class="pavucontrol"] floating enable
# Firefox sharing indicator
for_window [floating_from="auto" title="Firefox — Sharing Indicator"] border none, sticky enable, move position 15 ppt -5 px
no_focus [floating_from="auto" title="Firefox — Sharing Indicator"]
# Chromium sharing indicator
for_window [floating_from="auto" title=" is sharing your screen.$"] border none, sticky enable, move position 15 ppt -5 px
no_focus [floating_from="auto" title=" is sharing your screen.$"]
# Jitsi sharing indicator
for_window [floating_from="auto" title="Screen Sharing Tracker" instance="jitsi meet"] border none, sticky enable, move position 15 ppt -5 px
no_focus [floating_from="auto" title="Screen Sharing Tracker" instance="jitsi meet"]
# Zoom (😱?)
for_window [class="^zoom$" title="^Zoom($|\s)"] floating disable, border pixel $borderpx
for_window [class="^zoom$" title="^zoom"] floating enable, border none
no_focus [class="^zoom$" title="^zoom"]
# start stuff
exec_always --no-startup-id exec systemctl --user start --no-block i3-session.target
exec --no-startup-id exec i3-msg "\
workspace number 1; append_layout ~/.config/i3/ws-emacs.json; exec exec emacs; exec exec $term; exec exec $term; \
workspace number 2; exec nm-online -q -t 5 && exec firefox; \
workspace number 3; exec test -d ~/.thunderbird && exec thunderbird; \
workspace number 1"