Commit graph

16741 commits

Author SHA1 Message Date
Vlad Zagorodniy
a9e469bf13 Properly restore current desktop from session
Summary:
VirtualDesktopManager is initialized in two places: Workspace::init and
Workspace::initWithX11. The former method loads virtual desktops from
the config file and the latter method synchronizes VirtualDesktopManager
with RootInfo.

Both methods do

    if (!VirtualDesktopManager::self()->setCurrent(m_initialDesktop))
        VirtualDesktopManager::self()->setCurrent(1);

which makes sense in Workspace::init, but not in Workspace::initWithX11.

When Workspace::initWithX11 is called, the current virtual desktop is
the same as m_initialDesktop. So that piece of code basically makes
the first virtual desktop current no matter what.

BUG: 390295
FIXED-IN: 5.15.3

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D19520
2019-03-08 10:38:46 +02:00
l10n daemon script
1d59d436a5 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"
2019-03-08 08:53:22 +01:00
l10n daemon script
6230ca2e4a 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"
2019-03-07 08:45:16 +01:00
Kai Uwe Broulik
2ea6fc2abe [effects/screenshot] Set m_windowMode in screenshotWindowUnderCursor
BUG: 374864
FIXED-IN: 5.15.3

Differential Revision: https://phabricator.kde.org/D19552
2019-03-05 22:59:44 +01:00
Jonathan Riddell
efbc95fb81 Update version number for 5.15.2
GIT_SILENT
2019-02-26 09:05:25 +00:00
l10n daemon script
6a7483ae5e 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"
2019-02-23 08:38:50 +01:00
Vlad Zagorodniy
9a68cbd9b1 Don't destroy DecorationRenderer in setup/finish compositing
Summary:
Currently, KWin/Wayland crashes when the compositor is reinitialized.
The reason for that is ShellClient's DecorationRenderer gets destroyed
when the scene is already gone, thus there is no current OpenGL context.
Client works around that issue by destroying scene-specific DecorationRender
in finishCompositing. Such a workaround could be applied to ShellClient
as well, but it would make code more confusing because DecoratedClientImpl
also tries to destroy DecorationRenderer.

A better approach would be to notify DecoratedClientImpl that
compositing is about to be finished, so it can destroy the decoration
renderer when the scene is still alive. This not only fixes the
previously mentioned issue in ShellClient, but also makes code a little
bit tidier.

Test Plan:
Start Plasma on Wayland session, change any compositor settings (e.g.
animation speed).

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18921
2019-02-20 15:09:37 +02:00
Jonathan Riddell
0f514e94a5 Update version number for 5.15.1
GIT_SILENT
2019-02-19 10:27:25 +00:00
Vlad Zagorodniy
55d3f2933f [effects/desktopgrid] Don't copy windows on X11
Summary:
Currently, the Desktop Grid effect tries to copy a client when user
moves it. But on X11 such behavior doesn't make sense because
a client can't be on multiple desktops (except on all).

BUG: 404442
FIXED-IN: 5.15.1

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D19116
2019-02-18 16:27:13 +02:00
l10n daemon script
0015ff2ac6 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"
2019-02-17 08:30:42 +01:00
l10n daemon script
b5b4cff18c 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"
2019-02-15 09:22:45 +01:00
David Faure
48971e0848 Enable -DQT_NO_URL_CAST_FROM_STRING and fix compilation 2019-02-12 08:54:53 +01:00
Victor Ruzhykh
0cf7cca2ab Make the new Window Decoration KCM translatable
Differential Revision: https://phabricator.kde.org/D18931
2019-02-11 20:12:41 +02:00
Vlad Zagorodniy
381d0df7f9 Copy layer repaints to Deleted
Summary:
If a Toplevel has scheduled layer repaints, then we have to copy them
to Deleted as well. This can happen, for example, when a client loses
shadow right before it gets closed or unmapped.

Reviewers: #kwin, graesslin

Reviewed By: #kwin, graesslin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18786
2019-02-10 20:01:40 +02:00
Jonathan Riddell
5a750c3667 Update version number for 5.15.0
GIT_SILENT
2019-02-07 11:01:16 +00:00
Vlad Zagorodniy
bdddf4daf2 [effects/screenedge] Use correct blend function
Summary:
Glow textures already have the red, green, and blue channels
premultiplied by the alpha component (because of QImage), thus we can't
use GL_SRC_ALPHA for sfactor in glBlendFunc.

BUG: 403570

Test Plan:
Before:
{F6592391}

After:
{F6592392}

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18803
2019-02-07 02:10:57 +02:00
l10n daemon script
54e46dbd9f 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"
2019-02-06 08:36:52 +01:00
Vlad Zagorodniy
c372585623 Fix --no-global-shortcuts option
Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18643
2019-02-05 14:32:14 +02:00
Kai Uwe Broulik
7a914e70b6 Merge branch 'Plasma/5.12' into Plasma/5.15 2019-02-05 13:28:45 +01:00
Kai Uwe Broulik
bc5978b759 [effects/startupfeedback] Fix shader
Provide both 1.10 and 1.40 shaders.

