Commit graph

804 commits

Author SHA1 Message Date
sithlord48
525123573e chore: use U for wlclipboard setting name 2025-11-21 10:38:50 +00:00
sithlord48
92e3e9ac64 refactor: wlClipboard fix some sonar issues 2025-11-20 07:57:31 -05:00
sithlord48
50fd3365e8 chore: WlClipboard remove unused process control methods 2025-11-20 07:57:31 -05:00
sithlord48
4ebf5ff479 refactor: WlClipbaord::empty use QProcess 2025-11-20 07:57:31 -05:00
sithlord48
ab4feaa037 refactor: WlClipbaord::add use QProcess to set the clipboard 2025-11-20 07:57:31 -05:00
sithlord48
21900ade68 refactor: make WlClipboard a QObject subclass 2025-11-20 07:57:31 -05:00
sithlord48
7b0e8e8188 chore: WlClipboard remove unused executeCommand 2025-11-20 07:57:31 -05:00
sithlord48
c5f7a3792a refactor: WlClipboard::get use QProcess 2025-11-20 07:57:31 -05:00
sithlord48
7a60f0cc9e refactor: WlClipboard, use QProcess to get available mimeTypes 2025-11-20 07:57:31 -05:00
sithlord48
9ed0b06a42 refactor: WlClipboard mimetypes use QStrings 2025-11-20 07:57:31 -05:00
sithlord48
5ef4f64b11 refactor: use QDateTime::currentMSecsSinceEpoc behind WlClipboard::getCurrentTime 2025-11-20 07:57:31 -05:00
sithlord48
c7e90d3cf5 refactor: WlClipboard::isAvailable use QStandardPaths::findExecutable to check if the apps exist. remove WlClipboard::checkCommandExists 2025-11-20 07:57:31 -05:00
sithlord48
d157713a85 feat: Settings expose settings to use wl-clipboard backend. Disable clipboard on wayland if this settings is disabled 2025-11-20 07:57:31 -05:00
sithlord48
90e7d475f8 refactor: WlClipboardCollection minor sonar cleanup 2025-11-20 07:57:31 -05:00
sithlord48
ecb03297fd refactor: EiScreen Sonar cleanup for new clipboard items 2025-11-20 07:57:31 -05:00
sithlord48
a09dfad22a chore: WlClipboard remove unused private setClipboardData and setClipboardData methods 2025-11-20 07:57:31 -05:00
sithlord48
9960b657e3 chore: rename EiClipboard -> WaylandClipboardCollection 2025-11-20 07:57:31 -05:00
sithlord48
bbabb91d42 chore: rename src/lib/platform/WaylandClipboard -> src/lib/platform/WlClipboard 2025-11-20 07:57:31 -05:00
Jörg Thalheim
e55c67fa2f feat: add wayland clipboard support via wl-clipboard
this is currently based on wl-copy/wl-paste.
One could probably just implement wl-copy/wl-paste without adding much
complexity and better performance.

