Commit graph

25449 commits

Author SHA1 Message Date
Vlad Zahorodnii
3bed991941 Link KI18n with libkwin privately 2023-10-25 12:46:12 +00:00
Vlad Zahorodnii
e01da45d13 Link Qt::Sensors with libkwin privately 2023-10-25 12:46:12 +00:00
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
2023-10-25 11:52:56 +00:00
l10n daemon script
6033d2d14e GIT_SILENT Sync po/docbooks with svn 2023-10-25 02:28:43 +00:00
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
2023-10-24 20:48:28 +00:00
Xaver Hugl
1d77f896df backends/drm: use libdrm function for checking if a device is kms capable 2023-10-24 18:52:38 +02:00
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
2023-10-24 14:16:39 +00:00
Xaver Hugl
4582276cf8 compositor_wayland: handle the cursor layer returning std::nullopt correctly 2023-10-24 14:16:39 +00:00
Xaver Hugl
7ad1c163a3 scene/cursordelegate_opengl: recreate texture if the format is wrong 2023-10-24 14:16:39 +00:00
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.
2023-10-24 12:16:59 +00:00
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
2023-10-24 12:00:25 +00:00
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
2023-10-24 11:22:27 +00:00
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
2023-10-24 11:14:31 +00:00
l10n daemon script
765ffb7ff4 GIT_SILENT Sync po/docbooks with svn 2023-10-24 02:17:11 +00:00
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"
2023-10-24 02:10:20 +00:00
Jami Kettunen
4d4b22d8ab core/graphicsbuffer: sort includes alphabetically 2023-10-23 22:30:24 +03:00
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.
2023-10-23 19:00:38 +00:00
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.
2023-10-23 18:47:07 +00:00
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.
2023-10-23 18:35:28 +00:00
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.
2023-10-23 18:52:40 +03:00
Vlad Zahorodnii
5d925799d7 plugins/outputlocator: Manage OffscreenQuickView with smart pointers 2023-10-23 18:52:37 +03:00
Vlad Zahorodnii
98eecafe29 libkwineffects: Make parent optional in OffscreenQuickView
The parent argument is redundant if the view is managed with a smart
pointer.
2023-10-23 16:10:22 +03:00
Vlad Zahorodnii
1ca4c23db1 libkwineffects: Use more conventional constructor argument order in OffscreenQuickView 2023-10-23 16:10:22 +03:00
Vlad Zahorodnii
0f7369ed1b Fix scheduling repaints in Effect::prePaintScreen()
If a repaint is scheduled in the prePaintScreen() function, we want
it to be applied in the next frame, not the current one.

Currently, it doesn't work like this because prePaintScreen() runs first
then the Compositor gathers repaints and resets them.

This is important to qtquick effects that use qtquick3d as some items in
qtquick3d schedule repaints for the next frame after synchronizing, i.e.
in OffscreenQuickView::update() which is called in prePaintScreen() by
QuickSceneEffect.
2023-10-23 12:53:20 +00:00
l10n daemon script
735d8c9da3 GIT_SILENT Sync po/docbooks with svn 2023-10-23 02:14:08 +00:00
l10n daemon script
5d55ee4a0c 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-10-23 02:08:50 +00:00
Alexander Lohnau
0d3b017b23 Avoid QtDBus module include in commonly used headers
Because all of QtCore and QtDBus is no longer pulled in, a few placed had to get explicit includes
2023-10-22 13:45:28 +00:00
Alexander Lohnau
f9aa624d5b useractions: Also adapt weird formatted for loop
GIT_SILENT
2023-10-22 13:45:28 +00:00
Alexander Lohnau
bffff9470d libinput/device: Remove unneeded toVector call on variable that is already a vector
In Qt5, this variable was a QList and thus the conversion to a vector was needed
2023-10-22 13:45:28 +00:00
Kristen McWilliam
1b1cc67792 inline variables & remove redundant check for decorations 2023-10-22 12:34:22 +00:00
Kristen McWilliam
dd5ec684b7 include-shadow defaults to true so this isn't a breaking change 2023-10-22 12:34:22 +00:00
Kristen McWilliam
53a4faf4e6 refactor window geometry checking 2023-10-22 12:34:22 +00:00
Kristen McWilliam
5c8b85861e plugins/screenshot: make window shadows optional
Right now screenshots of windows always have drop shadows. This change
makes the shadows optional. Resolves a 7-year-old bug report in
conjunction with an incoming change to Spectacle.

