Arjen Hiemstra
b8b9236ec4
Add "roundVector" function as convenience for rounding a QVector2D
...
Otherwise we constantly need to construct and deconstruct vectors.
2022-10-21 14:49:22 +00:00
Vlad Zahorodnii
ae01354638
autotests: Remove invalid cases in testScreens
...
The Workspace requires at least one output and no output has 0x0 size.
This fixes a crash in confineToBoundingBox() where qBound() asserts that
the min value is less than the max value, in our case the x coordinate
of the left edge of the workspace is less than the x coordinate of the
right edge of the workspace.
2022-10-21 17:03:59 +03:00
Xaver Hugl
49ad013295
backends/drm: remove Wayland bits for drm leasing
2022-10-21 13:33:42 +02:00
Mouse Zhang
fcaf0cad9e
effects/backgroundcontrast: Fix backgroundcontrast stripes when rounded window scaling
2022-10-21 10:01:17 +00:00
Mouse Zhang
8468eeafdd
effects/blur: Fix blur stripes when rounded window scaling
...
BUG: 460412
2022-10-21 10:01:17 +00:00
l10n daemon script
f6d1daf972
GIT_SILENT Sync po/docbooks with svn
2022-10-21 02:17:11 +00:00
l10n daemon script
c57b3750e7
SVN_SILENT made messages (.desktop file) - always resolve ours
...
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-10-21 01:56:05 +00:00
Volker Krause
3a4b8f65ce
Don't rely on implicit 2D to 3D vector conversion
...
That is explicit with Qt 6.
2022-10-20 20:00:52 +00:00
Xaver Hugl
ed8d696698
backends/drm: use #pragma
2022-10-20 21:10:46 +02:00
Xaver Hugl
629a32a802
backends/drm: rename drm object files
2022-10-20 21:08:51 +02:00
ivan tkachenko
e489ad9a16
UserActionsMenu: Add "Move &To Current Desktop" action from task manager for X11
...
Task Manager has this option, so let's keep them consistent.
Surprisingly, when a window is set to "All Desktops", choosing "All
Desktops" again clears that flag, i.e. sets the window back to only
single desktop. But it is not intuitive at all. So let's have this
separate action to pin a window to current desktop.
Note: Wayland allows for multiple but not all desktops to be assigned to
a window, so it works differently there. Should we have a similar
option there too?
BUG: 458415
2022-10-20 17:08:09 +03:00
ivan tkachenko
d477b31842
UserActionsMenu: Remove duplicated code block
2022-10-20 17:08:07 +03:00
Vlad Zahorodnii
624886f0de
wayland: Drop ScopedGlobalPointer
2022-10-20 12:27:51 +00:00
Vlad Zahorodnii
7115ea75a4
Drop WaylandOutput
2022-10-20 12:27:51 +00:00
Vlad Zahorodnii
c3f970b3c3
wayland: Make XdgOutputV1Interface pull information from Output
2022-10-20 12:27:51 +00:00
Xaver Hugl
e9e97e49bf
backends/drm: set drm content type when available
2022-10-20 13:46:58 +02:00
Xaver Hugl
b99ae81b08
wayland: implement the content-type protocol
2022-10-20 13:46:58 +02:00
Vlad Zahorodnii
f0376367b1
Add explicit POSITION_INDEPENDENT_CODE
2022-10-20 09:37:00 +00:00
Vlad Zahorodnii
de3aa69c1e
Fix some tests not building with Qt 6
...
Client-side wrappers for input-method-unstable-v1 fail to build because
wl_keyboard_interface is referenced in the header file generated by
wayland-scanner.
Unfortunately, qt6_generate_wayland_protocol_client_sources() forces
--include-core-only argument, this is addressed in Qt 6.4.1, but in
meanwhile let's ship a copy of Qt6WaylandClientMacros.cmake file until
the required Qt version is out.
2022-10-20 09:37:00 +00:00
Arjen Hiemstra
cc4787500d
Allow specifying a render target scale for windows
...
This allows overriding the render target scale when rendering windows
and makes use of it in the screencasting plugin.
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
ec6b9ed67e
Convert WindowPaintData's translation to device coordinates when rendering
...
Otherwise we're using a translation in logical coordinates as a
translation in device coordinates, which means we're not translating
enough.
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
ada87dbc60
Properly scale cursordelegate_opengl to device geometry
...
Rather than converting to logical to then later on convert back to
device.
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
642bd06cef
glide: Convert to device coordinates when rendering
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
40e7dadbfe
offscreeneffect: Convert to device coordinates when rendering
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
154dd33857
touchpoints: Account for render target scale when creating geometry
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
0133de12c3
zoom: Account for render target scale when creating geometry
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
9e7a7afccc
snaphelper: Account for render target scale when creating geometry
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
846f612fcc
trackmouse: Account for render target scale when rendering
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
8d93ef0221
screencast: Account for output scale when rendering
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
dea0383719
mousemark: Account for render target scale when creating geometry
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
b730308e2f
mouseclick: Account for render target scale when creating geometry
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
cb093bfae4
screenedge: Account for render target scale when rendering
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
f791eb8fa7
screenshot: Account for render target scale when rendering
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
239bbf93f4
magnifier: Account for output scale when creating geometry
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
6cfeb3e3e8
Require GLTexture::render() to provide an output scale
...
This ensures we render the texture at the right scale while providing
geometry information in logical coordinates.
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
74ff3bf082
Account for render target scale when rendering a WindowThumbnailItem
...
Otherwise we get too large and cut off window thumbnails.
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
5a85ecd8c4
Convert to device pixels when rendering an offscreen quick view
...
Rendering a texture needs to be done in device pixels, not logical
pixels.
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
8a69432d76
EffectsHandler: Use QRectF for mapToRenderTarget
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
2609458c8b
screentransform: Account for render target scale when creating geometry
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
78d2c1f7e0
showpaint: Account for render target scale when creating geometry
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
5ab9008ca6
blur: Account for render target scale when creating geometry
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
9b28744de0
backgroundcontrast: Account for render target scale when creating geometry
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
822e6da569
Use a perspective matrix again for the Glide and Sheet effects
...
Since we now use an orthographic matrix as main projection matrix, the
glide and sheet effects don't really work as intended anymore. To fix
that, copy over the old perspective matrix and use that as base rather
than the current orthographic matrix.
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
6ae32076f8
Use device coordinates for geometry in the OpenGL Scene
...
It is quite a bit easier to reason about the conversion to device
coordinates when we actually have code that does that, instead of
implicitly assuming OpenGL handles it. Additionally, it means we don't
need to convert back to logical coordinates again when we're rounding
pixel values.
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
ebc5a6c638
Add scaledRect as a helper function to scale a QRectF by a scalar
...
I have no idea why QRectF doesn't have this...
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
3922f468b4
Only recalculate renderTargetMatrix if it is needed
...
If there's no changes then there's no need to recalculate the projection
matrix.
2022-10-20 08:20:51 +00:00
Arjen Hiemstra
695cc7c010
Use an orthographic projection matrix for rendering the scene
...
Rather than a perspective matrix, which is rather unexpected when coming
from something like QtQuick. Generally, when doing 2D you want an
orthographic matrix so Z values do not matter.
Apparently this was originally done for 3D effects, but there are only
two of those remaining (glide and sheet) and for those, the effects
themselves can set up a perspective projection matrix.
2022-10-20 08:20:51 +00:00
Vlad Zahorodnii
085e44cdf9
scripts: Convert desktop metadata files to json metadata files
2022-10-20 07:12:31 +00:00
Vlad Zahorodnii
acc2336833
effects: Convert desktop metadata files to json metadata files
2022-10-20 07:12:31 +00:00
Vlad Zahorodnii
0c28de5b42
wayland: Add support for ext-idle-notify-v1
...
Wayland protocols MR: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/29
2022-10-20 06:36:58 +00:00