Co-authored-by: KoljaFrahm <GitHub.Kolja@dfgh.net>
2025-11-20 07:57:31 -05:00
sithlord48
4d2597c31b refactor: XDGKeyUtil no need to add std:: for uint32_t 2025-11-14 13:28:41 +00:00
sithlord48
281cda1d14 refactor XDGKeyUtil::mapKeyToKeyID cleanup default case make i in the if and not case the already right type returned 2025-11-14 13:28:41 +00:00
sithlord48
4a67694676 build: new build option BUILD_X11 to control building of X11 backend 2025-11-14 13:28:41 +00:00
sithlord48
f45df39032 refactor: XDGKeyUtil, make s_keySymToUCS4 static map 2025-11-14 13:28:41 +00:00
sithlord48
186a20a1ac feat: XDGKeyUtil, use Xkbcommon Keysym names
this removes the need for any x11 releated headers when using EI screens
2025-11-14 13:28:41 +00:00
sithlord48
7eee265010 refactor: make s_map1008FF private static array 2025-11-14 13:28:41 +00:00
sithlord48
b3cd759a4e chore: remove unused KeySyms Tyepdef 2025-11-14 13:28:41 +00:00
James Le Cuirot
93beb491db fix: Split XKB code out of XWindowsUtil to allow building without X11
the xprotoheaders are still required for EI, but nothing more.
2025-11-14 13:28:41 +00:00
Brett Lawson
6a86c2990e fix: Adjust OS X MouseMove handling to use live cursor position. 2025-11-11 11:15:41 -05:00
sithlord48
1875c599a4 refactor: define EventQueueTimer to its own header not once per IEventQueue impl 2025-11-10 07:08:29 -05:00
sithlord48
ab1a87ba04 chore: remove MsWindowClipboardTextConverter 2025-11-10 11:52:42 +00:00
sithlord48
d492ddfbbb chore: LogOutputters remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
c91e051082 chore: PlatformScreen remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
7ce5ce5d41 chore: XWindowsUtils remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
68a15486ae chore: XWindowsScreen remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
bb42cfb8fd chore: XWindows Clipboard remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
af0321ce77 chore: XDGPowerManager remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
fbdee8e10e chore: PortalRemoteDesktop remove unneeded includes 2025-11-07 15:54:19 -05:00
sithlord48
489d984ab6 chore: PortalInputCapture remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
1e672bb8a1 chore: EiScreen remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
6147e9604b chore: EiEventQueueBuffer remove unneeded includes 2025-11-07 15:54:19 -05:00
sithlord48
97367a20c5 chore: OSXUchrKeyResouce remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
5a029110a3 chore: OSXScreenSaver remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
e4557c6b95 chore: OSXScreen remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
685312866b chore: OSXKeyState remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
a0959e0334 chore OSXClipboardTextConvertor remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
a376a714e8 chore: OSXClipboardAnyBitmapConverter remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
21a7d7db4b chore: OSXClipboard remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
8b89489d40 chore: MSWindowsHook inclue Directional Types directly not thru protocol types 2025-11-07 15:54:19 -05:00
sithlord48
e8073de989 chore: MSWindowsEventQueueBuffer remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
74e4f1a1e1 chore: MSWindowsClipboardTextConvertor remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
d9493da173 chore: MsWindowsClipboardFacade, remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
0e8fdb18d8 chore: MsWindowsClipboard, remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
e07a9f58f7 refactor: MSWindowsClipBoard, use Text converter as last option 2025-11-07 15:54:19 -05:00
sithlord48
19814c61d7 chore: MSWindowsProcess remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
8e83b16f5e chore: move platform/Wayland.h -> common/PlatformInfo.h 2025-11-06 09:12:18 -05:00
sithlord48
c18e3c9ef2 refactor: platform/wayland move consts kHasEI etc into wayland Warnings 2025-11-06 09:12:18 -05:00
sithlord48
8fadbecf00 chore: make TMethodJob const void* 2025-11-05 22:07:16 +00:00
Vasily Galkin
eab38dc23e fix: High Cpu use on windows
port: 95f2a840be
Fixes: #8970
2025-11-05 21:46:20 +00:00
sithlord48
6ab1579d38 refactor: Log remove unneeded includes 2025-11-04 10:47:14 -05:00
sithlord48
50240c1fc3 refactor: Arch do not include common/Common.h use config.h where neeed as a result 2025-11-03 13:31:28 +00:00
sithlord48
550f7c3e06 refactor HAS_FORMAT => HAVE_FORMAT 2025-10-31 12:21:47 +00:00
sithlord48
6b2c3c1844 chore: remove unused ILogOutputters:show 2025-10-27 15:36:40 +00:00
re2zero
8226c4162b fix: [build]Fix build issue without format support
add C++20 <format> support checks in Unix libraries and update logging format usage.

Log: Fix build issue without format support.
2025-10-24 15:08:11 +00:00
Matti Hiljanen
2016ce887b fix: stuck modifiers after screen unlock on windows
Fix stuck modifiers (like the windows key) after unlock on Windows
by updating keyboard state after every desk switch.
2025-10-24 15:38:27 +01:00
sithlord48
a34971fee7 refactor: call xkb_keymp_num_levels_for_key, to apply shift in EiState::mapKeyfromKeyval 2025-10-24 14:46:49 +01:00
enzious
5fc4e9dba6 fix: ctrl+alt+fn issue 2025-10-24 00:30:38 +00:00
enzious
b8bd6903e4 fix: client to server modifier press/release
Pressing a modifier on the client and moving to the server and releasing
it breaks the modifier on the client. This resolves the issue.
2025-10-21 13:54:40 +01:00
enzious
ea7a493c13 fix: dangling pointer from scoped var 2025-10-21 13:32:13 +01:00
sithlord48
e1fbcb379e chore: Sub classes and overloads not usings parameters of the base methods have the varible names removed 2025-10-17 09:07:21 +01:00
sithlord48
8b489b8301 chore: remove unneeded semi colons from several places 2025-10-17 09:07:21 +01:00
sithlord48
d32b98ec34 refactor: EiScreen Define Spaceship op for EiScreen::HotKeyItem 2025-10-17 09:07:21 +01:00
pika
78e394a210 fix: apply scroll lock setting on initialization
Co-authored-by: Nick Bolton <nick@symless.com>
2025-10-17 03:50:53 -04:00
pika
c11a1caf59 fix: handle xkb_keymap_mod_get_mask returning 0 2025-10-16 11:57:11 -04:00
Nick Bolton
3ece50e292 fix: Invert noHooks to useHooks to match new config 2025-10-14 09:04:00 -04:00
sithlord48
d98f8a524d remove: argsBase 2025-09-30 06:39:54 -04:00
sithlord48
37827f0540 refactor: remove ClientArgs 2025-09-30 06:39:54 -04:00
sithlord48
5fc00f7af4 refactor: use bool for invert scrolling 2025-09-30 06:39:54 -04:00
sithlord48
2cb36777f9 refactor: move languageSync to coreArgs 2025-09-30 06:39:54 -04:00
sithlord48
c2ee366e23 refactor: move preventsleep option into CoreArgs 2025-09-30 06:39:54 -04:00
sithlord48
6f574a3076 refactor: set const for Reverse FQDN name to use for deployment on linux 2025-09-30 06:17:23 -04:00
sithlord48
dc86538456 feat: Set app id on wayland this is required for restore tokens to work correctly 2025-09-30 06:17:23 -04:00
sithlord48
7698980576 refactor: simplify desktop::platform::isWayland 2025-09-30 06:17:23 -04:00
sithlord48
9fe445ebd0 feat: add methods to check if running from a sandbox, flatpak and or snap 2025-09-30 06:17:23 -04:00
sithlord48
bd63d54a9e chore: EiScreen::m_powerManager add no_unique_address 2025-09-25 15:01:17 +01:00
Roman Vasiyarov
9f8c45b449 fix: XWindowsScreen: stop centering panned screens on client when leaving screen
panned screens still needs `xtestIsXineramaUnaware` option enabled. this change
forcefully uses XTest only when leaving
useful examples:
* double 1 FullHD screen (main output) by:
	`xrandr --fb 3840x1080 --output DP-1 --panning 3840x1080+0+0/3840x1000+0+80`,
	leaving top 80 pixels for moving mouse out without actual panning
