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 opencommand 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
DBustogRPC- To be able to support macOS and Windows easier in near future
- Currently, 2 TCP ports are used and hardcoded to be
42320and42321
- BREAKING CHANGE: Plugins and plugin entrypoints now require description to be specified in plugin manifest
gauntlet.descriptionandentrypoint.*.descriptionkeys 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, while4will 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
- Collects
.desktopfiles based on Desktop Entry Specification
- Collects
- Collects and shows list of applications from systems as
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.gzfile
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>iconproperty 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
textstring with current value of main search bar as single property - Child component is expected to be of type
<Inline> - Used to implement built-in
Calculatorplugin 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
Applicationsplugin but also available for any plugins to use
- Allows plugins to provide dynamically generated list of
- New
useNavigationReact 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
pluginPreferencesandentrypointPreferenceshelper functions to retrieve values
- Plugins now have ability to provide assets in
assetsdirectory which later can be retrieved in JS using newassetDatahelper function - Add
"title"property toCheckboxReact Component- It is shown to the right of the checkbox in forms
<Image>is now properly implemented and hassourceprop of typeImageSourcewhich 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