Skip to content

Releases: diegoleteliers10/corvo

Corvo 0.6.0

Choose a tag to compare

@diegoleteliers10 diegoleteliers10 released this 12 Oct 05:45

Corvo 0.6.0

This release is about reaching things by name. A settings row that showed an
alias field but produced no search result could not be found at all, and a
shortcut recorded next to it stayed dead until the app restarted. Twelve of the
built-in commands, five feature commands, and the four quicklink commands were
in that state. They are emitted now, aliases resolve from the row you set them
on, and creating a snippet or a quicklink happens inside the launcher.

Aliases and shortcuts

  • An alias works on every row that offers one. Typing it brings the row up, including the first letters of the alias rather than only the whole thing, and scattered letters never match so a two-letter alias stays worth setting.
  • A recorded shortcut takes effect at once. Shortcut collection no longer sits behind each section's "enabled" toggle, and the Navigation pane had no collection pass at all, so shortcuts recorded there did nothing.
  • Turning a section off hides its rows from search and keeps its shortcuts, so a feature you switch off does not silently lose the keys bound to it.
  • Renaming a snippet or a quicklink carries its alias, shortcut, and visibility over to the new name. Before, the row fell back to defaults and the old entry was left behind.
  • Built-in rows are keyed by a stable identifier instead of the sentence they display. Rewording a row no longer discards the alias and shortcut saved under the old wording. Settings migrates entries saved under the old keys the first time it loads.

Commands

  • The Commands pane lists every built-in command in root search: About Corvo, Calculator History, Check for Updates, Define Word, Export and Import Backup, Import from Raycast, Open Camera, Quit Corvo, Reload Applications, Open Settings, and Toggle System Appearance. They had a settings row, an alias, and a shortcut but no result to show.
  • The feature panes emit their command rows too: Clear Clipboard History, Search Snippets, Create Snippet, Switch Windows, and Search Menu Bar Items. Menu Bar search appears on macOS, matching the pane that shows it.
  • Create Quicklink, Search Quicklinks, Import Quicklinks, and Export Quicklinks now work from root search. They were listed with no result and no action behind them.
  • Typing snippet: or quicklink: searches only that kind of entry.

Snippets and quicklinks

  • Create Snippet and Create Quicklink open an editor over the launcher instead of opening Settings. The alias on a creation command now leads straight into the form.
  • Cmd+E opens the selected snippet or quicklink for editing in place, and Cmd+N creates a new one inside a scoped search.
  • Tab moves between fields, Enter saves, Enter inside a snippet body adds a line, and Escape cancels.
  • Snippet rows open an editor for name, keyword, and body instead of writing a blank row that had to be edited by hand.
  • Snippets and quicklinks expand {clipboard}, {date}, {time}, and {datetime} placeholders.

Calculator

  • Currency conversion in the palette: 10 usd to eur or 900 clp in usd convert through a USD pivot. Rates come from open.er-api.com, need no key, are cached for six hours, and are fetched on a background task that never blocks a keystroke. A bare amount converts to a default target and stays silent while the rates load.

Search

  • An exact alias match surfaces its row even when the alias text cannot fuzzy-match the row's own name.
  • Aliases are matched from the start of the alias rather than only in full, and the row with an exact match ranks first.

Clipboard

  • History entries can be pasted directly with Cmd+1 through Cmd+9, with the selected entry pasted immediately.

Platform

  • A recorded application shortcut toggles the app: it focuses the app when another one is in front and hides it when it is already focused.
  • Exact command aliases surface in search even without a text match, and alias ranks are honored across every section.

Requirements

  • No new permissions or configuration. Every change applies on macOS, Windows, and Linux; the Menu Bar command row appears on macOS only.

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 05 Oct 02:57

Corvo 0.5.1

This patch release fixes duplicated entries in the Clipboard History. Pasting an entry with Enter and copying one from the actions menu both end up writing the content to the system pasteboard — that is how the synthetic Cmd+V and the copy action work — and the clipboard watcher used to record that write as a brand-new copy unless the entry already sat at the top of the list. Selecting anything from further down the history therefore grew the list with a second copy of the same content.