* dedicate right half of framebuffer to FullHD TV (second output):
	`xrandr --fb 3840x1080 --output HDMI-0 --panning 1920x1080+1920+0`
2025-09-23 12:12:59 +01:00
Roman Vasiyarov
bf5b0de6ee fix: XWindowsScreen: properly calculate xrandr/xinerama screens
this allows screens to overlap, use panning, etc
2025-09-23 12:12:59 +01:00
Roman Vasiyarov
3aef2f4309 chore: XWindowsScreen: remove duplicate function 2025-09-23 12:12:59 +01:00
sithlord48
612ca91f9c chore: rename XWindowsPowerManager => XDGPowerManager
fixes: 8949
2025-09-15 13:21:51 +01:00
Nick Bolton
162cb85811 fix: Improve output loop error handling in MSWindowsWatchdog
Prevents high CPU usage while waiting for data (ERROR_NO_DATA)
2025-09-12 13:17:50 +01:00
Louis des Landes
7a2591a1fa fix: wayland sleep inhibit on client
Fixes #8827
Adds the XWindowsPowerManager to the EiScreen as, despite the name, this
works on Wayland as well.
2025-09-12 10:54:25 +01:00
sithlord48
c4c2f7f37f feat: begin to use QStrings for strings
feat: get windows building with the UNICODE forced by using Qt
refactor: remove ARCHString use QString to convert to / from utf8
build: (arch) link to common
build: (base) link to arch
build: (io) Link to common
build: (client) link to common
build: (server) link to common
fix: Append to log file instead of creating a new one each log line
refactor: Trim cipher description for neater log output
fix: Update log messages to use wide string format for Unicode support
fix: Correct event creation to use wide string for Unicode compatibility
refactor: Use QStringDecoder for UTF-8 handling on Windows Daemon child process
fix: Use correct wide type for Win32 consts
2025-09-10 18:15:19 +01:00
sithlord48
b30f8d253c refactor: XWindowsKeyState remove name for unused KeyId in remapKeyModifiers 2025-09-05 11:52:17 +01:00
sithlord48
c477d0fcc6 refactor: XWindowsKeyState::init remove unused display var 2025-09-05 11:52:17 +01:00
sithlord48
bc63961e7e refactor: EIEventQueueBuffer remove unused screen from constructor 2025-09-05 11:52:17 +01:00
sithlord48
138ede0536 refactor: use If in place of switch that looks for single case 2025-09-01 16:57:39 +01:00
sithlord48
507c98adff refactor: EIKeyState::fakeKey use if in place of a switch that cares only about a single case 2025-09-01 16:57:39 +01:00
Nick Bolton
07edccb469 fix: Add 'Hyper' key handling
In the X11 code, we mapped hyper to super, so perhaps it makes sense to do that here too:

`src/lib/platform/XWindowsUtil.cpp`
```
  case XK_Super_L:
  case XK_Super_R:
  case XK_Hyper_L:
  case XK_Hyper_R:
    return kKeyModifierBitSuper;
```
2025-08-26 09:52:43 -04:00
Zhuofeng Wang
927075688c fix: Pass ClientScrollDirection to EiScreen 2025-08-26 09:08:45 -04:00
sithlord48
b18c3b588f refactor: EIKeyState, compare to the current state when seeing if modifiers are inactive, suggested by wismill 2025-08-26 11:23:29 +01:00
Nick Bolton
34c439b3de refactor: Use single case to ignore mods in EI mod mask 2025-08-22 17:04:16 +01:00