Differential Revision: https://phabricator.kde.org/D18757
2019-02-05 13:28:14 +01:00
Vlad Zagorodniy
582966db52 Merge branch 'Plasma/5.12' into Plasma/5.15 2019-02-05 13:57:09 +02:00
Vlad Zagorodniy
64115d4de2 Save the correct value of noborder property
Summary:
We can't use Client::noBorder while saving the desktop session because
the returned value is not necessarily set by the user.

BUG: 403948

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18756
2019-02-05 13:55:46 +02:00
Vlad Zagorodniy
0b4482dc2e [kcmkwin/compositing] Fix effect video previews
Summary:
Currently, video previews do not work because we try to call showHide()
function that was removed in 787c39cd42.

Reviewers: #kwin, #plasma, davidedmundson

Reviewed By: #kwin, #plasma, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18720
2019-02-04 22:47:18 +02:00
David Edmundson
f3c1786a89 [wayland] Send VirtualDesktop::done after editing a property
Summary:
The protocol is double buffered, after changing the name done should be
sent so that clients update.

Test Plan:
Changed a VD name on wayland
Pager tooltip updated

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18513
2019-01-25 10:33:24 +00:00
l10n daemon script
433a121838 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"
2019-01-25 08:42:24 +01:00
Vlad Zagorodniy
8fd0418187 Keep _NET_DESKTOP_NAMES in sync
Summary:
We have to connect to nameChanged even if m_rootInfo is not set yet,
otherwise names in _NET_DESKTOP_NAMES won't be kept in sync if
a virtual desktop is renamed.

CCBUG: 403307

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18503
2019-01-24 18:30:15 +02:00
l10n daemon script
45719a25db 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"
2019-01-24 08:34:15 +01:00
Alexander Volkov
5d63b9c05b Fix flickering with Qt 5.12
Summary:
Mesa requires XESetWireToEvent xlib callbacks to be called
when DRI2 is used. This is done by the GLX integration in
the Qt's xcb plugin, but Qt 5.12 initializes the GLX integration
only when required, e.g. when a window with OpenGL support is
created or when availability of OpenGL is checked.

So force initialization of the GLX integration by calling
QOpenGLContext::supportsThreadedOpenGL().

https://codereview.qt-project.org/#/c/6557/
https://bugzilla.opensuse.org/show_bug.cgi?id=1120090

Reviewers: #kwin, graesslin

Reviewed By: #kwin, graesslin

Subscribers: davidedmundson, graesslin, fvogt, filipf, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18366
2019-01-22 22:37:53 +03:00
Vlad Zagorodniy
7477a411ae Fix "context objects" in VirtualDesktopManager::setVirtualDesktopManagement
Summary: Just to make "lifetimes" more cleaner.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18374
2019-01-21 20:08:38 +02:00
Vlad Zagorodniy
47e9e52df3 Set desktop name "atomically" when using the plasma virtual desktop protocol
Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18373
2019-01-21 20:08:28 +02:00
Vlad Zagorodniy
bae21154ea Generate desktop ids without curly braces
Summary: We depend on Qt 5.11, thus we can address the TODO item.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18355
2019-01-21 20:08:17 +02:00
Vlad Zagorodniy
737bb2ec86 Make sure that new virtual desktops can be activated by using plasma virtual desktop protocol
Summary:
We need to connect to PlasmaVirtualDesktopInterface::activateRequested
when a virtual desktop is created, otherwise one won't be able to
activate the desktop by using the pager.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18342
2019-01-21 20:08:06 +02:00
Vlad Zagorodniy
7274aed544 Fix VirtualDesktopManager::createVirtualDesktop
Summary:
Currently, there are several issues with
VirtualDesktopManager::createVirtualDesktop:

(a) The method expects the number parameter to be in range [1, count + 1],
    but we pass [0, count];
(b) It doesn't correctly update X11 desktop numbers.

This change tries to address all previously mentioned issues.

BUG: 403312
FIXED-IN: 5.15.0

Test Plan: No longer able to reproduce bug 403312.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, hein, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18328
2019-01-21 20:07:55 +02:00
Vlad Zagorodniy
fbb30bb863 Delete names of removed desktops from kwinrc
Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18372
2019-01-18 23:50:18 +02:00
Vlad Zagorodniy
253f954e31 [scenes/opengl] Destroy the lanczos filter when the backend is still alive
Summary:
Currently, when the lanczos filter attempts to release acquired resources,
the backend is already gone. To fix that we have to destroy the filter
together with SceneOpenGL2. At that moment the backend is still alive.

BUG: 403370
FIXED-IN: 5.15.0

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18367
2019-01-18 21:41:48 +02:00
Heiko Becker
79eeea6b58 [build] Search for kirigami as a runtime dependency
Test Plan: cmake lists kirigami as a found dependency

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18359
2019-01-18 14:48:08 +01:00
Vlad Zagorodniy
204a05fef8 Compile the virtual backend with older Mesa
Summary:
BUG: 403326
FIXED-IN: 5.15.0

