Commit graph

94 commits

Author SHA1 Message Date
Ilya Fedin
a1a6676eab Get rid of glibmm 2024-03-13 16:33:12 +04:00
Ilya Fedin
6bce493029 Enter from event loop in the portal title controls layout watcher 2024-03-13 09:16:05 +04:00
John Preston
aa39793a91 Attempt to fix window geometry restore on Windows. 2024-01-12 13:53:22 +04:00
John Preston
cd4e9d378c Allow to use ForceFullRepaintSync on Linux. 2023-11-22 12:17:32 +04:00
Ilya Fedin
d86bd3f493 Add QHighDpiScaling support on Wayland via QPA API 2023-11-21 09:08:01 +04:00
Ilya Fedin
e0c2500127 Cache QWindow native interface check in WindowMarginsSupported()
It couldn't be changed at runtime anyway
2023-11-16 14:09:27 +04:00
John Preston
d28afffcb9 Workaround menu click-through on macOS 14.1. 2023-11-07 12:39:17 +04:00
Ilya Fedin
ea4c67408e Revert "Workaround Wayland popup menu bug."
This reverts commit 8db6dcf125.
2023-09-26 12:11:33 +04:00
Ilya Fedin
f317f20ac8 Try to allow native window frame on Wayland for everyone 2023-09-21 12:47:40 +04:00
Ilya Fedin
caff63f284 Get Wayland window menu out of DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION 2023-09-21 09:12:11 +04:00
Ilya Fedin
ba73905c11 Make use of templated XDP::ReadSetting 2023-09-18 19:46:05 +04:00
Ilya Fedin
9bf89715b1 Make use of the new XDP::SettingWatcher constructor 2023-09-18 12:41:17 +04:00
Ilya Fedin
94f9bbefd7 Re-use the Wayland AutoDestroyer's lifetime in WaylandIntegration::Private 2023-09-16 07:21:04 +04:00
Ilya Fedin
b2293c86e1 Use brackets include for QtWaylandScanner-generated headers 2023-09-07 23:09:26 +04:00
Ilya Fedin
dce16a3de2 Use not_null for WaylandIntegration::showWindowMenu window handle 2023-09-07 23:09:26 +04:00
Ilya Fedin
9af842571d Don't call xdg-shell code generation just for xdg_toplevel_show_window_menu 2023-09-07 23:09:26 +04:00
Ilya Fedin
bcf88b9065 Fix window extents terminology
Extents is a synonym of size but we're setting not window size.
2023-08-29 07:47:50 +02:00
Ilya Fedin
2dd3add5b3 Move code not really depending on Wayland-specific dependencies out of WaylandIntegration 2023-08-29 07:47:50 +02:00
Ilya Fedin
0f20eb152a Use string literal instead of const_string for QString constants 2023-07-20 21:33:16 +04:00
Ilya Fedin
da7f4fe425 Use new glibmm 2.78 API 2023-07-19 22:53:51 +04:00
Ilya Fedin
19d044a212 Move TitleControlsLayout from ui_platform_utility to ui_platform_window_title 2023-07-19 14:42:06 +04:00
John Preston
8db6dcf125 Workaround Wayland popup menu bug.
When hiding a child popup first the app receives ApplicationDeactivate
event and in a short time (a couple of ms) ApplicationActivate.

But the first event hides all popups, so the parent popup gets closed too.

Delay handling of ApplicationDeactivate event in this specific case.
2023-07-12 22:05:12 +04:00
Ilya Fedin
6abad69ca6 Cache title controls layout value
So it's not requested on every window width change and etc...
2023-07-04 15:44:46 +04:00
Ilya Fedin
8a56048801 Ensure Wayland integration instance accessor doesn't leak 2023-06-17 15:05:24 +04:00
Ilya Fedin
1e89c19a03 Make window check in Wayland integration assert
This function was always requiring a window handle but after latest refactor it would fail silently
2023-06-10 17:07:49 +04:00
Ilya Fedin
cf906f14bd Store xdg-decoration support with std::optional 2023-05-30 19:01:26 +04:00
Ilya Fedin
627abc6728 C++ify wl_registry 2023-05-30 18:15:19 +04:00
Ilya Fedin
bf4cb33fab Use new base_linux_wayland_utilities 2023-05-25 21:07:08 +04:00
Ilya Fedin
1893967b4a Destroy Wayland integration before Wayland disconnection 2023-05-25 21:07:08 +04:00
Ilya Fedin
be0067a8c7 Switch Wayland integration to the new type safe Qt API
This also makes it possible to get a more right seat/serial pair
2023-05-15 12:29:01 +04:00
Ilya Fedin
e8857f5792 Get rid of DESKTOP_APP_DISABLE_DBUS_INTEGRATION 2023-05-14 12:12:19 +04:00
Ilya Fedin
8b0e9ea7b8 Fix the detection of xdg-decoration removal 2023-03-23 12:50:35 +04:00
John Preston
5173dfa1ca Workaround for emoji selector in popup menu on Windows. 2023-03-17 14:21:42 +04:00
John Preston
c4838f5899 Fix native pointers staleness in macOS RpWindow. 2023-02-14 19:39:24 +04:00
Ilya Fedin
3f28dfa821 Replace custom waitForInterfaceAnnounce with wl_display_roundtrip 2022-11-11 11:39:36 +04:00
Ilya Fedin
95dd2c8465 Fix various spaces on end of lines 2022-09-02 19:26:53 +04:00
Ilya Fedin
f6e875c748 Use new Qt 6.4 API for window extents on Wayland 2022-09-02 19:26:53 +04:00
Ilya Fedin
47268d21ce Get wayland serial with new Qt 6.4 API 2022-09-02 19:26:53 +04:00
John Preston
a76cdf7edf Allow arbitrary paddings around PopupMenu. 2022-08-17 21:03:06 +03:00
John Preston
16708fd4f4 Revert "Allow buffer size overrides on Wayland EGL"
This reverts commit 303947c78c.
2022-08-08 09:40:29 +03:00
John Preston
c6727e673d Revert "Fix packaged build"
This reverts commit 4689c896e2.
2022-08-08 09:39:59 +03:00
Ilya Fedin
4689c896e2 Fix packaged build 2022-08-05 16:35:22 +04:00
Ilya Fedin
303947c78c Allow buffer size overrides on Wayland EGL 2022-08-04 10:12:36 +04:00
Ilya Fedin
ba7e3667d6 Adapt for Qt 6.4 device pixel ratio changes
QWidget::devicePixelRatioF represents backing store ratio and it's no more equal to native surface ratio
2022-07-19 19:44:06 +04:00
Ilya Fedin
a714fb0070 Refactor all ui_platform_utility functions to accept QWidget
Also let ShowWindowMenu accept the point and remove unused return data
2022-06-13 14:04:17 +04:00
Ilya Fedin
797c731d27 Migrate from kwayland to QtWaylandScanner 2022-06-03 20:10:48 +04:00
Ilya Fedin
a812ae65a4 Get rid of private QHighDpi usage 2022-06-02 14:30:18 +04:00
Ilya Fedin
c25c3e043c Adapt for XCB::IsSupportedByWM changes 2022-05-20 20:03:12 +04:00
Ilya Fedin
21a7adc03c Move shell integration initialization to lib_waylandshells 2022-05-19 15:43:12 +04:00
Ilya Fedin
941a10c8b0 Avoid QHighDpi::toNativePixels where possible 2022-05-19 11:50:39 +04:00