24934 Commits (e1980c00097da1423d9068938914caf9a3ee7662)
 

Author SHA1 Message Date
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
ivan tkachenko 417a7f3601 kcms/scripts: 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 "Script" word in it.
1 year ago
ivan tkachenko ae11658e0c kcms/scripts: Always set spacing property on Row & Column layouts
Default value of 5 does not visually align with anything in our HIG.
1 year ago
l10n daemon script 2542662dc9 GIT_SILENT Sync po/docbooks with svn 1 year ago
ivan tkachenko bef357db5b
kcms/scripts: Replace magic number with named enum member of NewStuff events 1 year ago
ivan tkachenko 5de83e78cc
kcms/scripts: 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 d63bbd4329 GIT_SILENT Sync po/docbooks with svn 1 year ago
Laurent Montel 9ebc3e298f We use qt6 now 1 year ago
Xaver Hugl 10c1e7892e backends/drm: use max frame average brightness instead of max brightness in HDR metadata
Using the peak maximum brightness can cause displays to do more agressive tone mapping, which
overall darkens the image without any reason. Instead, send the max fame average brightness,
which the display can always do over the whole screen
1 year ago
Xaver Hugl e6d2607fe3 scene/itemrendereropengl: don't do colorspace conversions if not needed
There was a check for this in the shader before, but it got lost. It's better
to completely compile it out of the shader anyways
1 year ago
Xaver Hugl 242fce56b6 libkwineffects/kwinglutils: replace random eotf integers with named constants 1 year ago
Xaver Hugl 6272d1d9f3 libkwineffects/kwinglutils: fix saturation calculation with wide color gamut and document it 1 year ago
Xaver Hugl 84ce4751d9 libkwineffects/kwinglutils: replace output string with a temporary variable
Dragging the output string through the whole shader is annoying. The use
of a temporary variable makes the shader code more readable
1 year ago
l10n daemon script 91b709fdbe GIT_SILENT Sync po/docbooks with svn 1 year ago
l10n daemon script 7bef0374d0 GIT_SILENT Sync po/docbooks with svn 1 year ago
l10n daemon script 24a5290ed2 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 a710ddbbe1 GIT_SILENT Sync po/docbooks with svn 1 year ago
David Edmundson 982e409319 scripting: Use a better path for scripts
Currently we create objects at the path /0 /1 and so on. This isn't very
well namespaced
1 year ago
Vlad Zahorodnii 8b4afa0ee5 Remove null window checks in restacking requests
Restacking null windows make no sense. If a window can be null, it
should be guarded by the user. However, in practice, it shouldn't
matter.
1 year ago
David Edmundson 3ccf560252 workspace: Add asserts to check double window insertion
We have a few crash reports that point to m_windows getting out of sync
with reality. Add some additional checks in the hope they point to
something useful.
1 year ago
Vlad Zahorodnii b42919e875 Add closed window checks in restacking requests
If a closed window is restacked, it will be reintroduced to the stack
and it will be left dangling, which will eventually result in a crash.
1 year ago
Vlad Zahorodnii 07a6b500c8 Add closed window checks in some window activation code paths
A closed window cannot be activated, so guard relevant code paths to
ensure that we don't hit this unexpected case.

CCBUG: 438315
1 year ago
Vlad Zahorodnii 71e8fad1f6 Delegate screen edge reservation error handling to user
Window screen edge reservation relies on Window::showOnScreenEdge()
getting called when the screen edge can't be reserved. That makes screen
edge code not easy to follow.

This change makes ScreenEdges::reserve() indicate if a screen edge has
been successfully reserved and delegate error handling to the user.

In most cases, if a screen edge has not been successfully hidden, you
just need to avoid calling hideClient() and wait until the next moment
when the window can be hidden again. Note that it differs from the
current behavior but it's for a good reason. If the panel can't be
hidden now, the panel has no idea how to handle it; only the compositor
knows when it can be hidden again.
1 year ago