Test Plan: N/A

Reviewers: #kwin, fvogt, davidedmundson

Reviewed By: #kwin, fvogt, davidedmundson

Subscribers: kwin, fvogt

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18353
2019-01-18 15:45:13 +02:00
David Edmundson
e0071910f2 Fix DesktopGrid drag on X11
Summary:
EffectsAPI explicitly says:
"On X11, the window will end up on the last window in the list" and
DesktopGrid reliaed on that.

Using the last makes sense as it means the
enterDesktop method will work for both.

Somehow in the refactors AbstractClient ended up doing the opposite.

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18339
2019-01-17 23:43:11 +00:00
Jonathan Riddell
c308565424 Update version number for 5.14.90
GIT_SILENT
2019-01-17 10:51:25 +00:00
Jonathan Riddell
05109e4b39 bump KF5 dependency to required 5.54 as agreed at start of Plasma 5.15 cycle 2019-01-17 10:42:27 +00:00
David Edmundson
e6b5903fff [kcmkwin/kwindesktop] Remove pointless layout container
Summary:
ColumnLayout only contains one item so is rather pointless, but more
importantly prevents size hints from the formLayout propogating up to
the ScrollViewKCM.

Test Plan: Opened KCM

Reviewers: #kwin, broulik

Reviewed By: broulik

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18297
2019-01-16 15:16:40 +00:00
Marco Martin
f95a9618a7 take the name of the VirtualDesktop instance
the name of the PlasmaVirtualDesktopInterface must be taken from
the VirtualDesktop instance, not from itself

BUG:403145
2019-01-16 11:28:35 +01:00
Marco Martin
23dc03f734 support decorations from lookandfeel
Summary:
the Lookand Feel kcm already applies decorations to kwin, allow to
read them as defaults for the case of distribution customization
where a different lnf with a different deco is wanted

Test Plan: tested to start kwin with a different lnf which loads an aurorae decoration

Reviewers: #plasma, #kwin, davidedmundson

Reviewed By: #plasma, #kwin, davidedmundson

Subscribers: davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18261
2019-01-16 10:40:54 +01:00
l10n daemon script
64658c9d37 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"
2019-01-16 09:09:19 +01:00
David Edmundson
7c15bc7765 [kcmkwin/kwindesktop] Fix error in desktop layout indicator initial state
Summary:
kcm.osdTextOnly is the inverse of "show desktop layout indicators"

The save was inversed, the load was not.

Also port from onCheckedChanged to onToggled as that's emitted only on
user changes and not on binding re-evaluation.

BUG: 403150

Test Plan:
Toggled it
Reopened KCM
Checked kwinrc

Reviewers: #kwin, ngraham

Reviewed By: ngraham

Subscribers: ngraham, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18272
2019-01-15 21:52:28 +00:00
Vlad Zagorodniy
de04d362da [kcmkwin/rules] Return absolute path of decoration color scheme
Summary:
We need to return the absolute path instead of base name so decoColorToCombo
can return the correct index.

Test Plan:
* Go to System Settings > Window Management > Window Rules;
* Create a new rule for Konsole to force the Oxygen color scheme,
  close the dialog, and click the Apply button;
* Open the rules dialog (you don't have to modify anything), click OK button, then Apply button.

Without this patch, Breeze color scheme will be forced after the
last step.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: graesslin, broulik, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D17655
2019-01-14 22:05:04 +02:00
David Edmundson
2df9d22a08 Add high DPI support to internal KWin windows
Summary:
So far we didn't try to do high DPI on kwin internal windows, such as
the user context menu and tab bars and whatever.

Due to wayland scaling they were the correct phyiscal size but upscaled.
This patch fixes our QPA to enable Qt's high-dpi support.

BUG: 402853

Note icons are still low res. This is because the global
QGuiApplication::devicePixelRatio which is the max of all connected
screens is static for the duration of the app. QIcon uses this when
determining the DPR to use. This will require a Qt change.

Test Plan:
Ran at 2x on my normal DPI screen (as that's easier to see anything)
* User action menu is high DPI
* Window deco tooltips are still fine
* Tab switcher is high DPI
* Overlay in present windows Desktop grid are still ok

Reviewers: #kwin

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18042
2019-01-14 13:59:05 +00:00
l10n daemon script
b7f6e57eff 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"
2019-01-14 05:39:00 +01:00
Yuri Chornoivan
d08950feea Fix minor Doxygen issues 2019-01-13 09:22:11 +02:00
Vlad Zagorodniy
7934c03ac2 Drop Phase2Data constructors
Summary:
We initialize all fields of Phase2Data at once, so the constructors seem
to be redundant.

Reviewers: #kwin, graesslin

Reviewed By: #kwin, graesslin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18207
2019-01-12 16:31:38 +02:00