Commit graph

26888 commits

Author SHA1 Message Date
Vlad Zahorodnii
7eb9f75af2 plugins/glide: Subdivide window quad grid
The way the glide effect works is that it takes 2D geometry and applies
the perspective projection to it on the CPU side. The reason we do it is
that the scene is 2D.

However, this leaves us with the well known problem where a texture
that's mapped to a trapezoid won't be correctly interpolated along the
diagonal.

It can addressed by performing a perspective division in the fragment
shader, but given the way the effect is structured, it's off the table. So
instead subdivide the window grid.

BUG: 488840
2024-06-21 12:46:28 +00:00
Xaver Hugl
b745f83339 x11window: remove unused variable 2024-06-21 12:34:35 +00:00
Xaver Hugl
9293df2681 plugins/zoom: do colorspace conversions between the screen textures
Otherwise colors and especially brightness levels can be quite wrong when
the textures are used on a different screen

BUG: 488839
2024-06-21 14:26:12 +02:00
Vlad Zahorodnii
2fb485d67d plugins/screencast: Unset only cursor id when the cursor is invisible
We are doing half a job of resetting spa_meta_cursor, the actual cursor
content is still left as is. On the other hand, it should plenty enough
to simply reset the cursor id. The clients are expected to call
spa_meta_cursor_is_valid().
2024-06-21 05:54:25 +00:00
Vlad Zahorodnii
16f6473f56 Add closed window guards in X11Window::doSetXYZ() methods
It won't hurt to have them.
2024-06-21 05:35:13 +00:00
l10n daemon script
9bcba5334c GIT_SILENT Sync po/docbooks with svn 2024-06-21 01:27:47 +00:00
l10n daemon script
268d066f4f 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"
2024-06-21 01:18:41 +00:00
Vlad Zahorodnii
9276d28b3d plugins/shakecursor: Ignore animation speed
From the user perspective, shaking cursor is not perceived as an
animation, so let's ignore the global animation speed factor.

BUG: 488813
2024-06-20 22:28:49 +03:00
l10n daemon script
2db79aaca8 GIT_SILENT Sync po/docbooks with svn 2024-06-20 01:32:04 +00:00
David Redondo
1a916293dc plugins/eis: Make input capture activation ids unsigned
The portal API is specified with unsigned ids. Let's make them
unsigned all the way through.
2024-06-19 11:49:31 +00:00
Xaver Hugl
92f1fabe5b wayland_server: create a new screen locker connection when the greeter gets restarted
Otherwise, Wayland objects and protocol errors can cause the new instance to not start
2024-06-19 11:09:10 +00:00
Xaver Hugl
b107295c03 windowheap: don't animate the position of windows that get hidden
The target position is zero, so they just move into the top left corner,
which looks weird. With this commit, they just fade away without moving
2024-06-19 10:17:53 +00:00
Vlad Zahorodnii
e316694675 backends/x11: Move the contents of common/ to standalone/
It's used only there.
2024-06-19 08:56:12 +00:00
Vlad Zahorodnii
8a5bae0f86 backends/x11: Port away from XRenderPicture 2024-06-19 08:56:12 +00:00
Vlad Zahorodnii
ad31fd6b18 plugins/nightlight: Fix dbus property types
currentTemperature, targetTemperature, and mode properties have "u" type.
But there is a mismatch between the property types declared in the
Q_PROPERTY macro and the org.freedesktop.DBus.Properties.PropertiesChanged
signal.

This change makes the property types consistent and match the types
declared in the xml file.
2024-06-19 05:29:11 +00:00
l10n daemon script
18e9adf5b7 GIT_SILENT Sync po/docbooks with svn 2024-06-19 01:28:15 +00:00
Vlad Zahorodnii
1dee66a36c plugins/nightlight: De-duplicate dbus code 2024-06-18 18:14:07 +00:00
David Redondo
1b1af29de9 Sync xwayland eavesdropping default in kwin.kcfg
Amends a136a159f9 which changed the value in the kcfg file that the kcm reads, KWin uses options.kcfg
4f322e24d3 changed the in code default but this will be later overriden when loading the options.
2024-06-18 07:39:22 +00:00
l10n daemon script
940215b624 GIT_SILENT Sync po/docbooks with svn 2024-06-18 01:33:57 +00:00
Aleix Pol Gonzalez
559b0cccf5 shm: support textures of 3 bytes-per-color
Adds support for BGR888 and RGB888.
Some clients use it and we just fail to render them, making devs
thinking that kwin is broken.

Signed-off-by: Victoria Fischer <victoria.fischer@mbition.io>
2024-06-17 22:24:16 +00:00
Vlad Zahorodnii
7fca508619 Remove code that updates the focus chain in Window::setSkipTaskbar()
skipsTaskbar() doesn't influence whether the window wants input.
2024-06-17 20:04:11 +00:00
Vlad Zahorodnii
0fc6c6800e Get rid of extra string allocations in src/inputmethod.cpp 2024-06-17 19:01:12 +00:00
Xaver Hugl
c761571a43 workspace: don't use an empty list as "don't update"
It's confusing and caused the xwayland scale to not be updated in all situations
where it should be updated
2024-06-17 20:49:52 +02:00
Xaver Hugl
e16069ae77 autotests: add Xwayland scale changes to the output changes test
CCBUG: 487409
2024-06-17 20:41:58 +02:00
Xaver Hugl
4f5fce8b7a workspace: also update xwayland scale when not changing the output order 2024-06-17 20:41:58 +02:00
Alessandro Astone
170b138026 wayland: Allow configuring locale1 mode from kwinrc
KWin already supports following org.freedesktop.locale1 for the
keyboard keymap, but only by passing a command-line option. This is
typically used in SDDM when running the greeter in kwin_wayland.

