Commit graph

7204 commits

Author SHA1 Message Date
Nick Bolton
74392eea6c fix: rename updateLocalFingerprint to updateFingerprintButton for clarity
The function name didn't make it's actual side effects clear to me
2026-07-10 15:12:42 +00:00
Nick Bolton
4cb5c3ec9c fix: disconnect portal selection-transfer from parent session
Wrong session logged a glib critical on teardown.
2026-07-10 12:07:46 +00:00
Nick Bolton
f0f3428d50 fix: stop portal input capture thread on server exit
Server aborted with "pure virtual method called" when the bind address
was in use: EiScreen's PortalInputCapture glib thread outlived Arch and
hit its freed vtable. ~EiScreen never deleted m_portalInputCapture, and
a fatal startup threw past cleanupServer(). Fix both.
2026-07-10 12:07:46 +00:00
Josh Harris
c8231208c1 fix(win32): close running Deskflow processes during MSI install
Add util:CloseApplication entries for deskflow.exe, deskflow-core.exe,
deskflow-server.exe and deskflow-client.exe so Windows Installer's
Restart Manager can shut them down before file replacement. Without
this, in-place upgrades (especially pre-1.24 -> 1.24+, where the
old server/client binaries need removing) hit files-in-use and fall
back to prompting the user for a reboot.
2026-07-09 12:15:50 +01:00
SASANO Takayoshi
2c37169f73 fix: reivse scoped_lock to avoid deadlock for XWindowsClipboard
fix #9890
2026-07-08 13:27:50 +01:00
Nick Bolton
3f2571dfa3 fix: simplify key translation logic by removing clamping 2026-07-06 12:16:05 +01:00
Nick Bolton
fc44b0bb18 fix: restore client protocol downgrade message 2026-07-04 15:58:17 +01:00
BeaCox
bcd3a658fc fix: use local clipboard limit for client receive 2026-07-04 00:53:42 +01:00
BeaCox
8a535fd5dd fix: enforce clipboard receive size limits 2026-07-04 00:53:42 +01:00
sithlord48
205a3c803e fix: clamp mapped modifiers 2026-07-03 13:44:59 +01:00
sithlord48
b21f5a7ca8 i18n: make sure log levels text is translated 2026-07-02 12:07:44 +00:00
Yoshiaki Kasahara
f7b5f48520 i18n(ja): update Japanese(ja) translation
Check and update unfinished translation
2026-07-02 10:55:47 +00:00
sithlord48
8266fbbe6a fix: Check options array is always an even size 2026-07-01 17:02:09 +01:00
sithlord48
570e68e910 ci: update release action to overwrite gh_pages 2026-06-29 06:35:08 +01:00
sithlord48
570c9a494b refactor: upgrade server options section setting to new format 2026-06-25 12:08:33 +01:00
sithlord48
f66dbf69f3 chore: remove unused Config methods removeScreen removeScreens removeAllScreens removeOption removeOptions 2026-06-24 21:03:26 +01:00
sithlord48
a45e81fb15 refactor: Remove undocumented hold modifiers to switch code 2026-06-24 20:46:15 +01:00
sithlord48
55b6789728 refactor: save aliases without restarting the core. remove unknown screens when saving the server config 2026-06-23 19:28:35 +01:00
sithlord48
8010d8a8b2 refactor: move saving of screen aliases to general deskflow.conf 2026-06-23 19:28:35 +01:00
sithlord48
2d5cf33f16 chore: remove unused removeAlias methods 2026-06-23 19:28:35 +01:00
sithlord48
f3fb31914d refactor: replace use of insert for std::maps with try_emplace 2026-06-22 10:27:35 -04:00
sithlord48
a54d4d6754 refactor: remove server dead corners. instead set per screen 2026-06-22 10:10:47 -04:00
sithlord48
95ffe1ba03 fix: set new options before reading old ones 2026-06-22 13:52:03 +01:00
sithlord48
9b44f58e21 ci: bump action script usesd by ci-comment to v9 2026-06-19 08:27:56 -04:00
sithlord48
953a921669 ci: bump flatpak to use libei 1.6.0 2026-06-19 08:27:56 -04:00
sithlord48
161b72e43d refactor: Use mutex to protect m_time in MSWindowsClipboard 2026-06-19 08:26:51 -04:00
sithlord48
698ebc30b3 refactor: Use mutex to protect m_open / m_time in EiClipboard 2026-06-19 08:26:51 -04:00
sithlord48
0042b43bac refactor: use Mutex to protect vars in XWindowClipboard 2026-06-19 08:26:51 -04:00
sithlord48
81e6e13d94 refactor: Use Mutex to protect m_open and m_time in Clipboard.cpp 2026-06-19 08:26:51 -04:00
sithlord48
5eb1d7068e refactor: declare vars where they are used in if statements 2026-06-19 08:14:54 -04:00
sithlord48
31018910f8 refactor KeySqquenceWidget::event join identical cases 2026-06-19 08:14:54 -04:00
sithlord48
f52fdec236 refactor: make PortalRemoteDesktop:handleSessionTransfer a const 2026-06-19 08:14:54 -04:00
sithlord48
a42b6cf897 refactor: make PortalRemoteDesktop:handleSessionOwnerChanged a const 2026-06-19 08:14:54 -04:00
sithlord48
710aae5f3f refactor: make PortalRemoteDesktop::claimClipboard a const 2026-06-19 08:14:54 -04:00
sithlord48
e800512160 refactor: PortalInputCapture remove extra private section in header 2026-06-19 08:14:54 -04:00
sithlord48
cc35a3dc7d refactor: make PortalInputCapture::HandleSelectionTransfer const 2026-06-19 08:14:54 -04:00
sithlord48
9196b23f50 refactor: make PortalInputCapture::claimClipbaordOwnership const 2026-06-19 08:14:54 -04:00
sithlord48
cd1652b758 reactor: mark that session var maybe unused 2026-06-19 08:14:54 -04:00
sithlord48
4f5fdbca11 refactor: make PortalInputCapture::readClipboardSelection const 2026-06-19 08:14:54 -04:00
sithlord48
9f7dbe46ef refactor: make ServerConfigDialog::initConnections const 2026-06-19 08:14:54 -04:00
sithlord48
3fc0aaec5e refactor: change server clipboard grab messages to DEBUG level 2026-06-19 08:13:24 -04:00
sithlord48
74440b9d7a fix: make QApp first in deskflow-core 2026-06-19 08:09:28 -04:00
sithlord48
330d9baec8 ci: update flatpak to use libportal 0.10.0 2026-06-19 07:43:00 -04:00
sithlord48
ace44500d0 fix: do add existing aliases to the alias list, correctly remove items in the list before saving 2026-06-19 12:39:47 +01:00
sithlord48
e58c41ac5e refactor(Settings): Move clipboard size to the general config , store as a mb value convert to expected size on when adding the option 2026-06-19 12:25:28 +01:00
sithlord48
4fd0bf7e1e refactor(Settings): move clipboardSharing -> enableClipboard and to main config 2026-06-19 12:25:28 +01:00
sithlord48
df3746777b chore: remove unused wl-clipboard support 2026-06-18 22:06:37 +01:00
sithlord48
16cd4695cc refactor: do not save empty xdgtokens 2026-06-18 22:06:37 +01:00
Nick Bolton
03a4800677 feat: clipboard support for portal remote desktop
Add libportal clipboard handling to the remote desktop.
Supports both directions (server to Wayland client paste,
and copy from the Wayland client back to the server)
for UTF-8 text, plain text, and PNG/BMP images.

The shared mime-type table, BMP/DIB and PNG encode/decode helpers, and
portal selection read/write live in a new PortalClipboard
helper used by both PortalInputCapture and PortalRemoteDesktop.

If the portal returns a restored RemoteDesktop session without clipboard
enabled (a token persisted before clipboard support existed), discard
the restore token and reconnect so the user gets a fresh permission
dialog. Otherwise the session would loop with a clipboard-less token
forever.
2026-06-18 22:06:37 +01:00
Nick Bolton
66cb367473 fix: skip clipboard selection transfer if clipboard is active 2026-06-18 22:06:37 +01:00