Rework ShellClient fullscreen control
Summary:
The ShellClient::setFullScreen method was a direct copy of the Client
version.
Straighten out the function logic now and align with modern coding style.
In short we check:
- what the manual override window rule wants,
- if there is a change at all with this,
- if such a change is possible.
And do:
- (un-)set the fullscreen,
- emit the changed signal.
Test Plan: Manually, autotests pass.
Reviewers: KWin
Subscribers: zzag, kwin
Tags: KWin
Maniphest Tasks: T11098
Differential Revision: https://phabricator.kde.org/D18132