Commit graph

19336 commits

Author SHA1 Message Date
Vlad Zahorodnii
db020c5614 effects/maximize: Rewrite the effect using ES6 features
Since the scripted effects were ported to QJSEngine, it's possible now to
use ECMAScript 2015 perks such as classes, let and const.
2021-05-02 11:08:13 +00:00
Xaver Hugl
6a9d82eb55 don't set vrr policy on incompatible monitors 2021-05-02 00:06:39 +00:00
Ömer Fadıl Usta
a8d7e99874 [plugins/platforms/drm/drm_backend] Fix build for bsd 2021-05-01 19:43:00 +00:00
Vlad Zahorodnii
8d9e47ee22 platforms/drm: Introduce KWIN_DRM_DEVICES
This allows to instruct kwin what drm devices must be used explicitly.

BUG: 435467
2021-05-01 12:14:34 +00:00
l10n daemon script
23e3a9a86f 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-05-01 01:21:12 +00:00
Aleix Pol
904c48d563 inputmethod: properly report the text_input_v2 overlap information
Call ::updateInputPanelState when necessary (instead of a trimmed-down
refreshFrame version.
Actually provide the overlap information when it's available, there's no
need to send wrong information there.
2021-04-30 17:46:52 +02:00
Xaver Hugl
faddf0bf5f Wayland: variable refresh rate support
BUG: 405912
2021-04-30 16:18:39 +02:00
Nate Graham
2a6fe9748f [kcmkwin] Apply grid delegate KCMs on double-click
To be consistent with plasma-workspace KCMs which we applied this to in
https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/606
2021-04-29 20:14:05 -06:00
Vlad Zahorodnii
706eb16b3a Remove Platform::screenGeometries and Platform::screenScales
If you need screen geometries or scales, use AbstractOutput::geometry()
and AbstractOutput::scale(), respectively.
2021-04-29 11:31:31 +00:00
Aleix Pol
cadb13de0e inputmethod: fix how we update to input method changes
Properly notify about changes from the kcm and properly integrate them.
So far it only worked between having and not having a keyboard.
2021-04-29 11:04:19 +00:00
Aleix Pol
baa246fbb7 inputmethod: improve the integration of the SNI
* Adds a context menu to choose virtual keyboards.
* Notifies when there is no virtual keyboard selected.
2021-04-29 11:04:19 +00:00
Aleix Pol
050ce24247 inputmethod: Move the input method process into the InputMethod class
Use the control this gives us for stopping the input method process when
we disable.
2021-04-29 11:04:19 +00:00
Vlad Zahorodnii
ac3c09ba75 Remove Platform::areOutputsEnabled()
This flag is redundant. If an output is disabled, the compositor won't
attempt to perform compositing on it.
2021-04-29 10:47:41 +00:00
Vlad Zahorodnii
f8c00a530f Remove Platform::prepareShutdown()
Platform::prepareShutdown() was introduced to work around the issue
where the platform accesses destroyed OutputDeviceInterface objects.

Since we no longer query OutputDeviceInterface for output info, the
Platform::prepareShutdown() function can be dropped.
2021-04-29 10:47:41 +00:00
Vlad Zahorodnii
2200f4ded9 windowsystem: Fix compilation with no deprecated build of KWindowSystem
Highlight window and present windows API has been deprecated in 5.82.
2021-04-29 10:46:39 +03:00
Vlad Zahorodnii
9e1de4522e platforms/drm: Remove unused defs and includes in drm_backend.cpp 2021-04-29 08:45:27 +03:00
Vlad Zahorodnii
44fc23f6e7 Fix build on FreeBSD 2021-04-29 08:36:26 +03:00
Vlad Zahorodnii
c4c46a089f platforms/drm: Properly detect if there are no DRM devices
If no primary gpu can be found, we need to quit.
2021-04-29 05:34:19 +00:00
Vlad Zahorodnii
9f030ecd40 platforms/drm: Enable atomic modesetting in hot plugged gpus
At the moment, if a gpu is hot plugged, it won't have atomic modesetting
enabled.
2021-04-29 05:34:19 +00:00
Vlad Zahorodnii
03c38e02e9 platforms/drm: Remove DrmBackend::findOutput()
It's unused.
2021-04-29 08:10:37 +03:00
Vlad Zahorodnii
54a034b7cf platforms/drm: Use dev nums to find gpus
This way we don't need to convert strings to ints every time
udev_device_get_sysnum() is called.
2021-04-29 04:58:46 +00:00
Vlad Zahorodnii
fe0039091c platforms/drm: Don't search for gpus on add udev event
If a gpu is added, don't search for it pointlessly in m_gpus.
2021-04-29 04:58:46 +00:00
Felipe Kinoshita
a2ed8cb9da
[effects/presentwindows] add a comment explaining why we are darkening the panel 2021-04-29 01:14:56 -03:00
l10n daemon script
1c6be7e32c 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-29 01:20:31 +00:00
David Edmundson
ccc5551ff0 [Input] Unset device group user data on teardown
BUG: 436287
2021-04-28 22:43:57 +00:00
Vlad Zahorodnii
04c3bee803 Remove unused things in drm_backend.h 2021-04-28 22:12:58 +03:00
Xaver Hugl
9cd046f206 platforms/drm: add GPU hotplug support 2021-04-28 18:57:47 +02:00
Xaver Hugl
0284aeb7bb platforms/drm: Don't release drm buffers in EglGbmBackend
When we release the buffers that also removes the drm fbs.
This causes failing atomic commits that the atomic code
doesn't (yet) handle correctly, the result is a black
screen when compositing is restarted.
2021-04-28 13:51:06 +00:00
Cyril Rossi
8af45aa962 KCM KWinTabbox activate/deactivate desktop effects. Fix default value for highlightWindowsEnabled 2021-04-28 09:07:14 +02:00
Cyril Rossi
5bc3316e54 KCM KWinTabbox sidebar default indicator was always on
Use PluginsSettings but it's not part of the default state of the KCM
2021-04-28 09:07:14 +02:00
Cyril Rossi
c17914bc66 KCM KWinTabbox on defaultsIndicatorsVisibleChanged do not update unmanagedWidgetDefaultState
BUG: 419014
2021-04-28 09:07:14 +02:00
Bhushan Shah
18af4032e4 inputmethod: update state on new value not cached value
We want to update the inputpanel state on new value which is being set
and not based on the cached value.

Fixes the keyboard going in wrong mode like pre-edit mode when closed
and re-opened.
2021-04-28 03:39:12 +00:00
l10n daemon script
257d8f32cf 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-28 01:22:29 +00:00
Yuri Chornoivan
e209134e96 Fix some leftovers in the docbooks 2021-04-27 17:44:41 +03:00
Yuri Chornoivan
22ee512ba6 Add docs for virtual keyboard KCM 2021-04-27 17:09:41 +03:00
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
2021-04-27 15:22:20 +02:00
Aleix Pol
af6f95b2eb fb: remove unnecessary casts 2021-04-27 15:14:06 +02:00
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.
2021-04-27 15:14:06 +02:00
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.
2021-04-27 15:12:26 +02:00
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