Commit graph

1863 commits

Author SHA1 Message Date
Luke
6ad56075d6
Drag whole toolbar; snap to all four edges of the remote session window (#15051)
* Drag whole toolbar; snap to all four edges

Today the drag handle on the remote-session toolbar repositions only
the handle row -- the icons themselves stay centered at the top. This
change applies the position to the entire toolbar wrapper so dragging
the handle moves the whole thing, and extends snapping from top-only
to any of the four window edges.

When docked left/right the toolbar reflows vertically. A live ghost
preview shows where the toolbar will land while you drag, with a small
hysteresis bias to keep the preview from flickering near corners.

The legacy 'remote-menubar-drag-x' session option is read as a fallback
on first load so existing users keep their saved horizontal position;
new option keys are 'remote-menubar-edge' and 'remote-menubar-frac'.

Tested locally on Windows. macOS / Linux / web desktop use the same
shared widget with no platform-specific calls, but I did not verify
them.

* Load edge independently and clamp loaded fraction

Addresses CodeRabbit review on #15051: parse the saved edge regardless
of whether the new fraction option is present so a partial write of
frac doesn't reset the toolbar back to top, and clamp the loaded
fraction to the kOptionRemoteMenubarDragLeft/Right contract so a
corrupted or out-of-range saved value can't bypass the bounds until
the user drags again.

* Require edge activation zone to switch dock; preserve horizontal slide

Per review feedback on #15051: nearest-edge-wins made a low-intent
horizontal slide too easy to escalate into a high-impact orientation
change (vertical reflow on left/right dock). The default drag now
keeps the toolbar on its current dock edge and just updates the
fraction along that edge -- the prior horizontal-slide behavior.

An alternate edge is only previewed/committed when the cursor enters
its 32 px activation zone; once previewed, the cursor has to move
back 64 px before reverting (hysteresis at the zone boundary).

* Gate multi-edge docking behind a settings toggle; default = horizontal slide

Replaces the activation-zone approach with an explicit opt-in setting
in Settings -> Other ("Allow docking remote toolbar to any window
edge"). This addresses the concern that a low-intent horizontal drag
shouldn't be able to trigger a high-impact orientation change, while
still letting users who want multi-edge docking opt in cleanly.

Default (toggle off):
  - The original horizontal slide is preserved.
  - The bug fix from the first commit still applies: dragging the
    handle moves the whole toolbar, and the position persists across
    collapse/expand (no more re-center on re-open).
  - Draggable is axis-locked to horizontal so the feedback widget
    stays on the top line during drag.

Opt-in (toggle on):
  - Full nearest-edge wins with the live preview ghost and corner
    hysteresis; toolbar reflows vertically on left/right docks.
  - Draggable is unlocked for 2D drag.

Reads the option via mainGetLocalBoolOptionSync so the toolbar's
default state matches what the settings checkbox shows; the option
key uses the allow- prefix so unset defaults to off.

Takes effect on next session (setting is read at session init).

The setting key (allow-multi-edge-toolbar-dock) is read by the
existing local-options machinery and persists per-install without
needing to be registered in libs/hbb_common's KEYS_LOCAL_SETTINGS.
Can add that registration in a parallel hbb_common PR if preferred.

* Fix remote toolbar drag positioning & persistence

Align drag fraction calculation with the toolbar's actual travel range,
keep preview sizing stable during drag, and preserve legacy horizontal
position storage when multi-edge docking is disabled.

Signed-off-by: fufesou <linlong1266@gmail.com>

* Remote toolbar snap edges

1. Translations
2. Apply option to remote windows on changed

Signed-off-by: fufesou <linlong1266@gmail.com>

* fix: avoid remote toolbar docking jumps on setting reload

Signed-off-by: fufesou <linlong1266@gmail.com>

* Fix remote toolbar docking updates and drag sync

Signed-off-by: fufesou <linlong1266@gmail.com>

* refact: translation key

Signed-off-by: fufesou <linlong1266@gmail.com>

* feat(toolbar-snap-edges): test web

Signed-off-by: fufesou <linlong1266@gmail.com>

* Fix remote toolbar docking sync and vertical layout

Signed-off-by: fufesou <linlong1266@gmail.com>

* Fix remote toolbar monitor controls on side docks

Signed-off-by: fufesou <linlong1266@gmail.com>

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
Co-authored-by: fufesou <linlong1266@gmail.com>
2026-05-24 19:08:45 +08:00
Maison da Silva
b81ae6c894
Translate various labels to Portuguese-BR (#15086)
Update
2026-05-22 18:36:15 +08:00
rustdesk
9f8f726f12 fix compile 2026-05-15 17:30:59 +08:00
flusheDData
701a9c6cdc
New terms added (#15036)
* Update es.rs

New terms added

* Update es.rs

New terms added

* Update Spanish translations for various strings

* Fix typo in Spanish translation for TLS fallback

* Add Spanish translations for various UI elements

* Update es.rs

---------

Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2026-05-15 15:31:25 +08:00
Alex Rijckaert
0d40cf2101
Update Dutch translations (#15024)
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2026-05-14 16:43:40 +08:00
Alex Rijckaert
fe5a8cb2ad
Update Dutch translation (#14984) 2026-05-13 14:59:48 +08:00
John Fowler
b6caa1a7b2
hu.rs update (#14983)
Translate a new string.
2026-05-13 14:59:29 +08:00
fufesou
b757e97c11
fix(translation): ja (#14993)
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-05-10 10:02:42 +08:00
VenusGirl❤
72d27c3c47
Update Korean (#14956) 2026-05-08 17:49:17 +08:00
Lynilia
0221634a4d
Update fr.rs (#14955) 2026-05-06 19:32:59 +08:00
Mr-Update
9d1f86fbc6
Update de.rs (#14953) 2026-05-06 19:32:41 +08:00
bovirus
5abae617dc
Italian language update (#14949) 2026-05-04 16:50:42 +08:00
bilimiyorum
52d62da002
Update tr.rs (#14948)
1- New string entry
2- A minor improvement for terminological consistency
2026-05-04 16:50:23 +08:00
solokot
253d632709
Update ru.rs (#14947) 2026-05-04 16:49:49 +08:00
fufesou
383a5c3478
feat: option, enable-privacy-mode & enable-perm-change-in-accept-window (#14875)
* feat: option, privacy mode

Signed-off-by: fufesou <linlong1266@gmail.com>

* feat(privacy mode): update libs/hbb_common

Signed-off-by: fufesou <linlong1266@gmail.com>

* feat(privacy mode): turn off on disable privacy mode

Signed-off-by: fufesou <linlong1266@gmail.com>

* feat(privacy mode): better check if supported

Signed-off-by: fufesou <linlong1266@gmail.com>

* feat(option): enable perm change in accept window

Signed-off-by: fufesou <linlong1266@gmail.com>

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2026-05-02 00:44:22 +08:00
Nawer
03e351ac61
feat(i18n): Complete and fix french translations (#14890) 2026-04-24 18:38:34 +08:00
Aliaksandr Kliujeŭ
5d0533f0d4
Update Balarusian strings (#14842)
* Update Balarusian strings

* BE: fix typos

* BE: fix ў-related typos
2026-04-23 23:52:43 +08:00
Re*Index. (ot_inc)
e0c5e1483e
Update Japanese translate (#14838)
* Update ja.rs

* Update ja.rs

* Fix typo
2026-04-23 23:52:21 +08:00
Leo Louis
47e4c65d8e
Update print statement from 'Hello' to 'Goodbye' (#14754) 2026-04-22 18:06:37 +08:00
Leo Louis
348d1b46e1
Add Hindi language support with translations (#14746)
* Add Hindi language support with translations

* Update print statement from 'Hello' to 'Goodbye'
2026-04-22 18:04:37 +08:00
fufesou
e8a1b7fe21
fix: build (#14846)
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-04-20 10:05:32 +08:00
Luca-rickrolled-himself
91aff3ffd1
Complete and correct Romanian (ro) translations (#14837)
* Complete and correct Romanian (ro) translations

- Fill in all previously empty translation strings
- Fix plural form: "fișier" → "fișiere" (files)
- Fix "Receive" → "Primește" (was incorrectly using "Acceptă")
- Fix "Too frequent" → "Prea frecvent" (removed erroneous extra word)
- Fix "Note" → "Notă" (was translated as verb instead of noun)
- Fix "Use both passwords" → "Folosește ambele parole" ("programe" typo)
- Fix "Automatically record incoming sessions" → "sesiunile primite" (not "viitoare")
- Fix typo "neautoriztă" → "neautorizată" (Connection not allowed)
- Fix typo "dispozivul" → "dispozitivul" (Restart remote device)
- Fix leading whitespace in "Username" translation
- Fix "FPS" → keep as "FPS" (was incorrectly translated as "CPS")
- Fix "Forget Password" → "Parolă uitată" (command form was grammatically wrong)

* Fix typo in Romanian translation for accessibility tip

* unify informal register and fix subjunctive typo
2026-04-18 10:55:18 +08:00
John Fowler
642c281ad0
Update hu.rs (#14816)
New string translation and fixes.
2026-04-17 12:44:24 +08:00
Leo Louis
2d41b3e80d
Add Gujarati language support with translations (#14752) 2026-04-14 14:21:10 +08:00
Andrzej Rudnik
ffd2d26c1a
Update pl.rs (#14775) 2026-04-14 14:20:35 +08:00
🌐 Qusai ALBahri 🌱
e0427bdc77
Translate UI strings to Arabic in ar.rs (#14694) 2026-04-06 18:27:14 +08:00
Alex Rijckaert
cca6a5fe12
Update Dutch translations (#14654) 2026-04-01 18:10:39 +08:00
VenusGirl❤
9e4b7fca4d
Update Korean (#14644) 2026-03-31 21:34:35 +08:00
XLion
d135c58ead
Update tw.rs (#14643) 2026-03-31 21:26:00 +08:00
Mr-Update
de194417d4
Update de.rs (#14640) 2026-03-31 21:25:05 +08:00
solokot
d01ce3173f
Update ru.rs (#14636) 2026-03-30 22:37:35 +08:00
bilimiyorum
010a54d1c9
Update tr.rs (#14628)
New string entries
2026-03-29 23:02:53 +08:00
bovirus
f557fc94fa
Italian language update (#14626) 2026-03-28 13:02:09 +08:00
fufesou
170516572e
refact(password): Store permanent password as hashed verifier (#14619)
* refact(password): Store permanent password as hashed verifier

Signed-off-by: fufesou <linlong1266@gmail.com>

* fix(password): remove unused code

Signed-off-by: fufesou <linlong1266@gmail.com>

* fix(password): mobile, password dialog, width 500

Signed-off-by: fufesou <linlong1266@gmail.com>

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2026-03-26 14:49:54 +08:00
bovirus
ca4647ddd6
Italian language update (#14598) 2026-03-23 13:48:34 +08:00
Mr-Update
7004acae46
Update de.rs (#14572) 2026-03-21 16:18:56 +08:00
solokot
899dd46f5b
Update ru.rs (#14570) 2026-03-21 16:18:39 +08:00
Lynilia
c0da4a6645
Update fr.rs (#14567) 2026-03-18 22:53:30 +08:00
Qusai Ismael
9d8df6a226
Fix(wayland): improve error message when xdg-desktop-portal is unavailable #12897 (#14543)
* Fix: Wayland requires higher version of linux distro. Please try X11 desktop or change your OS. #12897

* refactor(wayland): optimize translation keys for binary size and improve dbus matching
2026-03-17 13:37:20 +08:00
John Fowler
fd7bcf54bd
Hungarian language file update (#14497)
* Update Hungarian translations in hu.rs

Translation of new strings and some fixes.
John Fowler.

* Escape quotes in Hungarian language strings

Replacing Hungarian quotation marks

* Update Hungarian translations for various terms

Upload a new translation (hu.rs) file.

* Hungarian language file correction

New character strings translation, error correction.

* Hungarian language file update

New string translations.
2026-03-09 21:28:37 +08:00
VenusGirl❤
394079833e
Update ko.rs (#14418) 2026-02-27 20:14:14 +08:00
Alex Rijckaert
12d6789c2e
Update translation (#14413) 2026-02-27 12:09:47 +08:00
memory_clear
34803f8e9b
Update labels for keep awake during sessions (#14391) 2026-02-26 18:28:19 +08:00
solokot
fd43184406
Update ru.rs (#14386) 2026-02-26 18:28:09 +08:00
Mr-Update
3cc3315081
Update de.rs (#14385) 2026-02-26 18:27:58 +08:00
bilimiyorum
50c62d5eac
Update tr.rs (#14376)
New string entry
2026-02-24 16:30:32 +08:00
Lynilia
91ac48912e
Update fr.rs (#14383) 2026-02-24 16:30:12 +08:00
John Fowler
272a6604cd
Hungarian language file correction (#14382)
* Update Hungarian translations in hu.rs

Translation of new strings and some fixes.
John Fowler.

* Escape quotes in Hungarian language strings

Replacing Hungarian quotation marks

* Update Hungarian translations for various terms

Upload a new translation (hu.rs) file.

* Hungarian language file correction

New character strings translation, error correction.
2026-02-24 16:29:54 +08:00
westor
8a889d3ebb
Update el.rs translation (#14378)
- Added missing language strings.
- Fixed some previously typo translations.
- Updated some translation strings.
2026-02-24 16:29:43 +08:00
bovirus
17a3f2ae52
Italian language update (#14375) 2026-02-23 16:37:53 +08:00