webbed-site/html/my-laptop.html

104 lines
6.4 KiB
HTML
Raw Normal View History

<html>
<head>
<title>laptop</title>
<style>
$[cat style.css]
</style>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
$[include html/header.html]
<main>
<section>
<h1>DEPRECATED My laptop</h1>
<p>see <a href='/html/blog/posts/new-laptop.html'>blog post</a>
<p>
Currently, I am using a T530 that has been heavily modified.
I used to use a W530, but I fucked it up trying to get tianocore on it and haven't bothered fixing the bios on it yet.
I have preordered a Framework 16 because I am the definition of their target audience.
Since W530s and T530s are basically identical baring the mainboard, there is no external difference between my W530 and T530 because I just yoinked all the parts from the W530.<br>
my-laptop.html was last modified on $[stat -c %y ./html/my-laptop.html | head -c 10].<br>
</p>
</section>
<section>
<image-column-container>
<image-container>
<flex-column style='margin-right: 10px;'>
$[img-caption "/files/laptop-keyboard.png" "photograph of my laptops keyboard, which is blank because I sanded it."]
$[img-caption "/files/laptop-radio.jpg" "The software defined radio that goes in my laptop's disc drive."]
$[img-caption "/files/keybinds_graph.png" "Graph of my keybindings, they are hard to see"]
$[img-caption "/files/laptop-charger-barrel.jpg" "charger barrel size adapter sticking out the back of my laptop"]
</flex-column>
</image-container>
<text-column>
<p>I have put an unreasonable amount of time in to messing with my laptop and as such am equally unreasonably proud of it.<br></p>
<h3>Hardware modifications I have made to my laptop:</h3>
<p>
<ul>
<li>Installed an older model's keyboard</li>
<li>Sanded the keyboard such that it is blank.</li>
<li>Upgraded most of its parts.</li>
<li>Put an SDR in its disc drive</li>
<li>Replaced the charging barrel with a worst bodge ever contest finalist because I left my charger at school for a weekend once and wanted to use my laptop.</li>
</ul>
Additionally, I have written a custom xkb file. Unfortunately the geometry file hasn't been updated since I modded in the new keyboard, but here it is anyways: <br>
</p>
$[img-caption "/files/laptop-xkb-geometry.png" "my xkb geometry file compiled to a pdf"]
<p>
Disregard the fucked up escape key, I was messing with it earlier. My keyboard isn't that notable beyond binding control to caps lock and binding the old control key to mode_switch.
Additionally, when mode_switch is pressed while an alphabetic key is pressed, it types a greek letter instead.
</p>
<p>
I run artix (for the anti systemd meme), though upon getting my framework I intend to switch to gentoo.
I use i3 as my window manager with a somewhat cursed script to programatically generate it's config from a yaml file.
This script is vaguely necessary because <ul>
<li> I wanted a (programatically generated) graph of all my keybinds as leaf nodes with different modes as trunk nodes and individual keys as edges </li>
<li> I wanted to easily nest an arbitrarily large number of modes without it being a hassle </li>
</ul><br>
an example of the function of this script is something like<br><br>
<div class="code-container">
<div class="io-container">
<h3>Input (yaml):</h3>
<pre><code>
keybinds:
a: !Mode
name: a
keybinds:
b: !Mode
name: b
keybinds: ...
</code></pre>
</div>
<div class="io-container">
<h3>Output (i3config):</h3>
<pre><code>
mode a {
bindsym b mode b
}
mode b {
bindsym ... ...
}
bindsym a mode a
</code></pre>
</div>
</div>
From the yaml config, my python script can parse it either in to a (really bad) graph of keybinds (using the graphviz library or something like that) or in to a valid i3 config file.
In my real config, I have a mode 'base' which is the default mode with no keybinds other than mod4+space, followed by a mode 'space' reached by pressing mod4+space.
From 'space' mode, other modes may be accessed, such as 'workspaces or windows' mode, bound under w.
This gets rather absurd (intentionally so) very quickly.
The combination to move to workspace 0 while in 'base' mode is to press mod4+space ('space' mode), w ('workspaces_or_windows' mode), s ('workspaces'), g ('workspaces_goto'), 0 (move to workspace 0).
</p>
<p>
This system results in horrible user experience (but I don't care), great security (close to least intuitive setup possible), and&mdash;most importantly&mdash;an incredibly stupid graph of keybinds.
I find this unreasonably amusing.
</p>
</text-column>
</image-column-container>
</section>
</main>
2024-07-28 11:25:02 -07:00
$[include html/footer.html]
</body>
</html>