24856 Commits (381de13973c8f72f0746e68c96518b45c015f6b4)
 

Author SHA1 Message Date
l10n daemon script 381de13973 GIT_SILENT Sync po/docbooks with svn 1 year ago
Vlad Zahorodnii b9da04bf45 libkwineffects: Make OffscreenEffect render window with its output's scale
Render the window at its output's scale to make the window less blurry.

BUG: 470607
1 year ago
Vlad Zahorodnii 984af8f4f2 x11: Prevent handling some override-redirect window properties
It appears PyCharm can change WM_HINTS propery of override-redirect
windows when they are closed, which triggers a crash in kwin.

This change adds the corresponding guard. In addition to the icons, it
adds a few more guards to prevent kwin crashing when a rogue client sets
wrong properties on an override redirect window.

BUG: 470874
1 year ago
l10n daemon script 73fac19d2a GIT_SILENT Sync po/docbooks with svn 1 year ago
Ismael Asensio c34bae007d kcms/rules: Add missing KCM namespace qualifier
There was a missing `KCM.` qualifier to `ContextHelpButton`
preventing the component to load

ammends 784f36affa

BUG: 470906
FIXED-IN: 6
1 year ago
l10n daemon script a61ae0b07e GIT_SILENT Sync po/docbooks with svn 1 year ago
Alexander Lohnau d251f3011c Remove unneeded QVariantList from KCM constructor args
The args are not needed and will be removed later in KF6
1 year ago
Aleix Pol 0a7db79e7c overview: Do not trigger the toggle action twice
It's already connected as it's created by EffectTogglableState.

BUG: 470603
1 year ago
Nate Graham 80b7ed62da kcms/scripts: fix namespacing to make it load again
BUG: 470781
1 year ago
Matthias Dahl 56f6bab0c3 scene: Pad damage if scale factor is fractional
Floating point arithmetic and/or the use of GL_LINEAR in the pipeline,
may result in visual glitches due to rounding (errors). As a short-term
fix until a proper (more involved) solution is in place for Plasma 6,
pad the damage slightly in all directions to alleviate those effects.
1 year ago
l10n daemon script 9ac6f71662 GIT_SILENT Sync po/docbooks with svn 1 year ago
Vlad Zahorodnii 6f3cb932df wayland: Rewrite wl-shm implementation
The main motivation for the rewrite is to properly port ShmClientBuffer
to our GraphicsBuffer abstractions. As is, libwayland implementation is
not suitable for our needs. We may need ShmClientBuffer to be alive when
its corresponding wl_shm_buffer resource is destroyed, for example to
play a window closing animation. With the existing api, we need to fight
libwayland. Besides that, libwayland doesn't provide a way to get
underlying pool file descriptor, which is needed to fill ShmAttributes.
1 year ago
Vlad Zahorodnii f1d6366d4a core: Introduce GraphicsBufferView
GraphicsBufferView provides a way to map the contents of a graphics
buffer as an image.
1 year ago
l10n daemon script 592948e5ab GIT_SILENT Sync po/docbooks with svn 1 year ago
l10n daemon script d75149c7b1 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"
1 year ago
l10n daemon script f4d88e79f7 GIT_SILENT Sync po/docbooks with svn 1 year ago
l10n daemon script 7349ba41f9 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"
1 year ago
Alexander Lohnau 784f36affa kcms: Port to kcmutils_add_qml_kcm and org.kde.config QML module
kcmutils_add_qml_kcm creates a QRC that contains the "ui" folder.
This this simplifies the installation of KCMs, because all needed files
are bundled with the plugin.
In KCMUtils this means we can get rid of KPackage.

The new org.kde.kcmutils QML module also contains the org.kde.kcm
components that were previously part of KDeclarative.

Depends on https://invent.kde.org/frameworks/kcmutils/-/merge_requests/146
1 year ago
Vlad Zahorodnii eea8200479 scene: Don't hide closed windows
If a closed window is kept alive, it means that somebody needs to
animate it and therefore it should be visible. Otherwise the window
would be destroyed and its item would be removed from the scene.

This change makes the WindowItem not change its visibility if the
associated window is closed. If the window had been invisible before
it was closed, the item would be invisible; if the window had been
visible before it was closed, the item would be visible.
1 year ago
Vlad Zahorodnii b90ae2f8fc Move window hiding logic to Window
The window hiding logic is mostly the same both in X11 and Wayland
windows, so let's move it in Window to share the same code.
1 year ago
l10n daemon script 47a9504d40 GIT_SILENT Sync po/docbooks with svn 1 year ago
ivan tkachenko 888b9bb5a6
kcms/effects: Add myself to copyright header
Seems fair, since I refactored those UI files recently.
1 year ago
ivan tkachenko f183a3f467
kcms/effects: Fix license headers
Project description isn't present anymore in other files.
1 year ago
ivan tkachenko 351f16e5f7
kcms/effects: Relax minor version import restriction on Kirigami module
We still keep major version number around though, because it used to
cause issues with path resolution without it.
1 year ago
ivan tkachenko 02d4c72e95
kcms/effects: Add context to i18n string
Similar to how it's written in KWin Scripts KCM.
1 year ago
l10n daemon script 3297b3b396 GIT_SILENT Sync po/docbooks with svn 1 year ago
Vlad Zahorodnii 59cea67401 Avoid unnecessary Workspace::updateClientArea()
Currently, when a window is added or removed, the work area will be
recomputed unconditionally. But in many cases, it's unnecessary because
only a small fraction of windows has a strut (in default setup, only the
panel has a strut).
1 year ago
Vlad Zahorodnii 30ac125986 backends/wayland: Use linux dmabuf feedback to get main device
Currently, the render node is hardcoded. It works okay as long as the
main device and the hardcoded node are the same. But it breaks on multi
gpu setups where the render device is not /dev/dri/renderD128.
1 year ago
ivan tkachenko 7db140d03b
kcms/effects: Move footer actions to the page header
…to avoid the "two stacked rows of buttons" effect.

