diff --git a/options.cpp b/options.cpp index 515ff45574..d6ad32b9ca 100644 --- a/options.cpp +++ b/options.cpp @@ -236,6 +236,12 @@ Options::WindowOperation Options::windowOperation(const QString &name){ return ShadeOp; else if (name == "Operations") return OperationsOp; + else if (name == "Maximize (vertical only)") + return VMaximizeOp; + else if (name == "Maximize (horizontal only)") + return HMaximizeOp; + else if (name == "Lower") + return LowerOp; return NoOp; } diff --git a/options.h b/options.h index 75bdadd7b5..70aa98a688 100644 --- a/options.h +++ b/options.h @@ -213,6 +213,9 @@ public: StaysOnTopOp, OperationsOp, ToggleStoreSettingsOp, + HMaximizeOp, + VMaximizeOp, + LowerOp, NoOp }; diff --git a/workspace.cpp b/workspace.cpp index 8b6c1fe131..72b040eb4d 100644 --- a/workspace.cpp +++ b/workspace.cpp @@ -1294,6 +1294,15 @@ void Workspace::performWindowOperation( Client* c, Options::WindowOperation op ) case Options::ToggleStoreSettingsOp: c->setStoreSettings( !c->storeSettings() ); break; + case Options::HMaximizeOp: + c->maximize(Client::MaximizeHorizontal); + break; + case Options::VMaximizeOp: + c->maximize(Client::MaximizeVertical); + break; + case Options::LowerOp: + lowerClient(c); + break; default: break; }