Clipboard

  • Pasting an entry into the active app (Enter) no longer duplicates it. The watcher now matches the pasteboard content against the whole history: an existing entry moves to the top of the list with a fresh timestamp instead of a copy being inserted.
  • Copy to Clipboard and Copy Image update the list the same way. Re-copying an entry raises it to the top with a new time, so the two actions keep their distinct roles — Enter pastes right away, the menu option leaves the content on the system pasteboard — and neither grows the history twice.
  • Promoted entries keep the application they were originally copied from. While a paste is in flight the frontmost app is the paste target, not the origin, and the history no longer misattributes the entry to it.
  • Launching Corvo no longer refreshes the top entry's timestamp. Starting the app is not a copy event, so "Today at …" keeps describing the real copy time.
  • When the history reaches its configured limit, an evicted entry's saved image file is now deleted on the text path too, leaving no orphaned files behind.

Platform requirements

  • No new permissions or configuration. The fix applies on macOS, Windows, and Linux with the Clipboard extension enabled.

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 04 Oct 22:59

Corvo 0.5.0

Extension platform

  • Extensions become first-class: every command declares a manifest — title, description, icon, and a command surface with typed arguments (text, password, dropdown) — that root search and Settings render without hand-written plumbing.
  • New declarative page model: a command returns a PageView and the launcher renders it. Compose Blocks (badge, hero, progress, markdown, strip cards, buttons) with a live refresh cadence, a markdown Detail with structured metadata, a Grid of tiles with sections, or a Form with text, checkbox, and select fields. Per-block Style puts colors, sizes, and backgrounds in the extension's hands.
  • Declarative pages own their keyboard: left, right, and Enter mean what the command decides and the command renders the selection itself. The pomodoro picks durations with the arrows and starts with Enter; media moves between tracks.
  • Filter chips give pages a second filter axis; clicking one re-renders the page with the command's own selection. Weather ships a live °C/°F toggle as the demonstration.
  • Rows carry structured accessories with hover tooltips, and a recents helper backs the "Recently used" section the emoji picker now shows.
  • A row can push a Detail view onto the launcher's navigation stack (title, markdown, metadata); Escape and backspace pop back.

