25526 Commits (6cac17aac06df0ade15b925a6ede413847e562e3)
 

Author SHA1 Message Date
Vlad Zahorodnii 22efedc09c Rename VirtualDesktopManager::desktopCreated signal
Rename it to desktopAdded to match activityAdded, windowAdded, etc.
11 months ago
Vlad Zahorodnii 8fbf287254 libkwineffects: Port to VirtualDesktop
This makes effects api consistent with the scripting api. In addition to
that, VirtualDesktop objects are more stable.
11 months ago
Laurent Montel 465499d3a7 GIT_SILENT: use KLocalizedString::setApplicationDomain(QByteArrayLiteral => saving one deep data copy 11 months ago
l10n daemon script 19f7d2a8ba GIT_SILENT Sync po/docbooks with svn 11 months ago
l10n daemon script 0b82df303d 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"
11 months ago
Vlad Zahorodnii f2dfac8497 libkwineffects: Drop EffectsHandler.windowToDesktop
Use EffectsHandler.windowToDesktops instead.
11 months ago
Vlad Zahorodnii b3b2e96148 libkwineffects: Replace EffectScreen with Output 11 months ago
Xaver Hugl 7db4df9915 outputconfigurationstore: differentiate between outputs with their mst path
The DisplayPort multi stream path should be more stable in comparison to
connector names, so prefer that for differentiating between outputs with
the same EDID.

BUG: 470718
11 months ago
Xaver Hugl 0391b65628 scene/itemrenderer_opengl: switch shaders depending on the input
This allows using more expensive shaders where needed, and less expensive ones
where possible
11 months ago
Xaver Hugl 09278caf48 add colorspace metadata to surfaces and items, and use it in the OpenGL renderer 11 months ago
Xaver Hugl c1b4806962 delete the colord integration plugin
ICC profiles are now set through KScreen, which conflicts with colord. Colord is also
dropped because applications may read the profile for the current output from it, and
so KWin and the application both apply the profile, resulting in wrong colors.
11 months ago
Xaver Hugl 872aa55630 allow setting the icc profile through the output management protocol 11 months ago
Xaver Hugl 006d1f6a14 outputconfigurationstore: store icc profile paths 11 months ago
Xaver Hugl e441b5f35d libkwineffects/colorspace: add some documentation 11 months ago
Xaver Hugl 8d25550c22 backends/drm: support applying icc profiles with color management
While applications are still restricted to sRGB, this allows working on sRGB
content on displays with a wide color gamut as the whole profile gets applied,
instead of just the VCGT.

CCBUG: 439135
11 months ago
Xaver Hugl 7d0a3dcd1e libkwineffects/openglcontext: require support for 3D textures
They will be used in the drm backend for ICC profiles.
11 months ago
Xaver Hugl 0429ec8053 libkwineffects: add a 3d lookup table class 11 months ago
Xaver Hugl 1f8a1a0788 libkwineffects: add a lookup table class 11 months ago
Xaver Hugl b200a3180f libkwineffects/colorspace: apply chromatic adaption 11 months ago
Xaver Hugl 1e4701309f core/iccprofile: read colorimetry, BToA1 and BToA0 tags 11 months ago
Xaver Hugl 286914133e core/colortransformation: add floating point transformation helper 11 months ago
Xaver Hugl 1206dad079 move icc profile handling into Output 11 months ago
Xaver Hugl 44ae4ba004 core: introduce icc profile helper 11 months ago
Xaver Hugl 4d9f1453d0 libkwineffects/colorsapce: fix typo in toXYZ matrix calculation 11 months ago
Vlad Zahorodnii 0ef8562e61 Add missing find_dependency(Wayland::Server) 11 months ago
Vlad Zahorodnii d7b1661e08 Merge libkwineffects into libkwin
libkwineffects was introduced when kwin used to be an executable. It
provided an api to implement effects and shielded from the technical
quirks in kwin.

Over the time, kwin internals had been split and abstractions were
refactored so they can be consumed in scripts or plugins. Besides that,
new ways to implement extensions have been introduced, which use
kwin's internal abstractions.

On the other hand, effects continue using libkwineffects specific apis.
This has a few issues: qtquick effects use both apis and it bites us,
duplicating same apis.

The best solution so far is to merge libkwineffects with libkwin, and
replace libkwineffects abstractions with libkwin abstractions, e.g.
EffectScreen -> Output, etc. This change takes care of adjusting libs.

Obviously, the main disadvantage of doing so is that binary effects
have to be recompiled every time new libkwin is released. But it's
already the case with libkwineffects too.
11 months ago
Vlad Zahorodnii 416c2c64b1 Link Qt::Concurrent with libkwin privately 11 months ago
Vlad Zahorodnii 3bed991941 Link KI18n with libkwin privately 11 months ago
Vlad Zahorodnii e01da45d13 Link Qt::Sensors with libkwin privately 11 months ago
David Edmundson 4bdb94c87f Overview: Fix clear button working in overview search
onTextEdited only updates on user-invoked key presses, and not
programatic changes.

This is a better choice when we have a two-way bindings such  as with
configuration files, but in this case we always want the UI to reflect
the current contents of the search box making onTextChanged the better
signal.

BUG: 475789
11 months ago
l10n daemon script 6033d2d14e GIT_SILENT Sync po/docbooks with svn 11 months ago
Nicolas Fella cb4e972065 Don't manually undo pending shortcut changes
This causes user-after-free because the KShortcutsEditor is already destroyed

undo happends automatically when the editor is destroyed

BUG: 475083
11 months ago
Xaver Hugl 1d77f896df backends/drm: use libdrm function for checking if a device is kms capable 11 months ago
Xaver Hugl 6e05314739 backends/drm: disable the hardware cursor with color management
Blending needs to happen in linear space, which is not the case if the
inverse EOTF and VCGT are applied before blending
11 months ago
Xaver Hugl 4582276cf8 compositor_wayland: handle the cursor layer returning std::nullopt correctly 11 months ago
Xaver Hugl 7ad1c163a3 scene/cursordelegate_opengl: recreate texture if the format is wrong 11 months ago
Kristen McWilliam ee05ea7912 docs/contributing: update instructions to run development kwin
Doesn't seem to work quite right without sourcing the prefix, or while overriding the env variables entirely, for example it is unable to load any window decorations. By sourcing the prefix _and_ including the bin directory in the path, it seems to work as expected - or at least the window decorations load correctly now.
11 months ago
Vlad Zahorodnii 1cb43e8407 plugins/zoom: Fix viewport on X11
On X11, there's no per screen rendering. The primary screen is specified
as the painted screen. RenderViewport::renderRect() should be used.

BUG: 475799
11 months ago
Aki Sakurai 115ea7454b Send tablet events to every bound wl_resource
Some apps, notably Tablet KCM, will rebind the tablet interface and consume all events that should be sent to the GUI toolkit.
This commit sends events to every consumer and also stores the latest cursor indexed by wl_client instead of wl_resource.
BUG:473126
11 months ago
Vlad Zahorodnii 255283b74a plugins/overview: Fix MMB and RMB
Both MMB and RMB are broken because acceptedPointerTypes doesn't accept
PointerDevice.GenericPointer.

RMB is broken because there's no "desktopView" object.

BUG: 475681
11 months ago
l10n daemon script 765ffb7ff4 GIT_SILENT Sync po/docbooks with svn 11 months ago
l10n daemon script 54d72abd6e 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"
11 months ago
Jami Kettunen 4d4b22d8ab core/graphicsbuffer: sort includes alphabetically 11 months ago
Vlad Zahorodnii fb638f26c5 libkwineffects: Drop QObject parent argument in OffscreenQuickView constructor
All usages of OffscreenQuickView have been ported to smart pointers. So
let's drop the QObject parent argument to simplify the API.
11 months ago
Jami Kettunen 8cc1c7eca7 core/graphicsbuffer: add missing unistd.h include
Fixes an error: use of undeclared identifier 'ftruncate' under Chimera
Linux which uses the musl C standard library.
11 months ago
David Edmundson ad45dcb40b x11window: Sync xcb_sync_destroy_alarm to lifetime of the window being alive
Recent-ish changes meant that the X11 window is kept alive whilst an
effect may be using the window.

This changes the lifetime of the sync alarm. This is problematic in the
case of an XWayland crash, we can assume whilst an X11 client is valid
the X11 connection is also valid, but if a close animation is used the
connection might not be valid when the destructor is called.
11 months ago
Vlad Zahorodnii 364afe0f69 libkwineffects: Make Texture export mode default in OffscreenQuickView
Mainly, only aurorae decoration theme needs image export mode. All other
usecases use texture export mode.
11 months ago
Vlad Zahorodnii 5d925799d7 plugins/outputlocator: Manage OffscreenQuickView with smart pointers 11 months ago
Vlad Zahorodnii 98eecafe29 libkwineffects: Make parent optional in OffscreenQuickView
The parent argument is redundant if the view is managed with a smart
pointer.
11 months ago
Vlad Zahorodnii 1ca4c23db1 libkwineffects: Use more conventional constructor argument order in OffscreenQuickView 11 months ago