We want to use locale1 mode in livesys environments too, so that
environment-agnostic installers can configure the keyboard and also
immediatly apply the same configuration to the running desktop.
When KWin is started through `startplasma` we cannot easily supply
an extra command-line option, so we need to make this configurable
from the external environment, in the form of a KConfig.

The command-line option will keep precedence over the KConfig.
2024-06-17 17:52:29 +00:00
Xaver Hugl
7e2d650c8f plugins/nightlight: remove unnecessary commitGammaRamps 2024-06-17 16:17:24 +00:00
Vlad Zahorodnii
af16c9b243 wayland: Make org_kde_kwin_shadow use GraphicsBufferRef
It makes the graphics buffer referencing less error prone.
2024-06-17 11:48:06 +00:00
Vlad Zahorodnii
1a7c94b692 wayland: Fix buffer ref'ing in org_kde_kwin_shadow.commit
In case the current state and the pending state have the same buffer for
a particular side or a corner, that buffer can be prematurely released
because the buffer in the current state is unreferenced first.

The ref/unref order should be vice versa to ensure that the GraphicsBuffer
is not released prematurely.
2024-06-17 11:48:06 +00:00
Marius P
ba599a2aa0 Prefer en_US, "centre" -> "center" 2024-06-17 05:29:59 +00:00
Vlad Zahorodnii
64bbbde249 cmake: Group together code that tests compiler features and platform features 2024-06-17 05:09:13 +00:00
Vlad Zahorodnii
f89a1f9766 cmake: Remove invalid comments 2024-06-17 05:09:13 +00:00
Vlad Zahorodnii
a1443cb43e cmake: Move find_package() around to keep them all close 2024-06-17 05:09:13 +00:00
Vlad Zahorodnii
2d4bbe917c cmake: Group option()s 2024-06-17 05:09:13 +00:00
l10n daemon script
8c067c77f4 GIT_SILENT Sync po/docbooks with svn 2024-06-17 01:31:03 +00:00
Nate Graham
68b7448847 plugins/showpaint: set default shortcut
This effects is off by default, which means to instruct someone how to
use it for debugging purposes, you need to both tell them to enable it,
and then also teach them how to assign a shortcut for it.

Since it's off by default, there's no harm in setting a shortcut, which
simplifies the enablement instructions. I've chosen Meta+Ctrl+Alt+P,
which uses so many modifiers that it won't conflict with anything.
2024-06-16 11:01:40 -06:00
Xaver Hugl
178d49093c backends/drm: don't do direct scanout when HDR brightness isn't 1
Otherwise the brightness multiplier doesn't get applied
2024-06-16 17:11:43 +02:00
l10n daemon script
979ac5bd50 GIT_SILENT Sync po/docbooks with svn 2024-06-16 01:27:32 +00:00
Vlad Zahorodnii
29a5541ccf wayland: Reset dnd state when the target surface is about to be destroyed
Use the SurfaceInterface::aboutToBeDestroyed() for the consistency sake
with other code that performs cleanup when the wl_surface is destroyed.
2024-06-15 15:11:53 +00:00
Vlad Zahorodnii
e1192a6934 plugins/nightlight: Drop NightLightManager::self()
It's unused.
2024-06-15 12:06:06 +03:00
Vlad Zahorodnii
d00d00c7fc plugins/nightlight: Tidy header include directives 2024-06-15 12:03:39 +03:00
Vlad Zahorodnii
6b4ef4170c plugins/nightlight: Shuffle some code
Keep things that are related spatially close, in this case, the
initialization of the timer that will start the next transition.
2024-06-15 11:37:26 +03:00
Vlad Zahorodnii
d595b8f8aa plugins/nightlight: Rename FALLBACK_SLOW_UPDATE_TIME 2024-06-15 07:58:15 +00:00
Vlad Zahorodnii
55dc891190 plugins/nightlight: Store transition duration in milliseconds
This allows us to make the code that computes transition timings more
cleaner, and other time constants are in milliseconds, so it makes sense
to make m_transitionDuration store milliseconds too.
2024-06-15 07:58:15 +00:00
l10n daemon script
5c6e51d75e GIT_SILENT Sync po/docbooks with svn 2024-06-15 01:28:00 +00:00
l10n daemon script
927fb42abc 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"
2024-06-15 01:19:16 +00:00
Vlad Zahorodnii
3461d5bc3a plugins/nightlight: Unobfuscate code that reads geocoordinates
The current code is unreadable:

- it creates a lambda that captures two local variables for latitude and longitude
- then it copies values from the config to those local variables
- calls the lambda
- and finally copies the data from the local variables to the NightLightManager fields

That code can be simplified by simply calling checkLocation() directly
and using an if statement.
2024-06-15 01:29:59 +03:00
Vlad Zahorodnii
e5528e9317 plugins/nightlight: Rename variables and functions to adhere to the KDE coding conventions
The variables and functions should be fully spelled out, with temporary
variables being an exception.
2024-06-14 18:24:06 +03:00
Vlad Zahorodnii
786b3ffbae plugins/nightlight: Guard against invalid timings in the config
Morning and evening timings should be ordered correctly. When computing
the daylight duration, that ternary operator should not be needed and it
hides other bugs.
2024-06-14 18:00:53 +03:00
Vlad Zahorodnii
07f266e7c7 plugins/nightlight: Remove premature optimization in updateTransitionTimings()
There are a couple of reasons why it's worth removing it:

- it's error prone. If one forgets to pass correct "force" flag, night
  light will break
- it contributes some complexity
- updateTransitionTimings() is not called in any hot path and the code
  that calculates the position of the Sun is not resource intensive
2024-06-14 14:26:35 +00:00