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
togRPC
- To be able to support macOS and Windows easier in near future
- Currently, 2 TCP ports are used and hardcoded to be
42320
and42321
- BREAKING CHANGE: Plugins and plugin entrypoints now require description to be specified in plugin manifest
gauntlet.description
andentrypoint.*.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, while4
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
- Collects
.desktop
files 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.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
- Allows plugins to provide dynamically generated list of
- 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
andentrypointPreferences
helper functions to retrieve values
- Plugins now have ability to provide assets in
assets
directory which later can be retrieved in JS using newassetData
helper function - Add
"title"
property toCheckbox
React Component- It is shown to the right of the checkbox in forms
<Image>
is now properly implemented and hassource
prop of typeImageSource
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