Changes "Get New" button text to avoid redundancy because title already
contains the "Desktop Effects" string in it.
1 year ago
ivan tkachenko 3194d74851
kcms/effects: Remove obsolete autoPlay property from Video component
It does not exist in Qt 6 anymore, and it's not very clear how to
replace it.
1 year ago
ivan tkachenko 4faf50d8e3
kcms/effects: Set correct width expression for ListView delegates 1 year ago
ivan tkachenko 9164784270
kcms/effects: Set explicit spacing on layouts
Default value of 5 does not align with anything in KDE HIG.

Also a little bit of extra margin around the label looks better on top
of a search field.
1 year ago
ivan tkachenko e0a89bf97d
kcms/effects: Set header label to WordWrap instead of eliding into nowhere 1 year ago
ivan tkachenko 7dd04616ad
kcms/effects: Set some sensible default (implicit) page size
so that kcmshell does not freak out with vertically collapsed window.
1 year ago
ivan tkachenko 4d63039b2f
kcms/effects: Fix & modernize QML/JS code style
Key-value mapping is more convenient to use than iterating through array
manually, and Map type is safer to use than plain old ECMAScript Object.
1 year ago
ivan tkachenko b91d9a96ae
kcms/effects: Use ellipses instead of triple period
A real ellipsis character is better for accessibility, as screen readers
will describe it appropriately.
1 year ago
l10n daemon script 027dba9d3f GIT_SILENT Sync po/docbooks with svn 1 year ago
l10n daemon script b1551b2f90 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"
1 year ago
l10n daemon script 4a93985e50 GIT_SILENT Sync po/docbooks with svn 1 year ago
ivan tkachenko 69feba45ee
kcms/rules: Port signal handlers to explicit arguments, fix QML/JS code style
Implicit injection of arguments is deprecated in Qt 6, and throws runtime warnings.
1 year ago
ivan tkachenko a1a3b9b656
kcms/rules: Use ellipses instead of triple period
A real ellipsis character is better for accessibility, as screen readers
will describe it appropriately.
1 year ago
Vlad Zahorodnii e16a6d6561 Remove redundant X11Window::shapeChanged signals
X11Window::moveResize() already emits it.
1 year ago
Vlad Zahorodnii db0447b52a Rename X11Window::geometryShapeChanged to X11Window::shapeChanged 1 year ago
Vlad Zahorodnii e5478e2d90 Move Window::geometryShapeChanged to X11Window 1 year ago
Vlad Zahorodnii d22cc67df9 libkwineffects: Drop EffectsHandler::windowGeometryShapeChanged
It's very X11-specific and it's unused.
1 year ago
l10n daemon script 9a28ede4e6 GIT_SILENT Sync po/docbooks with svn 1 year ago
Arjen Hiemstra 8d0e1b290a screencast: Discard pending buffer and fence if stream state changes
While the changes made earlier prevent enqueueing buffers when the
stream is not in a streaming state, screencasting continued to crash.
The reason for that seems to be that pipewire will, in certain cases,
invalidate some buffers, including the buffer that we are currently
tracking as "pending buffer". The result of this is that when we then
try to enqueue that buffer, we get a crash.

To prevent this, discard the pending buffer when the stream state
changes. Since that makes the pending fence useless as well, also
discard it and its notifier.
1 year ago
Vlad Zahorodnii aedd67ef4b plugins/eyeonscreen: Animate towards window's screen's center
This looks better on multi screen setups.
1 year ago
Vlad Zahorodnii a7f41f26bb Make show desktop mode hide windows
After porting the desktop background window to the layer-shell protocol,
the desktop window is not raised up in the stack anymore when the
showing desktop window is activated. The main reason to avoid this is to
avoid fighting and overriding layer shell logic.

As another way to implement the show desktop mode, this change makes the
workspace hide windows that don't belong to desktop.

It's a better solution for a couple of reasons: "keep above" and other
overlay windows will be properly hidden and it lets us avoid touching
the stacking order.

BUG: 387593
BUG: 406101
BUG: 469827
1 year ago
Vlad Zahorodnii bc43be9c00 Emit X11Window::{windowShown,windowHidden} only when hidden propery changes
Currently, X11Window emits Window::windowShown and Window::windowHidden
signals differently than the WaylandWindow. On the other hand, at quick
glance, there's no reason why it has to work like this, so let's make
X11Window behave similarly to WaylandWindow. This lets us simplify code
and potentially unvirtualize Window::isHiddenInternal() in the future.
It also makes X11Window::internalHide and X11Window::internalKeep more
reusable as it doesn't handle focus anymore.
1 year ago