Commit Graph

121 Commits

Author SHA1 Message Date
Sahil Yeole
3811f41076
Feat: Follow remote cursor and window focus | Auto display switch (#7717)
* feat: auto switch display on follow remote cursor

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* feat: auto switch display on follow remote window focus

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix build and remove unused imports

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix build

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix build

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix linux get_focused_window_id

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* lock show remote cursor when follow remote cursor is enabled

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix config

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* prevent auto display switch on show all display and displays as individual windows

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix options

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix options

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove unused function

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove unwraps and improve iterations

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* set updateCursorPos to false to avoid interrupting remote cursor

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* update lang

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix web build

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* update checks for options and enable in view mode

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use focused display index for window focus service

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use window center for windows display focused

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove unused imports

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix build

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use libxdo instead of xdotool

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix multi monitor check

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* enable show cursor when follow cursor is default

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove show_all_displays,use runtime state instead

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix show cursor lock state on default

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove view mode with follow options

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix build

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use separate message for follow current display

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix options

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* sciter support for follow remote cursor and window

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* add check for ui session handlers count

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use cached displays and remove peer info write

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* No follow options when show all displays

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* No follow options when multi ui session

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* turn off follow options when not used|prevent msgs

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use window center for switch in linux

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use subbed display count to prevent switch msgs

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix build

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix web build

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* move subbed displays count

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix build

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* add noperms for window focus

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* add subscribe for window focus

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove window_focus message and unsub on multi ui

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* add multi ui session field

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

---------

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-04-25 13:26:02 +08:00
21pages
4252b5e273
enable ffmpeg native h26x software decoders for all platforms (#7750)
* enable ffmpeg native h26x software decoders for all platforms

* h26x software decoders depend on hwcodec feature, so all platforms
  enable it, software h26x decoders are always available like vpx, no available check and no option
* ffmpeg:
	- build: mac arm64 build ffmpeg with my m1, others build with ci
	- version: win/linux use ffmpeg release/5.1, becaues higher version require higher nvidia driver,  other platforms use release/7.0
* test:
	- ios not test.
	- android: sometimes the screen will appear blurry, but it will recover after a while.
	- arm64 linux: test a example of hwcodec repo

Signed-off-by: 21pages <pages21@163.com>

* check hwcodec only when enabled and immediately when clicked enabled

Signed-off-by: 21pages <pages21@163.com>

---------

Signed-off-by: 21pages <pages21@163.com>
2024-04-18 13:12:45 +08:00
21pages
98df2b111e
hwcodec uses one repository (#7701)
* update hwcodec, gpucodec repo is merged to hwcodec

Signed-off-by: 21pages <pages21@163.com>

* rename gpucodec.rs to vram.rs

Signed-off-by: 21pages <pages21@163.com>

* rename all gpucodec to vram, because vram is a feature of hwcodec

Signed-off-by: 21pages <pages21@163.com>

* use one check process and one config file

* set check encode image size to 720p

Signed-off-by: 21pages <pages21@163.com>

---------

Signed-off-by: 21pages <pages21@163.com>
2024-04-12 17:26:24 +08:00
rustdesk
81aec8402b Temp solution for https://github.com/rustdesk/rustdesk/discussions/5631 2024-03-26 22:31:58 +08:00
21pages
50d080d098
enable retina scale factor (#7269)
* enable retina scale factor

* enabled only when there are only one video service running
* scale mouse event
* scale cursor position
* scale remote menu display button
* adjust resolution

Signed-off-by: 21pages <pages21@163.com>

* Update server.rs

---------

Signed-off-by: 21pages <pages21@163.com>
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-02-27 22:28:23 +08:00
21pages
89150317e1
add zero copy mode hareware codec for windows (#6778)
Signed-off-by: 21pages <pages21@163.com>
2024-01-02 16:58:10 +08:00
Sahil Yeole
445fe6e714
Feat: Wayland flatpak input support | Remote desktop portal (#6675)
* autogen portal code

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use remote desktop portal

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove clipboard portal in favour of #6586

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove clipboard portal

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use select_devices for input capture

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove embedded cursor code as not being used | return session path for input capture

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* setup rdp input

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove simulate example

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* setup rdp input raw key events + mouse movements

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix rdp raw key input

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* refact rdp raw key inpuy & fix right meta key

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* refact and support rdp layout mode key input

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* support rdp mouse clicks

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* support rdp mouse scroll

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* support rdp key sequence input

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use rdp input only when uinput is not available

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* combine rdp input and get_capturables into a single rdp request

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* rdp fix build

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* rdp fix build

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix rdp caps lock

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* format pipewire.rs

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* format rdp_input.rs

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* revert #6628 as rdp request state is now managed (better solution)

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix rdp crash on arch kde

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* rdp_input.rs improvements

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* refact request_remote_desktop

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* improve unwraps

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove unwraps

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use session references instead of clones

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

---------

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-12-19 10:44:58 +08:00
fufesou
f2f649319d Remove redundant mutex
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-17 23:38:27 +08:00
fufesou
e09a050d41 Fix. Do not get displays on server start.
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-17 17:11:25 +08:00
dignow
059e067bdc fix, android rotate screen
Signed-off-by: dignow <linlong1265@gmail.com>
2023-11-03 07:17:40 +08:00
dignow
013d307bcd feat, multi_flutter_ui_sessions
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-14 12:26:24 +08:00
21pages
02456280d4 fix win cpu monitor run once
Signed-off-by: 21pages <pages21@163.com>
2023-07-24 14:54:15 +08:00
21pages
31b3c5d721 codec thread count depending on cpu condition
Signed-off-by: 21pages <pages21@163.com>
2023-07-23 20:00:52 +08:00
rustdesk
e48f36a227 prepare device_info upload, change sync interval from 30s to 15s, also
enable android
2023-07-19 21:46:15 +08:00
rustdesk
aacffd979b make config in exe name has highest priority, also overwrite config if
installation,
https://github.com/rustdesk/rustdesk-server-pro/issues/21#issuecomment-1638259580,
not tested yet
2023-07-19 14:45:11 +08:00
dignow
1648895156 fix, win privacy mode, broker process
Signed-off-by: dignow <linlong1265@gmail.com>
2023-07-09 02:06:24 +08:00
rustdesk
ffb11dce61 make sure conn_id > 0 2023-07-02 01:27:34 +08:00
rustdesk
8ab2a79fa2 refactoring conn audit, add session_id (both session_id and conn_id on
sever side), use session_id instead of conn_id for client id, and remove
conn_id in protobuf
2023-07-01 16:21:36 +08:00
rustdesk
22a5399588 fix config sync when uninstall service 2023-06-09 13:35:03 +08:00
rustdesk
9a1fee792e fix android/ios ci 2023-06-08 00:35:11 +08:00
RustDesk
d588f513fb
Merge pull request #4577 from fufesou/fix/fix_build
fix build
2023-06-07 23:19:53 +08:00
rustdesk
7f51f8d976 refactor linux install/uninstall service as windows 2023-06-07 23:08:50 +08:00
fufesou
ab1e7109bb fix build
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-06-07 22:35:02 +08:00
fufesou
2b9026526e fix build
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-06-07 20:42:07 +08:00
rustdesk
953d2e6e09 fix a config sync bug 2023-06-04 16:48:24 +08:00
fufesou
8353afb02d fix build
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-05-19 09:51:01 +08:00
rustdesk
baecf3edb8 enc punch 2023-05-14 18:17:02 +08:00
fufesou
4cd025fcf3 try fix check privacy mode on conn
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-05-13 18:19:52 +08:00
fufesou
095ac46255 plugin_framework, test plugin manager, uninstall is not fully tested
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-05-12 08:48:42 +08:00
Kingtous
7a82070420 fix: make event loop in tray compatible with main window 2023-05-02 12:52:27 +08:00
fufesou
ecf8c2664c plugin, tmp commit
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-04-19 11:38:01 +08:00
21pages
be2e26e758 delete RustDesk_hwcodec.toml on every check
Signed-off-by: 21pages <pages21@163.com>
2023-04-04 21:21:00 +08:00
fufesou
8cb361c51e remove android build warns
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-03-27 21:11:07 +08:00
rustdesk
706e080071 fix #3328 2023-03-20 00:56:17 +08:00
rustdesk
4134b77680 improve ffi enum data size, fix compile warning on mac 2023-02-08 19:17:59 +08:00
Kingtous
b335d2c828 fix: import 2023-02-07 16:20:37 +08:00
Kingtous
28ad271693 wip: dual audio transmission server 2023-02-07 16:20:36 +08:00
Kingtous
151b115fc9 fix: android build 2023-02-04 13:37:48 +08:00
Kingtous
4dfae8da10 feat: add url scheme handler for macos 2023-02-04 11:23:48 +08:00
21pages
fae8a94891 sync strategy
Signed-off-by: 21pages <pages21@163.com>
2023-01-10 13:21:38 +08:00
fufesou
b114ebf350 fix some misspellings
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-12-31 21:41:16 +08:00
RustDesk
2d93c93bc4
Merge pull request #2678 from fazakis/mac_hack
Mac wakeup workaround
2022-12-30 10:13:43 +08:00
Nikos Fazakis
944ca510cc mac wakeup compact code 2022-12-29 22:22:16 +02:00
Nikos Fazakis
08278059ac mac_wakeup resolve panic possibility 2022-12-29 16:55:57 +02:00
Nikos Fazakis
f14faa85d2 fix relay mac connections and cleanup 2022-12-29 14:42:16 +02:00
rustdesk
40aaddf108 remove stub.rs, it is really hard to remove scrap totally, which is used
all where
2022-12-29 13:29:22 +08:00
rustdesk
45072a4de1 more for cli 2022-12-29 13:00:57 +08:00
rustdesk
7dc0c07578 make start_server available in cli 2022-12-29 10:59:17 +08:00
rustdesk
08b8f40397 nat64 2022-12-28 13:52:13 +08:00
Nikos Fazakis
43b3a04f33 spawn update 2022-12-27 22:26:37 +02:00