Skip to content

Commit acab35f

Browse files
committed
final touches
1 parent b273cef commit acab35f

File tree

2 files changed

+91
-59
lines changed

2 files changed

+91
-59
lines changed

docs/slides/custom.tape

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,10 @@ Sleep 1s
3939
Type "i" Backspace
4040
Type "lnav" Enter
4141
Sleep 1s
42-
Type "navigation_keybindings: " Tab
42+
Type "navigation_" Sleep 1s Tab Sleep 2s
43+
Enter
4344
Sleep 2s
44-
Sleep 1s Escape
45+
Escape
4546
Ctrl+N
4647
Type ":wq" Enter
4748

@@ -50,25 +51,25 @@ Ctrl+N
5051
Sleep 1s
5152
Ctrl+Q
5253
Sleep 1s
53-
Type "isd" Enter
54-
Sleep 2s
55-
Ctrl+N
56-
Type "awesome-"
57-
Sleep 1s
58-
Tab@500ms 3
59-
Sleep 1s Right Sleep 1s
60-
Enter
61-
Sleep 1s
62-
Ctrl+N
63-
Sleep 1s
64-
Type ":filter-in DEBUG"
65-
Sleep 2s
66-
Enter
67-
Sleep 1s
68-
Right 1
69-
Ctrl+N
70-
Sleep 1s
71-
Type "q"
54+
# Type "isd" Enter
55+
# Sleep 2s
56+
# Ctrl+N
57+
# Type "awesome-"
58+
# Sleep 1s
59+
# Tab@500ms 3
60+
# Sleep 1s Right Sleep 1s
61+
# Enter
62+
# Sleep 1s
63+
# Ctrl+N
64+
# Sleep 1s
65+
# Type ":filter-in DEBUG"
66+
# Sleep 2s
67+
# Enter
68+
# Sleep 1s
69+
# Right 1
70+
# Ctrl+N
71+
# Sleep 1s
72+
# Type "q"
7273

7374
Ctrl+D
7475

docs/slides/index.html

Lines changed: 69 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
</a>
2727
<h1>isd – interactive systemd</h1>
2828
<p>
29-
<small>Created by
29+
<small>Developed and presented by
3030
<a href="https://kainctl.github.io/isd/">Kai Norman Clasen</a></small>
3131
</p>
3232
</div>
@@ -35,24 +35,24 @@ <h1>isd – interactive systemd</h1>
3535
<h2>A Bit About Me</h2>
3636
<ul class="vfill">
3737
<li>
38-
Hobby System Administrator since a few years
38+
I’ve been a hobby system administrator for a few years
3939
<br>
4040
<small>(I use NixOS ❄️ btw.)</small>
4141
</li>
4242
<li class="fragment">
43-
Actively started working with
43+
Started working actively with
4444
<code>systemd</code>
45-
almost 2 years ago
45+
about 2 years ago
4646
</li>
4747
<li class="fragment">
4848
Features of
4949
<code>systemd</code>
50-
⩵ ♥️
50+
♥️
5151
</li>
5252
<li class="fragment">
53-
User experience of
53+
User/developer experience of
5454
<code>systemd</code>
55-
⩵ 😐
55+
😐
5656
</li>
5757
</ul>
5858
</section>
@@ -85,7 +85,7 @@ <h2>Example</h2>
8585
</div>
8686
</section>
8787
<section>
88-
<h2>My Old Workflow</h2>
88+
<h2>My Old (and slow) Workflow</h2>
8989
</section>
9090
<section>
9191
<div id="old_workflow.cast"></div>
@@ -94,23 +94,22 @@ <h2>My Old Workflow</h2>
9494
<h2><code>sysz</code></h2>
9595
<ul class="vfill">
9696
<li>
97-
a terminal UI (<em>TUI</em>) for
97+
A terminal user interface (<em>TUI</em>) for
9898
<code>systemctl</code>
9999
</li>
100100
<li>
101-
is written as a shell script wrapping around
102-
<code>systemctl</code>
103-
utilizing the
101+
Written as a shell script that wraps around
102+
<code>systemctl</code>,
103+
using the
104104
<code>fzf</code>
105105
tool
106106
</li>
107107
<li>
108-
includes a
109-
<code>status</code>
110-
preview window and
111-
automatically prefixes
108+
Includes a
109+
<code>systemctl status</code>
110+
preview window and automatically adds
112111
<code>sudo</code>
113-
if necessary
112+
when needed
114113
</li>
115114
</ul>
116115
</section>
@@ -129,24 +128,24 @@ <h2>Core Idea of
129128
<code>sysz</code></h2>
130129
<div class="vfill">
131130
<pre>
132-
<code data-trim data-noescape class="language-bash" data-line-numbers="1-30|4,6,14">
133-
_sysz_systemctl() {
134-
if [[ $EUID -ne 0 && $1 = --system ]]; then
135-
# only run sudo if we aren't root and it's a system unit
136-
_sysz_run sudo systemctl "$@"
137-
else
138-
_sysz_run systemctl "$@"
139-
fi
140-
}
131+
<code data-trim data-noescape class="language-bash" data-line-numbers="1-30|4,6,14">
132+
_sysz_systemctl() {
133+
if [[ $EUID -ne 0 && $1 = --system ]]; then
134+
# only run sudo if we aren't root and it's a system unit
135+
_sysz_run sudo systemctl "$@"
136+
else
137+
_sysz_run systemctl "$@"
138+
fi
139+
}
141140

