Skip to content

Roadmap: in development, to do, backlog, done #161

Open

Description

@MemerGamer

Living tracker, updated as work moves. Move items between sections by editing this issue.

In development

  • Native Wayland host for Uno (fixes Fix: Pixelated text and glitching icons (top-left icon) #113 properly). Fork: MemerGamer/uno
    • 6.7 bridge (wayland/host) with full X11-host parity: EGL + wl_shm rendering with sharp fractional scaling, multiple outputs, pointer/keyboard (xkbcommon, dead keys and Compose, cursor shapes), clipboard and drag & drop, text-input-v3 IME (tested with fcitx5 + mozc), portal file pickers, client-side decorations for GNOME, window states and activation
    • Bridge packages released: uno-wayland-6.7.135-wayland.5 (used by 0.1.0-alpha6; wayland.4 shipped in alpha5 via Feature: Use the native Wayland host by default on Linux #186)
    • Smooth resizing (configures paced by presented frames, full-frame damage while resizing), native-like text coverage (no Skia luminance gamma), released in wayland.5
    • Fork CI: every PR commit builds on its own with Uno's style checks; full runtime suite under headless Weston next to Xvfb (11,425 tests per host, 0 Wayland-only failures)
    • Uno's 8-reviewer review panel and repeated cross-model reviews addressed; final review round fixed
    • PR branch on the latest Uno master, adapted to Uno's new host-owned renderer API: per-commit CI green, 0 Wayland-only failures in the full suite
    • wayland.5 text-coverage and frame-skip fixes ported into the PR stack (wayland/pr, 17 commits): per-commit CI green, full suite with no regressions against X11. Hinting/LCD from fontconfig and full-frame damage on resize stay follow-ups
    • PR opened and ready for review: feat(wayland): Add a native Wayland host for Skia desktop unoplatform/uno#25503 (tracking Wayland support unoplatform/uno#17600), rebased on current master, full AI-assistance disclosure
    • Screenshots attached to the PR
    • Maintainer review

To do (alpha9)

  • Offer the LCD text and X11 drag-and-drop work to Uno as follow-up PRs once feat(wayland): Add a native Wayland host for Skia desktop unoplatform/uno#25503 has been reviewed
  • Release notes page: render the LinuxFiles GitHub release Markdown instead of the fallback
  • Nix: add mpv and WebKitGTK to the flake so previews work on NixOS
  • Drops from other apps: Files moves within the same drive even when the source asked for a copy (Windows behaviour); decide whether to honour the source's requested action
  • Verify the light-theme toolbar focus fix from Fix: Light-theme toolbar focus and column header contrast #169 (could not reproduce the original problem)
  • Review and merge the macOS contribution (@lextm plans a cross-platform enablement PR first, then the macOS code; macOS CI build on GitHub runners requested). Prep done: Linux-only code mapped, the Wayland package switch is scoped to Linux targets so a macOS target stays on stock Uno packages

Backlog

  • Interactive HTML previews (WPE WebKit through an Uno WebView add-in, about 2-3k lines; see docs/linux-port/wayland-previews.md)
  • Rename the project if macOS ships (keep LinuxFiles until then; app-ID migration needed)
  • Bring Windows back once Linux runs well on Wayland (Windows CI, platform code behind Files.Platform.Abstractions), long-term goal: one code base for all platforms
  • Cherry-pick useful upstream Files changes selectively (docs/linux-port/upstream-policy.md)

Done

Activity

  1. pinned this issue on Oct 12, 2026
  2. lextm commented on Oct 12, 2026

    @lextm

    Thanks for all the work on bringing Files to Linux.

    After seeing #159 and #160, I'm curious about your long-term vision. Is removing Windows support and stopping upstream synchronization just a temporary decision to prioritize Linux, or do you intend to maintain LinuxFiles as a permanently independent fork?

    I don't think cross-platform support requires migrating the Windows version to Uno. Files can continue shipping its Windows version with WinUI 3 / Windows App SDK, while Linux and macOS use Uno Platform. They can share much of the application code, with platform-specific implementations where necessary.

    Given how extensively AI-assisted development is already being used here, I would expect preserving Windows compatibility and keeping up with upstream to be more manageable than before. The Windows implementation already exists, and maintaining compatibility seems more sustainable than allowing the codebases to diverge completely.

    I've also been working on a macOS port and was considering contributing it here. However, my intention isn't to maintain a separate macOS fork in the long run. I'd rather work toward a shared codebase where Windows, Linux, and macOS changes are kept synchronized, with the ultimate goal of merging the cross-platform work back into files-community/Files.

    Of course, that would require coordination with upstream, and I fully understand that Linux may remain the immediate priority. But I believe preserving Windows compatibility and the possibility of upstream integration is important for the long-term sustainability of this effort.

    Would you be interested in pursuing that direction?

  3. MemerGamer commented on Oct 13, 2026

    @MemerGamer
    OwnerAuthor

    Thanks for the thoughtful comment, and for the offer! I agree with the end goal: one code base that runs on Windows, Linux and macOS, ideally something files-community/Files could use one day.

    Dropping Windows was a practical call for now: day to day I can only build and test on Linux, and keeping Windows code I can't test, plus the daily upstream merges, was costing more than it gave. The current focus is making the Linux version really solid, including a native Wayland host that we're contributing to Uno upstream (unoplatform/uno#17600).

    Once Linux runs well on Wayland, I'd like to bring Windows back properly: Windows CI and the platform code restored behind the same platform layer the Linux code uses (Files.Platform.Abstractions / Files.Platform.Linux).

    A macOS port would be very welcome here, as its own platform project next to the Linux one. Small, focused PRs would be easiest to review. If you open an issue with what you have so far, we can work out where the platform boundaries need to change for macOS. And if files-community ever shows interest in a cross-platform version, I'd be happy to coordinate.

  4. lextm commented on Oct 13, 2026

    @lextm

    Indeed, the Linux port is more challenging as you are likely to hit more issues than me on macOS.

    I think one way to reduce the noise from the Windows side is that we stick to major releases such as 4.2 and 4.3, ignoring patch releases such as 4.2.x. That means infrequent rebase/merge every 2-3 months, which an AI tool can help complete within just a couple of hours.

    Besides, if DevFlow for Uno Platform is enabled, the AI tool you use can enable stronger access to runtime metadata.

    I plan to create a pull request with cross-platform enablement added first, so that your Linux port can be prepared in advance. You can review it at any pace, while I move the macOS port forward. Once that's merged, I will send a second pull request to include all macOS code.

    Once macOS/Linux support ships from a single repo, we can align with Files Windows v4.3 or v4.4 depending on the timeline and coordinate with the upstream on the final merge.

  5. MemerGamer commented on Oct 13, 2026

    @MemerGamer
    OwnerAuthor

    Sounds good, a cross-platform enablement PR first and then macOS makes sense. Feel free to open it whenever it's ready and we can discuss the details there. For this phase I'd like to keep Windows projects and #if WINDOWS code out; Windows comes back as its own step later.

    On syncing: since #159/#160 stripped the Windows code, merging upstream releases would now conflict wherever upstream touches code we removed, so for now we cherry-pick individual upstream fixes. Once Windows support returns, syncing at major releases like you describe sounds like the right cadence.

    For macOS: I can't test it locally, so a macOS CI build on GitHub runners as part of that PR would help a lot, and I'll rely on you for runtime testing there. Coordinating with files-community can come once both platforms ship from here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions