rustdesk / rustdesk/rustdesk-server

Linux RustDesk.appImage starts with 1 pixel width window; and it's also minimized to 1 pixel width

Open
#638 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.