summaryrefslogtreecommitdiff
path: root/.config/sway/config
blob: bb74739378930e7622be620b6fad551d76d0b126 (plain)
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
241
exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK
exec hash dbus-update-activation-environment 2>/dev/null && \
     dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK

### Variables

include colors

set $mod Mod4

set $left n
set $down e
set $up i
set $right o

set $term kitty

set $menu rofi -show drun | xargs swaymsg exec --

### Output configuration

output "AOC Q27G1WG4 0x00020A32" mode 2560x1440@143.912Hz
output "Dell Inc. DELL S2725DS HVJ3PB4" mode 2560x1440@99.946Hz pos 0 0
output "BOE 0x0BCA Unknown" scale 1.25 pos 2560 0

output "*" background $HOME/Pictures/wallpapers/$wallpaper fill
output eDP-1 background $HOME/Pictures/wallpapers/bea/$wallpaper fill

### Idle configuration

exec swayidle \
    timeout 300 'swaylock' \
    timeout 600 'swaymsg "output * dpms off"' \
        resume 'swaymsg "output * dpms on"' \
    before-sleep 'swaylock --grace 0'


### Input configuration

input type:touchpad {
    dwt enabled
    natural_scroll enabled
    middle_emulation enabled
}

input type:touch {
    map_to_output eDP-1
}

input type:tablet_tool {
    map_to_output eDP-1
}

### Key bindings

# Basics:

bindsym $mod+Return exec $term

bindsym $mod+Shift+q kill

bindsym $mod+s exec $menu

floating_modifier $mod normal

bindsym $mod+Shift+d reload

bindsym $mod+Shift+f exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'

bindsym $mod+q exec dunstctl close
bindsym $mod+m exec dunstctl context

# Moving around:

bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right

bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right

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+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right

# Workspaces:

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+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+Tab workspace next
bindsym $mod+Shift+Tab workspace prev

# Layout stuff:

bindsym $mod+h splith
bindsym $mod+v splitv

bindsym $mod+r layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+f layout toggle split

bindsym $mod+t fullscreen

bindsym $mod+Shift+space floating toggle
bindsym $mod+space focus mode_toggle
bindsym $mod+a focus parent
bindsym $mod+Shift+a focus child

# Scratchpad:

bindsym $mod+Shift+minus move scratchpad
bindsym $mod+minus scratchpad show

# Resizing containers:

mode "resize" {
    bindsym $left resize shrink width 40px
    bindsym $down resize shrink height 40px
    bindsym $up resize grow height 40px
    bindsym $right resize grow width 40px

    bindsym Left resize shrink width 40px
    bindsym Down resize shrink height 40px
    bindsym Up resize grow height 40px
    bindsym Right resize grow width 40px

    bindsym Return mode "default"
    bindsym Escape mode "default"
}
bindsym $mod+p mode "resize"

# Media controls:

bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle

bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous

bindsym XF86MonBrightnessUp exec brightnessctl set +5%
bindsym XF86MonBrightnessDown exec brightnessctl set 5%-

# Launchers:

bindsym $mod+b exec zen-browser
bindsym $mod+x exec xournalpp
bindsym $mod+c exec lectern open
bindsym $mod+d exec notepicker $HOME/nextcloud/escritoire/notepad
bindsym $mod+g exec audiopicker
bindsym $mod+j exec kitty --app-id 'ration' bash -i ration
bindsym $mod+Shift+t exec kitty --app-id 'float'
bindsym $mod+Shift+c exec kitty --app-id 'numbat' numbat
bindsym $mod+Shift+g exec feh -Z -F -B black /home/josh/Pictures/game.png
bindsym $mod+Shift+w exec wallpicker

bindsym Print exec grim -g "$(slurp)" - | wl-copy -t image/png
bindsym $mod+Print exec grim -g "$(slurp)" $HOME/Pictures/screenshots/$(date +%F_%T | tr ':' '-').png

### Appearance

# target                 title    bg          text        indicator border
client.focused           $color12 $color12    $background $color12  $color12
client.focused_inactive  $color0  $color0     $foreground 00000000  00000000
client.unfocused         $color0  $color0     $foreground 00000000  00000000
client.urgent            $color13 $background $color13    00000000  $color13
client.placeholder       $color8  $background $foreground 00000000  $color8
client.background        $background

font pango:Lilex Nerd Font 10

gaps inner 10px
gaps outer 0px

title_align center
default_border pixel

force_display_urgency_hint 1500

### Applications

# Configurations

for_window [app_id="float"] floating enable; resize set 50 ppt 50 ppt
for_window [app_id="numbat"] floating enable; resize set 40 ppt 35 ppt
for_window [app_id="xoppdoggin"] floating enable; resize set 90 ppt 90 ppt
for_window [app_id="wallpicker"] floating enable; resize set 90 ppt 90 ppt
for_window [app_id="ration"] floating enable; resize set 600 350
for_window [class="Inkscape"] floating enable; resize set 90 ppt 90 ppt
for_window [class="vimscape"] floating enable; resize set 30 ppt 25 ppt; move down 300; move left 550

assign [class="^discord"] workspace number 8
assign [class="^Slack"] workspace number 8
assign [app_id="^thunderbird"] workspace number 8
assign [class="^feishin"] workspace number 9
assign [app_id="keepassxc"] workspace number 10

# Launch on startup

bar swaybar_command waybar

exec --no-startup-id dex -ae sway

exec dunst
exec keepassxc
exec feishin
exec gammastep
exec rat reset

include /etc/sway/config.d/*