<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Fluorine-Manager.git/data, branch main</title>
<subtitle>A port of MO2 in linux with NaK integration and FUSE based VFS. Comes with Root Builder support by default.</subtitle>
<id>http://git.schererleander.de/Fluorine-Manager.git/atom/data?h=main</id>
<link rel='self' href='http://git.schererleander.de/Fluorine-Manager.git/atom/data?h=main'/>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/Fluorine-Manager.git/'/>
<updated>2026-05-14T02:33:41Z</updated>
<entry>
<title>nxm: stop launcher .desktop from claiming nxm:// + clear stale portal pick</title>
<updated>2026-05-14T02:33:41Z</updated>
<author>
<name>SulfurNitride</name>
<email>SulfurNitride@users.noreply.github.com</email>
</author>
<published>2026-05-14T02:33:41Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/Fluorine-Manager.git/commit/?id=7133cf6308fb5c1c156bae9f182a1dafcb11f715'/>
<id>urn:sha1:7133cf6308fb5c1c156bae9f182a1dafcb11f715</id>
<content type='text'>
The Fluorine Manager launcher .desktop declared
MimeType=x-scheme-handler/nxm;x-scheme-handler/modl;, advertising itself
as a handler alongside the real mo2-nxm-handler.desktop. The launcher's
Exec line has no %u, so when xdg-desktop-portal launched it the URL was
dropped and MO2 came up with no args — which then hit the "instance
already running" path against the live primary. Drop the bad MimeType
from both the tarball template (data/icons/) and the .bin installer's
inline desktop entry in docker/build-inner.sh.

That alone fixes new installs, but xdg-desktop-portal remembers user
picks in its permission store: anyone who'd already selected Fluorine
Manager in the chooser dialog had it stuck as their always-use app
(count=3/3 = silent always-launch), and the bad pick survived removing
the MimeType. On startup the nxm handler now fires a DBus
DeletePermission against PermissionStore for com.fluorine.manager on
both schemes, so existing users self-heal on the next launch. The call
is fire-and-forget — a missing entry is the expected steady state.

Co-Authored-By: Claude Opus 4.7 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add modl:// protocol support for mod.pub downloads</title>
<updated>2026-04-03T17:05:40Z</updated>
<author>
<name>SulfurNitride</name>
<email>SulfurNitride@users.noreply.github.com</email>
</author>
<published>2026-04-03T17:05:40Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/Fluorine-Manager.git/commit/?id=bc8478161982e8ee8a94d75d208e651766f9d600'/>
<id>urn:sha1:bc8478161982e8ee8a94d75d208e651766f9d600</id>
<content type='text'>
Handle modl:// links alongside nxm:// for downloading mods from
mod.pub. mod.pub uses a different URL format than Nexus — the download
URL is embedded as a query parameter: modl://game/?url=&lt;encoded-url&gt;

- Register x-scheme-handler/modl in desktop files and MIME lists
- Accept both nxm and modl schemes in URL parsing (NxmLink, NXMUrl)
- Parse modl:// direct download links and route to startDownloadURLs
- Make key/expires optional in NxmLink::parse (not used by mod.pub)
- Add debug logging for received URLs to aid troubleshooting

Co-Authored-By: Claude Opus 4.6 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Replace wrestool with native Rust PE icon extraction (pelite)</title>
<updated>2026-03-12T18:48:25Z</updated>
<author>
<name>SulfurNitride</name>
<email>SulfurNitride@users.noreply.github.com</email>
</author>
<published>2026-03-12T18:48:25Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/Fluorine-Manager.git/commit/?id=84a43a2e6afbdfab92c610d47aa75e3876ffacd6'/>
<id>urn:sha1:84a43a2e6afbdfab92c610d47aa75e3876ffacd6</id>
<content type='text'>
- Add icons.rs to nak crate: parses PE resource sections, extracts
  RT_GROUP_ICON/RT_ICON and builds ICO files in memory
- Expose nak_extract_exe_icon() FFI for C++ consumption
- Update iconForExecutable() to use Rust FFI instead of shelling out
  to wrestool; reads all ICO entries for correct color depth
- Fix BasicGamePlugin::gameIcon() to call iconForExecutable() (was
  returning empty QIcon, causing placeholder icons for BG3/Cyberpunk)
- Move app icon setup: setDesktopFileName + setWindowIcon to
  MOApplication constructor (fixes Wayland taskbar/decoration icon)
- Move data/com.fluorine.* to data/icons/, install to XDG paths at
  launch for Wayland compositor icon resolution
- Remove icoutils dependency from Docker image and build output

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Remove umu-run, keep game as child process for Steam tracking</title>
<updated>2026-02-23T23:44:12Z</updated>
<author>
<name>SulfurNitride</name>
<email>SulfurNitride@users.noreply.github.com</email>
</author>
<published>2026-02-23T23:44:12Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/Fluorine-Manager.git/commit/?id=c360dbf9c42f71e7931c56b7a396ba7f7e9982e6'/>
<id>urn:sha1:c360dbf9c42f71e7931c56b7a396ba7f7e9982e6</id>
<content type='text'>
- Remove umu-run entirely (crashed due to pressure-vessel/FUSE
  incompatibility) — use raw `proton run` instead
- Replace startDetached() with QProcess::start() so the game stays in
  Fluorine's process tree. This lets Steam track the game lifetime and
  makes the "close game" button work when Fluorine is added as a
  non-Steam game.
- Add writeIniValueDirect/readIniValueDirect for safe Bethesda INI
  handling without QSettings corruption
- Fix prefix_setup.rs to skip umu-run bootstrapping
- Clean up settings UI, build scripts, and docs for umu-run removal

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add Python init diagnostics, AppImage build system, misc Linux fixes</title>
<updated>2026-02-19T23:25:48Z</updated>
<author>
<name>SulfurNitride</name>
<email>SulfurNitride@users.noreply.github.com</email>
</author>
<published>2026-02-19T23:25:48Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/Fluorine-Manager.git/commit/?id=5467e210668eb24de9a4429ef0ddcbc6442e8932'/>
<id>urn:sha1:5467e210668eb24de9a4429ef0ddcbc6442e8932</id>
<content type='text'>
- python: switch Py_InitializeEx → Py_InitializeFromConfig for explicit
  error reporting; add dladdr + fprintf diagnostics to trace which DSO
  Python symbols resolve to and whether Py_IsInitialized succeeds
- python: log RTLD_NOLOAD vs fresh-load outcome when promoting libpython
  to RTLD_GLOBAL
- build: add Docker-based AppImage build script (build.sh), update
  Dockerfile and build-inner.sh for AppImage-only workflow
- build: remove Flatpak support entirely; move AppImage metadata
  (desktop/metainfo/icon) from flatpak/ to data/
- Add Monster Hunter Wilds basic_games plugin
- .gitignore: exclude squashfs-root, build-source, flatpak-repo,
  __pycache__, fomod-plus-settings.ini
- Various Linux port fixes across wineprefix, processrunner, proton
  launcher, FUSE connector, instance manager, download manager,
  sanitychecks, and NaK Rust paths/runtime_wrap

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
