22460 Commits (cf8f189be20b600b59e273216c568c07a0bd2501)
 

Author SHA1 Message Date
Vlad Zahorodnii 31d1d13de5 Remove AbstractClient plumbing casts in TouchInputRedirection 2 years ago
Vlad Zahorodnii 6cf490c9cc Remove AbstractClient plumbing casts in PointerInputRedirection 2 years ago
Vlad Zahorodnii f7d913af91 Remove AbstractClient plumbing casts in TabBox 2 years ago
Vlad Zahorodnii 506863f97e Remove AbstractClient plumbing casts in src/layers.cpp 2 years ago
Vlad Zahorodnii e5561b194a Remove AbstractClient plumbing casts in WindowItem 2 years ago
Vlad Zahorodnii 76a3a31f42 Remove AbstractClient plumbing casts in EffectsHandlerImpl 2 years ago
Vlad Zahorodnii 9157b1303e Remove AbstractClient plumbing casts in PopupInputFilter 2 years ago
Vlad Zahorodnii 94bbe14f4c Remove AbstractClient plumbing casts in Placement 2 years ago
Vlad Zahorodnii 85be7c2b48 Remove AbstractClient plumbing casts in ScreencastManager 2 years ago
Vlad Zahorodnii e5fe1ebd20 Remove AbstractClient plumbing casts in Shadow 2 years ago
Vlad Zahorodnii 3c69b08e49 Fix up some AbstractClient dynamic_cast<>()s
Originally, they were to check whether the given window is managed.
2 years ago
Nils Fenner aaa429ee0a Merge Toplevel into AbstractClient
References issue #81
2 years ago
l10n daemon script 5acf8aa792 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"
2 years ago
Ismael Asensio d320756206 kcm/rules: Add Exclusive and SelectAll types to options model
A "Select All" option has the value of all the rest of the options
combined. Used for the Window Types property.

An Exclusive option cannot be check as the same time as any other
options, but uses its own value. Used for "All Activities" and
"All Virtual Desktops" properties.

Co-Authored-By: Fushan Wen <qydwhotmail@gmail.com>
2 years ago
Ismael Asensio bb7bc3359a kcm/rules: Refactor OptionsModel
Provide `allOptionsMask`, `bitMask`and `useFlags` as properties
and roles from OptionsModel in C++ side, to simplify the QML part
and improve the treatment of flag-based properties in `OptionsComboBox`.
2 years ago
l10n daemon script e21972fa71 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"
2 years ago
Xaver Hugl 3d556bba83 backends/drm: drop DrmGpu test mode
It's unused
2 years ago
Xaver Hugl 8cb8d2f627 backends/drm: drop DrmPipeline format helpers 2 years ago
Ismael Asensio 75d71a1c1a AbstractClient: Re-check screen rules on screen enabled
BUG: 409979
FIXED-IN: 5.25
2 years ago
Weng Xuetian 14ae6e3100 Fix race in wp_drm_lease_v1.
Basically this is a well known issue in wayland for globals. If bind
comes after destroyed, it will raise a invalid global error. The common
practice is to delay the destroy of global. Similar technique is also
applied to wl_output.

CCBUG: 452435
2 years ago
l10n daemon script a518a4d53b 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"
2 years ago
Vlad Zahorodnii e6f08665fe Drop Output::updateTransform()
If the backend needs to apply custom logic when changing the transform,
it should override Platform::applyOutputChanges(); otherwise just update
the Output's internal transform state.
2 years ago
Vlad Zahorodnii 8e7a8c5a11 Rename AbstractOutput to Output
AbstractOutput is not so Abstract and it's common to avoid the word
"Abstract" in class names as it doesn't contribute any new information.
It also significantly reduces the line width in some places.
2 years ago
Vlad Zahorodnii 09782bcf11 autotests: Use more fully qualified KWayland::Client types
This is needed to make "Output" identifier less ambiguous.
2 years ago
Vlad Zahorodnii b376865f52 Rename WaylandOutputConfig to OutputConfiguration 2 years ago
Vlad Zahorodnii d43dac8f8d Merge AbstractWaylandOutput with AbstractOutput 2 years ago
Vlad Zahorodnii ca7927e3b6 Run clang-format yet another time 2 years ago
Vlad Zahorodnii c157e948e2 autotests: Fix TestWaylandSurface
The API of SurfaceInterface was changed so it always maintains an opaque
region.

