mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-04-17 00:01:28 +03:00
Updated About delegate of MacOS RustDesk (markdown)
@@ -2,7 +2,7 @@ We have two most important delegate events, one is url schema via browser, anoth
|
||||
|
||||
When `--server` is running, the delegate events will be captured by `--server` background process, the delegate listeners are registered in [tao crate](https://github.com/rustdesk-org/tao/blob/1cad16b200485bbccc67dcee2d339eac6e1c16ad/src/platform_impl/macos/app_delegate.rs). It also may be captured by `--service` which caused launchpad click failure, here is a [fix](https://github.com/rustdesk/rustdesk/discussions/5631#discussioncomment-8916223) for this.
|
||||
When `--server` receives the delegate, it will check if there is RustDesk window.
|
||||
- If there is, `--server` will send url schema to the RustDesk windows
|
||||
- If there is, `--server` will send url schema to the RustDesk window via [ipc](https://github.com/rustdesk/rustdesk/blob/6e689400b69f0276a68e9eff531737c25b09c64e/flutter/lib/models/model.dart#L327).
|
||||
- If there is not, `--server` will run command `rustdesk <url-schema>`, url schema will be sent to main.dart directly via [args](https://github.com/rustdesk/rustdesk/blob/6e689400b69f0276a68e9eff531737c25b09c64e/flutter/lib/main.dart#L41).
|
||||
|
||||
When `--server` is not running, the delegate events will be sent to RustDesk window directly, the openURL delegate listen is registered in uni_links_desktop, the url schema will be propogated to dart via uni_links_desktop. launchpad click delegate event listener is registered [here](https://github.com/rustdesk/rustdesk/blob/6e689400b69f0276a68e9eff531737c25b09c64e/flutter/macos/Runner/AppDelegate.swift#L15).
|
||||
Reference in New Issue
Block a user