<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Fluorine-Manager.git/libs/uibase/src/filesystemutilities.cpp, 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/libs/uibase/src/filesystemutilities.cpp?h=main</id>
<link rel='self' href='http://git.schererleander.de/Fluorine-Manager.git/atom/libs/uibase/src/filesystemutilities.cpp?h=main'/>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/Fluorine-Manager.git/'/>
<updated>2026-04-23T21:09:59Z</updated>
<entry>
<title>Fix VFS rmdir, prefix/launch issues, add version + beta channel</title>
<updated>2026-04-23T21:09:59Z</updated>
<author>
<name>SulfurNitride</name>
<email>SulfurNitride@users.noreply.github.com</email>
</author>
<published>2026-04-23T21:09:59Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/Fluorine-Manager.git/commit/?id=96a6ba196c72e955c3db822d93da38fce8cd7045'/>
<id>urn:sha1:96a6ba196c72e955c3db822d93da38fce8cd7045</id>
<content type='text'>
- VFS: add mo2_rmdir + OverwriteManager::removeDirectory so Wrye Bash
  shutil.rmtree stops failing with WinError 267 (issue #47).
- FileRenamer: case-insensitive fallback via new resolvePathCaseInsensitive
  walks each path component; bulk hide in Conflict tab no longer dies with
  a misleading "Input/output error" when DirectoryEntry normalised parent
  dir case (issue #54). formatSystemMessage stops aliasing Windows error
  code 5 to errno 5 (EIO).
- Versioning: FLUORINE_VERSION_* + fluorine_build_info.h generated from
  CMake; Linux createVersionInfo returns Fluorine's version. About dialog
  shows Fluorine version + MO2 engine + commit. Beta builds stamp
  "&lt;semver&gt;B&lt;yyyymmddhhmm&gt;" (issue #51).
- CI: ci.yml determines channel from ref (v* tags = stable, main = beta),
  publishes a rolling `beta` GitHub release whose body carries a
  machine-parseable fluorine-meta block (timestamp, commit) for the
  in-app updater.
- Updater: new FluorineUpdater polls GitHub API on startup, compares
  against embedded metadata, notifies on new release without auto-install.
  Channel toggle piggybacks on the existing "beta versions" checkbox.
- Bethesda plugins: determineMyGamesPath no longer creates
  Documents/My Games/&lt;GameName&gt; for every possible title at plugin load;
  only games with a detected install path get their dirs created
  (issue #55).
- Starfield: dataDirectory() on Linux now points at &lt;game&gt;/Data instead
  of My Games/Starfield/Data so the single FUSE mount lands where SFSE
  loads plugins; My Games Data becomes a secondary symlinked mapping
  (issue #56).
- Prefix resolution: prefer Fluorine config, then explicit
  fluorine/prefix_path, then legacy Settings/* keys (with a warning) so
  auto-detected Heroic/Bottles prefixes can't silently override a user-
  configured Fluorine prefix (issue #52). compatDataPathFromPrefix no
  longer hands Proton the wrong parent dir for plain wine prefixes.
- xrandr: ensureXrandrInstalled back-fills the helper for existing SLR
  installs, prefix init runs it before wineboot, SLR wrap exposes
  xrandr-bin via --filesystem= and prepends PATH inside the container
  (issue #49).
- Process tracking: drop the wineserver-as-last-resort fallback that made
  MO2 hang on Proton's session manager after game exit. Rescan the prefix
  for matching game executables instead (covers reparented launcher
  children like f4se_loader → Fallout4.exe). Unlock button now kills
  wineserver for the prefix (SIGTERM then SIGKILL on timeout).

Co-Authored-By: Claude Opus 4.7 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add Root Builder plugin, Linux game detection, and OMOD installer fix</title>
<updated>2026-02-12T01:04:11Z</updated>
<author>
<name>SulfurNitride</name>
<email>SulfurNitride@users.noreply.github.com</email>
</author>
<published>2026-02-12T01:04:11Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/Fluorine-Manager.git/commit/?id=8a10147bbb1fe6589c4205bcfd26d6d696512ced'/>
<id>urn:sha1:8a10147bbb1fe6589c4205bcfd26d6d696512ced</id>
<content type='text'>
- New native Root Builder plugin (src/plugins/rootbuilder.py) with copy
  and symlink deploy modes, auto-deploy hooks, backup/restore, and
  third-party conflict detection that moves incompatible plugins to
  DisabledPlugins/. In link mode, .exe/.dll are always copied to avoid
  Wine/Proton path resolution issues with symlinked executables.

- Fix basic_games detection on Linux: steam_utils now checks native
  Steam paths (~/.local/share/Steam, Flatpak, Snap), epic_utils uses
  correct Linux Heroic config paths, gog_utils falls back to Heroic
  GOG installed.json when Windows registry is unavailable.

- Fix OMOD installer crash: isArchiveSupported now handles both IFileTree
  (from mod list refresh) and string (from install check) arguments.

- Add flatpak manifest step to copy source-tree Python plugins
  (src/plugins/*.py) into the build output.

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Fluorine Manager: full Linux port of Mod Organizer 2</title>
<updated>2026-02-11T08:37:39Z</updated>
<author>
<name>SulfurNitride</name>
<email>SulfurNitride@users.noreply.github.com</email>
</author>
<published>2026-02-11T08:37:39Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/Fluorine-Manager.git/commit/?id=7ee008e150bc5bcf76082d726f719ee0fdfda982'/>
<id>urn:sha1:7ee008e150bc5bcf76082d726f719ee0fdfda982</id>
<content type='text'>
Complete native Linux port with FUSE-based virtual filesystem,
Proton/umu-run integration, and Flatpak packaging.

Key features:
- FUSE VFS replacing Windows USVFS (in-process + standalone helper for Flatpak)
- Proton/GE-Proton/umu-run launcher with env var forwarding
- Flatpak support (sandbox-aware VFS, NXM handler, umu-run)
- Wine prefix management UI
- Case-insensitive path resolution for Linux filesystems
- QSettings-safe INI handling (avoids Bethesda INI corruption)
- Portable instance support with auto-generated launcher scripts

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