Commit graph

23537 commits

Author SHA1 Message Date
Vlad Zahorodnii
569dc29ba4 build: Remove duplicate "REQUIRED"
Packages are already marked as REQUIRED using set_package_properties()
2022-10-31 20:18:46 +00:00
Vlad Zahorodnii
993c4e2d05 build: Mark KDecoration2 REQUIRED using set_package_properties()
This way there will be a more complete list of missing dependencies in
the feature summary.
2022-10-31 20:18:46 +00:00
Vlad Zahorodnii
fe86eea311 build: Avoid mixing add_definitions() with find_package() 2022-10-31 20:18:46 +00:00
Vlad Zahorodnii
a5db2e732b build: Group CMAKE_{C,CXX}_STANDARD 2022-10-31 20:18:46 +00:00
Vlad Zahorodnii
44ad8e9b9b build: Group include()s in CMakeLists.txt 2022-10-31 20:18:46 +00:00
Nicolas Fella
251e211c5b [effects/windowview] Don't allow setting non-global shortcuts
Only global shotcuts make sense here
2022-10-31 19:46:15 +00:00
Vlad Zahorodnii
29188eb7b2 Move InputDevice::{outputName,setOutputName} implementation to cpp file
Removes the need for Q_UNUSED macro.
2022-10-31 19:07:30 +00:00
Xaver Hugl
b5873ef792 backends/drm: fixes for bitmask drm properties 2022-10-31 17:05:26 +00:00
Xaver Hugl
420358709a backends/drm: don't test hardware rotation if not supported by the driver 2022-10-31 17:05:26 +00:00
Vlad Zahorodnii
d7b710a9a1 Fix -Wunused-variable warnings 2022-10-31 15:50:37 +00:00
Vlad Zahorodnii
7fffe99328 build: Add -Wno-unused-parameter compiler option
Due to being a compositor, kwin has to conform to some certain
interfaces. It means a lot of virtual functions and function tables to
integrate with C APIs. Naturally, we not always want to use every
argument in such functions.

Since we get -Wunused-parameter from -Wall, we have to plumb those
unused arguments in order to suppress compiler warnings at the moment.

However, I don't think that extra work is worth it. We cannot change or
alter prototypes in any way to fix the warning the desired way. Q_UNUSED
and similar macros are not good indicators of whether an argument is
used too, we tend to overlook putting or removing those macros. I've
also noticed that Q_UNUSED are not used to guide us with the removal no
longer needed parameters.

Therefore, I think it's worth adding -Wno-unused-parameter compiler
option to stop the compiler producing warnings about unused parameters.
It changes nothing except that we don't need to put Q_UNUSED anymore,
which can be really cumbersome sometimes. Note that it doesn't affect
unused variables, you'll still get a -Wunused-variable compiler warning
if a variable is unused.
2022-10-31 15:50:37 +00:00
Xaver Hugl
c308a262be kcmkwin/compositing: remove tearing prevention and scaling options
The option are confusing and noone should ever need to touch them.

BUG: 450279
2022-10-31 14:43:54 +00:00
Nicolas Fella
378006cc73 [effects/overview] Don't allow setting non-global shortcuts
Only global shotcuts make sense here
2022-10-31 13:28:15 +00:00
Xaver Hugl
3d7e926c94 autotests/drm: add autotest for common modes 2022-10-31 12:49:25 +00:00
Xaver Hugl
3f3d41f259 backends/drm: fix common mode generation
There were overflows in the bandwidth estimation calculation. To simplify things,
also only generate common modes if the display doesn't advertise them on its own
already.
2022-10-31 12:49:25 +00:00
Aleix Pol
f649363a4e Address warnings
|-operator on bool
Comparison on technically different enums.
2022-10-31 12:23:06 +00:00
Albert Astals Cid
a9f5b56804 Make gettext happier
Seems we can't have a plural with an argument in singular and not in the
plural

