Commit graph

23422 commits

Author SHA1 Message Date
Weng Xuetian
84f54e9ffa Implement a enableRequested signal for text-input-v3
The signal will be emitted if text-input-v3 applies a new enable state
if it's already enabled.

In Gtk's implementation, sending text_input_v3.enable for the second
time has the similar semantics of text-input-v2.showInputPanel. Try to
connect them together and add corresponding test.

See also: a95cfb1c45/gtk/gtkimcontextwayland.c (L555)
2022-10-25 04:34:26 +00:00
jrv ezg
7f7fa69135 kcmkwin/kwindecoration: use Kirigami.ActionToolBar for the footer actions
This way, the footer actions collapse into a menu when there's not enough space
to show them all, instead of being cut off.

BUG: 460793
FIXED-IN: 5.26.2
2022-10-25 02:37:45 +00:00
l10n daemon script
00b7f0394c GIT_SILENT Sync po/docbooks with svn 2022-10-25 02:13:03 +00:00
l10n daemon script
ff3f5d8596 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-25 01:47:08 +00:00
Kai Uwe Broulik
1393f524ff test_utils: Test whether mmap PROT_WRITE fails
Writing is what our guard is supposed to prevent, let's try to mmap it
for writing. It seems FreeBSD still allows PROT_READ for sealed-for-writing
mmaps.
2022-10-24 19:02:36 +02:00
Xaver Hugl
7da79f5ec4 autotests/integration: make inputmethodtest more realstic
When text input gets enabled, the sequence should be
1. enable
2. request to show the panel
3. panel gets added and shown

And showing the panel again after hiding is an important case to cover as
well.
2022-10-24 10:53:57 +00:00
Xaver Hugl
314b5327b6 inputpanelv1window: never hide overlay panels
Hiding them never makes sense, and the protocol specifies that the show
and hide requests are about virtual keyboards, not about overlay planels.
2022-10-24 10:53:57 +00:00
Xaver Hugl
f43c39879d inputmethod: reset m_shouldShowPanel when the tracked window changes 2022-10-24 10:53:57 +00:00
Xaver Hugl
75806ecff5 inputpanelv1window: show window when client maps it after setting the mode
BUG: 460537
2022-10-24 10:53:57 +00:00
Vlad Zahorodnii
5a227bf69d Make Compositor responsible for locking compositing type
It's something that Compositor cares, not necessarily the output backend.
2022-10-24 08:02:27 +00:00
l10n daemon script
c67660b0fa 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-24 01:51:05 +00:00
Xaver Hugl
d628cc90fa autotests/drm: use std::vector instead of malloc 2022-10-23 22:14:13 +00:00
Xaver Hugl
3a28c02f28 x11window: don't change size for centering windows with maximization 2022-10-23 20:06:38 +00:00
Xaver Hugl
ceae717500 output: don't round geometry as often
CCBUG: 459373
2022-10-23 20:06:38 +00:00
Vlad Zahorodnii
6b4df3f65a ci: Require tests to pass on Linux/Qt6 2022-10-23 10:58:25 +00:00
Vlad Zahorodnii
638edf9bd6 autotests: Fix testXkb in Qt 6 build
The mapping between XKB_KEY_XF86MyComputer and Qt::Key_Launch0 has
been fixed in qt 6, so we need to adjust the test.
2022-10-23 09:11:04 +00:00
Vlad Zahorodnii
fdfa2ad403 autotests: Reorder keys in the test table in testXkb
It's easier to read.
2022-10-23 09:11:04 +00:00
Vlad Zahorodnii
64dc8d7cfe autotests: Fix testGlobalShortcuts in Qt 6 build
QXkbCommon fails to map `Ё` to `~` when pressing `Shift+grave` and
sequenceEdit seems to have focus now.

On the other hand, does it make sense to bind global shortcuts with key
sequences such as "Shift+`"? The system settings doesn't even allow typing
in such key sequences.
2022-10-23 08:41:34 +00:00
l10n daemon script
de0c94df8d GIT_SILENT Sync po/docbooks with svn 2022-10-23 01:56:56 +00:00
l10n daemon script
2ecb57b713 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-23 01:43:00 +00:00
Vlad Zahorodnii
774426d2ad autotests: Fix testXwaylandInput in Qt 6 build
The test fails because of type mismatches between QPoint and QPointF, Qt
5 is not so strict about this.
2022-10-23 00:26:54 +03:00
Vlad Zahorodnii
7c74b7de4a decorations/plastik: Provide metadata.json instead of metadata.desktop 2022-10-22 16:26:23 +00:00
Vlad Zahorodnii
2121ed72be Use correct text encoding when reading WM_CLASS, WM_NAME and WM_WINDOW_ROLE
All these properties have XCB_ATOM_STRING type. From the ICCCM spec
[2.7.1]

    STRING as a type or a target specifies the ISO Latin-1 character
    set plus the control characters TAB (octal 11) and NEWLINE (octal 12).
