github project-gauntlet/gauntlet v2

latest releases: v10, v9, v8...
6 months ago

Big changes

  • BREAKING CHANGE: Instead of separate binary for "frontend", frontend is now started by server in separate process on initial application launch
    • Global shortcut is available to show the application window. Currently, hardcoded to META + SPACE
    • In case window manager or underlying library we use doesn't support global shortcuts, gauntlet open command is also now available
    • Unfortunately had to remove Wayland support for now, because GUI library we use, on Wayland doesn't support hiding/showing windows as well as setting window to be top-level
  • BREAKING CHANGE: Inter-process communication protocol has been changed from DBus to gRPC
    • To be able to support macOS and Windows easier in near future
    • Currently, 2 TCP ports are used and hardcoded to be 42320 and 42321
  • BREAKING CHANGE: Plugins and plugin entrypoints now require description to be specified in plugin manifest
    • gauntlet.description and entrypoint.*.description keys are now required
    • Currently, only shown in Settings
  • Actions can now be executed also using shortcuts
    • Shortcuts for specific entrypoint need to be specified in plugin manifest
    • Plugins are allowed to use only limited set of keys for shortcuts
      • Only upper and lower-case letters, symbols and numbers
    • Shortcut can have either "main" or "alternative" kind
      • "main" shortcut requires following modifiers
        • Windows and Linux: CTRL
        • macOS: CMD
      • "alternative" shortcut requires following modifiers
        • Windows and Linux: ALT
        • macOS: OPT
      • Whether SHIFT is also required depends on character specified for shortcut, e.g $ will require SHIFT to be pressed, while 4 will not
  • 3 new bundled plugins
    • Applications
      • Collects and shows list of applications from systems as "command" entrypoints
      • "Gauntlet Application Launcher can now launch applications" :)
      • Currently, only works on Linux
    • Calculator
      • Shows result of mathematical operations directly in main view under the search bar
      • Powered by Numbat
    • Settings
      • Allows to open Gauntlet Settings from the Gauntlet itself
  • Production React bundle is now used instead of Development bundle
    • Better performance
    • Worse error reporting
  • Main window now has keyboard navigation
  • It is now possible to remove plugins in Settings
  • Plugin Entrypoints can now have icons
  • Linux binary is now published inside .tar.gz file

API changes

  • BREAKING CHANGE: "command" entrypoint now expects function as default export instead of plain JS file
  • BREAKING CHANGE: Removed <Content.Link> React Component
    • <Content> is now expected to only contain non-interactive elements because of usage in <Inline> and <Grid.Item>
  • BREAKING CHANGE: <MetadataIcon> icon property type was changed to enum and renders to proper image of limited set of icons
  • New <List> and <Grid> top-level React Components
  • New "inline-view" entrypoint type
    • A view is rendered directly under main view search bar
    • Default export is expected to be a React Component that takes text string with current value of main search bar as single property
    • Child component is expected to be of type <Inline>
    • Used to implement built-in Calculator plugin but also available for any plugins to use
  • New "command-generator" entrypoint type
    • Allows plugins to provide dynamically generated list of "command" entrypoints
    • Used to implement built-in Applications plugin but also available for any plugins to use
  • New useNavigation React Hook. Simple stack based navigation in plugins
  • Plugins and plugin entrypoints can now have preferences
    • Need to be declared in plugin manifest
    • Values can be set either on first plugin/entrypoint usage (if preference is required) or in Settings
    • pluginPreferences and entrypointPreferences helper functions to retrieve values
  • Plugins now have ability to provide assets in assets directory which later can be retrieved in JS using new assetData helper function
  • Add "title" property to Checkbox React Component
    • It is shown to the right of the checkbox in forms
  • <Image> is now properly implemented and has source prop of type ImageSource which is object that contains image binary data

UI/UX Improvements and Fixes

  • Application window is now always show on top of all other windows
  • Application now requests focus when the window is opened
  • Application window is now re-centered when opening any plugin-rendered view
    • Needed because plugin-rendered views make window bigger causing it to be not centered
  • Show error in GUI when React rendering fails either because of plugin or Gauntlet itself
  • Text now flows and wraps properly if multiple separate strings were passed as children parameter to <Paragraph> React Component
  • Entrypoint name is now shown at the bottom of every plugin-rendered view
  • Clicking on <Detail.Metadata.Link> now properly opens links in your default browser
  • Plugin name in main view has been moved to the right side of the window

Don't miss a new gauntlet release

NewReleases is sending notifications on new releases.