Vlad Zahorodnii
d7e9c717af
Explicitly cast major() and minor() to uints
...
On FreeBSD, the major() and the minor() macros return ints instead of
uints.
2021-04-27 12:02:38 +03:00
Vlad Zahorodnii
ba0e18955b
Add a debug message that gets printed if TakeDevice fails
...
This can be useful while debugging why the TakeDevice request fails.
2021-04-27 09:50:12 +03:00
Xaver Hugl
2aae299eba
Fix testScreens
2021-04-26 19:25:50 +00:00
Xaver Hugl
b6231aca92
Remove mentions of Xinerama from the Window Behavior kcm
2021-04-26 19:25:50 +00:00
Xaver Hugl
102f32112f
Change the default for "active screen follows mouse" to true
2021-04-26 19:25:50 +00:00
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
2021-04-26 12:57:21 +00:00
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
2021-04-26 12:46:55 +00:00
Aleix Pol
92fb680b04
Provide a kcm module to choose a virtual keyboard
...
BUG: 430850
2021-04-26 12:40:20 +00:00
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.
2021-04-26 11:41:37 +00:00
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
2021-04-26 11:41:37 +00:00
Harald Sitter
385ea10bef
SCM_SILENT typo--
2021-04-26 12:39:44 +02:00
Vlad Zahorodnii
6a57fa286e
autotests: Fix a few typos in kwinglplatformtest
2021-04-26 13:26:05 +03:00
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
2021-04-26 09:37:22 +00:00
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().
2021-04-26 09:21:34 +00:00
Ömer Fadıl Usta
6adc8973d3
Remove duplicate entry in gitignore file
2021-04-26 06:26:02 +00:00
Felipe Kinoshita
64c721579d
[effects/presentwindows] Darken panel
2021-04-25 17:45:49 -03:00
Tomasz Paweł Gajc
e9fcd9584e
effects: add support Panfrost Mali driver
2021-04-24 16:04:44 +02:00
Weng Xuetian
17a585b5d5
Always apply size change from xdg_popup_reposition.
...
BUG: 436106
2021-04-23 13:36:18 -07:00
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.
2021-04-23 22:08:29 +03:00
Vlad Zahorodnii
c894956bba
autotests: Fix testVirtualKeyboardDBus
2021-04-23 21:40:04 +03:00
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.
2021-04-23 13:23:48 +00:00
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.
2021-04-23 10:28:22 +00:00
Aleix Pol
b372de8c74
Fix startup when running with ASAN
...
We can't call kwinApp() before KWin::Application hasn't been properly
initialized.
2021-04-23 09:38:42 +00:00
Nicolas Fella
3b66e634f9
Port away from KPluginTrader
...
It's about to be deprecated.
2021-04-23 09:19:47 +00:00
Vlad Zahorodnii
9fe53ee062
autotests: Fix DontCrashCursorPhysicalSizeEmpty
2021-04-23 09:55:04 +03:00
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"
2021-04-23 01:18:39 +00:00
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
2021-04-22 12:40:48 +00:00
Aleix Pol
ee181ef7a5
layershell: Support virtual keyboards
...
Resize layershell-based clients to adapt to the keyboard when it
appears.
2021-04-22 10:36:36 +00:00
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
2021-04-22 10:18:15 +00:00
Aleix Pol
633136d228
drm: remove unused attribute in DrmOutput
2021-04-22 10:17:29 +00:00
Aleix Pol
f1a779d916
tests: clean outputManagement when cleaning interfaces
...
Otherwise we get crashes trying to access unexisting objects.
2021-04-22 10:16:36 +00:00
Alexander Lohnau
4ed0fe3182
kcmkwin: Port deprecated KNewStuff signals
...
This also avoids an unnecessary reload when the changedEntries
are cleared.
2021-04-22 07:22:31 +00:00
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
2021-04-21 23:17:54 +00:00
Aleix Pol
f7526f50fe
build...
2021-04-21 17:42:55 +02:00
Aleix Pol
8d186efa08
drm: Do not check egl extensions before setting them up
2021-04-21 17:34:07 +02:00
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
2021-04-21 15:10:05 +00:00
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.
2021-04-21 09:06:17 +00:00
Cyril Rossi
1fa66fb504
Remove KCModuleDataSignaling
2021-04-21 06:38:29 +00:00
Cyril Rossi
1e7428841e
KCM KWinEffects : add default settings indicator at module level
2021-04-21 06:38:29 +00:00
Cyril Rossi
2870fb7484
KCM KWin VirtualDesktop add KCModuleData to show default indicator at module level
2021-04-21 06:37:42 +00:00
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: ".
2021-04-20 19:32:04 +00:00
Vlad Zahorodnii
700028b37d
Fix build
2021-04-20 14:37:43 +03:00
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.
2021-04-20 11:34:04 +00:00
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
2021-04-20 13:02:46 +02:00
Aleix Pol
300f28a5a9
drm: remember to clean up DrmGpu's outputs when destroying
2021-04-20 13:02:46 +02:00
Aleix Pol
d5ac0cf919
drm: Also release the pipeline buffer when DrmOutput::releaseBuffers()
2021-04-20 13:02:46 +02:00
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.
2021-04-20 13:02:46 +02:00
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.
2021-04-20 13:00:28 +02:00
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.
2021-04-20 09:22:50 +02:00
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
2021-04-19 17:03:36 +00:00