19252 Commits (22ee512ba6ab203e0e3dfd26eb6296602256dce9)
 

Author SHA1 Message Date
Aleix Pol d5ac0cf919 drm: Also release the pipeline buffer when DrmOutput::releaseBuffers() 3 years ago
Aleix Pol b82840d7e0 drm: Don't call virtual methods from a parent class destructor
We'd be relying on AbstractEglDrmBackend on calling cleanup but we'd be
doing it when cleanupSurfaces cannot be reached out anymore, turning it
into a half-baked cleanup.

Instead call cleanup from the leaf class destructors.
3 years ago
Aleix Pol 4c74a24059 Do not schedule further repaints when terminating
We'd hit a deleted options singleton and in any case it's not something
we need.
3 years ago
Xaver Hugl 7a9676dc0a Introduce the legacy flag for drm properties
There are properties like for example rotation
that don't have the atomic flag, yet work and
are needed in atomic mode setting.
3 years ago
Vlad Zahorodnii 5839e59e24 effects: Properly reset present times in coverswitch and flipswitch effects
The last presentation timestamps should be reset when all animations
finish rather than when the effect finishes. Otherwise, the calculated
time diff for the first animation frame will be too big.

BUG: 433471
3 years ago
Xaver Hugl 0292c4a74c platforms/drm: Add support for setting overscan
BUG: 428201
3 years ago
Felipe Kinoshita ff3cb59967 [effects/presentwindows] Show Panels by default
Showing the panels makes this effect a little bit more integrated
with the desktop. With the panels disabled it creates a separate state,
with the panels enabled it creates a more friendly state with
the effect adding to the already existing experience.
3 years ago
Vlad Zahorodnii 9719d6c5a2 wayland: Fix handling of exclusive zone of -1
We cannot use Workspace::clientArea() to get the geometry of the screen
as the clientArea() method needs a valid frame geometry. This is not the
case if the layer shell surface is being configured for the first time.
3 years ago
Xaver Hugl 7dddcf202b platforms/drm: Don't create outputs without primary plane in AMS 3 years ago
Vlad Zahorodnii d6cca178f7 wayland: Pick better initial window class string
With ksplash migrating to the layer-shell protocol, it no longer
provides an app id. This means that the window class string will be
different, e.g. "ksplashqml " instead of "ksplashqml ksplashqml", and
some effects (login, etc) will stop working as expected.

In order to keep effects working as before, this change adjusts the
window class initialization in WaylandClient so both the resource class
and the resource name are set to the executable file name.
3 years ago
Vlad Zahorodnii 675d5c4216 effects: Remove outdated ksplash window class strings
ksplash nowadays has only "ksplashqml ksplashqml" window class.
3 years ago
Ömer Fadıl Usta 94f558356b Add missing include for errno 3 years ago
Xaver Hugl 5a22deda3b platforms/drm: Introduce DrmPipeline
DrmPipeline is what now contains all the drm bits related to
modesetting and presentation, instead of that being in DrmOutput.
This gives a lot more freedom for managing drm resources and
enables far better usage of the atomic API with guaranteed
immutability for failed tests.
3 years ago
Aleix Pol b68cd3110a Fix streaming of windows when we are using a mix of scales
At the moment a streamed screen when the screen scale was differnt
buffer scale would render wrong. This change addresses it by
compensating it.

This change compensates it resizing the rendered viewport to their
difference.

BUG: 428594
3 years ago
Aleix Pol a8867e292d tablet: Show a default cursor when the cursor has not been set
In this context, the cursor will (almost) always be defined as we set it
as soon as an application is bound to it. We need to show the default
cursor if set_cursor hasn't been called yet. The way to do that is to
check whether the serial is still.
3 years ago
Aleix Pol Gonzalez bd7300215e Apply 1 suggestion(s) to 1 file(s) 3 years ago
Aleix Pol ca1e4a255a udev: never construct UdevDevices with a null device
It allows to trust the device we have as it's referenced. We were
already checking for pointer validity when getting them so it still
makes sense.
3 years ago
Aleix Pol bec580f3c5 udev: Add a method to get all properties of an UdevDevice
It's useful for debugging.
3 years ago
Aleix Pol 01f7ef35e7 drm: Make sure we read all pending udev events 3 years ago
Aleix Pol d216e74cfc udev@drm: Acknowledge that udev_monitor_receive_device can return NULL
Do not build UDevDevice unless the device itself is valid.
3 years ago
Aleix Pol 97b9e516d1 tablet: account for the activeClient to occasionally being nullptr
Instead use the device assigned output.

 #0  KWin::Toplevel::screen() const (this=0x0) at /home/apol/devel/frameworks/kwin/src/toplevel.cpp:409
 #1  0x00007fe60ad9bef9 in KWin::LibInput::Connection::processEvents() (this=0x55d9efc155f0) at kwin/src/libinput/connection.cpp:579
 #2  0x00007fe60ad4987c in KWin::InputRedirection::setupLibInput()::$_3::operator()() const (this=0x55d9efc29a70) at kwin/src/input.cpp:2315
