Commit graph

25664 commits

Author SHA1 Message Date
David Redondo
4cdf27e74c Expose a method to allow closing windows on shutdown.
This allows Plasma to gracefully close windows on shutdown by sending
xdg_toplevel.close. If after 10 seconds windows are still open because
they prompt for unsaved changes or similar cases, a notification is
shown to either prompt or logout regardless.
CCBUG: 461176
2023-11-20 14:56:17 +00:00
Kai Uwe Broulik
40aa5aceb8 workspace: Add "xdg activation"-only mode
Never auto-activate Wayland windows when "Extreme" focus stealing
prevention is configured. This allows to more easily find places
where window activation isn't properly implemented, such as on
application startup.
2023-11-20 14:36:05 +00:00
Vlad Zahorodnii
433b753360 Drop EffectWindowList
Use `QList<EffectWindow *>` instead.
2023-11-20 13:45:36 +00:00
Xaver Hugl
b28d2c2d80 backends/drm: use closefb instead of removefb when available
The closefb ioctl removes the userspace reference from the framebuffer but does
not try to disable planes and outputs if the buffer is still used. This allows
for example for smoother transitions between SDDM and the Plasma session
2023-11-20 14:36:08 +01:00
Xaver Hugl
da80ed4318 autotests/drm: handle the DRM_IOCTL_MODE_RMFB ioctl 2023-11-20 13:33:54 +00:00
Andreas Gattringer
5651bae432 backends/drm: Don't add GPU if we are already using it
BUG: 477242
2023-11-20 13:08:12 +00:00
Vlad Zahorodnii
96af98609e Don't pass ownership of InputEventFilter and InputEventSpy to InputRedirection
This is not compatible with plugins that install their own filters. The
approach in this patch is not elegant, but it should work. Another option
would be to convert these filters and spies to QObjects and use QObject
ownership model, but this would be also too excessive just to save a few
lines of code.
2023-11-20 14:45:29 +02:00
Vlad Zahorodnii
961bd00919 Move WindowVertex,WindowQuad,RenderGeometry out of effects.h
These are core scene abstractions and don't belong in effects.h.
2023-11-20 14:05:52 +02:00
Vlad Zahorodnii
86084d118c libkwineffects/ -> effect/ 2023-11-20 11:32:43 +00:00
Vlad Zahorodnii
75f9fda962 Clean up workspacescene.h includes 2023-11-20 11:32:43 +00:00
Vlad Zahorodnii
618dee19cf Move GLVertex2D to glvertexbuffer.h 2023-11-20 11:32:43 +00:00
Vlad Zahorodnii
9aef54b701 Remove effects.h include in effectframe.h 2023-11-20 11:32:43 +00:00
Vlad Zahorodnii
0a2ed7d1c8 Move scaledRect,roundVector,flooredPoint to globals.h 2023-11-20 11:32:43 +00:00
Xaver Hugl
bec9ffeacd outputconfigurationstore: match KScreen's max scale of 300% 2023-11-20 09:11:09 +00:00
Nicolas Fella
6a1b1d01b8 Fix and simplify UI creation in various effect KCMs
We don't need an intermediate widget class here, we can set up the UI directly, like it's done in several effect KCMs already

Not only does this simplify the code, it also fixes crashes due to broken ownership

BUG: 477020
2023-11-20 07:41:49 +00:00
Vlad Zahorodnii
51bcf3440f Port to the new .gitlab-ci.yml include project syntax
As Ben said on the mailing list.
2023-11-20 09:25:55 +02:00
l10n daemon script
a1857132c9 GIT_SILENT Sync po/docbooks with svn 2023-11-20 02:50:54 +00:00
Huang-Huang Bao
3d4036210d
scene: use fractionalGeometry() as input of RenderViewport renderRect
Fixes mismatches between renderTarget.size() and deivce geometry calculated using viewport.renderRect() * viewport.scale() .

BUG: 475325
2023-11-20 06:14:55 +08:00
l10n daemon script
357fba6a08 GIT_SILENT Sync po/docbooks with svn 2023-11-19 02:28:28 +00:00
Jonathan Esk-Riddell
2302d81d5a Update version number for 5.81.80
GIT_SILENT
2023-11-17 12:28:13 +00:00
l10n daemon script
7471d93a33 GIT_SILENT Sync po/docbooks with svn 2023-11-17 02:13:58 +00:00
Natalie Clarius
8e6b1a363f plugins/nightcolor: osd: show day icon if appropriate 2023-11-16 19:48:06 +00:00
Vlad Zahorodnii
96e979c736 Move window motion manager to the slideback effect
Slide back is the only remaining its user.
2023-11-16 17:06:38 +02:00
Vlad Zahorodnii
b0292fc0de Move Effect::animationTime() implementation to effect.h
Amends d13b53c366.