Extensions

  • One extension per browser: Google Chrome, Brave, Microsoft Edge, Firefox, Arc, Dia, Safari, and Aside each get tabs, bookmarks, and their real application icon, appearing only while the browser is installed. Live tabs on macOS go through AppleScript; on Windows and Linux through the browser's DevTools endpoint when it runs with its debugging port.
  • Media Control works on all three systems: Spotify and Music on macOS, System Media Transport Controls on Windows, MPRIS on Linux — browser playback included through those sessions.
  • New Countdown extension: a live ticking page with a typed date argument (ISO, month names, or day-month) and saved countdowns, built entirely on the declarative model.
  • New one-per-operation quick verbs in Text Utilities: To UPPERCASE, to lowercase, camelCase, snake_case, kebab-case, Base64 Encode and Decode, and SHA-256 act on the clipboard or the typed argument and copy the result.
  • The new extension book (https://diegoleteliers10.github.io/corvo/) documents the model, the kit modules, and the patterns distilled from three thousand published launcher extensions.

Launcher

  • Extension pages render inside the standard window and scroll when their content exceeds it.
  • The actions panel, toasts, and row accessories keep working for every command on all three systems.

Platform requirements

  • Browser live tabs on Windows and Linux require the browser to run with its debugging port; each page shows the exact flag.
  • macOS browser and media commands require Automation permission for the target application. Safari bookmarks may need Full Disk Access.
  • Linux media control requires an MPRIS player on the session bus; desktop notifications require notify-send and a notification service.
  • Weather requires network access. Notes, countdowns, and timer state stay local.
  • CI checks compilation and tests on Windows x64, macOS Intel, and Linux x64. Native UI, media sessions, and notification delivery still need manual checks on each system.

Corvo 0.4.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 16:05

Corvo 0.4.0

Extensions

  • Add text utilities for case conversion, encoding, JSON, UUIDs, hashes, and line tools on macOS, Windows, and Linux.
  • Add Pomodoro focus and break timers with pause, resume, skip, and desktop notifications on all three systems.
  • Add current weather and a three-day forecast from wttr.in. Accept city searches and cache responses for 15 min.
  • Add a native Markdown notes editor with autosave, headings, lists, checklists, links, code colors, tables, selection, and a scrollbar.
  • Add Spotify and Music playback controls on macOS.
  • Add Chrome, Brave, and Edge tab search and focus on macOS. Read bookmarks from the first available Default profile. Browser history remains planned.
  • Keep process control available on all three systems and Homebrew package and service management on macOS.

Reliability

  • Preserve note filenames during autosave. Save through an atomic file replacement and keep one editor per note. Reject unsafe note paths and Windows reserved filenames.
  • Keep timer expiry and state changes under one lock.
  • Bound process execution and pipe reads. On Unix, stop the process group when the timeout expires.
  • Pass browser URLs as AppleScript arguments.
  • Preserve unreadable settings files and cache settings reads.
  • Encode quicklink arguments before URL substitution.
  • Apply file search exclusions to both slash formats on Windows.
  • Use per-user Unix IPC sockets with a legacy socket fallback.
  • Open Windows URLs through the native Shell API and respect clipboard concealment markers.

Platform requirements

  • Homebrew, Media Control, and Browser Tabs are macOS-only commands.
  • macOS browser and media commands require Automation permission for the target application.
  • Linux desktop notifications require notify-send and a notification service.
  • Weather requires network access. Notes and timer state stay local.
  • Native UI and notification delivery still need manual checks on each system. CI checks target compilation. It does not confirm runtime behavior.

v0.3.6

Choose a tag to compare

@github-actions github-actions released this 01 Oct 03:12

Corvo 0.3.6

Launcher

  • Use the same background transparency in compact and full modes.
  • Remove an application from the cached list after uninstall. On macOS, removal of associated files alone keeps the application in the list.
  • Refresh the application list each time the launcher opens on macOS, Linux, and Windows.
  • Remove deleted application paths from cached results and the Windows startup cache.
  • Keep a Windows shortcut during icon loading only if the current scan still finds it.
  • Make Reload Applications start a new scan.

v0.3.5

Choose a tag to compare

@github-actions github-actions released this 01 Oct 02:31

Corvo 0.3.5

Windows

  • Read application icons through native Windows Shell APIs. Shortcut icons no longer need PowerShell. Packaged apps use native extraction first.
  • Use a new icon cache and reject empty icons. Save PNG files through an atomic write.
  • Move window clipping outside the GPUI update to prevent a nested update during compact-mode resize.
  • Apply rounded edges after the viewport size or display scale changes. Check both width and height when the interface size changes.
  • Use a transparent window background instead of the native acrylic backdrop.

Local error logs

  • Add local error logs on Windows, macOS, and Linux. Corvo sends no logs automatically.
  • Record the app version, system, time, component, error event, and source location. Omit searches, clipboard content, file paths, log messages, and panic payloads.
  • Keep up to three files of 1 MiB each. Limit repeated events. A log write failure does not stop the app.
  • Add Open logs in Settings > About for manual sharing.

Maintenance

  • Resolve Clippy warnings in the calculator, result sorting, settings, and launcher code.
  • Add explicit calculator error types and remove an unnecessary macOS unwrap.
  • Run diagnostics tests on all three systems in CI. Add native Windows icon and window-region tests.

v0.3.4

Choose a tag to compare

@github-actions github-actions released this 30 Sep 06:14

Corvo 0.3.4

The launcher opens above the middle of the screen now. It sat dead center,
which placed the result rows low on a laptop display and made the eye
travel down to read them. The middle of the panel now sits at 30 percent of
the display height. The position is derived from where the middle of the
panel should land rather than from a fixed offset, so the compact and
expanded sizes both open in the same place.

Uninstalled applications now leave the launcher. On Windows a scan that
failed to find an app left the previous entry in the list, and a previous
entry is exactly what an uninstalled app looks like, so it stayed there
for good. Only an entry that is still installed and still waiting for its
icon to decode is carried forward now. Store apps are read from
Get-StartApps on every scan, so they never needed carrying forward either.

v0.3.3

Choose a tag to compare

@github-actions github-actions released this 30 Sep 05:22

Corvo 0.3.3

This release repairs the software update relaunch on macOS. Every update
refused to install with a signature error, even when the downloaded app
was correctly signed.

  • Relaunch reported "Cannot read the macOS app code requirement" on
    every attempt. codesign -dr - sends the designated => line to
    stdout and the Executable= line to stderr. Corvo read stderr only, so
    it never found a requirement and rejected its own download before it
    compared anything. The reader checks both streams now.
  • The error was raised ahead of the identity comparison, so it hid the
    real state of the update and gave nothing to act on.
  • A local build signed ad-hoc has no identifier, and the tool comments
    the designated line out with a leading # . That marker is handled
    too, so an unsigned build reports an unexpected signing identity
    instead of a read failure.

The update card also grew past its own rounded edge when the status
message was long. The status row now fills the card and the action
button keeps its width.

Corvo 0.3.2

This release makes 0.3.1 installable on Windows. The 0.3.1 build fails to
compile, so the Windows fixes it described never reached a binary. Nine
compile errors are repaired here, and the Windows build is now checked
against the real Windows target before a release is tagged.

  • Two PowerShell scripts were held in format! calls whose braces were
    no longer escaped. A format! macro reads a { as the start of a
    placeholder, so the first PowerShell brace opened an argument that
    swallowed the rest of the crate. This is the error that stopped the
    build. Both scripts are plain strings now, with the shortcut path
    substituted into a single token.
  • A closure body reads unsafe { .. } as a statement, which left the
    theme toggle's success check as a stray token.
  • The media key action named a type that does not exist, two volume calls
    read a COM vtable pointer without a dereference, and two imports were
    unused.
  • The launcher re-clipped its window after a resize through a call that
    took one argument too many, and the file preview returned a different
    element type on Windows than on the other platforms.
  • The unused Windows declarations left over from the disk eject work are
    gone.

Corvo 0.3.1

This release repairs Windows. Every item below was broken on Windows and
either did nothing or reported success while doing nothing. macOS and
Linux keep their current behaviour, apart from the shared shortcut and
defaults work, which now name each platform's own keys.

Shortcuts

  • The launcher bound every shortcut to the wrong key. It read the platform modifier as the primary one, which is Command on macOS, the Windows key on Windows, and the Super key on Linux. On Windows and Linux the actions menu, the settings window, and quit were all dead.
  • Ctrl+K opens the actions menu, Ctrl+, opens Settings, and Ctrl+Q quits, on Windows and Linux. macOS keeps its Command shortcuts.
  • Ctrl+C and Ctrl+V did nothing in the search field on Windows and Linux. The typing guard swallowed every Ctrl chord before the copy and paste handlers could run. Both work now, and Ctrl+C falls back to copying the query text when the selected row has no copy action.
  • The labels named a Mac key. Windows and Linux now read Ctrl, Alt, and Shift as words, which is the convention on those platforms. The keycap renderer also drew one keycap per character, so a multi-key label would have appeared as C t r l + K.
  • Two shortcuts moved because the obvious key is taken on Windows. The emoji picker uses Ctrl+Alt+Space, because Ctrl+Space is the input-method switch. Delete-to-end-of-line uses Ctrl+Alt+K, because Ctrl+K opens the actions menu.
  • Delete and Backspace are separate keys on Windows and Linux. Corvo collapsed them, so Ctrl+Delete ran delete-to-start-of-line instead.
  • Recording a shortcut in Settings stored a Mac key for a Windows key press, then displayed it as a Mac key. The recorder and the settings list agree now.
  • The uninstaller said "Show in Finder" and "Show Info in Finder" on every platform. They name the platform's file manager. The app launcher's reveal action is hidden for Store apps, which have no file to reveal.

System actions

  • Eleven Windows actions never ran. Each was a PowerShell one-liner inside a command that goes through cmd /c, and the escaping did not survive the trip. Lock, sleep, empty trash, toggle appearance, mute, the three media keys, show desktop, quit all, eject disks, and dismiss notifications are all affected.
  • Every one of them now calls the Windows API directly. Mute and the media keys use SendInput, so the key reaches the system volume mixer and the active media player. The old code sent a character instead of a key code, so those four did nothing even without the command problem.
  • Dismiss Notifications opens the notification settings. Windows has no API that clears the Action Center from another app, so the action is named for what it does.
  • Toggle Appearance now keeps the light and dark values in step. The old script read one and wrote both, which desynchronised them for good on a machine where the user had set them differently. Open windows repaint at once instead of on the next sign-in.
  • Open Trash no longer reports a failure after succeeding. Windows Explorer exits with an error code even when it opened the window.
  • Empty Trash says the bin is already empty instead of failing.
  • Eject Disks ejects the drive itself rather than the volume on its top, and reports what Windows refused and why.
  • Restart, Shut Down, and Log Out were already working and are unchanged.

Windows features that were missing

  • Window management did not exist. Left half, right half, the thirds, the quarters, maximize, center, restore, and moving to another display all did nothing, and the launcher reported each one as done. They now work, and they respect the window gap from Settings.
  • Brightness did not work on any machine without a laptop panel. It now reaches external monitors, and a display with no brightness control says so instead of failing.
  • Volume changed the level but stalled for seconds on every press, because it compiled C# each time. It is now a direct call.
  • Compact mode worked on the first launch of a session and never again, because the resident panel kept the previous height. It now collapses on every open.
  • The file listing and preview were empty. The default scope resolved the home directory from a variable Windows does not set, so the page had nothing to search. Existing installs are fixed without editing your settings.
  • The Files page also ignores AppData, .git, and .venv by default, and does not follow directory junctions that would otherwise loop.
  • The launcher panel had square corners, because Windows draws a square window for a borderless panel. The window is now clipped to the painted shape, and the two radii cannot drift apart.
  • App icons never appeared once the Start Menu grew past about sixty shortcuts. The extraction overflowed the Windows command-line limit, failed, and repeated on every launch. The job list moved to a file.
  • File preview images showed with red and blue swapped.
  • Opening an application was slow and reported an error even when it worked.

Changes for everyone

  • The launcher hotkey, the clipboard and emoji hotkeys, the application search scopes, and the file-search scopes no longer ship macOS values on every platform.
  • Two hotkey-triggered actions ran on the UI thread and froze the launcher while they waited. They run in the background now.

Corvo 0.3.0

First-launch setup

  • Corvo opens a welcome window on the first start instead of showing the launcher. The window has the steps that apply: the launcher shortcut, macOS Accessibility, and a final step that shows the recorded shortcut and opens the launcher.
  • The window runs once. The shown flag in settings.toml is written when the window opens, so quitting in the middle does not bring it back.
  • Settings > General has "Run first-launch setup" to run it again on every platform.
  • Windows and Linux run the two steps that apply to them. They have no system grant like macOS Accessibility, so their wizard does not ask for one.

Hotkey recording

  • Recording a shortcut in the welcome window or in Settings unregisters every global hotkey while you record. The previous binding can no longer fire the launcher over the recorder, and the recorder can capture the combination that is already bound.
  • Recording stops when the window closes on every platform, including the Windows path where Settings keeps its window open.

Screen Recording on macOS

  • macOS kills Corvo when you grant Screen Recording. A detached watcher now relaunches Corvo the moment the process disappears, so the grant becomes a background restart.
  • Quitting Corvo on purpose still quits. The watcher stands down when the exit is clean, and the updater stands it down too.

Permissions

  • The welcome window asks only for Accessibility, which is what window tiling needs. Calendars, Screen Recording, and Full Disk Access stay in Settings > Permissions.
  • Both places read the grant state live from the system. macOS keeps the grants across updates because they belong to the signed app, not to a version.

Notes

  • The welcome window embeds the app icon, so every platform binary is about 160 KB larger.
  • Users who already have Corvo installed see the welcome window once after this update.

Corvo 0.2.0

Updates

  • The Relaunch Corvo button prepares the update without blocking Settings. It shows install errors and lets you retry with the downloaded file.
  • Windows detects an updated Corvo process that exits within 500 ms of relaunch. It then restores the previous executable and records the failure.
  • macOS and Linux record errors from the restart helper. Linux restores the previous executable if the new one stops within 1 s of relaunch.
  • Linux system package ins...
Read more

v0.3.2

Choose a tag to compare

@github-actions github-actions released this 30 Sep 03:09

Corvo 0.3.2

This release makes 0.3.1 installable on Windows. The 0.3.1 build fails to
compile, so the Windows fixes it described never reached a binary. Nine
compile errors are repaired here, and the Windows build is now checked
against the real Windows target before a release is tagged.

  • Two PowerShell scripts were held in format! calls whose braces were
    no longer escaped. A format! macro reads a { as the start of a
    placeholder, so the first PowerShell brace opened an argument that
    swallowed the rest of the crate. This is the error that stopped the
    build. Both scripts are plain strings now, with the shortcut path
    substituted into a single token.
  • A closure body reads unsafe { .. } as a statement, which left the
    theme toggle's success check as a stray token.
  • The media key action named a type that does not exist, two volume calls
    read a COM vtable pointer without a dereference, and two imports were
    unused.
  • The launcher re-clipped its window after a resize through a call that
    took one argument too many, and the file preview returned a different
    element type on Windows than on the other platforms.
  • The unused Windows declarations left over from the disk eject work are
    gone.

Corvo 0.3.1

This release repairs Windows. Every item below was broken on Windows and
either did nothing or reported success while doing nothing. macOS and
Linux keep their current behaviour, apart from the shared shortcut and
defaults work, which now name each platform's own keys.

Shortcuts

  • The launcher bound every shortcut to the wrong key. It read the platform modifier as the primary one, which is Command on macOS, the Windows key on Windows, and the Super key on Linux. On Windows and Linux the actions menu, the settings window, and quit were all dead.
  • Ctrl+K opens the actions menu, Ctrl+, opens Settings, and Ctrl+Q quits, on Windows and Linux. macOS keeps its Command shortcuts.
  • Ctrl+C and Ctrl+V did nothing in the search field on Windows and Linux. The typing guard swallowed every Ctrl chord before the copy and paste handlers could run. Both work now, and Ctrl+C falls back to copying the query text when the selected row has no copy action.
  • The labels named a Mac key. Windows and Linux now read Ctrl, Alt, and Shift as words, which is the convention on those platforms. The keycap renderer also drew one keycap per character, so a multi-key label would have appeared as C t r l + K.
  • Two shortcuts moved because the obvious key is taken on Windows. The emoji picker uses Ctrl+Alt+Space, because Ctrl+Space is the input-method switch. Delete-to-end-of-line uses Ctrl+Alt+K, because Ctrl+K opens the actions menu.
  • Delete and Backspace are separate keys on Windows and Linux. Corvo collapsed them, so Ctrl+Delete ran delete-to-start-of-line instead.
  • Recording a shortcut in Settings stored a Mac key for a Windows key press, then displayed it as a Mac key. The recorder and the settings list agree now.
  • The uninstaller said "Show in Finder" and "Show Info in Finder" on every platform. They name the platform's file manager. The app launcher's reveal action is hidden for Store apps, which have no file to reveal.

System actions

  • Eleven Windows actions never ran. Each was a PowerShell one-liner inside a command that goes through cmd /c, and the escaping did not survive the trip. Lock, sleep, empty trash, toggle appearance, mute, the three media keys, show desktop, quit all, eject disks, and dismiss notifications are all affected.
  • Every one of them now calls the Windows API directly. Mute and the media keys use SendInput, so the key reaches the system volume mixer and the active media player. The old code sent a character instead of a key code, so those four did nothing even without the command problem.
  • Dismiss Notifications opens the notification settings. Windows has no API that clears the Action Center from another app, so the action is named for what it does.
  • Toggle Appearance now keeps the light and dark values in step. The old script read one and wrote both, which desynchronised them for good on a machine where the user had set them differently. Open windows repaint at once instead of on the next sign-in.
  • Open Trash no longer reports a failure after succeeding. Windows Explorer exits with an error code even when it opened the window.
  • Empty Trash says the bin is already empty instead of failing.
  • Eject Disks ejects the drive itself rather than the volume on its top, and reports what Windows refused and why.
  • Restart, Shut Down, and Log Out were already working and are unchanged.

Windows features that were missing

  • Window management did not exist. Left half, right half, the thirds, the quarters, maximize, center, restore, and moving to another display all did nothing, and the launcher reported each one as done. They now work, and they respect the window gap from Settings.
  • Brightness did not work on any machine without a laptop panel. It now reaches external monitors, and a display with no brightness control says so instead of failing.
  • Volume changed the level but stalled for seconds on every press, because it compiled C# each time. It is now a direct call.
  • Compact mode worked on the first launch of a session and never again, because the resident panel kept the previous height. It now collapses on every open.
  • The file listing and preview were empty. The default scope resolved the home directory from a variable Windows does not set, so the page had nothing to search. Existing installs are fixed without editing your settings.
  • The Files page also ignores AppData, .git, and .venv by default, and does not follow directory junctions that would otherwise loop.
  • The launcher panel had square corners, because Windows draws a square window for a borderless panel. The window is now clipped to the painted shape, and the two radii cannot drift apart.
  • App icons never appeared once the Start Menu grew past about sixty shortcuts. The extraction overflowed the Windows command-line limit, failed, and repeated on every launch. The job list moved to a file.
  • File preview images showed with red and blue swapped.
  • Opening an application was slow and reported an error even when it worked.

Changes for everyone

  • The launcher hotkey, the clipboard and emoji hotkeys, the application search scopes, and the file-search scopes no longer ship macOS values on every platform.
  • Two hotkey-triggered actions ran on the UI thread and froze the launcher while they waited. They run in the background now.

Corvo 0.3.0

First-launch setup

  • Corvo opens a welcome window on the first start instead of showing the launcher. The window has the steps that apply: the launcher shortcut, macOS Accessibility, and a final step that shows the recorded shortcut and opens the launcher.
  • The window runs once. The shown flag in settings.toml is written when the window opens, so quitting in the middle does not bring it back.
  • Settings > General has "Run first-launch setup" to run it again on every platform.
  • Windows and Linux run the two steps that apply to them. They have no system grant like macOS Accessibility, so their wizard does not ask for one.

Hotkey recording

  • Recording a shortcut in the welcome window or in Settings unregisters every global hotkey while you record. The previous binding can no longer fire the launcher over the recorder, and the recorder can capture the combination that is already bound.
  • Recording stops when the window closes on every platform, including the Windows path where Settings keeps its window open.

Screen Recording on macOS

  • macOS kills Corvo when you grant Screen Recording. A detached watcher now relaunches Corvo the moment the process disappears, so the grant becomes a background restart.
  • Quitting Corvo on purpose still quits. The watcher stands down when the exit is clean, and the updater stands it down too.

Permissions

  • The welcome window asks only for Accessibility, which is what window tiling needs. Calendars, Screen Recording, and Full Disk Access stay in Settings > Permissions.
  • Both places read the grant state live from the system. macOS keeps the grants across updates because they belong to the signed app, not to a version.

Notes

  • The welcome window embeds the app icon, so every platform binary is about 160 KB larger.
  • Users who already have Corvo installed see the welcome window once after this update.

Corvo 0.2.0

Updates

  • The Relaunch Corvo button prepares the update without blocking Settings. It shows install errors and lets you retry with the downloaded file.
  • Windows detects an updated Corvo process that exits within 500 ms of relaunch. It then restores the previous executable and records the failure.
  • macOS and Linux record errors from the restart helper. Linux restores the previous executable if the new one stops within 1 s of relaunch.
  • Linux system package installs continue to use the package manager for updates.

Upgrade from 0.1.9

If the Relaunch Corvo button in 0.1.9 does nothing, download and install 0.2.0 manually once. The fix runs only after 0.2.0 starts.

Corvo 0.1.9

Windows

  • Alt+Space shows or hides the launcher. The launcher stays above normal windows while it is open.
  • Closing the launcher returns focus to the previous app without starting PowerShell.
  • Settings keeps its window after close, so it opens without creating the window again.
  • App icons load for search results outside the initial list. Corvo removes damaged icon files and extracts them again.

Corvo 0.1.8

Fixed

  • The background update check now opens Settings > About with the release changelog plus Skip and Download buttons when a newer version is found, instead of silently dropping it.
  • A previously found update stays visible when reopening About, without needing another manual check.
  • Skipping a version dismisses the prompt and clears the pending update.

System actions parity across ...

Read more

Corvo 0.3.1

Choose a tag to compare

@diegoleteliers10 diegoleteliers10 released this 30 Sep 02:19

This release repairs Windows. Every item below was broken on Windows and
either did nothing or reported success while doing nothing. macOS and
Linux keep their current behaviour, apart from the shared shortcut and
defaults work, which now name each platform's own keys.

Shortcuts

  • The launcher bound every shortcut to the wrong key. It read the platform modifier as the primary one, which is Command on macOS, the Windows key on Windows, and the Super key on Linux. On Windows and Linux the actions menu, the settings window, and quit were all dead.
  • Ctrl+K opens the actions menu, Ctrl+, opens Settings, and Ctrl+Q quits, on Windows and Linux. macOS keeps its Command shortcuts.
  • Ctrl+C and Ctrl+V did nothing in the search field on Windows and Linux. The typing guard swallowed every Ctrl chord before the copy and paste handlers could run. Both work now, and Ctrl+C falls back to copying the query text when the selected row has no copy action.
  • The labels named a Mac key. Windows and Linux now read Ctrl, Alt, and Shift as words, which is the convention on those platforms. The keycap renderer also drew one keycap per character, so a multi-key label would have appeared as C t r l + K.
  • Two shortcuts moved because the obvious key is taken on Windows. The emoji picker uses Ctrl+Alt+Space, because Ctrl+Space is the input-method switch. Delete-to-end-of-line uses Ctrl+Alt+K, because Ctrl+K opens the actions menu.
  • Delete and Backspace are separate keys on Windows and Linux. Corvo collapsed them, so Ctrl+Delete ran delete-to-start-of-line instead.
  • Recording a shortcut in Settings stored a Mac key for a Windows key press, then displayed it as a Mac key. The recorder and the settings list agree now.
  • The uninstaller said "Show in Finder" and "Show Info in Finder" on every platform. They name the platform's file manager. The app launcher's reveal action is hidden for Store apps, which have no file to reveal.

System actions

  • Eleven Windows actions never ran. Each was a PowerShell one-liner inside a command that goes through cmd /c, and the escaping did not survive the trip. Lock, sleep, empty trash, toggle appearance, mute, the three media keys, show desktop, quit all, eject disks, and dismiss notifications are all affected.
  • Every one of them now calls the Windows API directly. Mute and the media keys use SendInput, so the key reaches the system volume mixer and the active media player. The old code sent a character instead of a key code, so those four did nothing even without the command problem.
  • Dismiss Notifications opens the notification settings. Windows has no API that clears the Action Center from another app, so the action is named for what it does.
  • Toggle Appearance now keeps the light and dark values in step. The old script read one and wrote both, which desynchronised them for good on a machine where the user had set them differently. Open windows repaint at once instead of on the next sign-in.
  • Open Trash no longer reports a failure after succeeding. Windows Explorer exits with an error code even when it opened the window.
  • Empty Trash says the bin is already empty instead of failing.
  • Eject Disks ejects the drive itself rather than the volume on its top, and reports what Windows refused and why.
  • Restart, Shut Down, and Log Out were already working and are unchanged.

Windows features that were missing

  • Window management did not exist. Left half, right half, the thirds, the quarters, maximize, center, restore, and moving to another display all did nothing, and the launcher reported each one as done. They now work, and they respect the window gap from Settings.
  • Brightness did not work on any machine without a laptop panel. It now reaches external monitors, and a display with no brightness control says so instead of failing.
  • Volume changed the level but stalled for seconds on every press, because it compiled C# each time. It is now a direct call.
  • Compact mode worked on the first launch of a session and never again, because the resident panel kept the previous height. It now collapses on every open.
  • The file listing and preview were empty. The default scope resolved the home directory from a variable Windows does not set, so the page had nothing to search. Existing installs are fixed without editing your settings.
  • The Files page also ignores AppData, .git, and .venv by default, and does not follow directory junctions that would otherwise loop.
  • The launcher panel had square corners, because Windows draws a square window for a borderless panel. The window is now clipped to the painted shape, and the two radii cannot drift apart.
  • App icons never appeared once the Start Menu grew past about sixty shortcuts. The extraction overflowed the Windows command-line limit, failed, and repeated on every launch. The job list moved to a file.
  • File preview images showed with red and blue swapped.
  • Opening an application was slow and reported an error even when it worked.

Changes for everyone

  • The launcher hotkey, the clipboard and emoji hotkeys, the application search scopes, and the file-search scopes no longer ship macOS values on every platform.
  • Two hotkey-triggered actions ran on the UI thread and froze the launcher while they waited. They run in the background now.