3 years ago
Aleix Pol b49c7497fa --warning: remove unused class member 3 years ago
Xaver Hugl 888a08530e Make DrmObject::Property flags const 3 years ago
David Edmundson ab34fa348c Follow kwindoweffects::windowSizes deprecation 3 years ago
l10n daemon script 82723be8db 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"
3 years ago
Alois Wohlschlager 59f6b77612
Fix crash when stopping PipeWire streaming
The stream object was deleted from a slot connected to its stopStreaming
signal. This is unsafe and can lead to memory corruption and ultimately
crashes when PipWwire streaming is stopped. Use deleteLater instead.

BUG: 428268 435588
3 years ago
Xaver Hugl 68f58076f4 Fix sendToScreen for fullscreen apps
screen() only gets updated after AbstractClient::sendToScreen if invoked
by a shortcut or menu (as opposed to moveresize), so we can't use it in
AbstractClient::updateGeometryRestoresForFullscreen as it points to the
old screen.
3 years ago
Xaver Hugl a461ff918d platforms/drm: replace dpms property hack with proper check
Instead of marking the dpms property as immutable, read the
DRM_MODE_PROP_ATOMIC flag and only add atomic properties to
atomic requests.
3 years ago
Xaver Hugl 18f857b1f3 platforms/drm: fix crash with multi-gpu 3 years ago
l10n daemon script fbdcdaf125 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"
3 years ago
Yuri Chornoivan 60d12b91f2 Add touch screen KCM docs 3 years ago
Yuri Chornoivan 9667fc6493 Fix minor typo 3 years ago
Yuri Chornoivan d1c3b2a261 Update window behavior KCM docs 3 years ago
Yuri Chornoivan b0e2498762 Update screen edges KCM docs 3 years ago
Yuri Chornoivan c8424f33f5 Update kwin effects KCM docs 4 years ago
Yuri Chornoivan 9ada617510 Update window decorations KCM docs 4 years ago
Yuri Chornoivan 340c8b5927 Update virtual desktops KCM docs 4 years ago
Aleix Pol 2894913f93 lockscreen: also activate lock screen windows
We are running a slightly different code path, make sure that we still
honour conventions like screen focus.

BUG: 427882
4 years ago
Vlad Zahorodnii 62432133e0 const'ify Platform::findOutput() 4 years ago
Vlad Zahorodnii e88033f914 wayland: Fix blank window thumbnails
With the introduction of stripped down window items, the WindowPixmap
objects no longer form a hierarchy. WindowPixmap::children() method was
removed.

Surprisingly, the removal of the children() method didn't result in a
compilation error because the QObject class has a method with the same
name.

Currently, a window pixmap will have no QObject children even if the
associated wayland surface has child sub-surfaces. This may result in
blank thumbnails of apps that use sub-surfaces, e.g. Firefox. In order
to fix that issue, we need to check if there are child items instead.
4 years ago
Vlad Zahorodnii 24d865ea38 wayland: Generate valid output uuids
Currently, kwin generates invalid output uuids.
4 years ago
Aleix Pol d419729331 debug_console: Improve rendering of non-x11 clients
We'd always get "0x0: something" where the 0x0 is the xcb_window which
obviously doesn't translate.

Instead show the class name so we can easily track what kind of object
we are dealing with.
It's an easy way to show which shell it's using on Wayland, will be
useful in other cases as well.
4 years ago
Alexander Lohnau d90a9d2dd9 GIT_SILENT Add auto generated files to .gitignore 4 years ago
David Redondo 1419993b89 Add a DBus interface to the presentWindows effect
The same as for the highlightWindows effect. Toggling it through
DBus is platform independent.
4 years ago
David Redondo 26bf4f51d0 Add a DBus interface to the highlightWindows effect
The Taskmanager can now activate it this way, instead of using X
atoms. This means it will also work on Wayland.
4 years ago
Vlad Zahorodnii ab58171ed8 wayland: Check workspace position after creating decoration
If a decoration is created for an already mapped maximized window, check
the workspace position to ensure that the window still fits the maximize
area.

BUG: 432326
4 years ago
Vlad Zahorodnii d1c5970273 Fix build 4 years ago
Vlad Zahorodnii da5fc3d9e9 wayland: Wire in subpixel information
kwaylandserver has all the code to send subpixel information but kwin
doesn't really use it.
4 years ago
Vlad Zahorodnii 9d9747490e wayland: Send missing output-device properties
Currently, we don't set eisa id and the serial number.
4 years ago
Vlad Zahorodnii 5619a2939a wayland: Send only current wl_output mode 4 years ago