19252 Commits (22ee512ba6ab203e0e3dfd26eb6296602256dce9)
 

Author SHA1 Message Date
Yuri Chornoivan 22ee512ba6 Add docs for virtual keyboard KCM 3 years ago
Xaver Hugl 40eb0e4f0e platforms/drm: only print error for direct scanout when useful
Most wayland-native apps provide buffers that aren't suitable
for direct scanout; the message usually only spams the log full
without proper reason or useful information
3 years ago
Aleix Pol af6f95b2eb fb: remove unnecessary casts 3 years ago
Aleix Pol 0b14af5624 udev: Do not return a mysterious vector with just a null pointer
When getting the vector, it requires us to check both if it's not empty
but also that it's not null. I haven't seen it but we were not doing
this check.

Just return an empty vector when there's no devices instead.
3 years ago
Aleix Pol 0e433cb83a udev: remove duplicated code
Let UdevDevice offer the method we need for sorting instead of just half
of it.
Always sort Udev enumerations, since the alternative is to sort it every
time it's called otherwise.
3 years ago
Vlad Zahorodnii d7e9c717af Explicitly cast major() and minor() to uints
On FreeBSD, the major() and the minor() macros return ints instead of
uints.
3 years ago
Vlad Zahorodnii ba0e18955b Add a debug message that gets printed if TakeDevice fails
This can be useful while debugging why the TakeDevice request fails.
3 years ago
Xaver Hugl 2aae299eba Fix testScreens 3 years ago
Xaver Hugl b6231aca92 Remove mentions of Xinerama from the Window Behavior kcm 3 years ago
Xaver Hugl 102f32112f Change the default for "active screen follows mouse" to true 3 years ago
Aleix Pol a21571c832 Do not run with the drm backend if there's no dri drivers
Only defaults to the drm backend if there is a /dev/dri directory.

CCBUG: 436053
3 years ago
Aleix Pol 4b3b5fa368 fb: make it easier to run on nomodeset
In the few cases where the framebuffer is needed, we'd get problems
because ioctl(KWIN_FB_NO_VSYNC) fails.
This removes the code entirely to just use a timer to refresh.

BUG: 436053
3 years ago
Aleix Pol 92fb680b04 Provide a kcm module to choose a virtual keyboard
BUG: 430850
3 years ago
Vlad Zahorodnii 2c05229141 qpa: Set minimum device ratio of 1 for windows
This is to prevent rendering issues in the present windows close buttons
as Qt supports scale factors that are less than one poorly.
3 years ago
Vlad Zahorodnii c9ac2e3fb8 decoration: Fix rendering issues with scale factors < 1
QPainter::setWindow() doesn't work as we expect if the device pixel
ratio of the paint device is less than 1, for example 0.5 or 0.75.

QPainter only allows the effective device pixel ratios that are greater
than or equal to 1. This restriction probably has to be lifted.

For the time being, this change introduces a helper function that can be
used to determine the scale factor by which QPainter::window() must be
multiplied.

BUG: 432766
3 years ago
Harald Sitter 385ea10bef SCM_SILENT typo-- 3 years ago
Vlad Zahorodnii 6a57fa286e autotests: Fix a few typos in kwinglplatformtest 3 years ago
David Edmundson 799db61381 Restore following XDG_SESSION_ID env if set
BUG: 435468

Testing done:
Ran on a VT with an XDG_SESSION_ID from another terminal, ensured it
switched
3 years ago
Vlad Zahorodnii c103eb8f5c qpa: Simplify backing store blitting
We can use QPainter::drawImage() to update the dirty area of the front
buffer. This way, we don't need to call std::copy().
3 years ago
Ömer Fadıl Usta 6adc8973d3 Remove duplicate entry in gitignore file 3 years ago
Felipe Kinoshita 64c721579d
[effects/presentwindows] Darken panel 3 years ago
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