Martin Gräßlin
25e3af5988
Implement keepAbove and keepBelow in AbstractClient
...
Moves the properties and the base implementation into AbstractClient.
Methods invoke a new protected virtual method which is implemented in
Client to update the TabGroup.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
b84118a51b
Workspace::updateClientLayer operates on AbstractClient
...
Requires a virtual updateLayer in AbstractClient. Default implementation
does nothing.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
7d51838efc
Implement AbstractClient::isActive and ::setActive
...
Moves the implmentation to AbstractClient. Methods are no longer virtual,
setActive calls a virtual protected method which is implemented in Client
for Client specific activation code.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
3527f1d4b8
Implement AbstractClient::icon
...
Moves implementation, adds a protected setter and provides the property.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
2f59f3e8b4
Move property closeable to AbstractClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
4d466f9ab3
Implement AbstractClient::skipSwitcher
...
Moves implementation from Client to AbstractClient.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
3182c8f3e5
Implement AbstractClient::isFirstInTabBox
...
Moves implementation from Client to AbstractClient. Setter is protected,
getter is no longer virtual.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
4ac4a97c20
Implement AbstractClient::tabBoxClient
...
Moves the implementation from Client to AbstractClient.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
ab4e798837
Remove no longer needed casts from TabBox::establish/removeTabBoxGrab
2015-05-08 12:43:46 +02:00
Martin Gräßlin
1e7a28033b
Drop no longer needed dynamic_cast in Workspace::performWindowOperation
2015-05-08 12:43:46 +02:00
Martin Gräßlin
7a74413712
Drop dynamic_cast from UserActionsMenu::slotSendToDesktop
2015-05-08 12:43:46 +02:00
Martin Gräßlin
d4f7445749
Remove remaining Client usage from FocusChain
2015-05-08 12:43:46 +02:00
Martin Gräßlin
704b255234
Drop no longer needed dynamic_casts from TabBox
2015-05-08 12:43:46 +02:00
Martin Gräßlin
7d5236cac8
TabBox::shadeActivate operates on AbstractClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
9457b362c1
Drop not needed dynamic cast in WorkspaceWrapper::setActiveClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
fe8946740c
Remove no longer cast in Workspace::allowClientActivation
2015-05-08 12:43:46 +02:00
Martin Gräßlin
41cd927bce
Move Workspace::activeClient and ::mostRecentlyActivatedClient back to header
...
Now all is moved they can be inlined again.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
fdcaf2b86f
Make Workspace::active_client an AbstractClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
69f198e923
Move ::demandAttention to AbstractClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
af48d38d22
Workspace::should_get_focus becomes QList<AbstractClient*>
2015-05-08 12:43:46 +02:00
Martin Gräßlin
94ce47ef7b
Workspace::mostRecentlyActivatedClient returns an AbstractClient
...
Implementation temporarily moved to cpp. Needs to be moved back once
should_get_focus and active_client are AbstractClient.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
b1026aa162
Workspace::allowFullClientRaising operates on AbstractCliet
2015-05-08 12:43:46 +02:00
Martin Gräßlin
1d7d1787a8
Workspace::last_active_client becomes an AbstractClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
f28d759352
Workspace::allowClientActivation operates on AbstractClient
...
Still requires a dynamic_cast for check on should_get_focus. To be
removed once Workspace::should_get_focus is a list of AbstractClients.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
dde1947461
Move ::userTime to AbstractClient
...
Default implementation returns 0.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
1a7e8aeaf2
Move enum QuickTileFlag and ::setQuickTileMode to AbstractClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
5b53d2401e
Move ::packTo to AbstractClient
...
Base implementation which does nothing
2015-05-08 12:43:46 +02:00
Martin Gräßlin
683fc0613f
Workspace::packPosition* operates on AbstractClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
7a85ee5309
Make helper method isIrrelevant operate on AbstractClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
7ffc742a69
Move ::isCurrentTab to AbstractClient
...
Default implementation returns true.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
6feb1c6604
Move ::titlebarPosition and enum Position to AbstractClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
e5734f9e6c
Move (grow|shrink)(Horizontal|Vertical) to AbstractClient
...
A virtual base implementation is provided which does nothing. Needed
in AbstractClient to get Workspace::slotWindowGrow* to work with
active_client becoming an AbstractCliet.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
138c1b2ff0
Workspace::sendClientToDesktop operates on AbstractClient
...
Unfortunately transient handling is still on Client, thus it's
still in a cast-if block.
2015-05-08 12:43:45 +02:00
Martin Gräßlin
4f1c98773e
Workspace::showWindowMenu operates on AbstractClient
2015-05-08 12:43:45 +02:00
Martin Gräßlin
c357ac01fe
Workspace::restackClientUnderActive operates on AbstractClient
2015-05-08 12:43:45 +02:00
Martin Gräßlin
ddcd4dab59
Workspace::slotWindowTo(Previous|Next)Desktop operates on AbstractClient
2015-05-08 12:43:45 +02:00
Martin Gräßlin
1d4701d67e
Workspace::takeActivity operates on AbstractClient
2015-05-08 12:43:45 +02:00
Martin Gräßlin
484f9b6e65
Workspace::activateClient and ::requestFocus changed to AbstractClient
...
requestFocus delegates to takeActivity which is not yet adjusted but
performs a nullptr check, thus we pass a casted Client.
2015-05-08 12:43:45 +02:00
Martin Gräßlin
8cfe0a9316
Workspace::clientActivated signal changed to AbstractClient
...
connections changed to new connect syntax to ensure they are correct.
2015-05-08 12:43:45 +02:00
Martin Gräßlin
3ad117ac28
Workspace::activeClient returns an AbstractClient
...
Still a few casts in some areas as setting activeClient still takes
a Client.
2015-05-08 12:43:45 +02:00
Martin Gräßlin
4b41c33268
Workspace::movingClient changed to AbstractClient
...
In events.cpp it's casted to Client as it's X11 specific.
In InputRedirections it's kind of broken, but window movement is
anyway broken.
2015-05-08 12:43:45 +02:00
Martin Gräßlin
d2cdd3de1d
UserActionsMenu operates on AbstractClient
...
There are still a few areas where it's dynamic casting to Client,
e.g.:
* sendToDesktop
* window tabbing related
* activities related
2015-05-08 12:43:45 +02:00
Martin Gräßlin
4eb9a98f1a
[scripting] actionsForUserActionMenu operates on AbstractClient
2015-05-08 12:43:45 +02:00
Martin Gräßlin
519006ffa4
Workspace::performWindowOperation operates on AbstractClient
...
Only exception is the call to ::takeActivity which still expects a
Client.
2015-05-08 12:43:45 +02:00
Martin Gräßlin
bfb52b20c9
RuleBook::edit operates on AbstractClient
2015-05-08 12:43:45 +02:00
Martin Gräßlin
bfa4e1cec1
Workspace::cascadeOffset operates on AbstractClient
2015-05-08 12:43:45 +02:00
Martin Gräßlin
942b49e2c4
Workspace::setupWindowShortcut operates on AbstractClient
2015-05-08 12:43:45 +02:00
Martin Gräßlin
aa1e9161d5
Workspace::clientArea takes AbstractClient instead of Client
2015-05-08 12:43:44 +02:00
Martin Gräßlin
7c187359a7
Workspace::sendClientToScreen operates on AbstractClient
2015-05-08 12:43:44 +02:00
Martin Gräßlin
c46c92e204
Screens changed to use AbstractClient in ::setCurrent
2015-05-08 12:43:44 +02:00