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 icon cache. (#187)
- Menus (Configurações, Menu, actions) keep a fixed width: moving focus or showing the focused option's description no longer widens or narrows the panel; long text wraps. (#227)
- Settings show a state, not a verb, with the same name at every screen size: "Itens ocultos: visíveis/escondidos" (hidden items: shown/hidden), "Recentes", "Status do Git", "Restaurar abas", "Sugestões do teclado" and "Mira por giroscópio": ligado/desligado (on/off), "Busca em subpastas: incluídas/ignoradas" (included/ignored), "Painel de detalhes: visível/oculto" (was "Mostrar/Ocultar painel de detalhes"). The line under the focused tile explains what the setting does instead of repeating its value. (#227)
- Consistent labels: the top bar shortcut is now Recentes, as on Home (was "Arquivos recentes"), and South on it says Abrir (open); the R3 prompt names the action (Ver em grade / Ver em lista, view as grid/list) instead of reading like the current state; two tabs with the same name show the folder they are in, e.g. "Fotos (Viagem)"; titles use Brazilian curly quotes (Buscar em “x”, Renomear “x”, Desfazer “x”?).
- Distinct icons for different meanings: Copy to, Keep both, Compress, Properties, About, Operations (no longer looks like Refresh), Controllers without a profile, Sort order, Close tab, Subfolders, Merge, Empty clipboard, Tabs… and Reopen closed tab got their own symbols. A test makes sure only the documented pairs share a symbol.
- Closing ControlFS after playing audio or video no longer crashes the process on PCs without a GPU (virtual machines, Remote Desktop). (#224)
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.
- Phone-as-controller, the title bar, the light background mode and media were verified only as far as Windows CI can; the rest is in
docs/TESTING.md.
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