It was overlooked.
2023-11-16 16:15:32 +02:00
Vlad Zahorodnii
fe9821722e Drop Effect::initConfig()
Effect::initConfig() definition can't be moved to effect.h because
it's going to create a cyclic dependency. On the other hand, the real
benefit of initConfig() is doubtful. It's a shortcut for calling
Config::instance(effects->config()), which is small amount of code.
2023-11-16 16:14:09 +02:00
Vlad Zahorodnii
8566cb3735 Move effectloader.h to libkwineffects/ 2023-11-16 15:51:39 +02:00
Vlad Zahorodnii
36021b12a7 Drop redundant "kwin" prefix in some filenames 2023-11-16 13:37:50 +00:00
Xaver Hugl
e17af124d4 backends/drm: correct color management check for the CTM 2023-11-16 13:15:36 +00:00
Devin Lin
12d04f9d86 libkwineffects: Export EffectTogglableState 2023-11-15 21:41:40 -08:00
l10n daemon script
5715f7448b GIT_SILENT Sync po/docbooks with svn 2023-11-16 02:24:48 +00:00
l10n daemon script
56c732829f 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"
2023-11-16 02:15:19 +00:00
Aleix Pol Gonzalez
b860439be5 Allow support dmabuf formats that we have conversions for.
If there's a supported mechanism to handle the format, announce them as
supported.
If there are modifiers supported by the graphics card (even though as
external only), offer them as well.
2023-11-15 21:42:05 +01:00
Aleix Pol Gonzalez
3568829216 opengl: Add support for NV12 on Wayland dmabufs
Offers wayland clients the possibility to send us their contents using
an NV12 texture.
It implements it by rendering into scene using a shader.
2023-11-15 21:32:25 +01:00
Niccolò Venerandi
9e81d2f65c plugins/overview: Bind values to 1:1 animation while gesture is ongoing
Otherwise the animation feels wrong while activating with a gesture.
Now when a 1:1 gesture is ongoing, then the Overview effect will stop
animating the overviewVal/gridVal values. I implemented this by porting
to states, giving 1:1 gestures their own states, and only animating the
change between states.

BUG: 476536
2023-11-15 17:41:02 +00:00
Vlad Zahorodnii
15b47ce7fc Merge EffectsHandlerImpl and EffectsHandler 2023-11-15 15:21:50 +02:00
Vlad Zahorodnii
d0158ec588 Drop X11 connection getters in Effect
They are redundant, EffectsHandler already provides same things.
2023-11-15 14:41:43 +02:00
Vlad Zahorodnii
a5546f1450 Drop some unused kwineffects.h includes 2023-11-15 14:41:42 +02:00
Vlad Zahorodnii
d13b53c366 Extract Effect into its own header
After merging libkwineffects and libkwin, EffectsHandler and EffectWindow
have effectively become redundant. On the other hand, Effect and the
associated factory code is still relevant. In order to split relevant and
"legacy" code, this change extracts the Effect class in its own header.
It's also a good idea to split kwineffects.h header because it's quite
huge...
2023-11-15 14:41:42 +02:00
Vlad Zahorodnii
56e384e527 Extract TimeLine into its own header 2023-11-15 12:02:50 +00:00
Vlad Zahorodnii
889180b685 Remove code to unset QT_DEVICE_PIXEL_RATIO envvar
QT_DEVICE_PIXEL_RATIO has been dropped in Qt 6.
2023-11-15 12:27:32 +02:00
David Redondo
6befc5d11b Do not set QSG_RENDER_LOOP Variable
This leaks to other processes that are started by KWin.
The QPA sets ThreadedOpenGL capability to false which suffices
to use the basic render loop with OpenGL.
2023-11-15 09:58:54 +00:00
l10n daemon script
36edf7cb4f GIT_SILENT Sync po/docbooks with svn 2023-11-15 02:16:04 +00:00
Xaver Hugl
ee146d33b9 libkwineffects: move files out to more fitting places 2023-11-14 17:03:40 +01:00
Vlad Zahorodnii
51cb2b00b3 Extract EffectFrame helper in its own header 2023-11-14 15:11:29 +00:00
Vlad Zahorodnii
9692c65390 Drop "sub-feedback" concept in PresentationFeedback
This gets rid of the container feedback to simplify presentation
feedback organization.
2023-11-14 14:58:40 +00:00
Vlad Zahorodnii
79d5a70c01 wayland: Make SurfaceInterface::{frameRendered,takePresentationFeedback} not touch subsurface tree
This gives us greater flexibility and in general more cleaner code.
2023-11-14 14:58:40 +00:00
Weng Xuetian
9e047059c1
Add isInputMethod in EffectWindow and do not dim input method window 2023-11-14 06:29:51 -08:00
Vlad Zahorodnii
aabc162632 x11: Unload effects before destroying Workspace and Compositor
Effects can hold references to closed windows, which can cause problems
after the workspace is destroyed.

This change makes ApplicationX11 unload effects before destroying the
Workspace and the Compositor similar to how it's done in main_wayland.

BUG: 475511
2023-11-14 15:51:03 +02:00
Xaver Hugl
75304afe0f backends/drm: only disallow direct scanout with mismatching color descriptions
Generically disabling it with color management is a bit overkill
2023-11-14 14:17:37 +01:00
l10n daemon script
b441e1afe9 GIT_SILENT Sync po/docbooks with svn 2023-11-14 02:14:47 +00:00