a format specification for argument 2, as in 'msgstr[0]', doesn't exist in 'msgid_plural'
msgfmt: found 1 fatal error
2022-10-31 08:17:11 +00:00
l10n daemon script
332ea380e6 GIT_SILENT Sync po/docbooks with svn 2022-10-31 03:00:35 +00:00
l10n daemon script
365dfaa4c0 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-31 01:53:33 +00:00
Aleix Pol
8417492781 Include org.freedesktop.locale1 support
Makes it possible to follow the dbus service for locale configuration,
making it possible to have third parties integrate with Plasma.

This is done opt-in for now, it can be adopted generally in the future,
if necessary.
2022-10-30 23:03:55 +01:00
Yunus Erdem Ergül
96cfc411f0 scripting: Expose cursor position to the API
Added cursorPos property and cursorPosChanged signal to WorkspaceWrapper
2022-10-30 10:34:05 +00:00
l10n daemon script
88991f9355 GIT_SILENT Sync po/docbooks with svn 2022-10-30 02:09:10 +00:00
Aleix Pol
47c3c2d143 libinput: Support switching the targetted output with a shortcut
I was told it's how artists are used to using these tablets so it makes
sense to support the workflow.
2022-10-29 22:30:03 +00:00
Aleix Pol
77c5198dc8 libinput: Allow setting an empty output name
For tablets, it signifies "follow the active output".
2022-10-29 22:30:03 +00:00
Aleix Pol
a11681918a OSD: Fix OSD::show from the non-main thread
If it's issued from a different thread, pass it to the main one so it's
eventually displayed.
Otherwise, it would just crash kwin.
2022-10-29 22:30:03 +00:00
l10n daemon script
af983dba42 GIT_SILENT Sync po/docbooks with svn 2022-10-29 02:09:49 +00:00
l10n daemon script
ef60c8e53c 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-29 01:52:40 +00:00
Xaver Hugl
b3d0698126 backends/drm: rewrite most of EglGbmLayerSurface
This rewrite ensures that
- formats are tested for multi-gpu transfer
- dmabuf with either 10bpc or 8bpc buffers are preferred to cpu copy
- formats where drmModeAddFB2 fails are skipped
2022-10-28 16:09:10 +02:00
Xaver Hugl
cd6a219961 backends/drm: make the buffer target constant
There's no reason for it to be dynamic
2022-10-28 16:09:10 +02:00
Xaver Hugl
228575f0ae backends/drm: store creation flags in GbmBuffer 2022-10-28 16:09:10 +02:00
Kai Uwe Broulik
0902d91a42 nightcolormanager: Emit timing change only when they have actually changed
Avoids pointless DBus traffic.

Signed-off-by: Victoria Fischer <victoria.fischer@mbition.io>
2022-10-28 11:43:46 +00:00
Vlad Zahorodnii
d89feb33b2 Remove some Q_UNUSED
It's weird to wrap a return value in Q_UNUSED macro.
2022-10-28 09:40:08 +00:00
Vlad Zahorodnii
57eb60122b Make Atoms code more readable
It improves readability by making calling getReply() explicit.
2022-10-28 09:40:08 +00:00
Vlad Zahorodnii
b30e81cb22 x11: Keep compositing mode untouched if kwin crashes
kwin can crash for reasons that have nothing to do with compositing. If
that's the case, after two crashes compositing will be permanently
disabled and you would need to go to system settings to reenable it, the
timestamp based check in the x11 backend won't be effective.

CCBUG: 452344
2022-10-28 09:38:38 +00:00
Vlad Zahorodnii
fd978838cc qpa: Geometry handling fixes
We don't need to emit {x,y,width,height}Changed signals ourselves. We
also need to send an expose event otherwise the window can be rendered
incorrectly if it's resized. The logic follows QtWayland implementation.
2022-10-28 08:47:48 +00:00
Vlad Zahorodnii
9774eacbbe Remove ServiceTypes info
Binary plugins don't need it. KPackage packages have "KPackageStructure"
property instead.
2022-10-28 06:58:44 +00:00
l10n daemon script
f19e3d5425 GIT_SILENT Sync po/docbooks with svn 2022-10-28 02:19:24 +00:00
Vlad Zahorodnii
61644305f0 wayland: Drop unused field in XdgOutputManagerV1Interface 2022-10-27 11:57:52 +00:00
Vlad Zahorodnii
0c34957625 wayland: Hide XdgOutputV1Interface class
With the pull approach, the XdgOutputV1Interface class doesn't have to
be exposed in the public api and can be made private to simplify the
implementation of the xdg-output-v1 protocol.
2022-10-27 11:57:52 +00:00
Vlad Zahorodnii
b40d76d35c wayland: Prevent matching dnd actions after drop
Currently, kwin will continue matching dnd actions after a drop. This is
mainly needed in order to make "ask" action work.