BUG: 372408
2023-10-22 12:34:22 +00:00
Kai Uwe Broulik
3eb90b2c60 Adjust to KDecoration init API returning a bool
Will allow a fallback to client-side decoration when KDecoration init fails.
2023-10-22 10:52:42 +02:00
l10n daemon script
7e692c9cf0 GIT_SILENT Sync po/docbooks with svn 2023-10-22 02:54:54 +00:00
l10n daemon script
f3012a3eda 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-10-22 02:34:36 +00:00
Kai Uwe Broulik
9f8b03cbe6 Window: Check parent windows for icon geometry
For instance, when a dialog isn't shown in the task manager.
Also matches what X11Window is doing.
2023-10-21 20:12:37 +00:00
Alexander Lohnau
6b83654560 useractions: Use static regex
The method is called quite often during KWins lifetime.
Because the pattern is constant, we can reuse the value instead of creating a new regex every time
2023-10-21 19:35:08 +00:00
Alexander Lohnau
08c3399568 useractions: Simplify for loops 2023-10-21 19:35:08 +00:00
Alexander Lohnau
f842493563 x11_standalone_overlaywindow: Adjust initialization order
This fixes a clang warning about fields being initialized in a different order than they were declared
2023-10-21 19:35:08 +00:00
Alexander Lohnau
41f66a37a1 kscreenintegration: Do not use pointer in QMap as key
Sorting bases om memory addresses doesn't make sense, also, we have proper sorting using std::sort in the readOutputConfig method
2023-10-21 19:35:08 +00:00
Alexander Lohnau
55c58e72a6 kscreenintegration: Utilize QJsonObject QLatin1String overloads for faster lookups
We have a dedicated QLatin1String overload which is faster at runtime and smaller at compile time
2023-10-21 19:35:08 +00:00
Alexander Lohnau
778c85343b debug_console: Avoid iterator usage on temporary return value
This works, because the value is not modified. Hwoever, it is an antipattern and can easily break
2023-10-21 19:35:08 +00:00
Alexander Lohnau
4a8d952544 plugins/windowview: Remove unused gestureCallback lambda
The usages were removed in 028dd552cf, but the lambda remained
2023-10-21 19:35:08 +00:00
Xaver Hugl
87a7033ca6 main: use kcminit correctly 2023-10-21 18:11:16 +00:00
Xaver Hugl
10eeba06f8 main_wayland: set Xwayland scale after Xwayland starts 2023-10-21 18:11:16 +00:00
Xaver Hugl
1ff3cd9684 main: set config values for fonts and style KCMs to do their job 2023-10-21 18:11:16 +00:00
Xaver Hugl
657aa35d8f Revert "main: directly set Xwayland scale, instead of starting a KCM to do the same"
This reverts commit 2eb72d0820. The KCMs set more than just
the DPI, so it's best to keep running them
2023-10-21 18:11:16 +00:00
Xaver Hugl
2b79316e4b plugins/colorpicker: use glReadPixels instead of glReadnPixels
We always know the data for the single pixel will fit into the buffer, so
it's unnecessary to use the checked variant (which is only available in
OpenGL 4.5)
2023-10-21 16:02:19 +02:00
Xaver Hugl
f69c622831 plugins/colorpicker: make sure values aren't clipped
With the floating point buffer used with color management, storing values into
uint8_t won't always work
2023-10-21 16:00:46 +02:00