+4
-3
config/foot/foot.ini
+4
-3
config/foot/foot.ini
+32
-3
config/kak/kakrc
+32
-3
config/kak/kakrc
···
41
41
set-option buffer lsp_servers %{
42
42
[ruff]
43
43
args = [ "server", "--quiet" ]
44
-
root_globs = [ "requirements.txt", "setup.py", "pyproject.toml", ".git" ]
44
+
root_globs = [ "requirements.txt", "setup.py", "pyproject.toml", "uv.lock", ".git" ]
45
45
settings_section = "_"
46
46
# [ruff.settings._.globalSettings]
47
+
[ty]
48
+
args = [ "server" ]
49
+
root_globs = [ "requirements.txt", "setup.py", "pyproject.toml", "uv.lock", ".git" ]
47
50
}
48
51
}
49
52
···
53
56
root_globs = [ ".git" ]
54
57
settings_section = "tinymist"
55
58
[tinymist.settings.tinymist]
56
-
outputPath = "/tmp/tinymist/$root/$dir/$name"
59
+
outputPath = "$root/_preview/$dir/$name"
57
60
fontPaths = [ "./assets/fonts" ]
58
61
formatterMode = "typstyle"
62
+
typstExtraArgs = [ "--features=html" ]
59
63
}
60
64
}
61
65
···
130
134
}
131
135
}
132
136
137
+
# Run command
138
+
define-command -params 1.. -command-completion -file-completion -docstring \
139
+
"Run a command and show the output the *m-run* scratch buffer" \
140
+
m-run %{
141
+
try %{ delete-buffer! *m-run* }
142
+
edit -scratch *m-run*
143
+
execute-keys "!%arg{@}<ret>jd"
144
+
}
145
+
146
+
# Run command from selection
147
+
define-command -docstring \
148
+
"Run a command from a selection and show the output the *m-run-select* scratch buffer" \
149
+
m-run-select %{
150
+
declare-option -hidden str m_select_command %val{selection}
151
+
try %{ delete-buffer! *m-run-select* }
152
+
edit -scratch *m-run-select*
153
+
execute-keys "!%opt{m_select_command}<ret>jd"
154
+
}
155
+
133
156
# Keybinds
134
157
## User
135
158
map global user c ':comment-line<ret>' -docstring 'comment line'
···
137
160
map global user f ':try format catch lsp-formatting<ret>' -docstring 'Run formatcmd or lsp formatter'
138
161
map global user p '!wl-paste<ret>' -docstring 'Paste from System Clipboard (Wayland)'
139
162
map global user y '<a-|>wl-copy<ret>' -docstring 'Copy to System Clipboard (Wayland)'
163
+
map global user . ':source ".kakrc.local"<ret>' -docstring 'Load the kakrc file in the current directory'
164
+
map global user r ':m-run-select<ret>' -docstring 'Run the selected command'
140
165
141
166
# Set termcmd
142
167
hook global ModuleLoaded wayland %{
···
179
204
}
180
205
181
206
# Filetype specific options
182
-
hook global WinSetOption filetype=(css|html|java|javascript|markdown|nix|typst|xml|yaml) %{
207
+
hook global WinSetOption filetype=(css|html|java|javascript|markdown|meson|nix|typst|xml|yaml) %{
183
208
m-whitespace spaces 2
184
209
}
185
210
186
211
hook global WinSetOption filetype=erlang %{
187
212
set-option buffer formatcmd "erlfmt -"
188
213
m-whitespace spaces 4
214
+
}
215
+
216
+
hook global WinSetOption filetype=css %{
217
+
set-option buffer formatcmd "prettier --parser css"
189
218
}
190
219
191
220
hook global WinSetOption filetype=html %{
+1
-2
config/kanshi/config
+1
-2
config/kanshi/config
···
2
2
output "AOC 2460G4 0x0000075E" {
3
3
mode 1920x1080@144Hz
4
4
position 0,0
5
-
adaptive_sync off
5
+
adaptive_sync on
6
6
}
7
7
output "BNQ BenQ PD2700U ET87K04288SL0" {
8
8
mode 3840x2160@60Hz
···
13
13
output "LG Electronics LG HDR WFHD 0x0000B11B" {
14
14
mode 2560x1080@75Hz
15
15
position 640,1080
16
-
adaptive_sync on
17
16
}
18
17
}
-1
config/mpv/mpv.conf
-1
config/mpv/mpv.conf
+87
-207
config/river/init.roc
+87
-207
config/river/init.roc
···
1
1
#!/usr/bin/env roc
2
-
app [main!] { pf: platform "https://github.com/roc-lang/basic-cli/releases/download/0.19.0/Hj-J_zxz7V9YurCSTFcFdu6cQJie4guzsPMUi5kBYUk.tar.br" }
2
+
app [main!] { pf: platform "https://github.com/roc-lang/basic-cli/releases/download/0.20.0/X73hGh05nNTkDHU06FHC0YfFaQB1pimX7gncRcao5mU.tar.br" }
3
3
4
4
# TODO: Create a platform that interfaces directly with the river wayland protocol
5
5
# TODO: Check for a cli argument to determine if the autostart commands should be run
6
6
7
7
import pf.Cmd
8
-
import pf.Env
9
8
import pf.Stdout
10
9
import pf.Stderr
11
10
11
+
tag_to_rtag = |num|
12
+
Num.shift_left_by 1 (num - 1)
13
+
|> Num.to_str
14
+
12
15
named_tag_to_rtag = |tag_name|
13
16
when tag_name is
14
17
One -> tag_to_rtag 1
···
20
23
Seven -> tag_to_rtag 7
21
24
Eight -> tag_to_rtag 8
22
25
Nine -> tag_to_rtag 9
23
-
KeePassXC -> tag_to_rtag 10
24
-
Nautilus -> tag_to_rtag 11
25
-
Thunderbird -> tag_to_rtag 12
26
-
All -> (Num.shift_left_by 1 32) - 1
26
+
Discord -> tag_to_rtag 10
27
+
Games -> tag_to_rtag 11
28
+
Hide -> tag_to_rtag 12
29
+
KeePassXC -> tag_to_rtag 13
30
+
Nautilus -> tag_to_rtag 14
31
+
Signal -> tag_to_rtag 15
32
+
Steam -> tag_to_rtag 16
33
+
Thunderbird -> tag_to_rtag 17
34
+
All -> Num.to_str ((Num.shift_left_by 1 32) - 1)
27
35
28
-
autostart! = |{}|
29
-
home = Env.decode! "HOME" ?? "/"
36
+
autostart = [
37
+
"systemctl --user start river-session-pre.target",
38
+
"update-session-vars",
39
+
"systemctl --user start river-session.target",
40
+
"kanshi",
41
+
"xrandr --output HDMI-A-5 --primary",
42
+
"rivertile -outer-padding 0 -view-padding 0 -main-ratio 0.5",
43
+
"swaybg -i /media/nextcloud/wallpapers/dark/evie-s-Pb1KFv4tauY-unsplash.jpg -m fill",
44
+
]
30
45
31
-
[
32
-
"systemctl --user start river-session-pre.target",
33
-
"update-session-vars",
34
-
"systemctl --user start river-session.target",
35
-
"kanshi",
36
-
"rivertile -outer-padding 0 -view-padding 0 -main-ratio 0.5",
37
-
Str.replace_each "swaybg -i $HOME/pic/wallpapers/dark/evie-s-Pb1KFv4tauY-unsplash.jpg -m fill" "$HOME" home,
38
-
]
46
+
autostart_apps = [
47
+
"keepassxc",
48
+
"org.mozilla.Thunderbird",
49
+
]
39
50
40
51
configurations = [
52
+
{ option: "allow-tearing", args: ["enabled"] },
41
53
{ option: "border-color-focused", args: ["0x93a1a1"] },
42
54
{ option: "border-color-unfocused", args: ["0x586e75"] },
55
+
{ option: "border-width", args: ["0"] },
43
56
{ option: "focus-follows-cursor", args: ["normal"] },
44
57
{ option: "set-cursor-warp", args: ["on-output-change"] },
45
58
{ option: "xcursor-theme", args: ["Adwaita", "24"] },
46
-
{
47
-
option: "input",
48
-
args: [
49
-
"pointer-1356-3570-Sony_Interactive_Entertainment_DualSense_Edge_Wireless_Controller_Touchpad",
50
-
"events",
51
-
"disabled",
52
-
],
53
-
},
59
+
{ option: "input", args: ["pointer-1356-3570-Sony_Interactive_Entertainment_DualSense_Edge_Wireless_Controller_Touchpad", "events", "disabled"] },
60
+
{ option: "input", args: ["pointer-4660-22136-extest_fake_device", "map-to-output", "HDMI-A-5"] },
54
61
]
55
62
56
63
rules = [
64
+
{ id: "discord", title: "", action: "output", args: ["AOC 2460G4 0x0000075E"] },
65
+
{ id: "discord", title: "", action: "tags", args: [named_tag_to_rtag Discord] },
57
66
{ id: "org.gnome.Nautilus", title: "", action: "float", args: [] },
58
-
{ id: "org.gnome.Nautilus", title: "", action: "tags", args: [Num.to_str (named_tag_to_rtag Nautilus)] },
59
-
{ id: "org.gnome.Nautilus", title: "", action: "float", args: [] },
67
+
{ id: "org.gnome.Nautilus", title: "", action: "tags", args: [named_tag_to_rtag Nautilus] },
68
+
{ id: "org.keepassxc.KeePassXC", title: "", action: "csd", args: [] },
60
69
{ id: "org.keepassxc.KeePassXC", title: "", action: "float", args: [] },
61
-
{
62
-
id: "org.keepassxc.KeePassXC",
63
-
title: "KeyChain.kdbx [Locked] - KeePassXC",
64
-
action: "tags",
65
-
args: [Num.to_str (named_tag_to_rtag KeePassXC)],
66
-
},
67
-
{ id: "org.mozilla.Thunderbird", title: "", action: "tags", args: [Num.to_str (named_tag_to_rtag Thunderbird)] },
70
+
{ id: "org.keepassxc.KeePassXC", title: "KeyChain.kdbx [Locked] - KeePassXC", action: "output", args: ["LG Electronics LG HDR WFHD 0x0000B11B"] },
71
+
{ id: "org.keepassxc.KeePassXC", title: "KeyChain.kdbx [Locked] - KeePassXC", action: "tags", args: [named_tag_to_rtag KeePassXC] },
72
+
{ id: "org.mozilla.Thunderbird", title: "", action: "output", args: ["LG Electronics LG HDR WFHD 0x0000B11B"] },
73
+
{ id: "org.mozilla.Thunderbird", title: "", action: "tags", args: [named_tag_to_rtag Thunderbird] },
74
+
{ id: "signal", title: "", action: "output", args: ["AOC 2460G4 0x0000075E"] },
75
+
{ id: "signal", title: "", action: "tags", args: [named_tag_to_rtag Signal] },
76
+
{ id: "steam", title: "", action: "output", args: ["LG Electronics LG HDR WFHD 0x0000B11B"] },
77
+
{ id: "steam", title: "", action: "tags", args: [named_tag_to_rtag Steam] },
78
+
{ id: "steam_app_*", title: "", action: "output", args: ["LG Electronics LG HDR WFHD 0x0000B11B"] },
79
+
{ id: "steam_app_*", title: "", action: "tags", args: [named_tag_to_rtag Games] },
68
80
]
69
81
70
82
modes = [
···
80
92
tag_binds =
81
93
List.range { start: At(1), end: At(9) }
82
94
|> List.map(
83
-
|tag_num| [
84
-
{
85
-
mode: "normal",
86
-
mods: [Super],
87
-
key: Num.to_str tag_num,
88
-
cmd: "toggle-focused-tags",
89
-
args: [Num.to_str (tag_to_rtag tag_num)],
90
-
},
91
-
{
92
-
mode: "normal",
93
-
mods: [Super, Shift],
94
-
key: Num.to_str tag_num,
95
-
cmd: "toggle-view-tags",
96
-
args: [Num.to_str (tag_to_rtag tag_num)],
97
-
},
98
-
{
99
-
mode: "normal",
100
-
mods: [Super, Control],
101
-
key: Num.to_str tag_num,
102
-
cmd: "set-focused-tags",
103
-
args: [Num.to_str (tag_to_rtag tag_num)],
104
-
},
105
-
{
106
-
mode: "normal",
107
-
mods: [Super, Shift, Control],
108
-
key: Num.to_str tag_num,
109
-
cmd: "set-view-tags",
110
-
args: [Num.to_str (tag_to_rtag tag_num)],
111
-
},
112
-
],
95
+
|tag|
96
+
tag_str = Num.to_str tag
97
+
[
98
+
{ mode: "normal", mods: [Super], key: tag_str, cmd: "toggle-focused-tags", args: [tag_to_rtag tag] },
99
+
{ mode: "normal", mods: [Super, Shift], key: tag_str, cmd: "toggle-view-tags", args: [tag_to_rtag tag] },
100
+
{ mode: "normal", mods: [Super, Control], key: tag_str, cmd: "set-focused-tags", args: [tag_to_rtag tag] },
101
+
{ mode: "normal", mods: [Super, Shift, Control], key: tag_str, cmd: "set-view-tags", args: [tag_to_rtag tag] },
102
+
],
113
103
)
114
104
|> List.join
115
105
|> List.concat [
116
106
# Show all tags
117
-
{
118
-
mode: "normal",
119
-
mods: [Super],
120
-
key: "0",
121
-
cmd: "set-focused-tags",
122
-
args: [Num.to_str (named_tag_to_rtag All)],
123
-
},
124
-
{
125
-
mode: "normal",
126
-
mods: [Super, Shift],
127
-
key: "0",
128
-
cmd: "set-view-tags",
129
-
args: [Num.to_str (named_tag_to_rtag All)],
130
-
},
107
+
{ mode: "normal", mods: [Super], key: "0", cmd: "set-focused-tags", args: [named_tag_to_rtag All] },
108
+
{ mode: "normal", mods: [Super, Shift], key: "0", cmd: "set-view-tags", args: [named_tag_to_rtag All] },
109
+
]
110
+
|> List.concat [
111
+
# Hide applications
112
+
{ mode: "normal", mods: [Super], key: "H", cmd: "set-view-tags", args: [named_tag_to_rtag Hide] },
113
+
{ mode: "normal", mods: [Super, Control], key: "H", cmd: "set-focused-tags", args: [named_tag_to_rtag Hide] },
131
114
]
115
+
116
+
special_tag_binds = |named_tag, key| [
117
+
{ mode: "special-tags", mods: [None], key: key, cmd: "toggle-focused-tags", args: [named_tag_to_rtag named_tag] },
118
+
{ mode: "special-tags", mods: [Shift], key: key, cmd: "toggle-view-tags", args: [named_tag_to_rtag named_tag] },
119
+
{ mode: "special-tags", mods: [Control], key: key, cmd: "set-focused-tags", args: [named_tag_to_rtag named_tag] },
120
+
{ mode: "special-tags", mods: [Shift, Control], key: key, cmd: "set-view-tags", args: [named_tag_to_rtag named_tag] },
121
+
]
132
122
133
123
keybinds = [
134
124
# Launch Applications
···
147
137
{ mode: "normal", mods: [Super, Alt], key: "X", cmd: "focus-output", args: ["previous"] },
148
138
{ mode: "normal", mods: [Super, Control], key: "X", cmd: "send-to-output", args: ["next"] },
149
139
{ mode: "normal", mods: [Super, Control, Alt], key: "X", cmd: "send-to-output", args: ["previous"] },
150
-
{
151
-
mode: "normal",
152
-
mods: [Super, Shift, Control],
153
-
key: "X",
154
-
cmd: "send-to-output",
155
-
args: ["-current-tags", "next"],
156
-
},
157
-
{
158
-
mode: "normal",
159
-
mods: [Super, Shift, Control, Alt],
160
-
key: "X",
161
-
cmd: "send-to-output",
162
-
args: ["-current-tags", "previous"],
163
-
},
140
+
{ mode: "normal", mods: [Super, Shift, Control], key: "X", cmd: "send-to-output", args: ["-current-tags", "next"] },
141
+
{ mode: "normal", mods: [Super, Shift, Control, Alt], key: "X", cmd: "send-to-output", args: ["-current-tags", "previous"] },
164
142
165
143
# Exit River
166
144
{ mode: "normal", mods: [Super, Control], key: "Escape", cmd: "exit", args: [] },
···
178
156
{ mode: "normal", mods: [Super], key: "Down", cmd: "send-layout-cmd", args: ["rivertile", "main-location bottom"] },
179
157
{ mode: "normal", mods: [Super], key: "Right", cmd: "send-layout-cmd", args: ["rivertile", "main-location right"] },
180
158
{ mode: "normal", mods: [Super], key: "Bracketleft", cmd: "send-layout-cmd", args: ["rivertile", "main-count -1"] },
181
-
{
182
-
mode: "normal",
183
-
mods: [Super],
184
-
key: "Bracketright",
185
-
cmd: "send-layout-cmd",
186
-
args: ["rivertile", "main-count +1"],
187
-
},
188
-
{
189
-
mode: "normal",
190
-
mods: [Super, Control],
191
-
key: "Bracketleft",
192
-
cmd: "send-layout-cmd",
193
-
args: ["rivertile", "main-ratio -0.05"],
194
-
},
195
-
{
196
-
mode: "normal",
197
-
mods: [Super, Control],
198
-
key: "Bracketright",
199
-
cmd: "send-layout-cmd",
200
-
args: ["rivertile", "main-ratio +0.05"],
201
-
},
159
+
{ mode: "normal", mods: [Super], key: "Bracketright", cmd: "send-layout-cmd", args: ["rivertile", "main-count +1"] },
160
+
{ mode: "normal", mods: [Super, Control], key: "Bracketleft", cmd: "send-layout-cmd", args: ["rivertile", "main-ratio -0.05"] },
161
+
{ mode: "normal", mods: [Super, Control], key: "Bracketright", cmd: "send-layout-cmd", args: ["rivertile", "main-ratio +0.05"] },
202
162
{ mode: "normal", mods: [Super], key: "Space", cmd: "zoom", args: [] },
203
163
{ mode: "normal", mods: [Super], key: "Comma", cmd: "focus-view", args: ["previous"] },
204
164
{ mode: "normal", mods: [Super], key: "Period", cmd: "focus-view", args: ["next"] },
···
212
172
# Special Tags Mode
213
173
{ mode: "normal", mods: [Super], key: "G", cmd: "enter-mode", args: ["special-tags"] },
214
174
{ mode: "special-tags", mods: [None], key: "Escape", cmd: "enter-mode", args: ["normal"] },
215
-
216
-
# KeePassXC Tag
217
-
{
218
-
mode: "special-tags",
219
-
mods: [None],
220
-
key: "K",
221
-
cmd: "toggle-focused-tags",
222
-
args: [Num.to_str (named_tag_to_rtag KeePassXC)],
223
-
},
224
-
{
225
-
mode: "special-tags",
226
-
mods: [Shift],
227
-
key: "K",
228
-
cmd: "toggle-view-tags",
229
-
args: [Num.to_str (named_tag_to_rtag KeePassXC)],
230
-
},
231
-
{
232
-
mode: "special-tags",
233
-
mods: [Control],
234
-
key: "K",
235
-
cmd: "set-focused-tags",
236
-
args: [Num.to_str (named_tag_to_rtag KeePassXC)],
237
-
},
238
-
{
239
-
mode: "special-tags",
240
-
mods: [Shift, Control],
241
-
key: "K",
242
-
cmd: "set-view-tags",
243
-
args: [Num.to_str (named_tag_to_rtag KeePassXC)],
244
-
},
245
-
246
-
# Thunderbird Tag
247
-
{
248
-
mode: "special-tags",
249
-
mods: [None],
250
-
key: "T",
251
-
cmd: "toggle-focused-tags",
252
-
args: [Num.to_str (named_tag_to_rtag Thunderbird)],
253
-
},
254
-
{
255
-
mode: "special-tags",
256
-
mods: [Shift],
257
-
key: "T",
258
-
cmd: "toggle-view-tags",
259
-
args: [Num.to_str (named_tag_to_rtag Thunderbird)],
260
-
},
261
-
{
262
-
mode: "special-tags",
263
-
mods: [Control],
264
-
key: "T",
265
-
cmd: "set-focused-tags",
266
-
args: [Num.to_str (named_tag_to_rtag Thunderbird)],
267
-
},
268
-
{
269
-
mode: "special-tags",
270
-
mods: [Shift, Control],
271
-
key: "T",
272
-
cmd: "set-view-tags",
273
-
args: [Num.to_str (named_tag_to_rtag Thunderbird)],
274
-
},
275
-
276
-
# Nautilus Tag
277
-
{
278
-
mode: "special-tags",
279
-
mods: [None],
280
-
key: "N",
281
-
cmd: "toggle-focused-tags",
282
-
args: [Num.to_str (named_tag_to_rtag Nautilus)],
283
-
},
284
-
{
285
-
mode: "special-tags",
286
-
mods: [Shift],
287
-
key: "N",
288
-
cmd: "toggle-view-tags",
289
-
args: [Num.to_str (named_tag_to_rtag Nautilus)],
290
-
},
291
-
{
292
-
mode: "special-tags",
293
-
mods: [Control],
294
-
key: "N",
295
-
cmd: "set-focused-tags",
296
-
args: [Num.to_str (named_tag_to_rtag Nautilus)],
297
-
},
298
-
{
299
-
mode: "special-tags",
300
-
mods: [Shift, Control],
301
-
key: "N",
302
-
cmd: "set-view-tags",
303
-
args: [Num.to_str (named_tag_to_rtag Nautilus)],
304
-
},
305
175
]
306
176
307
-
tag_to_rtag = |num|
308
-
Num.shift_left_by 1 (num - 1)
309
-
310
177
mod_str = |mod|
311
178
when mod is
312
179
Control -> "Control"
···
325
192
result =
326
193
Cmd.new "riverctl"
327
194
|> Cmd.args elem
328
-
|> Cmd.status!
195
+
|> Cmd.exec_exit_code!
329
196
330
197
when result is
331
198
Ok exit_code if exit_code == 0 -> Ok {}
···
334
201
335
202
main! = |_args|
336
203
autostart_cmds! =
337
-
autostart! {}
204
+
autostart
205
+
|> List.map |cmd|
206
+
["spawn", cmd]
207
+
208
+
autostart_apps_cmds =
209
+
autostart_apps
338
210
|> List.map |cmd|
339
211
["spawn", cmd]
340
212
···
367
239
368
240
keybind_cmds =
369
241
tag_binds
242
+
|> List.concat (special_tag_binds Discord "D")
243
+
|> List.concat (special_tag_binds Games "G")
244
+
|> List.concat (special_tag_binds KeePassXC "K")
245
+
|> List.concat (special_tag_binds Nautilus "N")
246
+
|> List.concat (special_tag_binds Signal "M")
247
+
|> List.concat (special_tag_binds Steam "S")
248
+
|> List.concat (special_tag_binds Thunderbird "T")
370
249
|> List.concat keybinds
371
250
|> List.map |{ mode, mods, key, cmd, args }|
372
251
["map", mode, Str.join_with (List.map mods mod_str) "+", key, cmd]
···
378
257
|> List.concat mode_cmds
379
258
|> List.concat pointer_bind_cmds
380
259
|> List.concat keybind_cmds
260
+
|> List.concat autostart_apps_cmds
381
261
|> riverctl_runner!
config/sioyek/keys_user.config
config/sioyek/keys_user.config
This is a binary file and will not be displayed.
+9
config/sioyek/prefs_user.config
+9
config/sioyek/prefs_user.config
···
1
+
check_for_updates_on_startup 0
2
+
show_statusbar_only_when_hovered 1
3
+
4
+
case_sensitive_search 0
5
+
6
+
text_highlight_color 0.8196078431372549 0.6784313725490196 0.9490196078431372
7
+
search_highlight_color 0.6509803921568628 0.7294117647058823 0.9607843137254902
8
+
9
+
ui_font IBM Plex Mono
+1
config/thm/templates/light/foot-colors.ini.template
+1
config/thm/templates/light/foot-colors.ini.template
+1
-1
config/thm/templates/mako.template
+1
-1
config/thm/templates/mako.template
+2
-2
config/xdg-desktop-portal-wlr/config
+2
-2
config/xdg-desktop-portal-wlr/config
+1
config/zathura/zathurarc
+1
config/zathura/zathurarc
···
1
+
set guioptions none
+35
local/bin/typp
+35
local/bin/typp
···
1
+
#!/bin/sh
2
+
set -e
3
+
4
+
file=$1
5
+
if [ "$file" = "typ" ] || [ "${file##*.}" != "typ" ] || [ ! -e "$file" ]
6
+
then
7
+
printf '%s\n' "Missing typst file"
8
+
exit 1
9
+
fi
10
+
11
+
pdf="${1%.typ}.pdf"
12
+
13
+
# Generate a blank PDF document so sioyek doesn't segfault
14
+
magick convert xc:none -page A4 "$pdf"
15
+
16
+
# typst watch "$file" > /dev/null 2>&1 &
17
+
typst watch "$file" &
18
+
typst_pid="$!"
19
+
20
+
sioyek "$pdf" > /dev/null 2>&1 &
21
+
sioyek_pid="$!"
22
+
23
+
kill_children() {
24
+
kill $typst_pid
25
+
kill $sioyek_pid
26
+
exit
27
+
}
28
+
29
+
trap kill_children EXIT
30
+
31
+
while inotifywait -e close_write,moved_to,create -qq "$pdf"
32
+
do sioyek --execute-command reload_no_flicker > /dev/null 2>&1
33
+
done
34
+
35
+
kill_children
+7
-2
ssh/config
+7
-2
ssh/config
···
1
1
Host lily
2
-
HostName 100.77.30.206
2
+
HostName 2600:1702:1730:76f0:7285:c2ff:fe07:3c7b
3
+
BindAddress 2600:1702:1730:76f0:dabb:c1ff:fea3:8843
3
4
Port 2222
4
5
SetEnv TERM=xterm-256color
5
-
Host lily-local
6
+
Host lily-v4
6
7
HostName 192.168.1.92
8
+
Port 2222
9
+
SetEnv TERM=xterm-256color
10
+
Host lily-nb
11
+
HostName 100.77.30.206
7
12
Port 2222
8
13
SetEnv TERM=xterm-256color
9
14
Host dandelion