diff options
Diffstat (limited to 'src/FbCommandFactory.cc')
-rw-r--r-- | src/FbCommandFactory.cc | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/FbCommandFactory.cc b/src/FbCommandFactory.cc index 6fe5e11..ece8c9e 100644 --- a/src/FbCommandFactory.cc +++ b/src/FbCommandFactory.cc | |||
@@ -233,9 +233,15 @@ FbTk::Command *FbCommandFactory::stringToCommand(const std::string &command, | |||
233 | // | 233 | // |
234 | else if (command == "fullscreen") | 234 | else if (command == "fullscreen") |
235 | return new FullscreenCmd(); | 235 | return new FullscreenCmd(); |
236 | else if (command == "minimizewindow" || command == "minimize" || command == "iconify") | 236 | else if (command == "minimizewindow" || command == "minimize" || command == "iconify") { |
237 | return new CurrentWindowCmd(&FluxboxWindow::iconify); | 237 | string cmd; |
238 | else if (command == "maximizewindow" || command == "maximize") | 238 | if (FbTk::StringUtil::getStringBetween(cmd, arguments.c_str() + |
239 | 0, '(', ')', " \t\n", true) | ||
240 | && cmd == "layer") | ||
241 | return new MinimizeLayerCmd(); | ||
242 | else | ||
243 | return new CurrentWindowCmd(&FluxboxWindow::iconify); | ||
244 | } else if (command == "maximizewindow" || command == "maximize") | ||
239 | return new CurrentWindowCmd(&FluxboxWindow::maximizeFull); | 245 | return new CurrentWindowCmd(&FluxboxWindow::maximizeFull); |
240 | else if (command == "maximizevertical") | 246 | else if (command == "maximizevertical") |
241 | return new CurrentWindowCmd(&FluxboxWindow::maximizeVertical); | 247 | return new CurrentWindowCmd(&FluxboxWindow::maximizeVertical); |