Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(core): globalShortcut API #1232

Merged
merged 12 commits into from Feb 14, 2021
Merged

feat(core): globalShortcut API #1232

merged 12 commits into from Feb 14, 2021

Conversation

lucasfernog
Copy link
Member

@lucasfernog lucasfernog commented Feb 14, 2021

What kind of change does this PR introduce? (check at least one)

  • Bugfix
  • Feature
  • New Binding Issue #___
  • Code style update
  • Refactor
  • Build-related changes
  • Other, please describe:

Does this PR introduce a breaking change? (check one)

  • Yes. Issue #___
  • No

The PR fulfills these requirements:

  • When resolving a specific issue, it's referenced in the PR's title (e.g. fix: #xxx[,#xxx], where "xxx" is the issue number)
  • A change file is added if any packages will require a version bump due to this PR per the instructions in the readme.

If adding a new feature, the PR's description includes:

  • A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:

This PR introduces a global shortcut API. Run the API example to test it out :)

import { registerShortcut, unregisterShortcut } from '@tauri-apps/api/globalShortcut'

registerShortcut('ctrl + shift + a', () => alert('tauri!')).catch(console.error)
registerShortcut('super + T', () => alert('it works'))

unregisterShortcut('super + T').catch(console.error)
  • Tested on Linux, macOS, Windows
  • This only works because of the wry migration :)

@lucasfernog lucasfernog requested a review from a team as a code owner February 14, 2021 05:52
@lucasfernog lucasfernog requested a review from a team February 14, 2021 05:52
@ken0x0a
Copy link

ken0x0a commented Feb 14, 2021

[Question (macOS)]

Are shortcuts, registered using this PR code, appears as MenuItem like this?

@lucasfernog
Copy link
Member Author

We don't have menu support yet but I think we'd need to do it manually.

@ken0x0a
Copy link

ken0x0a commented Feb 14, 2021

It seems this is something related to do that for macOS.
https://github.com/ryanmcgrath/cacao/blob/master/src/macos/menu/item.rs

@lucasfernog
Copy link
Member Author

Cool, we'll handle that when WRY supports menus.

Copy link
Member

@nklayman nklayman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome feature to have! Just a few questions/suggestions.

.changes/shortcut-api.md Outdated Show resolved Hide resolved
api/src/globalShortcut.ts Outdated Show resolved Hide resolved
api/src/globalShortcut.ts Outdated Show resolved Hide resolved
tauri-api/Cargo.toml Show resolved Hide resolved
tauri/src/endpoints/global_shortcut.rs Outdated Show resolved Hide resolved
@lucasfernog lucasfernog merged commit 855effa into dev Feb 14, 2021
@lucasfernog lucasfernog deleted the feat/shortcut-api branch February 14, 2021 20:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants