Releases: nextestudios/ControlFS
Release list
ControlFS 0.10.0-alpha.1
Performance
- Light in the background (to game with ControlFS open): with the window minimized or behind a game, ControlFS drops to below-normal priority and Windows 11 efficiency mode, reads controllers only to notice connections (once per second, without queuing the buttons and sticks the game is using), stops polling drives and, after 5 seconds, gives the memory it isn't using back to Windows (in the Smoke run: from ~153 MB to ~18 MB working set). CPU while minimized: from ~1.4–2% to ~0.5% of one core. Coming back to the window restores everything at once; copies and extractions keep running (slower) and playing audio or video keeps normal priority. Menu → Configurações → Leve em segundo plano (on by default).
- Lighter idle: with no controller connected, ControlFS no longer reads SDL every 8 ms with the Windows timer at 1 ms — keyboard and mouse arrive as events and reading drops to 4 times per second, only to notice a controller arriving (fast reading comes back as soon as it connects). Idle CPU with the window in front: from ~1.5% to ~0.5% of one core.
- Startup: the automatic update check starts after the first frame, and the caches for large icons (details panel, Home cards) keep fewer images. The Smoke workflow now measures time to first frame, memory, CPU and threads (active and minimized) and package sizes; numbers and decisions (ReadyToRun and portable compression) in
docs/performance.md.
Improvements
- Legibility and handheld density: context texts that were 14 px — the line above the list (archive, Git, search), "PAINEL ESQUERDO · ATIVO" (left pane · active) in two-pane mode and the inactive pane — are now body size, and on handhelds no informational text is below 16 px. In the folder picker that line becomes the screen title ("Copiar para… · escolha a pasta"). At 720p/800p comfortable rows are ~64 px (was 88: only ~5 fit) and the first launch on a handheld starts in the compact list, never changing a saved choice; the bottom bar no longer wraps (the less essential prompts are left out; Abrir, Voltar, Ações and Menu stay) and the path root ("Meu computador") no longer disappears with large text. Long paths in the details panel lose the middle, not the end ("C:\…\2026\Relatórios trimestrais"), and the main folder cards don't repeat the path on a 4K TV. The on-screen keyboard starts on the first letter, only the focused key has an outline (Done stands out by its text color) and handhelds show only the essential prompts. In the light theme the logo uses a version with a dark name (no dark plate behind it) and keys stand out from the panel (contrast checked by tests).
- Notices that don't push the list, no dialog after a clean operation, visible progress: transient notices ("Exibição em grade.", "Lista compacta.", why an option is unavailable) show as a pop-up in the bottom-right corner at body text size and fade after about 3 seconds; the bottom bar no longer changes height (it used to grow up to 124 px and shrink the list). The notice never covers the focused item (it moves to the top corner when needed) and is read by Narrator. A copy, move or delete without any problem no longer opens a dialog you have to close: the notice says "3 itens copiados · Menu → Desfazer" (3 items copied · Menu → Undo); warnings, failures and cancels still open the result, which also stays in Menu → Operações. While anything runs, a thin bar under the title strip shows the overall progress and the strip shows the percentage; Menu → Operações splits Em andamento (in progress: state icon, percentage and items, updating while the menu is open) from Histórico (history). The search summary and the count of items without permission move to the line above the list.
- Search from home: Select/View on the home screen searches the main folders (Downloads, Documents, Desktop, Pictures, Videos, Music) with the same engine as a folder search (never follows links; East/B cancels; Back returns home). In This PC, search looks in the focused drive.
- Empty lists with a next step: "Lixeira vazia" (Recycle Bin empty), "Compactado vazio" (empty archive), "Pasta vazia — Y Ações: Colar / Nova pasta" (empty folder — paste / new folder; paste only when something is copied) and, for a search with no results, the filters and a new search, with the active controller's buttons.
- Readable errors: Windows errors become a plain message with what to do (not found, access denied, in use by another program, disk full, path too long, device not ready) instead of "Erro inesperado: IOException" or the system's raw text. The original text stays under "Detalhes técnicos" (technical details) and in the local log.
- Theme-colored title bar and full screen (#230): the white minimize/maximize/close bar is gone — like Discord, the top of the window uses the theme background (dark or light, updating live) with the ControlFS logo, and the three Windows buttons use the theme colors (close still turns red on hover; with high contrast, the system colors). Dragging by the top, double-click to maximize and Windows 11 snap layouts keep working. Next to minimize there is a full screen button; also F11, Menu → Tela cheia (tile) and Menu → Configurações → Tela cheia. The choice is saved and applies the next time you open ControlFS; videos still go full screen on their own and, when closed, the window returns to what you had chosen. The real caption button colors haven't been checked on every Windows version yet (see
docs/TESTING.md). - Welcome and guided tutorial (#231): the first time ControlFS opens, five full-screen steps, all driven by the controller: welcome; how the controller works (the buttons of the controller in use — Open, Back, Actions, Menu, Search, Mark, L1/R1 for the top bar, L2/R2 for tabs, R3 for the view; Actions changes with the context); the basics with immediate effect (confirm with the bottom or right button, button labels, theme, list/grid, Fluidez); privacy (everything stays local, the update check is optional, the phone link is off until you open it); and the invitation Quer fazer o tutorial guiado? (Começar tutorial / Agora não). The D-pad moves, South chooses, East goes back a step, Start skips everything without asking; keyboard and mouse work too and Narrator reads each step. The guided tutorial uses the real screen: it highlights the region (list, top bar or footer), shows the exact button of your controller and only advances once you do the step — move the focus, open a folder, go back, open and close Actions, the top bar with L1/R1 and a shortcut, list/grid with R3, search, and the Menu with Configurações. No step changes files. Mark opens the tutorial options (continue, Voltar passo (previous step), Pular tutorial (skip)); with the mouse, the callout's buttons. It ends on Home with the first card focused. To see it again: Menu → Ajuda e tutorial… (guided tutorial, welcome again, About) or Configurações → Rever boas-vindas. People who already used ControlFS don't get the welcome on their own.
- Phone as a controller (#223): Menu → Conectar celular… (connect phone) shows a QR code. Point the phone's camera at it (Android or iPhone, on the same Wi-Fi/wired network as the PC) and a page opens in the browser, with no app to install and no cloud: D-pad, a swipe area to scroll, Abrir (open), Voltar (back), Marcar (mark), Ações (actions), Menu, Buscar (search), Lista/Grade (list/grid), regions and pages, plus a field that uses the phone's keyboard to type into the field open in ControlFS. The PC shows the phone's IP and a 6-digit code the phone also shows; the phone only takes control after Permitir (allow) on the PC. The QR code is valid for 2 minutes and for one connection; the link is local and encrypted (AES-256-GCM, a fresh key per pairing that never travels over the network). Important confirmations (delete, replace, undo) stay PC-only — from the phone, only Back works. Menu → Desconectar celular (disconnect phone), or Disconnect on the phone, ends it; closing the page, losing the network or closing ControlFS does too, and reconnecting needs a new QR code. The first time, Windows Firewall may ask: allow it on private networks. Not yet validated with real phones (see
docs/TESTING.md). - Settings in grids (#227): in each group of Configurações, short settings (view, density, details panel, theme, accent color, sort, hidden items, search in subfolders, recents, restore tabs, suggestions, confirm button, button labels, Fluidez) are now tiles with an icon, a name and the current value; settings with long descriptions or that open another screen stay in a list. The controller moves in 2D between the grids and the lists.
Fixes
- Details panel: "Este item não está marcado" (this item isn't marked) showed the amber marked symbol; it now shows an empty box.
- Welcome and tutorial texts name the buttons of the controller in use (LB/RB on Xbox, L1/R1 on PlayStation, L/R on Nintendo), like the glyphs.
- Item menus open on the first available tile of the grid instead of a list row below it (archives still open on Extrair para). Actions about the open folder (favorites, Colar, Nova pasta aqui, Abrir terminal aqui) sit in a titled Nesta pasta (name) group so they don't read as actions on the file.
- Dialogs no longer show the same text on two buttons ("A Cancelar · B Cancelar"): with the focus on the back option, the footer shows the next option.
- The footer no longer says "Extração iniciada…" (extraction started) under the "Extração concluída" (extraction finished) dialog: an operation's result replaces the start notice.
- Clean ControlFS icon: transparent background, no neon glow or haze around it, with a solid logo at every size (shortcut, taskbar, title bar, Start menu, installer). If Windows shows the old icon, that's its i...
ControlFS 0.9.0-alpha.1
Improvements
- Two panes (#56): Menu → Dois painéis shows two folders side by side, each with its own location, history, marks and focus. The active pane has a cyan outline and the "ATIVO" (active) title; L3 (press the left stick; Tab on the keyboard) or a click switches panes without touching marks. In Actions, Copiar/Mover para o outro painel (copy/move to the other pane, quick tiles) and Extrair para o outro painel (extract to the other pane) show the source and destination before running, and the other pane refreshes when done. Handhelds and narrow windows keep a single pane.
- Edit text from the preview (#62): in the preview of a text file (up to 1 MB, fully shown), North starts editing. The focused line is highlighted; Up/Down pick the line, South opens it on the on-screen keyboard, North inserts a line above/below, deletes the line or undoes, Start saves. Saving asks first and swaps the file in one step (never half-written), keeping the encoding, BOM and line endings; the original stays next to it as
name.controlfs.bak. Back with changes asks before discarding, starting on "Continuar editando" (keep editing). If another program changed the file while you were editing, saving warns before replacing it. Binary, read-only, oversized files or encodings that wouldn't round-trip are refused with the reason. - Full-screen video player (#61, #170): South on an MP4, M4V, MOV, WMV, AVI, MKV, WebM or 3GP file (from the list or the grid; North → Assistir aqui too) plays it across the whole window. An overlay with the title, elapsed/remaining time, progress bar, volume, subtitles and audio track shows up on any button and fades after 3 s of playback. South pauses/resumes; Left/Right (±10 s), LB/RB (±1 min) and LT/RT (5% of the video) show the target in large type and on the bar before jumping (South jumps right away, Back cancels); Up/Down change the volume; North opens subtitles (embedded, or an
.srt/.vttwith the same name next to the video), audio track, mute, start over and "forget where I stopped" — whatever the video lacks is disabled with the reason. Back first hides the overlay, then returns to the list with the focus on the video. A partly watched video asks Continuar de 12:34 (resume) or Começar do início (start over) — only for the same file: another file with the same name, or the same one edited, doesn't inherit the position; Configurações → Apagar onde os vídeos pararam erases them all. Windows codecs only: a format without a codec shows a clear message and Back leaves. - Create 7z (#67): in Compactar… (Compress), Formato now cycles ZIP → TAR.GZ → 7z (solid LZMA, smaller than ZIP; opens in 7-Zip and in the current Windows 11 File Explorer). Same rules as before: links aren't followed, the archive only appears when finished and nothing is overwritten. No new dependency: it uses the LZMA encoder already shipped in SharpCompress.
- Network locations (#27): network drives mapped in Windows and the Network locations shortcuts (File Explorer → "Add a network location") show on Home and in Meu computador (This PC) with the network symbol and the share (e.g. "filmes (Z:)", "Rede · \nas\filmes"); South opens and browses them like any folder. A drive Windows remembers but isn't connected shows as "desconectada" (disconnected), never as an error. ControlFS doesn't contact servers to build Home (a NAS that is off no longer holds up startup or going back Home) and stores no credentials: it only uses what Windows already knows.
- Audio playback (#60): South on an MP3, WAV, WMA, M4A, AAC, FLAC, OGG or Opus file plays it inside ControlFS (North → Ouvir aqui too). South pauses/resumes (at the end, it starts over), Left/Right skip back/forward 10 s, LB/RB 1 minute, Up/Down change the volume and North mutes/unmutes; the panel shows the state, time, progress bar and volume. East/B closes and the sound stops right away. Only Windows codecs are used: a format without a codec shows a clear message.
- Light theme and accent color (#37): Menu → Configurações → Tema (automatic, which follows Windows' app mode and changes with it; dark; light) and Cor de destaque (cyan, blue, green, amber, magenta, orange). Changes apply at once to every screen, menu and the on-screen keyboard, and are saved. Every combination is contrast-checked by tests (text ≥ 4.5:1; focus ring ≥ 3:1). Change: if Windows is in light mode you now get the light theme; Configurações → Tema: escuro brings back the previous look.
- PDF preview (#59): South on a
.pdfshows its pages inside ControlFS, without Edge (North → Visualizar PDF too; Open with the default app is still there). Left/Right or LB/RB change pages, RT/LT zoom, while zoomed the D-pad moves around the page and South fits it back; East/B closes with the focus on the PDF. The header shows "página N de M" (page N of M). A password-protected PDF asks for the password on the on-screen keyboard (masked, never stored) and lets you try again. Pages are drawn by Windows in the background; links, attachments and forms never open. - Experimental: gyro aiming on the on-screen keyboard (#77): Menu → Configurações → Mira por giroscópio no teclado (off by default). With a controller that has a gyroscope (DualSense, DualShock 4, Switch Pro…), turning or tilting the controller points at keys; South types, the D-pad keeps working and R3 recenters. The sensor is only turned on while the setting is on. Not yet validated on hardware; findings in
docs/decisions/0007. - Split archives (#65):
.7z.001,.zip.001,.part1.rar,.rar+.r00and.z01+.zipopen and extract from any volume. If a volume is missing, nothing is extracted and the message names the missing volumes (including the last one, when the format tells). Marking several volumes of the same set for a batch extraction counts as one archive. Split TAR/TAR.GZ is refused instead of being half-extracted. - More visible image preview controls (#171): the panel only shows what works right now (no "Anterior" on the first image, no "Próxima" on the last; "Ajustar à tela" only while zoomed), with the buttons of the controller in use. After 4 s without input the prompts fade (Close stays highlighted) and the header says "qualquer botão mostra os comandos" (any button shows the controls); any button brings them back and still does its job. The footer keeps its size, so the image never jumps.
- Restored tabs (#51): with two or more tabs open, ControlFS reopens the same folders, in the same order and on the tab that was active. A folder that is gone (or a disconnected drive) becomes an "(indisponível)" (unavailable) tab that shows Home with a notice, without holding up startup. Menu → Configurações → Restaurar abas ao abrir (restore tabs on launch) turns it off.
- Reopen closed tab (#52): Menu → Reabrir aba fechada (also in Menu → Abas and North on the tab strip) brings back the last closed tab at the same position, with its folder and history (Back/Forward); marks don't come back. The last 10 tabs closed in this session are kept.
- Duplicate tab (#53): North on the tab strip (or Menu → Abas) → Duplicar aba opens, right next to it, a tab at the same folder (or archive), focused on the same item, with a copy of the history that then goes its own way; marks stay only in the original tab.
- Maximum smoothness (default): while the window is active, the controller is read ~125 times per second (every 8 ms, with the Windows clock at 1 ms), enough for 120 Hz screens — Windows used to round it to ~64. Drawing still follows the display's rate. Menu → Configurações → Fluidez switches to battery saver (handhelds).
- Smaller menus with a quick-action grid (#193): item actions (North) and the Menu (Start) open with the most used actions as tiles at the top — icon with a short label underneath, readable from a distance (e.g. Abrir, Recortar, Copiar, Colar, Renomear, Propriedades and, last and in red, Excluir). The rest follows in a compact list, with the explanation only on the focused option. In the grid, Left/Right move between tiles, Down goes into the list and Up returns to the tile you came from; the initial focus is never a destructive action, Narrator says "ação rápida N de M" (quick action N of M) and clicking a tile chooses it. Every menu is narrower and shorter.
- Configurações (settings) (#193): settings moved out of the Menu into Menu → Configurações, grouped (Exibição, Busca e privacidade, Controles, ControlFS). Changing a setting keeps the screen open with the new value; Back closes it. Nothing was removed: view, density, details panel, sort, hidden items, search in subfolders, recents, keyboard suggestions, confirm button, button labels, Fluidez, active controller, controller test, controllers without a profile and updates are all there.
- Right-stick scrolling (#175): tilting the right stick scrolls whatever is active — list and grid (one row per step; the focus follows and stays visible, never wrapping at the ends), menus, the text preview (lines and, sideways, columns), a zoomed image and the body of long dialogs and About — without moving anything behind it. A short flick scrolls one step; the further you tilt, the faster it goes, and holding it accelerates gradually; letting go stops at once. A deadzone with hysteresis prevents drift; pressing the stick (R3, list ↔ grid) doesn't scroll, and an idle controller never takes over from the active one. The D-pad and left stick behave as before.
- Batch rename (#71): with marked items, North → Renomear em lote… offers numbering (
Photo 001.jpg…), find and replace (with an optional match case), prefix and suffix, and upper/lower/title case, with a live preview of current name → new name....
ControlFS 0.8.0-alpha.1
Improvements
- Tabs on the triggers (#185): Menu → Nova aba (new tab) and, with two or more tabs, L2/R2 (LT/RT) switch to the previous/next tab while browsing; each tab comes back with its folder, history, marks and focus. With a single tab the triggers keep paging; L1/R1 stay on the top bar. The footer shows "Aba anterior"/"Próxima aba" with the triggers of the controller in use.
- On-screen keyboard suggestions (#45): in names, searches and paths, a strip above the keys suggests names you typed before, names in the current folder and, for paths, favorites and recent folders (case and accent insensitive). Up from the first row focuses the strip, South uses it. All local; never in passwords. Menu → Sugestões do teclado turns them off and erases the history.
- Top bar with L1/R1 (#176): the header no longer shows the current folder in a separate chip with an R1 prompt (it is already the end of the path). The top bar (path + quick access) is one region: from the list, L1 focuses the folder above and R1 the first shortcut; in the bar, L1/R1 and Left/Right move to the previous/next target and South opens it. The current folder is only the location label: it never takes focus or reloads, and the shortcut for the current folder is skipped too. The L1 and R1 glyphs sit at both ends of the bar in the active controller's family (LB/RB, L1/R1, L/R or keys). The tab strip only shows with two or more tabs, without its own prompt: Up in the top bar reaches it (there, L1/R1 switch tabs as before) and the new Menu → Abas (tabs) creates, closes and switches tabs. Change: RB in the list no longer jumps straight to the tabs.
- The Search prompt on PlayStation now uses an original drawing of the Create/Share button (a vertical pill with three strokes) instead of the slanted capsule that looked like another button. The button and the action are unchanged. (#178)
- One look for every modal (#172): menus (Menu, Actions, Favorites, tabs, search filters…), confirmations, warnings, errors, password, the on-screen keyboard, the Operations center, results, the folder picker menu, Properties, About, the controller test and setup screens and the previews open in a dark frosted panel (it blurs the dimmed screen behind it) with rounded corners and a thin light edge. The header shows an icon, the title and the context (e.g. the item's type); each option spans the whole row with a Windows icon next to its text, and groups get headings (e.g. "Organizar", "Exibição"). The focused option is filled in cyan with dark bold text and slightly larger, so it is easy to spot from across the room without relying on color. Actions that delete data are red with a warning symbol and never start focused; unavailable options are dimmed and say why. The prompts of the controller in use (and the current notice) show inside the panel. With Windows transparency effects off or high contrast, the panel is solid; with animations off, it appears without a transition (input never waits for an animation). Narrator also says "ação perigosa" (dangerous action).
- Steam game shortcuts (#168):
.urlfiles that opensteam://(like the ones Steam puts on the Desktop) show in the list and grid by the game's title without.url("Valheim"), with the type "Jogo da Steam" (Steam game) and the game's own icon declared by the shortcut (or the same icon from the local Steam installation; with neither, a game symbol). The details panel and Properties keep the real file name, the real type and what the shortcut opens. Opening (South or North → Jogar…) asks first, starting on "Cancelar", and hands the shortcut file itself to Windows; without Steam installed you get a readable error. Website shortcuts (https://) stay ordinary.urlfiles. .lnkshortcuts show their own icon (the declared one or their target program's) instead of a blank document.- Details panel in the grid too (#177): next to the grid (folders, home, This PC, search, archives and the Recycle Bin), the same panel as the list shows the focused item and follows focus without taking it from the grid; grid columns adjust to the remaining width. With marked items, the panel says whether the focused item is one of them; with focus on the top bar, it only shows the marked summary ("Nenhum item em foco", no item in focus). New Menu item Mostrar/Ocultar painel de detalhes (Show/Hide details panel; the label follows the state): list and grid each keep their own choice, saved like the view and density. With no choice, the panel shows where it fits and steps aside on handhelds and narrow windows; there the menu can show it (the grid gets fewer columns). Hiding or showing it never changes the focused item or the marks.
Security
- Shortcut icons are only read from local paths on fixed drives with no links along the path: network paths (
\\server\…), web addresses, device prefixes and relative paths are refused before any access (so merely showing a folder can't leak Windows credentials to a server)..urlcontents are read with a 64 KB cap and never executed.
Known limitations
- Not yet validated with physical controllers (issue #78: Menu → Teste de controles…).
- Executables are not code-signed yet (#84, SignPath Foundation application under review): SmartScreen may warn on first run.
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 theControlFS_Datafolder 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).
Code signing policy: README → Code signing policy · Privacy policy
🇧🇷 Notas em português: CHANGELOG.md
ControlFS 0.7.0-alpha.1
Improvements
- List in the new look (redesign, phase C): the list sits in a card with a column header (mark box · Name · Type · Size · Modified) and the current sort arrow on the sorted column (↑ ascending, ↓ descending), the same as Menu → Sort by/Order; with a mouse, clicking a title sorts by it and clicking again reverses it, and the header box marks all or clears. Tall rows for TV and controller, with the mark box (focus never marks), Windows icon, name, type, size, a friendly date ("Hoje, 14:32" today, "Ontem, 18:05" yesterday, otherwise "25/09/2026, 20:11") and a chevron on folders; the focused row has a blue fill, cyan border and a highlighted chevron. On the home screen, Windows folders show as "Pasta do sistema" (system folder) with their real size (the same sum as the grid cards, with "Calculando…"). Compact density stays, with short rows in the same columns; when space runs out, the type column goes first.
- Details panel on the right of the list, shown by default: large Windows icon, name, type and real data of the focused item. Folder: path, how many items and how much space are inside ("Calculando…" while summing, in the background and only for the focused folder); file: path, size and date; image: thumbnail, format and dimensions (same decoder and limits as the viewer); archive: format from the content and how many files (ZIP and 7z, without extracting); drive: file system, capacity, free, used and the usage bar; inside an archive and in the Recycle Bin, the path in the archive or the original location. With marked items, the panel says how many and their total size. On handhelds and narrow windows the panel steps aside so the list is not squeezed (the same data stays in Actions → Properties).
- Slightly taller bottom bar and top bar at 1080p and 4K, as in the reference (720p/800p stay compact).
- Interface texts with counts now use proper Portuguese singular/plural instead of "(s)"/"(ns)": "1 item marcado", "3 itens marcados", "1 pasta · 0 arquivos abertos recentemente", "2 controles", "1 entrada com problema" (zero uses the plural, as in "0 itens").
Fixes
- Opening another folder (or an archive) without a chosen item now focuses the first item, instead of keeping the previous list's position or jumping to an item with the same name. Back and up still focus the item you came from.
Known limitations
- Not yet validated with physical controllers (issue #78: Menu → Teste de controles…).
- Executables are not code-signed yet (#84, SignPath Foundation application under review): SmartScreen may warn on first run.
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 theControlFS_Datafolder 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).
Code signing policy: README → Code signing policy · Privacy policy
🇧🇷 Notas em português: CHANGELOG.md
ControlFS 0.6.0-alpha.1
Improvements
- New look, first step of the redesign: a navy palette with a cyan focus (border, blue fill and a subtle glow, with a short transition) and a larger bottom bar with the actions always in the same order (Open · Back · Mark · Actions · Menu · Search · List/Grid) and the Xbox face colors in the glyphs (A green, B red, X blue, Y yellow). R3 (pressing the right stick) switches between list and grid, like Ctrl+G and Menu → View; the bottom bar names the target: "Grade" (grid) in the list, "Lista" (list) in the grid.
- New header and top bar: the logo with the name shows on every screen, with the tabs next to it (RB). Below, a single bar shows the real path with a root button ("Locais › Início" on the home screen, "Meu computador › C:\ › …" in folders) and quick access: Favorites, Recent files, the Windows folders, This PC and the Recycle Bin, with the Windows icons. LB moves focus to the bar (in a folder onto the folder above; on the home screen onto Favorites), Left/Right walk from the path to the shortcuts and South opens in the same tab, with history.
- Grid home screen with cards: "Pastas principais" (main folders) with the Windows icon, the real path and how many items and how much space are inside (calculated in the background with "Calculando…", never freezing the screen, kept for 10 minutes), and "Unidades e dispositivos" (drives and devices) with a usage bar, "X livres de Y" (free of) and the file system. Favorites get their own section; Recent and the Recycle Bin go under "Outros locais" (other places). Columns follow the width (3 at 1080p, 2 on handhelds, 1 in a narrow window) and the D-pad moves across sections. Sizes are now always in the Brazilian format ("698,5 GB").
- This PC (Meu computador) is now its own screen: the drives in a tab (cards in the grid, rows in the list), with history; a drive's Properties show capacity, free, used and file system. It used to go back to the home screen.
- Grid of cards in folders, search results, archives and the Recycle Bin, matching the home screen: large icon, name, type and size, states (marked, cut, password-protected) or the folder of a search result, and a chevron on folders. Columns follow the width (3 at 1080p, 2 on handhelds, 1 in a narrow window, 4 on a 4K TV).
Known limitations
- Redesign in progress: the List mode with a details panel comes in the next version; in this one, List keeps the previous look.
- Not yet validated with physical controllers (issue #78: Menu → Teste de controles…).
- Executables are not code-signed yet (#84, SignPath Foundation application under review): SmartScreen may warn on first run.
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 theControlFS_Datafolder 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).
Code signing policy: README → Code signing policy · Privacy policy
🇧🇷 Notas em português: CHANGELOG.md
ControlFS 0.5.0-alpha.1
What's new
- Narrator: the logical focus is now announced as you move with the controller or keyboard: the context when you enter it (home, folder, menu, dialog, on-screen keyboard, path bar, tabs), then just the item, with type, size, position and states in words (marked, cut, blocked, password-protected, unavailable with the reason). Bottom-bar messages are a live region read without moving the focus. (#40)
- Recycle Bin on the home screen: lists deleted items with their original folder and deletion date; South/A on an item offers Restore (back to the original folder, never overwriting) and Delete permanently, which always asks first with the focus on Cancel. Marking several works. An invalid original location recorded in the bin is refused. (#26)
- Text preview: South on .txt, .md, .log, .json, .xml, .csv, .ini, code etc. (or North → Visualizar como texto (view as text) on any file, scripts included, without running them) opens it read-only. Up/Down scroll, LT/RT page, LB/RB jump to the start/end, Left/Right shift long lines and South toggles a fixed-width/proportional font. Encoding detected (UTF-8, UTF-16, ANSI); only the first 2 MB and 10,000 lines, with a partial-preview notice; binary files are refused. (#58)
- Smaller downloads: the portable exe went from 97 MB to 72 MB and the installer from 65 MB to 48 MB by dropping the Windows App SDK AI/ML components the app doesn't use. (#85)
- Grid view: Menu → View (or Ctrl+G) switches between the list and a grid of large icons in folders and on the home screen. In the grid the D-pad moves in 2D, never skipping items and wrapping to the next row at the ends; the triggers page. Density applies to the grid (smaller tiles when compact), the choice is saved and switching views keeps the focused item. (#29)
- Image preview (JPG, PNG, GIF, BMP, WebP): South opens the image inside the app; Left/Right or LB/RB step through the folder's images, RT/LT zoom, the D-pad pans while zoomed and East/B closes. Decoding runs in the background and is reduced to 4096 px; the format is checked from the content and 100 MB / 80 megapixel limits apply before decoding. Nothing is executed; images inside archives aren't previewed. (#57)
- Narrator reads the on-screen keyboard field as "Texto: …" with the caret position, and the Smoke workflow now checks through UI Automation the menu focus, the safe option of confirmations, modal scope and the on-screen keyboard in the real app. (#83)
- Text selection on the on-screen keyboard: Select all on the
…page (or Ctrl+A), the selection is highlighted and underlined, typing replaces it,⌫deletes it and◀ ▶drop it. Rename opens with the name before the extension selected (example-file.zip→ typenovo→novo.zip). (#44) - Drive types: local disk, USB stick, optical drive and network drive each get their own symbol and text on the home screen and in the folder picker (with label, letter and free/total space), and Narrator reads the type. Plugging in or removing a USB stick while the app is open updates the list without restarting and keeps the focus on the same place. (#25)
- Active controller: Menu → Controle ativo (active controller) lists the connected controllers (name, family, type, VID:PID, physical or virtual) and South/A on one makes it the only controller driving ControlFS until you switch back to automatic. When Steam Input or DS4Windows expose the physical controller and a virtual copy at the same time, the bottom bar warns about the duplicate (each button could act twice) and the menu shows which one looks like the copy. The controller test also flags virtual devices. (#80)
- Recent on the home screen: the last folders you visited and files/archives you opened (up to 10 of each), one press away with Home → Recent → South/A. They stay on this computer only, in your settings; North on "Recent" clears the lists, and Menu → "Recent" turns the feature off (which also erases what was stored). (#49)
- Operation history: Menu → Operations also lists what was done in earlier launches (copies, moves, deletes, extractions, compressions and renames), with date, source, destination and per-item outcomes. Stored as versioned JSON in the data folder with atomic writes, capped at the 200 most recent operations, never with passwords or file contents; Clear history… erases the record. (#20)
- Test integrity of an archive without extracting (North on an archive or inside it): reads every entry and checks its CRC without writing anything, with progress and cancel. The result names the failing entries and counts those without a checksum (TAR, GZ, ZIP AES AE-2). It is not a virus scan. (#66)
- Extract several archives at once: mark the archives and choose North → "Extract each to its own folder". Each goes into a new folder (contents never mix), runs as its own queued operation and a final summary shows each result. (#69)
- Folder size on demand: Properties → "Calculate size" adds up everything inside a folder or drive off the UI thread, showing the running total; East/B cancels at once and keeps the partial value. Junctions and links are never followed (they are counted separately) and folders that could not be read are reported. Search and size share the same safe walker. (#55)
- Search filters: North on the results opens type filters (folders, images, videos, audio, documents, archives, executables — combinable), size and modified date; South toggles without closing the menu. The list is filtered at once without searching again, and filters stay on for later searches in the session. The other search actions moved to "Other search actions…". (#47)
- Pause and resume copies, moves and deletes: Menu → Operations → the operation → Pause/Resume. It stops at the next safe point (between items and between blocks of a file), never leaving anything half-written in the destination; Cancel also works while paused. Extraction and compression don't offer pause. (#21)
- Search (and folder size) now go into OneDrive folders with files on demand, treated as normal folders: only names are read and nothing is downloaded. Junctions, symbolic links and mount points are still refused. (#126)
- Undo and redo: Menu → Undo/Redo (and "Undo" in the result of copies and moves) for rename, move, copy and Recycle Bin deletes. Everything is checked first: if the disk changed since the operation (name taken, copy edited, item gone from the Recycle Bin), nothing is done and the reason is shown. A copy is only removed while it is unchanged and the original still exists. Permanent deletes and replacements are never undone. (#22)
Improvements
- ZIP64 validated: ZIP archives with entries over 4 GB or more than 65,535 entries extract with sizes and CRCs checked; the safety limits still apply. (#63)
- AES-encrypted ZIP (WinZip AE-1/AE-2, 128/192/256-bit) validated: without a password the app asks for one, the right password extracts identical content and a wrong one is now reported as "wrong password" (asks again) instead of "wrong password or corrupt data". (#64)
- Tabs in the browser: each tab keeps its own folder, history, marked items and focus. RB moves to the tab strip, LB/RB switch tabs and North creates or closes one; North on a folder has "Open in new tab". A copy or move refreshes every tab showing its source or destination. (#50)
- Go to path… (Menu, and in the folder picker): the on-screen keyboard opens with the current folder selected; type or paste (Ctrl+V) a path, with or without quotes and with variables such as
%USERPROFILE%, and Done goes there. A missing or invalid path shows the error without closing the keyboard; a file's path opens its folder with the file focused. (#54) - More informative archive browser: the header shows the format, files, uncompressed size and how many entries are password-protected or blocked; each file shows how much it takes compressed (%); folders show Explore and, with entries marked, North becomes Extract selection (N) and the menu opens on that option. (#68)
Known limitations
- Not yet validated with physical controllers (issue #78: Menu → Teste de controles…).
- Executables are not code-signed yet (#84): Windows SmartScreen may warn on first run.
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 theControlFS_Datafolder 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
ControlFS 0.4.0-alpha.1
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 Openon Xbox,✕ Openon 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 theControlFS_Datafolder 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
ControlFS 0.3.0-alpha.1
What's new
- Rename files and folders with the on-screen keyboard: the cursor starts before the extension, changing the extension asks first, and invalid or duplicate names are refused without touching the disk. (#103)
- Copy, cut and paste with ControlFS's own clipboard, plus Copy to… / Move to… with the in-app folder picker. Cut items are dimmed until pasted. (#101, #102)
- Move on the same drive is instant; across drives, ControlFS copies first and removes each original only after its copy succeeded. (#101)
- Delete to the Windows Recycle Bin, with a separate, always-confirmed "Delete permanently". Where there is no Recycle Bin the app says the delete is permanent; it never deletes permanently in silence. (#104)
- Conflicts in every operation: skip, keep both, replace (with confirmation) or, for folders, merge; "apply to the rest" only lasts for the current operation. (#101)
- Per-item results for every operation in the operations center. (#101)
- Official ControlFS icon and logo in the app, taskbar, shortcuts, installer and README. (#100)
License
- Changed the project license from MIT to GNU AGPL v3.0 only (
AGPL-3.0-only). Releases up to and including 0.2.0-alpha.1 remain available under MIT; this release and later ones are AGPL-3.0-only. Seedocs/LICENSING.md. (#9)
Updating
- From 0.2.0-alpha.1: the installed app shows the notice; choose Install and restart. Your settings are kept.
- From 0.1.0-alpha.1 to alpha.4 (which didn't open): download the installer below once.
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 theControlFS_Datafolder 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
ControlFS 0.2.0-alpha.1
What's new
- Extract 7z, RAR (RAR4 and RAR5, including solid), TAR, TAR.GZ and GZ, besides ZIP, with the same protections (contained paths, blocked links, conflicts, limits). Archives with protected files or file lists (RAR/7z) ask for the password on the on-screen keyboard. (#5)
- Compress marked items (or the focused one) to ZIP or TAR.GZ: name typed on the on-screen keyboard, fast/normal/maximum compression, progress in the operations center. Links and junctions are not followed and nothing is overwritten. (#5)
- Open with Windows: Confirm on a non-archive file opens it in the default program; the actions menu has "Open with…" and "Show in File Explorer". Programs and scripts (.exe, .msi, .bat, .ps1, .lnk…) ask for confirmation, starting on "Cancel". (#5)
Limitations
- RAR can't be created (proprietary format); creating 7z isn't available yet. Split volumes aren't supported yet.
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 theControlFS_Datafolder 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
ControlFS 0.1.0-alpha.4
Fixes
- The 0.1.0-alpha.3 portable
ControlFS-Portable-x64.execlosed on startup: it looked for its resource file by the executable's name. The file is nowresources.priand is found under any name. (#4) - CI now opens the portable under its exact published name (it used to be renamed, which hid the bug). (#4)
Downloads
- Installer (recommended):
ControlFS-Setup-x64.exe— per-user install, no admin; updates itself automatically. - Portable:
ControlFS-Portable-x64.exe— a single executable; keeps its data in theControlFS_Datafolder next to it; updates are manual. - Integrity:
SHA256SUMS.txt;release-manifest.json+.sigare the signed update manifest the app verifies. - Windows 11 x64. Not code-signed yet: Windows SmartScreen may warn (see the code signing policy).
🇧🇷 Notas em português: CHANGELOG.md