However, it appears like there are clients in the wild that update offer
actions after receiving wl_data_source.dnd_drop_performed and wl_data_device.drop
events.

One could argue that's a client bug, and perhaps it is, but the spec is
vague about that. In meanwhile, let's make sure that dnd action matching
is active after drop only when the selected data source action is "ask."
2022-10-27 11:03:06 +00:00
Łukasz Patron
a9acef8573 x11: Don't force QT_QPA_PLATFORM=xcb
This is basically a cherry pick of 77ec43d5e (Don't force
QT_QPA_PLATFORM=wayland), except for X11.
2022-10-27 08:03:59 +00:00
Łukasz Patron
c2b4f03f96 x11: Don't force QT_NO_GLIB=1
This breaks certain apps, e.g. KDE System Settings when launched from
overview effect.

BUG: 460980
2022-10-27 08:03:59 +00:00
Vlad Zahorodnii
a9833dc9dd scripting: Prefer metadata.json over metadata.desktop in GenericScriptedConfig
KPluginMetaData in KF 6 doesn't load desktop files anymore. It means
that plasma packages need to come with json metadata files.

This change adjusts the generic scripted config loader so it can load
configuration even for packages with no metadata.desktop files.
2022-10-27 07:35:36 +00:00
l10n daemon script
0e393b8fe0 GIT_SILENT Sync po/docbooks with svn 2022-10-27 02:10:42 +00:00
l10n daemon script
109bdf8f42 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-27 01:50:21 +00:00
Xaver Hugl
2997fb24bb x11window: revert more from 3a28c02f
BUG: 461032
2022-10-26 23:17:36 +00:00
Xaver Hugl
1dcbc3c6f8 backends/drm: fix format sorting
As the drm format number of 10 bit colors is lower, the fallback sorting
preferred those formats, even if KWIN_DRM_PREFER_COLOR_DEPTH=24 was set.
To fix that, prefer 8 bit colors over something random.
2022-10-26 18:46:13 +00:00
Vlad Zahorodnii
8fa1883cd9 effects/invert: Make it fully responsible for inverting the screen
The X11 standalone backend has an obscure fallback to hw screen
inversion if compositing is disabled. While it's great, it conflicts
with existing features such as night color.

In order to make code cleaner and clean up dependencies, this change
moves screen inversion shortcut to the invert effect. While it can
potentially affect users that don't use compositing, I think the number
of such affected people is very small.

In hindsight, preferring hw over sw transform is nice, but I think we
need to analyze it first and then come up with a proper solution that
integrates with color management and works great both on x11 and wayland.
2022-10-26 18:18:36 +03:00
Vlad Zahorodnii
b18c6a4c52 backends/virtual: Drop VirtualBackend::captureOutput()
It's unused. Bring it back when there are usecases.
2022-10-26 14:08:38 +00:00
Vlad Zahorodnii
6b253074f3 autotests: Drop testSceneQPainter
The entire approach behind that test is wrong. Even slight changes in
one pixel can make the test fail. There's no human-friendly way to
determine what the difference between reference and actual frames are.
The reference frame is generated in code rather than from an image on
the disk, which makes the tests even more error-prone.

The test is flaky too and constantly blocks merging patch submissions.

We need a different way to test rendering results, not what
testSceneQPainter currently does. Normally, I would say that we need
to add such an infrastructure before dropping the test, but it makes the
merging process so inconvenient and the test doesn't really bring any
value, it tests really basic cases which are noticeable right away after
launching kwin.
2022-10-26 14:08:38 +00:00