Commit graph

23524 commits

Author SHA1 Message Date
Nicolas Fella
f3471293bf [desktopchangedosd] Port from KQuickControlsAddons.QIconItem to PlasmaCore.IconItem 2022-10-19 19:51:04 +00:00
Vlad Zahorodnii
187f556f85 Drop Screens 2022-10-19 13:29:39 +00:00
Nicolas Fella
9cf60224e6 [aurorae] Port from KQuickControlsAddons.QIconItem to PlasmaCore.IconItem 2022-10-19 11:55:23 +00:00
Gabriel Karlsson
02145bddce Fix wording in action 'Switch to Screen'
This erroneous "Window" instead of "Switch" apparently broke stuff.

The issue was pointed out on Reddit here: [https://www.reddit.com/r/kde/comments/y78qps/comment/istrj6t/](https://www.reddit.com/r/kde/comments/y78qps/comment/istrj6t/)
2022-10-19 05:33:11 +00:00
l10n daemon script
d7c091e449 GIT_SILENT Sync po/docbooks with svn 2022-10-19 02:08:11 +00:00
Xaver Hugl
850ae0cfe9 backends/drm: don't crash if connector has no modes 2022-10-18 11:21:45 +00:00
David Edmundson
50b4e988a4 [windowthumbnails] Guard against software QtQuick backend
If we are using the software renderer
QQuickWindow::createTextureFromNativeObject returns null. We already
checking for kwin using GL compositing so we can expand to check
QtQuick's usage.
2022-10-18 08:19:20 +00:00
Vlad Zahorodnii
1a87e9c9ac effects: Make WindowHeap try to fill gaps 2022-10-18 07:03:32 +00:00
l10n daemon script
3406c50d5e GIT_SILENT Sync po/docbooks with svn 2022-10-18 02:05:39 +00:00
Aleix Pol
212a19da38 screencast: Don't report damage on the full screen every time
I think this was added as a debug measure and we (I) forgot to remove
it.
While at it, make sure we always send the damage on the cursor changes.
2022-10-17 15:03:01 +00:00
David Edmundson
1df10c3518 Handle scale override in locked and confined pointers
BUG: 460532
2022-10-17 13:40:03 +01:00
David Edmundson
dae7d738a3 Move installPointerConstraint calls into the constraint handlers 2022-10-17 13:36:56 +01:00
David Edmundson
a43ef8ac91 Guard against reconfiguring wayland specific input on X11
reconfigure is hooked up to a config watcher that is applicable on X11
and wayland.

A runtime check is added to reconfigure, if we're not initialised we
have nothing to reconfigure. initialise calls reconfigure at the end of
the method.
2022-10-17 10:00:10 +00:00
Vlad Zahorodnii
28899df485 Make Workspace::outputAt() more robust to extreme values
Since QPointF can have values that exceed INT_MAX, "distance <
minDistance" may not be triggered for the first output.

In order to make Workspace::outputAt() more robust to such extreme
cases, this patch changes the type of minDistance from int to qreal to
avoid truncation and adds an explicit check to initialize bestOutput
when we see the first workspace output.

It would be also great to add size hints sanitization code in kwin, but
it can be done later.

BUG: 460446

---

Should close:

* https://errors-eval.kde.org/organizations/kde/issues/321
* https://errors-eval.kde.org/organizations/kde/issues/341
2022-10-17 09:34:20 +00:00
Vlad Zahorodnii
207e78386a Fix resizing by dragging top-right window corner
The top-right corner case was overlooked when switching from QRect to
QRectF, which results in the window having wrong size.

BUG: 460501
2022-10-17 08:07:26 +00:00
l10n daemon script
ed9a52778c GIT_SILENT Sync po/docbooks with svn 2022-10-17 02:24:10 +00:00
l10n daemon script
0f8ec3fcd2 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-17 01:50:44 +00:00
Aleix Pol
d454a2981c Prefer invokeMethod on a function pointer
Rather than a char* that needs lookup at runtime.
2022-10-16 22:44:24 +00:00
l10n daemon script
34b4352aac GIT_SILENT Sync po/docbooks with svn 2022-10-16 02:20:50 +00:00
l10n daemon script
babbf00578 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-16 01:57:21 +00:00
l10n daemon script
e68ada8322 GIT_SILENT Sync po/docbooks with svn 2022-10-15 02:16:27 +00:00
Albert Astals Cid
19694fb046 Future proof the code for C++20
warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20
2022-10-14 13:30:24 +00:00
Vlad Zahorodnii
186ef5e588 wayland: Fix handling of removed outputs in DpmsInterface
If an output is removed, its handle is invalid, which can lead to a
crash.
2022-10-14 14:53:42 +03:00
Vlad Zahorodnii
71bcbf852e wayland: Sync output device's enabled property
The output can be already disabled when the output device is created.

BUG: 460247
2022-10-14 09:28:52 +00:00
Vlad Zahorodnii
f2df2aa0e1 effects/blur: Fix clipping when sliding virtual desktops
When the slide effect paints a virtual desktop, it translates both
windows and the clip region.

Since the clip region slides too, the blur effect needs to be careful.

At the moment, the blur effect computes the blur region as follows:

- get the value of the blur region hint from client, map it to the
  global coordinate space, and intersect it with the clip region
- apply translation and scale to the blur region
- pass the blur region to doBlur()

However, the translation transform must be applied before intersecting
the blur region with the clip region.

BUG: 460382
2022-10-14 10:17:55 +03:00
l10n daemon script
12ee810fc5 GIT_SILENT Sync po/docbooks with svn 2022-10-14 02:07:20 +00:00
Vlad Zahorodnii
c56517eccc backends/drm: Fix leaving dangling dpms input event filter
If the output is turned back on before m_turnOffTimer expires, the
dpms input event filter won't be reset and all input events will go to
the void.

BUG: 460322
2022-10-13 13:00:36 +00:00
Vlad Zahorodnii
f4b32c0580 effects/screenshot: Avoid capturing hidden cursor
BUG: 460358
2022-10-13 15:38:22 +03:00
Vlad Zahorodnii
4f795dee20 Make "switch to screen" and "window to screen" code less error-prone 2022-10-13 10:43:14 +00:00
Vlad Zahorodnii
4340a020d1 Fix "window to screen" and "switch to screen" shortcuts
BUG: 460337
2022-10-13 10:43:14 +00:00
l10n daemon script
f5697aa259 GIT_SILENT Sync po/docbooks with svn 2022-10-13 02:09:50 +00:00
David Edmundson
36440a9d91 Fix scripted shader effect animations
AnimationEffect inherits from CrossfadeEffect as it may do a crossfade,
but it also has to perform non-crossfading activities with a custom
shader.

For crossfades we want to draw the old and new window, but this isn't
needed where the crossFadeProgress remains at 0.

BUG: 460277
2022-10-12 11:28:25 +00:00
David Edmundson
4d0f8e417c Drop shaderTrait adjustment on crossfade
Crossfade is now hanlded by regular scene painting, only by offscreen
effects. There is no need for scene code to have awareness and use a
more expensive shader.
2022-10-12 08:47:56 +00:00
l10n daemon script
2cb9de67e2 GIT_SILENT Sync po/docbooks with svn 2022-10-12 02:04:13 +00:00
Nate Graham
f56c67698d Wayland: don't allow minimizing applet popups either 2022-10-11 18:49:54 +00:00
Vlad Zahorodnii
35606fd9ee Add TabletEvent QPointingDevice constructor workaround for Qt 6 2022-10-11 18:34:00 +03:00
Vlad Zahorodnii
7f80c47758 Port SwitchEvent from QInputEvent
Otherwise we need to pass a QInputDevice.
2022-10-11 18:33:46 +03:00
Vlad Zahorodnii
c147340878 wayland: Add support for high resolution scrolling
In libinput 1.19, three new pointer axis events were added in order to
provide support for high-resolution scrolling.

LIBINPUT_EVENT_POINTER_AXIS is de-facto deprecated and new users of
libinput should use instead SCROLL_WHEEL, SCROLL_FINGER, and
SCROLL_CONTINUOUS.

Discrete deltas were replaced with v120 delta values. 120 corresponds to
a single discrete delta. Smaller values correspond to "partial" wheel
ticks.

https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/72
2022-10-11 14:04:13 +03:00
Xaver Hugl
22e6b944b2 wayland: don't allow maximization of applet popups 2022-10-11 08:33:12 +00:00
Vlad Zahorodnii
459d842772 effects: Drop EffectWindow::hasAlpha()
It's impossible to properly map EffectWindow::hasAlpha() to wayland
abstractions, where a window can have subsurfaces.

The main motivation behind this change is to move Window::hasAlpha() and
Window::depth() to X11Window.

At the moment, EffectWindow::hasAlpha() is used as a micro-optimization.
API and ABI breaking change in libkwineffects.
2022-10-11 07:14:05 +00:00
Vlad Zahorodnii
eedbde464e utils: Drop updateXTime() 2022-10-11 06:43:25 +00:00
Vlad Zahorodnii
f950cbd3d1 Move Platform::updateX11Time() to Application
Platform can be viewed as an output backend and updating X11 time has
nothing common with that.
2022-10-11 06:43:25 +00:00
Vlad Zahorodnii
903e18d88c Merge Window::maximize() and Window::changeMaximize() 2022-10-11 06:21:15 +00:00
Vlad Zahorodnii
a1d5849d81 Make X11Window responsible for emitting clientMaximizedStateChanged signal 2022-10-11 06:21:15 +00:00
Vlad Zahorodnii
40a4cd13a4 Make Window::changeMaximize() take MaximizeMode 2022-10-11 06:21:15 +00:00
Vlad Zahorodnii
b044a7d5ff Drop adjust argument in Window::changeMaximize() 2022-10-11 06:21:15 +00:00
l10n daemon script
0e2d5bd232 GIT_SILENT Sync po/docbooks with svn 2022-10-11 02:08:07 +00:00
Volker Krause
74ae78d4c6 Adapt to Qt XkbCommon header changes in Qt 6 2022-10-10 17:07:37 +02:00
Vlad Zahorodnii
a119218c8b x11: Move Unmanaged damage initialization hack into SurfaceItemX11
It's unnecessary on wayland and there's a bug in m_isDamaged
initialization. We need to set m_isDamaged to true otherwise
SurfaceItemX11 won't attempt to query the damage.
2022-10-10 13:10:12 +00:00
Vlad Zahorodnii
bcd43ff44d backends/x11: Implement own keyboard interception
At the moment, the keyboard interception code in the effects system
relies on Qt code processing key events. However, since QDesktopWidget
is removed in Qt 6, this is a blocker for Qt 6 port.

This change ports the X11 backend to private xkb keymap as indicates in
the todo comment. It allows us to drop the last QDesktopWidget usage.
2022-10-10 09:16:50 +00:00