-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsway.conf
240 lines (192 loc) · 7.76 KB
/
sway.conf
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
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
set $mod Mod4
################################################################################
# Basic window management
################################################################################
# Change focus.
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the 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
# Kill the focused window.
bindsym $mod+Shift+q kill
# Enter fullscreen mode for the focused window.
bindsym $mod+f fullscreen toggle
# Split in horizontal/vertical orientation.
bindsym $mod+h splith
bindsym $mod+v splitv
# Toggle the current focus between tiling and floating mode.
bindsym $mod+Shift+space floating toggle
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# Change focus between tiling / floating windows.
bindsym $mod+space focus mode_toggle
################################################################################
# Workspaces
################################################################################
# We use variables to avoid repeating the names in multiple places.
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
# Switch to workspace.
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10
bindsym $mod+bracketleft workspace prev
bindsym $mod+bracketright workspace next
# Move workspace to the next/prev monitor.
bindsym $mod+Ctrl+Right move workspace to output right
bindsym $mod+Ctrl+Left move workspace to output left
# Move focused container to workspace.
bindsym $mod+Shift+1 move container to workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws10
################################################################################
# Resizing
################################################################################
mode "R" {
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "R"
################################################################################
# Style
################################################################################
default_border pixel 1
gaps inner 5
gaps outer 5
# CLASS BORDER BACKGROUND TEXT INDICATOR CHILD_BORDER
client.focused #EB5E28 #252422 #EB5E28 #2e9ef4 #EB5E28
client.focused_inactive #FFFCF2 #252422 #EB5E28 #484e50 #FFFCF2
client.unfocused #403D39 #252422 #EB5E28 #292d2e #403D39
client.urgent #2f343a #252422 #EB5E28 #900000 #2f343a
client.placeholder #FFFCF2 #252422 #EB5E28 #000000 #FFFCF2
client.background #403D39
################################################################################
# Bar
################################################################################
bar {
swaybar_command waybar
}
################################################################################
# Input configuration
################################################################################
input type:touchpad {
dwt enabled
tap enabled
natural_scroll enabled
middle_emulation enabled
accel_profile adaptive
pointer_accel 0.2
}
input type:keyboard {
xkb_layout "us,rs,rs"
xkb_variant ",latin,"
xkb_options "grp:win_space_toggle"
# Remap caps to super.
xkb_options "caps:super"
}
################################################################################
# Keyboard shortucts
################################################################################
# Show launcher menu.
bindsym $mod+d exec ~/configs/menu.py RUN
# Show power options.
bindsym $mod+Shift+e exec ~/configs/menu.py POWER
# Lock screen.
bindsym $mod+l exec ~/configs/power.sh LOCK
# Start a terminal.
bindsym $mod+Return exec kitty
# Reload the configuration file
bindsym $mod+Shift+r reload
# Launch the browser.
set $b1 google-chrome
set $b2 google-chrome-stable
set $b3 brave
set $b4 firefox
bindsym $mod+c exec which $b1 && $b1 || ( \
which $b2 && $b2 || ( \
which $b3 && $b3 || ( \
$b4 \
) \
) \
)
# Pulse Audio controls.
bindsym XF86AudioRaiseVolume exec --no-startup-id wpctl set-volume -l 1.5 \
@DEFAULT_AUDIO_SINK@ 5%+
bindsym XF86AudioLowerVolume exec --no-startup-id wpctl set-volume \
@DEFAULT_AUDIO_SINK@ 5%-
bindsym XF86AudioMute exec --no-startup-id wpctl set-mute \
@DEFAULT_AUDIO_SINK@ toggle
# Sreen brightness controls.
bindsym XF86MonBrightnessUp exec light -A 5
bindsym XF86MonBrightnessDown exec light -U 5
# Dock
bindsym $mod+p exec ~/configs/screens.py INTERNAL_OFF
bindsym $mod+Shift+p exec ~/configs/screens.py INTERNAL_90CCW
# Extra sortcuts for thigns already accessible through the bar.
bindsym $mod+Shift+b exec ~/configs/menu.py BLUETOOTH
bindsym $mod+Shift+m exec ~/configs/menu.py AUDIOSINK
bindsym $mod+Shift+n exec ~/configs/menu.py WIFI
################################################################################
# Screens
################################################################################
# Default wallpaper.
output * bg ~/configs/wallpaper.jpg fill
# Monitor setup.
exec ~/configs/screens.py DEFAULT
################################################################################
# Idle
################################################################################
exec swayidle -w \
timeout 900 '~/configs/power.sh LOCK' \
timeout 1200 'swaymsg "output * dpms off"' \
resume 'swaymsg "output * dpms on"' \
before-sleep '~/configs/power.sh LOCK' \
lock '~/configs/power.sh LOCK'
################################################################################
# Startup
################################################################################
# TODO: Not needed anymore?
# exec mako
# TODO: Not needed anymore?
# exec bash -c "ssh-agent -s -a $SSH_AUTH_SOCK"
exec [[ -f ~/configs/arch_setup_uninitialized ]] && \
~/configs/arch_setup.sh --mode POST_SETUP
exec [[ -f ~/configs/nixos_setup_uninitialized ]] && \
~/configs/nixos_setup.sh --mode POST_SETUP
################################################################################
include /etc/sway/config.d/*