19295 Commits (f881170a1ec88681297b919c51347ef84ccf1fe7)
 

Author SHA1 Message Date
Alexander Lohnau f881170a1e
GIT_SILENT Add auto generated files to .gitignore 3 years ago
Vlad Zahorodnii 403a04fe24 wayland: Fix loading of HiDPI cursors
Xcursors don't support hidpi so if a hidpi cursor is needed, kwin will
scale the desired size by the scale factor and ask Xcursor helpers to
load a theme with the given name and the size.

However, the theme loading code doesn't take into account that Xcursor
theme loading helpers may not return cursor sprites of size size * scale
if the theme has no such a size.

For example, if the cursor theme only provides 24, 36, and 48 sizes and
kwin attempts to load cursors of size 48 with a scale factor of 2, we
will get cursors of size 48 instead of 96. Unfortunately, this will
result in the issue where the cursor shrinks when hovering decorations
because kwin doesn't know that the effective scale factor (1) is
different from the requested scale factor (2).

In order to fix loading of HiDPI cursors, we need to approximate the
effective scale factor of every cursor sprite as we load it.
3 years ago
Vlad Zahorodnii 7397364115 scripting: Deprecate WorkspaceWrapper::screenResized
The WorkspaceWrapper::screenResized() signal relies on the QDesktopWidget
class, which is deprecated. Another issue with that signal is that it
uses integers to represent screens. We need to minimize the amount of int
based screen api and prefer more QScreen or AbstractOutput APIs because
the former get completely broken if the output layout changes.

Since we gain not a lot from porting WorkspaceWrapper::screenResized()
away from QDesktopWidget to something else and we don't use this signal
in any of our scripts, this change deprecates the screenResized signal
in favor of manual tracking of QScreen::geometryChanged signal.
3 years ago
Bhushan Shah d987b94e42 inputmethod: do not deactivate the context when key is pressed
When keyboard_grab is implemented, if we reset the inputmethod context
on any key, input method will not get keyboard input and will not be
able to use it.
3 years ago
l10n daemon script 31cdb8676d 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
Vlad Zahorodnii a503efad45 Fix a typo
There is no matching opening parenthesis but the effect still works for
some reason.
3 years ago
Vlad Zahorodnii 411443bc05 effects/fade: Add a note reminding to remove FadeWindows option 3 years ago
Vlad Zahorodnii 24a474cb6c effects/fade: Rewrite the effect using ES6 features
This cleans up the code of the effect.
3 years ago
Vlad Zahorodnii 9fb58479b7 effects/scale: 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.

This change ports the scale effect to some ES6 features to make the code
neater.
3 years ago
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.
3 years ago
Xaver Hugl 6a9d82eb55 don't set vrr policy on incompatible monitors 3 years ago
Ömer Fadıl Usta a8d7e99874 [plugins/platforms/drm/drm_backend] Fix build for bsd 3 years ago
Vlad Zahorodnii 8d9e47ee22 platforms/drm: Introduce KWIN_DRM_DEVICES
This allows to instruct kwin what drm devices must be used explicitly.

BUG: 435467
3 years ago
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"
3 years ago
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.
3 years ago
Xaver Hugl faddf0bf5f Wayland: variable refresh rate support
BUG: 405912
3 years ago
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
3 years ago
Vlad Zahorodnii 706eb16b3a Remove Platform::screenGeometries and Platform::screenScales
If you need screen geometries or scales, use AbstractOutput::geometry()
and AbstractOutput::scale(), respectively.
3 years ago
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.
3 years ago
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.
3 years ago
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.
3 years ago
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.
3 years ago
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.
3 years ago
Vlad Zahorodnii 2200f4ded9 windowsystem: Fix compilation with no deprecated build of KWindowSystem
Highlight window and present windows API has been deprecated in 5.82.
3 years ago
Vlad Zahorodnii 9e1de4522e platforms/drm: Remove unused defs and includes in drm_backend.cpp 3 years ago
Vlad Zahorodnii 44fc23f6e7 Fix build on FreeBSD 3 years ago
Vlad Zahorodnii c4c46a089f platforms/drm: Properly detect if there are no DRM devices
If no primary gpu can be found, we need to quit.
3 years ago
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.
3 years ago
Vlad Zahorodnii 03c38e02e9 platforms/drm: Remove DrmBackend::findOutput()
It's unused.
3 years ago
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.
3 years ago
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.
3 years ago
Felipe Kinoshita a2ed8cb9da
[effects/presentwindows] add a comment explaining why we are darkening the panel 3 years ago
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"
3 years ago
David Edmundson ccc5551ff0 [Input] Unset device group user data on teardown
BUG: 436287
3 years ago
Vlad Zahorodnii 04c3bee803 Remove unused things in drm_backend.h 3 years ago
Xaver Hugl 9cd046f206 platforms/drm: add GPU hotplug support 3 years ago
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.
3 years ago
Cyril Rossi 8af45aa962 KCM KWinTabbox activate/deactivate desktop effects. Fix default value for highlightWindowsEnabled 3 years ago
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
3 years ago
Cyril Rossi c17914bc66 KCM KWinTabbox on defaultsIndicatorsVisibleChanged do not update unmanagedWidgetDefaultState
BUG: 419014
3 years ago
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.
3 years ago
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"
3 years ago
Yuri Chornoivan e209134e96 Fix some leftovers in the docbooks 3 years ago
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