fufesou
4abdb2e08b
feat: windows, custom client, update ( #13687 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-02-27 21:50:20 +08:00
Amirhosein Akhlaghpoor
eb239501bc
Fix logon-screen password with click approval ( #14335 )
2026-02-24 21:14:18 +08:00
cui
20f11018ce
fix: lte should be lt like in linux.rs ( #14344 )
2026-02-19 22:24:32 +08:00
fufesou
998b75856d
feat: Add relative mouse mode ( #13928 )
...
* feat: Add relative mouse mode
- Add "Relative Mouse Mode" toggle in desktop toolbar and bind to InputModel
- Implement relative mouse movement path: Flutter pointer deltas -> `type: move_relative` -> new `MOUSE_TYPE_MOVE_RELATIVE` in Rust
- In server input service, simulate relative movement via Enigo and keep latest cursor position in sync
- Track pointer-lock center in Flutter (local widget + screen coordinates) and re-center OS cursor after each relative move
- Update pointer-lock center on window move/resize/restore/maximize and when remote display geometry changes
- Hide local cursor when relative mouse mode is active (both Flutter cursor and OS cursor), restore on leave/disable
- On Windows, clip OS cursor to the window rect while in relative mode and release clip when leaving/turning off
- Implement platform helpers: `get_cursor_pos`, `set_cursor_pos`, `show_cursor`, `clip_cursor` (no-op clip/hide on Linux for now)
- Add keyboard shortcut Ctrl+Alt+Shift+M to toggle relative mode (enabled by default, works on all platforms)
- Remove `enable-relative-mouse-shortcut` config option - shortcut is now always available when keyboard permission is granted
- Handle window blur/focus/minimize events to properly release/restore cursor constraints
- Add MOUSE_TYPE_MASK constant and unit tests for mouse event constants
Note: Relative mouse mode state is NOT persisted to config (session-only).
Note: On Linux, show_cursor and clip_cursor are no-ops; cursor hiding is handled by Flutter side.
Signed-off-by: fufesou <linlong1266@gmail.com >
* feat(mouse): relative mouse mode, exit hint
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact(relative mouse): shortcut
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-01-09 10:03:14 +08:00
fufesou
0065085ba2
fix: win, peer shortcut, colon to underscore ( #13740 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-12-08 16:34:05 +08:00
fufesou
9cfa551163
fix: msi, prevent black window ( #13665 )
...
For msi version, the black window is shown when creating desktop
shortcut for connection.
The exe version does not have this issue.
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-11-28 17:25:43 +08:00
luzpaz
e14e850e10
fix: typos in src/ and subdirectories ( #11727 )
...
Found via codespell
2025-09-17 13:37:44 +08:00
RustDesk
e9692b94ca
Revert "Fix/printer printable area ( #12433 )" ( #12441 )
...
This reverts commit 6e62c10fa0 .
2025-07-28 10:38:19 +08:00
fufesou
6e62c10fa0
Fix/printer printable area ( #12433 )
...
* fix: printer, printable area
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact: windows, sc config RustDesk --start= delayed-auto
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-07-27 19:47:23 +08:00
fufesou
abb7748ee9
refact: terminal, win, run as admin ( #12300 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-07-15 16:32:14 +08:00
RustDesk
f3819e19d4
improve sas ( #12226 )
...
* improve sas
* Update windows.rs
2025-07-04 16:47:08 +08:00
fufesou
d6ba063655
fix: win, privacy mode 2 ( #12123 )
...
* fix: win, privacy mode 2
Signed-off-by: fufesou <linlong1266@gmail.com >
* Update src/privacy_mode/win_virtual_display.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-19 18:39:15 +08:00
rustdesk
d84b26a9cd
try to fix 1.3.8 not work on win7 sp1, https://github.com/rustdesk/rustdesk/discussions/12097
2025-06-16 18:36:15 +09:00
fufesou
9d0d729522
Refact/update printer ( #11748 )
...
* refact: update printer
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: uninstall the printer for normal users
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-05-13 19:33:00 +08:00
fufesou
4c354ee1ae
refact: install printer ( #11745 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-05-13 14:14:54 +08:00
fufesou
f56c5c1bbb
fix: win, prompt uac, update_install_option ( #11741 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-05-13 10:20:57 +08:00
fufesou
ea106354af
fix: win, only start tray if is installed exe ( #11737 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-05-12 21:46:05 +08:00
fufesou
61cdb60362
fix: rdp ( #11670 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-05-07 21:24:14 +08:00
fufesou
d56df22838
fix: win, tray, detect cmdline ( #11638 )
...
target x86, run on x64
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-05-05 08:51:25 +08:00
fufesou
ca00706a38
feat, update, win, macos ( #11618 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-05-04 07:32:47 +08:00
fufesou
198967ea35
fix: allow logon screen password, on lock screen ( #11566 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-04-25 10:37:09 +08:00
fufesou
279fb72a4f
fix: remote printer, update install option ( #11461 )
...
* fix: remote printer, update install option
Signed-off-by: fufesou <linlong1266@gmail.com >
* Add comments
Signed-off-by: fufesou <linlong1266@gmail.com >
* Add comments
Signed-off-by: fufesou <linlong1266@gmail.com >
* Win, run_cmds, remove extra whitespace and newline
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-04-24 18:24:22 +08:00
fufesou
4b14f86134
refact: remote printer, log ( #11271 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-03-28 10:56:19 +08:00
fufesou
f4bbf82363
feat: remote printer ( #11231 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-03-27 15:34:27 +08:00
fufesou
f08cb0412d
fix: windows, dll, pre-loading attack ( #10608 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-01-26 19:39:38 +08:00
Integral
49dabd3533
refactor: replace &PathBuf with &Path to enhance generality ( #10332 )
2024-12-23 20:28:04 +08:00
21pages
773b9d6645
win7 uses soft rendering by default ( #10139 )
...
win7 vm got black screen on remote window with texture rendering
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-12-02 17:10:34 +08:00
21pages
07cf1b4db5
fix wallpaper get sid ( #9058 )
...
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-08-14 18:09:47 +08:00
fufesou
6625aca994
fix: win, virtual display ( #9023 )
...
1. Default resolution 1920x1080.
2. Restore on conn & disconn.
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-08-11 19:26:41 +08:00
fufesou
f4c40d733e
Fix/exe upgrade options ( #9001 )
...
* fix: exe upgrade, use previous options
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact: msi, shortcuts options, swap pos
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-08-08 22:07:06 +08:00
dignow
d3454f07d3
fix: move some crates to rustdesk-org ( #8772 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
Co-authored-by: fufesou <linlong1266@gmail.com >
2024-07-20 23:49:40 +08:00
21pages
3ae1638125
fix extracted forground window not foreground ( #8521 )
...
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-06-28 22:36:29 +08:00
21pages
ec042434be
use sihost.exe as fallback for run_as_user if no explorer.exe ( #8305 )
...
* There is no relevant information, but I found that each session has a unique sihost.exe, and the user name of the process is consistent with the user name of the session, and after using the task manager to kill this process, it will automatically restart. Checking sessionUserName=siHost UserName may be unnecessary, but since there is no evidence, check it anyway.
* GetFallbackUserPid is called only when explorer.exe does not exist.
* ProcessHacker shows that the tokens of explorer.exe and sihost.exe are the same, I know little about it.
Signed-off-by: 21pages <pages21@163.com >
2024-06-10 20:29:53 +08:00
21pages
ffac670f95
fix nt_terminate_process missing CloseHandle ( #8294 )
...
Signed-off-by: 21pages <pages21@163.com >
2024-06-08 21:15:01 +08:00
21pages
fd0f85d565
no explorer.exe, judge by pid retrived from cpp ( #8291 )
...
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-06-08 16:50:35 +08:00
21pages
8de5f3f0d3
not close connection if failed to start cm due to no explorer.exe ( #8290 )
...
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-06-08 16:11:51 +08:00
21pages
0bb537b872
fix kill occupied ipc process, find with enumerate, kill with NtTerminateProcess ( #8289 )
...
* I reproduced the issue, that process did't have title, couldn't be connected
to and taskkill not work
* Test whether ipc is opccupied with enumerating named pipe
* With NtTerminateProcess, it was killed successfully.
* There is a way to find the exact process which occupy the ipc, I have
not check it, it's from https://github.com/winsiderss/systeminformer
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-06-08 14:09:16 +08:00
21pages
18464ec570
windows replace uni with cmd to start up main window after installation ( #8235 )
...
This is to avoid uni link not working
Other change: The install window now has the title "appname - Install" to distinguish it from the main application window.
Signed-off-by: 21pages <pages21@163.com >
2024-06-01 20:28:21 +08:00
21pages
d3eaa6600d
fix, windows try kill flutter main window process only when --server's ipc is ( #8086 )
...
occupied
Signed-off-by: 21pages <pages21@163.com >
2024-05-18 23:14:42 +08:00
21pages
c2b7810c33
windows kill flutter main window when --server close ( #8077 )
...
Signed-off-by: 21pages <pages21@163.com >
2024-05-18 08:24:28 +08:00
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
fufesou
b407893db5
refact: win idd, x86 on x64 ( #7796 )
...
* refact: win idd, x86 on x64
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* comments
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* typo
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* refact: win idd, check if x64 and deviceinstaller64 exits
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* refact: win idd
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* refact: win idd, add logs
Signed-off-by: fufesou <shuanglongchen@yeah.net >
---------
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-04-23 17:00:41 +08:00
fufesou
4f47d4482b
refact: win, idd control ( #7789 )
...
* refact: win, idd control
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* refact: win device control, better addr of
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* refact: simple refact
Signed-off-by: fufesou <shuanglongchen@yeah.net >
---------
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-04-22 10:37:08 +08:00
fufesou
ad062486ff
Fix/win query arch ( #7786 )
...
* fix: win, query arch with GetNativeSystemInfo
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* refact: idd, ci
Signed-off-by: fufesou <shuanglongchen@yeah.net >
---------
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-04-21 14:55:42 +08:00
rustdesk
0365c94407
remove IsWow64Process2
2024-04-20 19:24:44 +08:00
fufesou
e83c28bf54
refact: win, virtual display ( #7767 )
...
* refact: win, virtual display
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* Update flutter-build.yml
---------
Signed-off-by: fufesou <shuanglongchen@yeah.net >
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com >
2024-04-19 11:31:52 +08:00
writegr
9b2ec62be9
chore: fix some typos in comments ( #7752 )
...
Signed-off-by: writegr <wellweek@outlook.com >
2024-04-18 14:39:38 +08:00
fufesou
64020758d9
Feat. Msi ( #7684 )
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-04-11 11:51:35 +08:00
rustdesk
cf8386aa50
remove useless code in is_installed windows
2024-04-09 16:33:03 +08:00
rustdesk
22da14e3f7
fix https://github.com/rustdesk/rustdesk/discussions/7628 , https://github.com/rustdesk/rustdesk/discussions/7490
2024-04-07 11:31:51 +08:00