rustdesk / rustdesk/rustdesk-server
Linux RustDesk.appImage starts with 1 pixel width window; and it's also minimized to 1 pixel width
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 10.4k
- Forks
- 2.6k
- PR merge metrics
- No merged PRs in 30d
Description
Suddenly RustDesk started with 1 pixel width from nothing. It can only be maximized to full scale through right clicking on the tray icon. Then when I want to move the window it automatically is minimized to 1 pixel. There isn't a middle point between 1 pixel window and full-scale.
Version: 1.4.5
compilation date: 2026-01-09 02:53
fingerprint: 44d6 aa3a 7dd1 2e8b b610 974f ee5a 67a1 7ea0 f680 efde 2aa7 321a 63dd 4817 a284
OS: Linux Mint 21.3
...
flutter: Saving frame: null: 1280.0/1.0, offset:583.0/489.0, isMaximized:true, isFullscreen:false
flutter: Saving frame: null: 1280.0/1.0, offset:754.0/40.0, isMaximized:false, isFullscreen:false
flutter: Saving frame: null: 1280.0/1.0, offset:754.0/40.0, isMaximized:true, isFullscreen:false
(rustdesk:5588): Gdk-CRITICAL **: 13:44:15.301: gdk_device_get_source: assertion 'GDK_IS_DEVICE (device)' failed
flutter: Saving frame: null: 1280.0/1.0, offset:276.0/40.0, isMaximized:false, isFullscreen:false
(rustdesk:5588): Gdk-CRITICAL **: 13:45:21.517: gdk_device_get_source: assertion 'GDK_IS_DEVICE (device)' failed
flutter: Saving frame: null: 1280.0/1.0, offset:276.0/40.0, isMaximized:true, isFullscreen:false
EDIT: RustDesk is writing the UI file with such wrong information. I was able to restore a decent window size editing and making it read-only the file RustDesk_local.toml.
Original RustDesk_local.toml file (pay attention to the wm_Main.height attribute):
remote_id = 'xxxxxxx'
kb_layout_type = ''
size = [
0,
0,
0,
0,
]
fav = []
[options]
remote-menubar-drag-right = '1.0'
remote-menubar-drag-left = '0.0'
[ui_flutter]
peer-sorting = 'Remote ID'
wm_RemoteDesktop = '{"width":1680.0,"height":1032.0,"offsetWidth":1190.0,"offsetHeight":48.0,"isMaximized":false,"isFullscreen":false}'
wm_FileTransfer = '{"width":1540.0,"height":760.0,"offsetWidth":420.0,"offsetHeight":200.0,"isMaximized":false,"isFullscreen":false}'
wm_Main = '{"width":1280.0,"height":1.0,"offsetWidth":640.0,"offsetHeight":559.0,"isMaximized":false,"isFullscreen":false}'
Modified Original RustDesk_local.toml file by me with height=500 and setting the file as read-only (I don't know where the "100s" came from):
remote_id = 'xxxxxxx'
kb_layout_type = ''
size = [
100,
100,
100,
100,
]
fav = []
[options]
remote-menubar-drag-right = '1.0'
remote-menubar-drag-left = '0.0'
[ui_flutter]
wm_RemoteDesktop = '{"width":1680.0,"height":1032.0,"offsetWidth":1190.0,"offsetHeight":48.0,"isMaximized":false,"isFullscreen":false}'
peer-sorting = 'Remote ID'
wm_FileTransfer = '{"width":1540.0,"height":760.0,"offsetWidth":420.0,"offsetHeight":200.0,"isMaximized":false,"isFullscreen":false}'
wm_Main = '{"width":1280.0,"height":500.0,"offsetWidth":842.0,"offsetHeight":340.0,"isMaximized":false,"isFullscreen":false}'
BTW: What does this instruction it mean? - In any case, **NEVER** put here the content if your `id_ed25519` file
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the code that reads and writes the ui_flutter section of RustDesk_local.toml, especially the wm_Main dimensions. Reproduce the Linux window behavior and inspect how a height of 1.0 and the saved offsets are produced. Done means the application no longer saves or restores a one-pixel main window while retaining normal window-state persistence.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- flutter, rust
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100