-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
[WIP] Electron Feature Parity #544
Comments
I think we should split these up into a few groups to make it more clear which features we are implementing, which ones we have no plans to implement, and which ones are somewhere in between. A suggestion for the groups to use are: |
I like this sorting. There's a few things I think should be switched around, but this is a great start. Thank you very much! |
@nklayman - are you tracking this? would be good to group them into things we can get in before beta / etc. in line with your comment above |
I'm not sure that I'm the right person to do the grouping as I have so little knowledge of the core rust part. This might be a good thing to put on the tech talk schedule. |
Global shortcut coming up #644 |
I really need this feature too https://www.electronjs.org/docs/api/screen in Tauri. I'm trying to create an app like minimal "MS Power Point" for our Churches. The output will sending out to HDMI. |
Why is "intercept and modify the contents of a request at various stages of its lifetime" macOS-specific? |
I think this Electron feature has not been fully understood wrt the Tauri implementation, unless you've deliberately chosen to implement it differently/with less granularity. In Electron, if you create a window with MS Teams in Windows 11 uses a custom titlebar with the rest of the native window chrome preserved, so I assume WebView2 exposes this as an option somehow, but I could be wrong: (Let me know if this is the wrong place to bring this up — I searched "border" and this seemed to be the most relevant existing issue) |
@dannymcgee for shadows, take a look at tauri-apps/tao#157 (comment) |
@dannymcgee about ms teams, afaik they still use the same approach for the titlebar as in their electron based client (html based). |
I think this issue is not needed anymore. We are still missing some features but those are better be tracked in their own issues. |
This issue will be used for tracking feature parity with electron.
The first step is establishing a list of electron features, and determining which of those we wish to eventually implement in tauri
The feature list will be sourced from the electron website
Auto updates
Crash Reporting
Debugging and Profiling
Windows Intaller
Session, Local Storage, Cookies
Define keyboard shortcuts.
Make HTTP/HTTPS requests.
Perform copy and paste operations on the system clipboard.
Manipulate the command line arguments for your app that Chromium reads
Collect tracing data from Chromium to find performance bottlenecks and slow operations.
Create a safe, bi-directional, synchronous bridge across isolated contexts
Access information about media sources that can be used to capture audio and video from the desktop using the navigator.mediaDevices.getUserMedia API.
Display native system dialogs for opening and saving files, alerting, etc.
Control your app in the macOS dock
Control file downloads from remote sources.
Control application configuration and behavior without changing code.
Use the HTML5 File API to work natively with files on the filesystem.
Open a window without toolbars, borders, or other graphical "chrome".
Detect keyboard events when the application does not have keyboard focus.
In-app purchases on Mac App Store.
Handle responses to HTTP/HTTPS requests.
Locale values returned by app.getLocale().
Create native notifications, application menus and context menus.
Add items to native application menus and context menus.
Create tray, dock, and application icons using PNG or JPG files.
Read and respond to changes in Chromium's native color theme.
Issue HTTP/HTTPS requests using Chromium's native networking library
Logging network events for a session.
Create OS desktop notifications
Monitor power state changes.
Block the system from entering low-power (sleep) mode.
Extensions to process object.
Register a custom protocol and intercept existing protocol requests.
Register a custom protocol and intercept existing protocol requests.
Create a browser window with a sandboxed renderer. With this option enabled, the renderer must communicate via IPC to the main process in order to access node APIs.
Retrieve information about screen size, displays, cursor position, etc.
Manage browser sessions, cookies, cache, proxy settings, etc.
Manage files and URLs using their default applications.
Get system preferences.
Create TouchBar layouts for native macOS applications
Create a button in the touch bar for native macOS applications
Create a color picker in the touch bar for native macOS applications
Create a group in the touch bar for native macOS applications
Create a label in the touch bar for native macOS applications
Create a popover in the touch bar for native macOS applications
Create a scrubber (a scrollable selector)
Create a segmented control (a button group) where one button has a selected state
Create a slider in the touch bar for native macOS applications
Create a spacer between two items in the touch bar for native macOS applications
Add icons and context menus to the system's notification area.
Render and control web pages.
Customize the rendering of the current web page.
Intercept and modify the contents of a request at various stages of its lifetime.
Display external web content in an isolated frame and process.
Open a new window and load a URL.
Print to Printer and related options
The text was updated successfully, but these errors were encountered: