Commit graph

23976 commits

Author SHA1 Message Date
Arjen Hiemstra
622114dfb5 Move texture coordinate post processing into a method of RenderGeometry
This allows us to reuse the code in other places.
2023-01-16 09:51:28 +00:00
Arjen Hiemstra
db7283ee5c Add default global vertex attribute layouts for GLVertex{2,3}D
This avoid some duplication when using GLVertex2D for geometry.
2023-01-16 09:51:28 +00:00
Arjen Hiemstra
c9b32afb1c Add a property to RenderGeometry that determines what vertex snapping mode to use
Currently, only two modes are provided, rounding or not rounding, which
allows explicitly disabling snapping. However, should we have a reason
to add more modes it is now fairly simple to change.
2023-01-16 09:51:28 +00:00
l10n daemon script
e473fb721c GIT_SILENT Sync po/docbooks with svn 2023-01-16 02:26:39 +00:00
l10n daemon script
60d41538b7 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-01-16 02:00:47 +00:00
l10n daemon script
fb8585a53e GIT_SILENT Sync po/docbooks with svn 2023-01-15 02:12:43 +00:00
l10n daemon script
3b5ea6e798 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-01-15 01:55:25 +00:00
l10n daemon script
7d2239fc17 GIT_SILENT Sync po/docbooks with svn 2023-01-14 17:48:02 +00:00
l10n daemon script
e12d9c1c6b 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-01-14 17:31:49 +00:00
Xaver Hugl
9cd52b4060 backends/libinput: don't multiply v120 value by scroll speed
The value is a representation of the discrete steps a mouse wheel can take.
Multiplying that with a scroll speed destroys the whole purpose of the value.
2023-01-14 13:12:22 +00:00
l10n daemon script
99ed8365bb GIT_SILENT Sync po/docbooks with svn 2023-01-14 12:46:19 +00:00
l10n daemon script
4f7de0495e GIT_SILENT Sync po/docbooks with svn 2023-01-14 02:21:17 +00:00
l10n daemon script
31d20fab92 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-01-14 02:02:24 +00:00
Aleix Pol
a5aaa9e3c4 org.kde.KWin: Expose a window's UUID
Exposes a Window's UUID so that it can be used with other APIs like
window management or screencasting.
2023-01-13 17:51:36 +01:00
Ismael Asensio
fdd585e44c kcms/tabbox: Fix Reset not disabling Apply
Fix the code to get the actual saved shortcuts on KGlobalAccel
when discerning if they have changed.

Amends commit: 76ac4be316
2023-01-13 09:49:15 +00:00
Nicolas Fella
c9691b5855 kcms/tabbox: Don't offer switcher from global themes that don't actually ship a switcher
Some global themes, e.g. Breeze Dark, don't ship a switcher and instead point to the one from the Beeze global theme

They do show up in the selection though, which is confusing and doesn't actually work
2023-01-13 08:49:04 +00:00
l10n daemon script
dbf50d3af5 GIT_SILENT Sync po/docbooks with svn 2023-01-13 03:12:37 +00:00
l10n daemon script
392379163a 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-01-13 02:03:45 +00:00
Ismael Asensio
b11416c396 kcms/tabbox: Highlight non-default shortcuts
This sets the property on the shortcut widgets when they
should get highlighted: the option is selected in System
Settings and the shortcut is not the default.

It requires a change in `KXMLGui/KKeyShortcutWidget` to
actually paint the highlihgt ring.
(commit 47572c26, KF103)

CCBUG: 459318
2023-01-12 19:58:08 +01:00
Vlad Zahorodnii
73005fcd72 kcms/compositing: Improve wording of "allow tearing" option
When reading "allow tearing in fullscreen", I expect something after the
word "fullscreen". Either "windows" or "mode".
2023-01-12 13:30:58 +00:00
Ismael Asensio
76ac4be316 kcms/tabbox: Make shortcuts config save on apply
Currently, tabbox shortcuts are directly saved to KGlobalAccel
when they change, which is inconsistent with the rest of the
KCM and leads to confusion regarding Defaults and isSaveNeeded
status.

Let's instead manage the changes internally and just save them
to KGlobalAccel on Apply/Save.

m_actionsCollection is only used as a helpful way to store this
internal configuration, and doesn't really needs saving to
or restoring from config.

