add feature to minimize windows in current layer
This commit is contained in:
parent
45743c6f42
commit
9cace1f2cb
4 changed files with 30 additions and 3 deletions
|
@ -1,5 +1,9 @@
|
||||||
(Format: Year/Month/Day)
|
(Format: Year/Month/Day)
|
||||||
Changes for 1.0rc3:
|
Changes for 1.0rc3:
|
||||||
|
*07/01/11:
|
||||||
|
* Added option to :Minimize key command to lower all windows in the same
|
||||||
|
layer as the focused window -- syntax is `:Minimize (layer)' (Mark)
|
||||||
|
FbCommandFactory.cc WorkspaceCmd.cc/hh
|
||||||
*07/01/08:
|
*07/01/08:
|
||||||
* Fix another 64-bit window property (Mark/Simon)
|
* Fix another 64-bit window property (Mark/Simon)
|
||||||
FbTk/FbWindow.cc
|
FbTk/FbWindow.cc
|
||||||
|
|
|
@ -233,9 +233,15 @@ FbTk::Command *FbCommandFactory::stringToCommand(const std::string &command,
|
||||||
//
|
//
|
||||||
else if (command == "fullscreen")
|
else if (command == "fullscreen")
|
||||||
return new FullscreenCmd();
|
return new FullscreenCmd();
|
||||||
else if (command == "minimizewindow" || command == "minimize" || command == "iconify")
|
else if (command == "minimizewindow" || command == "minimize" || command == "iconify") {
|
||||||
return new CurrentWindowCmd(&FluxboxWindow::iconify);
|
string cmd;
|
||||||
else if (command == "maximizewindow" || command == "maximize")
|
if (FbTk::StringUtil::getStringBetween(cmd, arguments.c_str() +
|
||||||
|
0, '(', ')', " \t\n", true)
|
||||||
|
&& cmd == "layer")
|
||||||
|
return new MinimizeLayerCmd();
|
||||||
|
else
|
||||||
|
return new CurrentWindowCmd(&FluxboxWindow::iconify);
|
||||||
|
} else if (command == "maximizewindow" || command == "maximize")
|
||||||
return new CurrentWindowCmd(&FluxboxWindow::maximizeFull);
|
return new CurrentWindowCmd(&FluxboxWindow::maximizeFull);
|
||||||
else if (command == "maximizevertical")
|
else if (command == "maximizevertical")
|
||||||
return new CurrentWindowCmd(&FluxboxWindow::maximizeVertical);
|
return new CurrentWindowCmd(&FluxboxWindow::maximizeVertical);
|
||||||
|
|
|
@ -255,6 +255,19 @@ void ShowDesktopCmd::execute() {
|
||||||
std::mem_fun(&FluxboxWindow::iconify));
|
std::mem_fun(&FluxboxWindow::iconify));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MinimizeLayerCmd::execute() {
|
||||||
|
FluxboxWindow *win = FocusControl::focusedFbWindow();
|
||||||
|
if (!win)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Workspace::Windows windows(win->screen().currentWorkspace()->windowList());
|
||||||
|
Workspace::Windows::iterator it = windows.begin(), it_end = windows.end();
|
||||||
|
for (; it != it_end; ++it) {
|
||||||
|
if (win->layerNum() == (*it)->layerNum())
|
||||||
|
(*it)->iconify();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void CloseAllWindowsCmd::execute() {
|
void CloseAllWindowsCmd::execute() {
|
||||||
BScreen *screen = Fluxbox::instance()->mouseScreen();
|
BScreen *screen = Fluxbox::instance()->mouseScreen();
|
||||||
if (screen == 0)
|
if (screen == 0)
|
||||||
|
|
|
@ -104,6 +104,10 @@ public:
|
||||||
void execute();
|
void execute();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class MinimizeLayerCmd: public FbTk::Command {
|
||||||
|
public:
|
||||||
|
void execute();
|
||||||
|
};
|
||||||
|
|
||||||
class CloseAllWindowsCmd: public FbTk::Command {
|
class CloseAllWindowsCmd: public FbTk::Command {
|
||||||
public:
|
public:
|
||||||
|
|
Loading…
Reference in a new issue