Vlad Zahorodnii
ac7eb252f1
Remove Workspace::hasClient() micro-optimization
...
Workspace::hasClient(X11Client *) is unused and not worth optimizing as
it doesn't appear in any hot path.
2021-08-25 18:54:45 +00:00
Vlad Zahorodnii
c5d22b68b6
wayland: Simplify startup sequence
...
If there are no outputs, the drm backend will create a placeholder
output, so continueStartupWithScreens() can be removed.
2021-08-25 18:54:19 +00:00
Vlad Zahorodnii
5bbd21f682
autotests: Port away from deprecated clientArea() overloads
2021-08-25 18:53:53 +00:00
Vlad Zahorodnii
78b5330824
Drop VirtualDesktopManager::name()
...
It's confusing to have two ways to query the same information.
2021-08-25 20:12:07 +03:00
Vlad Zahorodnii
ad6039c7c3
Remove unused Workspace::clientArea() overload
2021-08-25 15:14:27 +00:00
Aleix Pol
30959c2efb
Include a transform effect
...
It should be used to decorate changes on the display like rotation.
2021-08-25 14:44:03 +00:00
Aleix Pol
9a4bbdf226
Make it possible for an effect to render a screen
...
Useful in case it needs the contents of the screen but they can't be
blitted, as the state of the framebuffer is unknown.
2021-08-25 14:44:03 +00:00
Aleix Pol
4d1f30301b
Make KWin::TimeLine::progress() public
...
This way we can have animations that act slightly different in different
parts of the animation
2021-08-25 14:44:03 +00:00
Aleix Pol
24cc93ec5b
effects: Allow exposing an EffectScreen::transform
...
This way an effect can know the transformation that is applied on a
display.
2021-08-25 14:44:03 +00:00
Aleix Pol
34cfc6680b
effects: Include signals notifying about outputs changing
2021-08-25 14:44:03 +00:00
Xaver Hugl
5cc5d81cea
guard gbm version for gbm_bo_get_fd_for_plane
2021-08-25 14:39:35 +00:00
Vlad Zahorodnii
a234e5aaf4
Forbid passing "-1" as screen to Workspace::clientArea()
...
This simplifies Workspace::clientArea() implementation. Also, it will be
very handy with transition from int-based screens to AbstractOutput.
2021-08-25 14:31:30 +00:00
Vlad Zahorodnii
fddbd57d09
Port Workspace::clientArea() to VirtualDesktop
...
This makes Workspace APIs that take virtual desktops more consistent.
2021-08-25 14:31:30 +00:00
Vlad Zahorodnii
5b3c87f105
Rename LayerShellV1Client::output() to desiredOutput()
...
This is to avoid hitting bugs if the Toplevel class gains an output
property. The new name also better describes what the function returns.
2021-08-25 13:58:49 +00:00
Xaver Hugl
1be65e818c
Port screenId based rendering methods to AbstractOutput
2021-08-25 13:53:33 +02:00
Xaver Hugl
e6cab81b53
platforms/drm: multi-gpu buffer import with modifiers
2021-08-25 13:30:49 +02:00
Aleix Pol
35ec9b87a7
Port away from KPluginMetaData::instantiate
...
It's deprecated according to the documentation, QPluginLoader works just
as well (it's what kcoreaddons was using anyway).
2021-08-25 10:46:40 +00:00
Vlad Zahorodnii
7ffd72cbfa
Decouple activation feedback from window management
2021-08-25 09:35:57 +00:00
l10n daemon script
e227e93792
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-08-25 01:15:54 +00:00
David Edmundson
2fb52274d0
Only try to deactivate overview whilst activate
...
BUG: 441325
2021-08-24 21:45:17 +02:00
Xaver Hugl
fbff8636b9
platforms/drm: fix gpu removal
...
As soon as m_backends.removeOne(*it) returns, "it" no longer
points to the same value.
CCBUG: 441372
2021-08-24 12:36:44 +00:00
l10n daemon script
6f6944058b
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-08-24 01:20:52 +00:00
Ahmad Samir
731564f04d
Fix clazy warnings: potential Qt containter detaches in range-for loops
...
GIT_SILENT
2021-08-23 23:03:06 +00:00
Ahmad Samir
9f41691684
fix clazy warning: Pass a context object as 3rd connect parameter
...
GIT_SILENT
2021-08-23 23:02:46 +00:00
Xaver Hugl
1e572a4299
platforms/drm: make debug logging less verbose
2021-08-23 21:53:21 +00:00
l10n daemon script
5246408660
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-08-23 01:27:10 +00:00
l10n daemon script
76d1de48a8
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-08-22 01:17:35 +00:00
Xaver Hugl
1490215f0d
effects/overview: exit on background click
...
BUG: 441301
2021-08-21 22:08:04 +02:00
l10n daemon script
17b161213c
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-08-21 01:16:14 +00:00
Alexey Varfolomeev
6336bb71ba
No symbolic icons
2021-08-20 19:34:28 +00:00
Aleix Pol
e729478d09
plasma-window-management: Support new activation concepts
2021-08-20 07:05:34 +00:00
Vlad Zahorodnii
1eb0c09292
scripting: Make ClientFilterModel take VirtualDesktop
2021-08-20 06:54:27 +00:00
Vlad Zahorodnii
5419e3df4a
scripting: Introduce workspace.currentVirtualDesktop property
...
It's the same as the currentDesktop except that it's a VirtualDesktop
object.
The main advantage of the currentVirtualDesktop property is that it
doesn't change if a virtual desktop is added or removed in the middle.
It also makes dealing with virtual desktop changes easier.
2021-08-20 06:54:27 +00:00
Vlad Zahorodnii
9a2a1c0435
scripting: Add desktops property to AbstractClient
...
With the new virtual desktops model, a window can be on several virtual
desktops. Currently, scripts have no any way to get the list of desktops
the window is on. This change addresses that.
2021-08-20 06:54:27 +00:00
Vlad Zahorodnii
fc52531f44
effects/overview: Make the window heap cover the maximize area
...
Currently, window thumbnails may be placed behind the panel, which
doesn't look good.
With this, the window heap will cover the same area as the maximize
area.
2021-08-19 16:35:28 +00:00
David Redondo
bc17d0aebd
xwl: Use direct way of syncing clipboard
...
Like the primary selection, sync the clipboard directly without
doing any roudntrips through the internal connection.
2021-08-19 14:59:13 +00:00
Vlad Zahorodnii
66d74f4398
effects/overview: Use Kirigami.ScenePosition
...
This makes the WindowHeap more robust to layout changes. Currently, the
main issue with it is that thumbnails will be misplaced if the heap's
scene position changes.
Kirigami.ScenePosition automagically keeps track of the item's scene pos.
2021-08-19 14:27:19 +00:00
Vlad Zahorodnii
ba0f5981bf
Port Workspace::slotWindowToDesktop*() to VirtualDesktop
2021-08-19 11:08:32 +00:00
Vlad Zahorodnii
b85edc08d2
Port Workspace::switchWindow() to VirtualDesktop
...
If a window is on several virtual desktops, Workspace::switchWindow()
will not work as expected because AbstractClient::desktop() returns the
id of the last virtual desktop.
Since the active window is most likely on the current virtual desktop,
we can use that for filtering out irrelevant windows.
2021-08-19 11:08:32 +00:00
Vlad Zahorodnii
7937aa78ef
Port X11 desktop user actions menu to VirtualDesktop
...
It's mostly identical to the virtual desktop user actions menu on
Wayland.
2021-08-19 11:08:32 +00:00
Vlad Zahorodnii
d5c2518973
Add Workspace::clientArea() that take no desktop
...
The new overloads take the client (as context) and the desired screen id
or a point and return the client area.
The main motivation behind this change is to make the transition to the
new virtual desktop model where a window can be on several desktops less
painful.
2021-08-19 10:49:40 +00:00
David Edmundson
2b88432b17
Export our nested environment to kwin's env
...
In the recent refactor we made it so environment variables got synced to
the Application::processStartupEnvironment.
It then seemed safe and cleaner to remove the qputenv calls, but this
was not the case. It regressed the unit tests on CI and kglobalaccel
which is another path where kwin spawns clients.
2021-08-19 09:17:43 +00:00
David Redondo
6104dc50cf
xwl: Sync primary selection
...
Syncs the primary selection from wayland to X and from X to wayland.
Instead of doing it through the internal connection like the clipboard,
this sets/reacts to changes in SeatInterface::prrimarySelection directly.
BUG:422426
FIXED-IN:5.23
2021-08-19 06:46:23 +00:00
David Redondo
fddb83200f
Fix typo
...
GIT_SILENT
2021-08-19 06:46:23 +00:00
Vlad Zahorodnii
4f66cd4c78
effects/overview: Make expo layout spacing configurable
...
This allows setting "hidpi-aware" spacing on X11.
2021-08-19 06:30:55 +00:00
Vlad Zahorodnii
6132329c2c
Add Overview effect
...
This effect is meant to be as a replacement for the present windows and
the desktop grid effect. It is written using QML.
So far, this effect implements only the basic features of the present
windows effect. Desktop management features will be added later.
CCBUG: 295775
CCBUG: 303438
2021-08-19 06:30:55 +00:00
Vlad Zahorodnii
30da8f497c
scripting: Draw window thumbnails with drop shadows
2021-08-19 06:30:55 +00:00
Vlad Zahorodnii
c66f38ba7d
kwineffects: Add properties to EffectScreen
...
This allows exposing EffectScreen to effects that use js or qml.
2021-08-19 06:30:55 +00:00
Vlad Zahorodnii
9675da6325
kwineffects: Allow specifying render window for EffectQuickView
...
QtQuick can use the render window to compute the device pixel ratio for
the managed QQuickWindow.
2021-08-19 06:30:55 +00:00
Vlad Zahorodnii
c51de0f370
wayland: Don't track last focused internal window
...
QGuiApplication::focusWindow() can be used instead.
2021-08-19 06:30:55 +00:00