BUG: 459325
FIXED-IN: 5.27
2023-01-12 12:15:48 +00:00
Vlad Zahorodnii
9b0758ea71 autotests: Remove weird qwait in pointer input test 2023-01-12 11:40:26 +00:00
Vlad Zahorodnii
7a8bb01323 autotests: Make testStruts quicker
As far as I can tell, there's no reason to add an artificial delay of
50ms, which repeated 100 times accumulates to 5 seconds.
2023-01-12 10:44:31 +00:00
Vlad Zahorodnii
1c3610413d autotests: Make testPlasmaWindow quicker
Before

    Executed in   10.79 secs    fish           external
       usr time    4.85 secs  918.00 micros    4.85 secs
       sys time    0.62 secs  119.00 micros    0.62 secs

After

    Executed in    1.45 secs      fish           external
       usr time  941.63 millis  486.00 micros  941.14 millis
       sys time  578.99 millis   62.00 micros  578.93 millis
2023-01-12 10:08:43 +00:00
Vlad Zahorodnii
9751aca548 autotests: Make testNoGlobalShortcuts quicker 2023-01-12 09:49:40 +00:00
Vlad Zahorodnii
f04ad754ce autotests: Make testX11Window quicker
Before

    Executed in   17.39 secs      fish           external
       usr time  422.91 millis    1.92 millis  420.99 millis
       sys time  586.41 millis    0.22 millis  586.19 millis

After

    Executed in    1.23 secs      fish           external
       usr time  395.63 millis    0.00 millis  395.63 millis
       sys time  228.55 millis    2.13 millis  226.42 millis
2023-01-12 09:23:43 +00:00
Vlad Zahorodnii
e689ab5ebd autotests: Make testSlidingPopups quicker
The test waits longer than needed to determine whether effects stopped
playing animations

Before

    Executed in   22.41 secs      fish           external
       usr time  997.42 millis  722.00 micros  996.70 millis
       sys time  744.81 millis   79.00 micros  744.73 millis

After

    Executed in    9.71 secs      fish           external
       usr time  894.42 millis    1.03 millis  893.38 millis
       sys time  689.80 millis    0.11 millis  689.69 millis
2023-01-12 07:48:54 +00:00
l10n daemon script
3a6986b855 GIT_SILENT Sync po/docbooks with svn 2023-01-12 02:21:59 +00:00
l10n daemon script
b3776cef5b 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-01-12 02:01:58 +00:00
Vlad Zahorodnii
773d8c61b1 autotests: Reduce execution time of testLockScreen
testLockScreen uses !eventSpy.wait() expression to check whether the
given signal is emitted. QSignalSpy::wait()'s default timeout is 5s,
which is too much. We don't need to wait that much, in fact, even
wl_display_sync() would suffice. In either case, let's pass explicit
timeout of 10ms which should be good enough.

Before

    Executed in   60.49 secs    fish           external
       usr time    3.92 secs    1.03 millis    3.92 secs
       sys time    2.29 secs    0.16 millis    2.29 secs

After

    Executed in   19.38 secs    fish           external
       usr time    1.64 secs  347.00 micros    1.64 secs
       sys time    1.15 secs   54.00 micros    1.15 secs
2023-01-11 21:39:30 +00:00
Vlad Zahorodnii
fe1054a52a autotests: Fix a typo in testKeyboardShortcutsInhibitorInterface
We need to monitor whether the inhibitorActive signal gets emitted. It
reduces the test's execution time from about 5 seconds to a couple
milliseconds.
2023-01-11 20:34:27 +00:00
Xaver Hugl
b4e8d44967 remove some macros with questionable usefulness 2023-01-11 19:22:23 +00:00
Nate Graham
d312ee24b8 effects: always use Title Case for user-facing effect titles
Most already did, but these three did not, creating inconsistency.

BUG: 464122
FIXED-IN: 5.27
2023-01-11 12:03:51 -07:00
Aleix Pol
ddd60a0c1b backgroundcontrast: Guard against calling a nullptr
There are cases where GLVertexBuffer::map will return null (as seen in
kwinglutils.cpp:1816) which does happen (as seen in the backtrace of bug
462017)
Make sure we don't call the null map in that case.

BUG: 372305
2023-01-11 14:37:10 +00:00
ivan tkachenko
ea61a6f63a
effects/magiclamp: Fix window suddenly disappearing when reversing minimize animation
In this branch a new animation is being started, so a ref-guard needs
to be the same as in the similar branch for starting minimize animation
in the slot above.
2023-01-11 14:35:20 +03:00
ivan tkachenko
f4c3ae7c20
effects/magiclamp: Fix code style (add {braces} about if body) 2023-01-11 14:32:54 +03:00
Vlad Zahorodnii
301e57169d backends/drm: Fix surface and buffer damage order in qpainter output layers
The prototype of OutputLayer::endFrame() looks as follows

    virtual bool endFrame(const QRegion &renderedRegion, const QRegion &damagedRegion) = 0;

On the other hand, qpainter output layers use a different order in the
header file and the cpp file.
2023-01-11 11:14:59 +02:00
Vlad Zahorodnii
91bef430bf backends/virtual: Move glFlush() to endFrame()
It makes more sense in endFrame() rather than present().
2023-01-11 08:09:19 +00:00
Vlad Zahorodnii
ff53950a6d backends/virtual: Drop KWIN_WAYLAND_VIRTUAL_SCREENSHOTS
Virtual backend is used primarily by tests, there are plans to use it
for virtual outputs too. But in either case we don't need screenshots.

I also can't imagine how it can be useful as a debugging tool. It's more
convenient to spin a windowed kwin instance.

The main motivation behind this change is to get rid of custom code in
virtual output layers and simplify it a bit more.
2023-01-11 08:09:19 +00:00
l10n daemon script
ae1ca8ec9d GIT_SILENT Sync po/docbooks with svn 2023-01-11 02:26:43 +00:00
Kai Uwe Broulik
af99b4e98c backends/x11: Present surface even with empty damage
All the other backends present their surface regardless.
If the surface isn't presented, the scheduled frame is never
finished, and rendering gets stuck indefinitely.

This is also consistent with x11 standalone backend
which forgoes this check.

Signed-off-by: Victoria Fischer <victoria.fischer@mbition.io>
2023-01-10 15:18:13 +01:00
Vlad Zahorodnii
0bd4851326 effects: Fix projection matrix logic in OffscreenEffect
WindowPaintData contains two projection matrices -
screenProjectionMatrix and projectionMatrix. I'm not sure why we have
two.

screenProjectionMatrix is initialized by the scene. While
projectionMatrix is usually updated by the effects. The two are not in
sync.

On the other hand, OffscreenEffect takes into account only
screenProjectionMatrix. It means that if a window is transformed by two
offscreen effects, the final result is going to be broken because
an OffscreenEffect must use the projection matrix specified by another
OffscreenEffect, which it doesn't.

This change cleans up projection matrix properties in WindowPaintData,
so there's only one projection matrix property. With that, offscreen
effects can be properly nested.

BUG: 462876
2023-01-10 12:05:28 +00:00
l10n daemon script
4c738b4961 GIT_SILENT Sync po/docbooks with svn 2023-01-10 02:19:41 +00:00
Nate Graham
0075f7bd16 Use more user-friendly terminology for border actions everywhere
The window rules KCM calls this "No titlebar and frame", but different
less user-friendly terminology is used for the context menu action and
the global action. Let's unify them using the more user-friendly name.

BUG: 464007
FIXED-IN: 5.27
2023-01-09 15:16:51 -07:00
Niklas Stephanblome
1f1e67f90b effects/overview: Correct size of active virtual desktop highlight outline
The focus outline that highlights the active virtual desktop in the Overview effect, as
well as the half-transparent outlines that are around the other virtual desktops, cover
2 pixels on every side of every virtual desktop thumbnail.

This is because an invisible rectangle is used that has the same size as the thumbnail
and has a colored border, but borders are always drawn on the inside of QML rectangles,
so content in the thumbnail is covered up. Therefore, the width of the rectangle has to
be slightly adjusted to account for the thickness of the border.

BUG: 450963
FIXED-IN: 5.27
2023-01-09 16:29:52 +00:00
Han Young
612099a31d add more debugging information to CONTRIBUTING.md
Something nice to have for the first time contributors (like me). So we don't have to bug people on matrix about how to debug :)
2023-01-09 13:40:31 +00:00
l10n daemon script
3697f1afee GIT_SILENT Sync po/docbooks with svn 2023-01-09 02:21:25 +00:00
l10n daemon script
2f8e2ef689 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-01-09 02:00:23 +00:00
l10n daemon script
0a438a6661 GIT_SILENT Sync po/docbooks with svn 2023-01-08 02:25:07 +00:00
Xaver Hugl
2525109f1a window: use std::unique_ptr to manage the windowitem 2023-01-07 21:52:10 +01:00