142141

143-
_sysz_journalctl() {
144-
if [[ $1 = --user ]]; then
145-
# use --user-unit flag if it's a user unit
146-
_sysz_run journalctl --user-unit="$2" "${@:3}"
147-
# [...]
148-
</code>
149-
</pre>
142+
_sysz_journalctl() {
143+
if [[ $1 = --user ]]; then
144+
# use --user-unit flag if it's a user unit
145+
_sysz_run journalctl --user-unit="$2" "${@:3}"
146+
# [...]
147+
</code>
148+
</pre>
150149
</div>
151150
</section>
152151
<section>
@@ -162,8 +161,8 @@ <h2>isd Configuration Primer</h2>
162161
<div id="custom.cast"></div>
163162
</section>
164163
<section>
165-
<h2>CLI tools<br>
166-
+ modern TUI frameworks
164+
<h2>CLI Tools<br>
165+
+ Modern TUI Frameworks
167166
<br>
168167
= 🚀💘🚀</h2>
169168
</section>
@@ -177,12 +176,14 @@ <h3>Key Takeaways</h3>
177176
</li>
178177
<li class="fragment">
179178
<em>Shelling</em>
180-
out is an option in higher and lower level languages
179+
out is an option in both high-level and low-level languages
180+
</li>
181+
<li class="fragment">
182+
Limit the scope; use the correct tool for the job
181183
</li>
182184
<li class="fragment">
183-
Limit the scope/use the correct tool for the job
185+
Language Server Protocols (LSPs) make editing configuration files easier
184186
</li>
185-
<li class="fragment">LSPs are great for editing configuration files</li>
186187
</ul>
187188
</section>
188189
<!-- <section data-preload data-background-iframe="./customization.html" data-background-interactive> -->
@@ -229,6 +230,27 @@ <h3>Key Takeaways</h3>
229230
<!-- }); -->
230231
</script>
231232
<script>
233+
document.addEventListener('keydown', function (event) {
234+
// 27 is Escape
235+
if (event.key === 'Escape' || event.keyCode === 27) {
236+
const active = document.activeElement;
237+
238+
// If focus is inside an asciinema wrapper, remove it
239+
if (active && active.closest('.ap-wrapper')) {
240+
active.blur();
241+
242+
// Optionally move focus explicitly to the Reveal container
243+
const revealContainer = document.querySelector('.reveal');
244+
if (revealContainer) {
245+
revealContainer.focus();
246+
}
247+
248+
event.stopPropagation();
249+
event.preventDefault();
250+
}
251+
}
252+
});
253+
232254
// Also available as an ES module, see:
233255
// https://revealjs.com/initialization/
234256
Reveal.initialize({
@@ -238,6 +260,15 @@ <h3>Key Takeaways</h3>
238260
hash: true,
239261
display: 'flex',
240262
overview: false,
263+
keyboard: {
264+
// Disable fullscreen (F key)
265+
70: null,
266+
72: () => Reveal.left(),
267+
268+
// l = right
269+
76: () => Reveal.right()
270+
},
271+
241272
// Optional function that blocks keyboard events when retuning false
242273
keyboardCondition: function(event) {
243274
// Don't let Reveal.js handle keyboard if target is inside asciinema player

0 commit comments

Comments
 (0)