At the surface commit, if the attached buffer is opaque, the whole
surface will be marked opaque. Otherwise, the specified opaque region
will be intersected with the surface rect.
2 years ago
Nils Fenner 1466836ba7 Inherit "Delete" and "Unmanaged" from AbstractClient
Depends on !2224, !2232 

Further changes are blocked until the above MR's are merged.
2 years ago
l10n daemon script 34c1231d60 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"
2 years ago
Eric Edlund c09871917b Make VirtualDesktopManager update grid dimentions when only 1 desktop
This is a patch to get the last two commits to work.
A larger problem to fix is that when the desktop grid size is changed in
the KCM by removing desktops, the internal grid dimensions are not
updated until system restart.
2 years ago
Eric Edlund 003c820e00 rework of slide effect internals
Fixed a bunch of bugs and polished the slide effect.
Plugged the slide effect into the new VirtualDesktopManager interface desktopChanging() to allow for mac os style desktop switching.

BUG: 448419 BUG: 401479
2 years ago
Eric Edlund 26a4f75944 Implement desktopSwitching() interface for realtime animations
Added this interface to the VirtualDesktopManager. Realtime touchpad gestures update the interface to allow for mac os style desktop switching.
Also makes gestured switching use natural direction.

BUG: 185710
2 years ago
Nils Fenner 31ec0ceb24 Use Toplevel::isDeleted() to resolve Deleted type.
Prepares #81 (part 2)

Note that the `Unmanaged` type is not explicitly checked - implies `(t->isDeleted() || t->isClient()) == false`.
2 years ago
Xaver Hugl e48a5c0535 toplevel: set valid output in the constructor
This makes it less easy to cause crashes and fixes some segfaults.

BUG: 452433
2 years ago
Vlad Zahorodnii 3534b6afee Remove input processing functions in Platform
Input event flow has been refactored so all input events originate from
input devices.

The X11 backend uses InputRedirection so make it forward events to
relevant input device handlers.
2 years ago
Nils Fenner d146a3d1dd Use Toplevel::isClient() to resolve AbstractClient type. 2 years ago
Vlad Zahorodnii 4790408423 Run clang-format again
Some people either don't have clang-format installed or disable the
commit hook.
2 years ago
Vlad Zahorodnii 2c1d36e8c5 kcms/rules: Remove unused cpp files from build dependencies 2 years ago
Vlad Zahorodnii 45dc423638 Make RuleBook::setUpdatesDisabled() work with AbstractClient 2 years ago
Fushan Wen 7f39bb1b33
scene: Check `waylandServer()` is nullptr in filterAcceptsWindow
This fixes compositing on X11.
2 years ago
l10n daemon script 16b7f5729a 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"
2 years ago
Xaver Hugl 432fb52788 backends/drm: refactor format choosing and prefer alpha formats
Prefering alpha is needed for some interactions with video underlays; more
directly choosing formats with an alpha channel will be needed for overlay
planes, too.
2 years ago
Marco Martin 5cf2e1e84d Rebase and adapt to changes in master 2 years ago
Vlad Zahorodnii a0f456b7dc effects: Add Window View effect
The Window View effect is a companion effect for the task manager. It
provides the task manager a way to ask the user to pick a window among
windows identified by window ids passed to the activate() method.

The main motivation for adding this effect is to provide a QtQuick based
alternative for the present windows effect, which is needed to kill the
latter.

This change doesn't extend the overview effect to avoid repeating
mistakes of the past, i.e. adding too many (unrelated) features to the
present windows effect.

While the overview effect provides you a way to select windows, it's not
the only thing that it has. For example, it also allows changing virtual
desktops, etc.

On the other hand, the task manager doesn't need all of that. It only
needs to ask the user to pick a window among the specified windows, nothing
more.

As is, the window view effect is simply WindowHeap with a d-bus api slapped
on top of it.
2 years ago
Vlad Zahorodnii 2ac1f9b7d3 kwineffects: Expose internalId 2 years ago
Vlad Zahorodnii 6dffda920a effectkit: Allow disabling dnd in WindowHeap 2 years ago
Vlad Zahorodnii 2456344fae Allow disabling expo cells
This allows making specific windows in a WindowHeap static.
2 years ago
Vlad Zahorodnii 1589e2c918 effects: Re-introduce support for client filtering in WindowHeap 2 years ago
Vlad Zahorodnii 00c95afcc1 effects: Move WindowHeap in a qml module
The WindowHeap can be useful not only to the Overview effect, but also
other effects, e.g. a desktop grid replacement, etc.
2 years ago