<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sl0ppij.git/default-plugins/strider/src, branch main</title>
<subtitle>a sl0p.foo repository</subtitle>
<id>https://git.sl0p.foo/sl0ppij.git/atom/default-plugins/strider/src?h=main</id>
<link rel='self' href='https://git.sl0p.foo/sl0ppij.git/atom/default-plugins/strider/src?h=main'/>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/'/>
<updated>2026-03-21T18:20:32Z</updated>
<entry>
<title>Add windows support in strider (#4854)</title>
<updated>2026-03-21T18:20:32Z</updated>
<author>
<name>divens</name>
<email>divens@users.noreply.github.com</email>
</author>
<published>2026-03-21T18:20:32Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=3fa7744906d5704bdec771c74829841bd06cf7fc'/>
<id>urn:sha1:3fa7744906d5704bdec771c74829841bd06cf7fc</id>
<content type='text'>
* Add Windows path support to strider plugin

Strider is a WASM plugin where std::path::PathBuf uses Unix semantics,
so Windows backslash paths break parent(), join(), strip_prefix(), etc.

Fix by normalizing all incoming paths to forward slashes at plugin
boundaries and converting back to native backslashes for display. A new
platform.rs module detects the host OS at runtime from the initial_cwd
format and centralizes all platform-aware logic.

Also fix scan_host_folder on the server side: canonicalize
plugin_host_folder so the starts_with security check works on Windows,
where canonicalize() adds the \?\ prefix.

* Add virtual root view for drive and WSL navigation in strider

On Windows, navigating up from a drive root (e.g. C:\) now shows a
"Computer" view listing all available drives and WSL distributions.
Drives are enumerated via GetLogicalDriveStringsW and WSL distros
via `wsl -l -q` (since read_dir on \wsl.localhost fails with OS
error 64/67). Drive letters appear before WSL entries, which are
displayed as "Ubuntu-24.04 (WSL)" etc. On non-Windows platforms,
behavior is unchanged.

* Rename ListHostEntries to ListWindowsVolumes and gate behind FullHdAccess

The old name was misleading — on Unix it just returned `/`, which isn't
"listing host entries." Rename to ListWindowsVolumes to make the
Windows-specific intent explicit, gate behind FullHdAccess permission,
and replace the Unix implementation with a log::error since the command
is not meaningful on non-Windows platforms.

* Replace direct array indexing with .get() in strider platform detection

Use safe accessors and matches! macro instead of direct byte indexing
for bounds-checked access patterns.

---------

Co-authored-by: divens &lt;divens.dev@gmail.com&gt;</content>
</entry>
<entry>
<title>Warning and duplication cleanups (#4857)</title>
<updated>2026-03-16T09:37:45Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2026-03-16T09:37:45Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=91e7297b6397fd52d4ff995bdff1fa124a5acf81'/>
<id>urn:sha1:91e7297b6397fd52d4ff995bdff1fa124a5acf81</id>
<content type='text'>
* cleanup compilation warnings

* consolidate EditScrollbackRaw into EditScrollback</content>
</entry>
<entry>
<title>Click file paths to open in editor, allow plugins to change styles and hover of viewport (#4802)</title>
<updated>2026-03-05T20:13:02Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2026-03-05T20:13:02Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=903cdf5d32476a8d6cc208d2c418a1f2c67e5a53'/>
<id>urn:sha1:903cdf5d32476a8d6cc208d2c418a1f2c67e5a53</id>
<content type='text'>
* initial implementation

* implement hover

* add styles and foreground/background emphases, fix upsert hover collisions

* initial implementation of link plugin

* suppress highlighting + clicks on unfocused and mouse mode panes

* also make italic

* fix env var and ~ expansions

* fix regex issues and add defensive validations

* fix tests and add plugin assets

* add tests

* refactor all the things

* add pr</content>
</entry>
<entry>
<title>style: some cleanups (#4329)</title>
<updated>2025-08-01T13:17:44Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2025-08-01T13:17:44Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=b5a893f36a5a466b8bce6f24fd1e3a556e1e46ae'/>
<id>urn:sha1:b5a893f36a5a466b8bce6f24fd1e3a556e1e46ae</id>
<content type='text'>
* style: some cleanups

* style(fmt): rustfmt</content>
</entry>
<entry>
<title>fix(plugins): forward CWD when opening new panes (#4290)</title>
<updated>2025-07-15T08:27:43Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2025-07-15T08:27:43Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=d4f5975527868d1bcc980e0d149be9aefd4efc34'/>
<id>urn:sha1:d4f5975527868d1bcc980e0d149be9aefd4efc34</id>
<content type='text'>
* use plugin cwd as last focused pane cwd when starting plugins

* fix strider to use the new change_host_folder method

* start terminals in same cwd as plugin pane if focused

* style(fmt): rustfmt</content>
</entry>
<entry>
<title>fix(ux): some filepicker improvements (#4007)</title>
<updated>2025-02-20T09:03:34Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2025-02-20T09:03:34Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=d1a45093455ecc1291a226fb9cbb1eacb35ac01a'/>
<id>urn:sha1:d1a45093455ecc1291a226fb9cbb1eacb35ac01a</id>
<content type='text'>
* allow closing plugin pane after replacing it

* start of strider improvements

* improve strider's ux

* fix selected text ui component

* style(fmt): rustfmt

* style(fmt): rustfmt</content>
</entry>
<entry>
<title>feat(plugins): allow opening command panes in the background (hidden) (#3530)</title>
<updated>2024-07-29T09:40:01Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2024-07-29T09:40:01Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=355463383a18fb9e54afd62d718bed4c085a766f'/>
<id>urn:sha1:355463383a18fb9e54afd62d718bed4c085a766f</id>
<content type='text'>
* start background pane

* open command and edit panes in the background

* some cleanups

* style(fmt): rustfmt

* more cleanups</content>
</entry>
<entry>
<title>feat(keybindings): support multiple modifiers (eg. Ctrl+Alt) and the kitty keyboard protocol (#3383)</title>
<updated>2024-05-27T14:15:09Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2024-05-27T14:15:09Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=62c37a87cca5aaa8b0e580b973b93513ed616dba'/>
<id>urn:sha1:62c37a87cca5aaa8b0e580b973b93513ed616dba</id>
<content type='text'>
* parse kitty keys from STDIN

* work

* work

* replace internal Key representation with the new KeyWithModifier in all the places

* work

* work

* allow disabling with config

* adjust ordering

* handle enabling/disabling properly on the client

* support multiple modifiers without kitty too

* normalize uppercase keys

* get tests to pass

* various cleanups

* style(fmt): rustfmt</content>
</entry>
<entry>
<title>fix(plugins): various pre-release issues (#3246)</title>
<updated>2024-04-05T16:43:14Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2024-04-05T16:43:14Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=462239b535c22eac29634e210ad86dde3fda37ce'/>
<id>urn:sha1:462239b535c22eac29634e210ad86dde3fda37ce</id>
<content type='text'>
* fix(strider): close_self instead of close_focus

* fix(plugins): populate caller_cwd for all aliases

* fix(config): launch the session-manager alias rather than the explicit internal url

* style(fmt): rustfmt

* fix tests</content>
</entry>
<entry>
<title>style(fmt): remove plugin compilation warnings (#3231)</title>
<updated>2024-03-28T13:29:18Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2024-03-28T13:29:18Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=2908d2fcefe7c6331a32f99e372fdcda01b7ed3f'/>
<id>urn:sha1:2908d2fcefe7c6331a32f99e372fdcda01b7ed3f</id>
<content type='text'>
</content>
</entry>
</feed>
