19231 Commits (e9fcd9584ef18f910ac18357d660663fd3baf5ce)
 

Author SHA1 Message Date
Tomasz Paweł Gajc e9fcd9584e effects: add support Panfrost Mali driver 3 years ago
Weng Xuetian 17a585b5d5
Always apply size change from xdg_popup_reposition.
BUG: 436106
3 years ago
Vlad Zahorodnii 9ad83dafe6 autotests: Fix InputMethodTest
Currently, the test fails because the d-bus api was changed recently.
Use InputMethod::setEnabled() method to enable input method support.
3 years ago
Vlad Zahorodnii c894956bba autotests: Fix testVirtualKeyboardDBus 3 years ago
Nate Graham b2ae5378c7 [effects/windowaperture] Hide windows in corners
Reducing the oppacity of these windows causes them to appear as phantoms
in the corners of the screen. They look quite odd on top of anything else
in the corners of the screen, such as any Plasma panels.

However making them 100% opaque doesn;t work either, since then they
look interactive, but they're not, and can't be made so due to the
scripting API used here.

So our only real option to remove the weirdness is to make them 100%
transparent, and therefore show the entirety of the desktop with no sign
that the effect is in use.
3 years ago
Vlad Zahorodnii 55c95f685f Fix crash in debug console
We need an explicit return type; otherwise a QStringBuilder object will
be returned, which can reference already destroyed strings.
3 years ago
Aleix Pol b372de8c74 Fix startup when running with ASAN
We can't call kwinApp() before KWin::Application hasn't been properly
initialized.
3 years ago
Nicolas Fella 3b66e634f9 Port away from KPluginTrader
It's about to be deprecated.
3 years ago
Vlad Zahorodnii 9fe53ee062 autotests: Fix DontCrashCursorPhysicalSizeEmpty 3 years ago
l10n daemon script 6276c8882e 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
Xaver Hugl 49c650eed2 platforms/drm: don't ignore blob properties without valid blobs
Instead of deleting all blob properties without a valid
blob check for the blob existing before using it. This is
necessary because some properties are needed even without
currently valid blobs.

BUG: 435786
3 years ago
Aleix Pol ee181ef7a5 layershell: Support virtual keyboards
Resize layershell-based clients to adapt to the keyboard when it
appears.
3 years ago
Aleix Pol b3ddb11b7c drm: hide the cursor as we are setting dpms off
It seems to crash amdgpu and it's consistent with how we're cleaning all
our planes.

BUG: 435941
3 years ago
Aleix Pol 633136d228 drm: remove unused attribute in DrmOutput 3 years ago
Aleix Pol f1a779d916 tests: clean outputManagement when cleaning interfaces
Otherwise we get crashes trying to access unexisting objects.
3 years ago
Alexander Lohnau 4ed0fe3182 kcmkwin: Port deprecated KNewStuff signals
This also avoids an unnecessary reload when the changedEntries
are cleared.
3 years ago
Vlad Zahorodnii 0d9185053c platforms/drm: Ignore udev events while session is inactive
While the session is inactive, the drm master permissions are revoked.
Therefore, we cannot perform things such as modesetting, etc. It also
makes no sense to create or destroy DrmOutput objects.

CCBUG: 435941
3 years ago
Aleix Pol f7526f50fe build... 3 years ago
Aleix Pol 8d186efa08 drm: Do not check egl extensions before setting them up 3 years ago
Felipe Kinoshita 1a9b525970 [effects/presentwindows] Display window icons centered
Displaying them centered makes it a bit more visually appealing and
makes it easier to find which window belongs to what application
3 years ago
Xaver Hugl 5a2177a51c platforms/drm: use surfaceless context
On multi-gpu systems it could happen that the primary GPU
has no working outputs attached, yet we still need the
egl context.
3 years ago
Cyril Rossi 1fa66fb504 Remove KCModuleDataSignaling 3 years ago
Cyril Rossi 1e7428841e KCM KWinEffects : add default settings indicator at module level 3 years ago
Cyril Rossi 2870fb7484 KCM KWin VirtualDesktop add KCModuleData to show default indicator at module level 3 years ago
Felipe Kinoshita 16ae008104 [effects/presentwindows] change filterFrame position and text
Move filterFrame to the top of the screen and change it's text,
removing the "Filter: ".
3 years ago
Vlad Zahorodnii 700028b37d Fix build 3 years ago
Vlad Zahorodnii 15f1b9792b Revert "platforms/drm: Introduce DrmPipeline"
This reverts commit 5a22deda3b.

We still need more work to finish the DrmPipeline. At the moment, there
are a few major issues, e.g. some outputs not turning on, output
transforms not working correctly, a crash when changing dpms mode.

Let's merge this change back once all major issues are fixed and after
more testing.
3 years ago
Aleix Pol d999aa6c6a drm: destroy the gbm device after we are done with all of the objects
Just in case they still need to interact with gbm
3 years ago
Aleix Pol 300f28a5a9 drm: remember to clean up DrmGpu's outputs when destroying 3 years ago
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