2022-10-22 13:38:36 +00:00
Vlad Zahorodnii
13d88081d3 Change type of Window.wmCommand and Window.wmClientMachine to QString 2022-10-22 13:38:36 +00:00
Vlad Zahorodnii
adbcb6a1a0 Change type of Window.desktopFileName to QString 2022-10-22 13:38:36 +00:00
Vlad Zahorodnii
aa838e1c02 Change type of Window.resourceName, Window.resourceClass, and Window.windowRole to QString
testDbusInterface fails with Qt 6 build because QCOMPARE detects the
type difference between QString and QByteArray.

Since these properties being byte arrays has caused reasonable amount of
discomfort, let's make them QStrings. It will fix the test and make some
scripted effect code more cleaner.
2022-10-22 13:38:36 +00:00
Volker Krause
346ac6f32b Add Qt 6 FreeBSD CI 2022-10-22 12:34:49 +00:00
Vlad Zahorodnii
f19957bdb2 autotests: Fix testWaylandSeat in Qt 6 build 2022-10-22 15:01:17 +03:00
Vlad Zahorodnii
e665c1c80a autotests: Fix testPointerConstraintsInterface with Qt 6 build
QTEST panics because of type difference (qsizetype vs int).
2022-10-22 11:12:52 +00:00
l10n daemon script
aebbce2f38 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-22 10:42:50 +00:00
l10n daemon script
6b5c492e28 GIT_SILENT Sync po/docbooks with svn 2022-10-22 01:56:56 +00:00
l10n daemon script
1282d5e331 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-22 01:43:48 +00:00
Vlad Zahorodnii
583b7b4df9 autotests: Fix PointerInputTest in Qt 6 build
PointerInputTest::testWarpingBetweenWindows() compares
QVariant(QPointF) with QPoint. While this works in Qt 5, Qt 6 seems to
take the type into account when comparing the two.
2022-10-21 22:28:33 +00:00
Vlad Zahorodnii
6e5267551e autotests: Fix TestXdgShellWindow in Qt 6 build
TestXdgShellWindow::testPointerInputTransform() compares
QVariant(QPointF) with QPoint. While this works in Qt 5, Qt 6 seems to
take the type into account when comparing the two.
2022-10-22 00:45:12 +03:00
Volker Krause
0ce90f4335 Add Qt 6 Linux CI
The CI now has the ability to limit the passing unit test requirements
to more specific platform configurations, so the not yet working Qt 6
unit tests shouldn't block this anymore.
2022-10-21 20:25:10 +00:00
Weng Xuetian
90df07157b Fix potential race condition when text input state change and focus change happened at the same time
In some cases, stateCommitted may fire after a new surface being focused
and in correctly set input method to be inactive. This can be reproduced
by switch client between an active text input v3 client and text input
v2 client.
2022-10-21 19:14:41 +00:00
Vlad Zahorodnii
495e127d07 autotests: Fix windowquadlist with Qt 6
In Qt 6, container.count() returns a qsizetype, on the other hand
expectedCount is int. That type difference makes QTEST panic.
2022-10-21 17:26:47 +00:00
Xaver Hugl
a587e426f8 add autotest for the drm platform 2022-10-21 17:54:55 +02:00
Arjen Hiemstra
85d46016a2 If SurfaceItem does not have a pixmap, return an empty WindowQuadList
Otherwise the caller needs to ensure that we're not calling on an item
without pixmap and if we don't, things crash.
2022-10-21 14:49:22 +00:00
Arjen Hiemstra
bb7f627acc Introduce RenderGeometry class and use it for clipping in device coordinates
RenderGeometry is a list of vertices that should be rendered. It's
needed so we can convert WindowQuadList to device coordinates and do
clipping in device coordinates. The intention is also to use it to
replace arbitrary float arrays in effects eventually.
2022-10-21 14:49:22 +00:00
Arjen Hiemstra
250d271b26 Add WindowQuad::bounds() as a convenience method to get a QRectF from it 2022-10-21 14:49:22 +00:00
Arjen Hiemstra
2ad497c8f9 Round buffer positions when calculating normalised UV coordinates
Otherwise we end up with UVs that are slightly off as the position is
fractional while the size is integer.
2022-10-21 14:49:22 +00:00
Arjen Hiemstra
64e42bbd04 Round window and geometry positions in OpenGL scene
This rounds the position of geometry in the OpenGL scene, which means
things that are fractionally scaled and end up between pixel boundaries
are instead aligned to pixels. This doesn't fully solve the fractional
scaling blurriness, as we still need the application to provide a buffer
with the correct size. If we do have a buffer with the correct size, we
will now render properly aligned. For example, internal clients should
now be correct.
2022-10-21 14:49:22 +00:00
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