Skip to content

ControlFS 0.4.0-alpha.1

Choose a tag to compare

@github-actions github-actions released this 27 Sep 04:22
· 119 commits to main since this release
7095e9d

What's new

  • New on-screen keyboard layout: text field on top, four character rows, a function row (⇧, ABC, @#:, space, ⌫) and a bottom row with the cursor, … (accents, language and clear) and a wide Done. (#41)
  • Button labels automatically follow the family of the controller in use (Xbox, PlayStation, Nintendo or generic), detected from the type SDL reports and the vendor. Pressing a button on another controller hands control to it and switches the labels without restarting. The menu still lets you pin a style. (#32)
  • Retry an operation that failed, finished with warnings or was cancelled: Menu → Operations → pick the operation → Retry. The original request is planned again from scratch. (#18)
  • Controller prompts use original vector glyphs (face buttons, bumpers, triggers, Menu/Options/+/−, D-pad and sticks) instead of plain letters, crisp at any scale. No third-party images or logos. (#33)
  • The bottom bar shows the buttons of the controller in use (e.g. A Open on Xbox, ✕ Open on PlayStation) and updates instantly when you switch controllers or the confirm/back convention; with the keyboard it shows keys. Narrator reads the button and the action. (#34)
  • Context-sensitive bottom bar: on an archive it shows Explore, Mark and Extract… (North opens the menu already on "Extract to"), with marked items Operations (N) and Cancel selection, on the on-screen keyboard Select/Delete/Done/Cancel and, in dialogs, the name of the focused option. Actions that don't work right now are hidden. (#35)
  • Hold to repeat on the on-screen keyboard: holding West (backspace), LB/RB (cursor) or South on ⌫ ◀ ▶ repeats with acceleration; Done never repeats. (#42)
  • Favorites: pin folders from the actions menu (North → "Add to favorites"). They come first on the home screen and in the folder picker's "Go to another place", can be reordered from the home screen and are saved with your settings (portable mode included). A favorite that went missing shows as unavailable and is only removed when you say so. (#48)
  • Retry failed items: from the result of a copy, move, delete or extraction, run again only the items that failed or were not processed; what already succeeded is never redone. Items interrupted by a cancel are now reported as "not processed". (#19)
  • Native Windows icons in the list (home, folders, picker and archives): file types, folders, special folders and drives. Icons load in the background without stalling scrolling and follow the display scale; no emoji left in the list. (#24)
  • Search by name in the current folder: Select/View (or Ctrl+F) opens the on-screen keyboard and Done starts the search, with or without subfolders (explicit menu choice; no PC-wide index). Results appear as they are found, and the bottom bar says whether they are partial, complete or cancelled and how many folders were skipped for lack of permission. East/B cancels and keeps what was found; opening a result goes to its folder with the item focused. Search never follows junctions or links. (#46)
  • Visible cursor on the on-screen keyboard (a steady accent-colored bar whose position Narrator reads) and LT/RT (or Home/End) to jump to the start or end of the text. (#43)
  • Mapping wizard for joysticks without a profile (controllers Windows/SDL doesn't recognize as gamepads): hold any button on the joystick for 2 s (or Menu → Controllers without a profile) and press, one at a time, up, down, left, right, confirm, back and, optionally, the extra buttons. It measures each axis at rest (deadzone and inverted axes), lets you redo steps, cancels by itself after 20 s without input and has a test mode before saving. The profile applies on reconnect and after restarting the app; replacing an existing profile always asks first. Profiles can be exported and imported (versioned, validated JSON with no executable content). (#79)
  • Cleanup after a crash: hidden temporaries left by an interrupted extraction, copy or compression (crash, power loss) are removed on the next launch, with a notice in the bottom bar. Only what ControlFS registered before creating it is removed; never by name pattern, and never from another ControlFS window that is still open. (#82)
  • Navigable path bar: LB moves focus to the path segments, Left/Right pick one and South jumps straight to a folder above, focusing the folder you came from. Inside archives, the archive file is its own segment after ▸; long paths collapse the middle into …. Also in Menu → Go to folder above…. (#30)
  • Controller test (Menu → Teste de controles…): lists the connected controllers (name, SDL type, family, VID:PID, gamepad or joystick without a profile, which one is active) and shows every button/axis live with the action it produces. Holding Confirm copies a plain-text report (app, Windows and SDL versions, controllers and results; no personal data) to paste into the issue; holding Back or Esc leaves. Testing controllers no longer needs the .NET SDK. (#78)
  • D-pad and two-button controllers mapped by the wizard without Actions/Menu: hold Confirm (0.6 s) to open Actions and hold Back to open the Menu; short presses are unchanged and the bottom bar shows "(segure)" ("hold") on those buttons. Joysticks with Actions and Menu mapped, and gamepads, are unchanged. (#79)
  • Select all and Clear selection in the actions menu (North), with counts; drives, special folders and blocked entries are never selected. (#23)

Security

  • Extraction, copy and move destinations are checked by handle on Windows: destination folders stay pinned while each file is put in place, so another program can't swap them for a junction to write outside the destination. Remaining limits in docs/security-model.md. (#81)

Improvements

  • Responsive layout for handhelds (1280×720/800), desktops and 1080p/4K TVs: the layout tier follows the effective resolution, DPI and Windows text size. On small screens spacing tightens, bottom-bar prompts wrap instead of disappearing, and menus and dialogs never grow taller than the screen (the focused item always stays visible); on a 4K TV at 100% text, icons and focus grow to stay readable at ~3 m. (#36)
  • Clearer focus that always lands somewhere valid: the list uses the same highlight ring as menus and dialogs; after deleting or moving items focus goes to the next remaining item (or the previous one); opening a folder scrolls the focused item into view right away; and the physical keyboard keeps working right after a menu or dialog closes. (#31)
  • Clearer list: focused, marked and cut items each have their own shape (ring; stripe + checked box + "Marked"; scissors + "Cut"), readable without relying on color. Type, size and date always appear in the same order, and the focused item shows its full name. New list density in the menu (comfortable, or compact with columns), saved between sessions. (#28)

Known limitations

  • Not yet validated with physical controllers: run Menu → Teste de controles… and post the report on issue #78.

Downloads

  • Installer: ControlFS-Setup-x64.exe — installs the app per user (no admin) and updates itself.
  • Portable: ControlFS-Portable-x64.exe — a single executable; keeps its data in the ControlFS_Data folder next to the file.

release-manifest.json and release-manifest.json.sig are the signed update manifest the installed app verifies (SHA-256 of both downloads).


🇧🇷 Notas em português: CHANGELOG.md