added SendToNextWorkspace and SendToPrevWorkspace, patch from Mathias Gumz
This commit is contained in:
parent
b566b0d970
commit
afb137c788
3 changed files with 40 additions and 3 deletions
|
@ -20,7 +20,7 @@
|
|||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
// DEALINGS IN THE SOFTWARE.
|
||||
|
||||
// $Id: CurrentWindowCmd.cc,v 1.8 2003/10/26 12:36:55 fluxgen Exp $
|
||||
// $Id: CurrentWindowCmd.cc,v 1.9 2004/02/20 19:40:31 fluxgen Exp $
|
||||
|
||||
#include "CurrentWindowCmd.hh"
|
||||
|
||||
|
@ -47,6 +47,19 @@ void SendToWorkspaceCmd::real_execute() {
|
|||
fbwindow().screen().sendToWorkspace(m_workspace_num, &fbwindow());
|
||||
}
|
||||
|
||||
void SendToNextWorkspaceCmd::real_execute() {
|
||||
unsigned int workspace_num=
|
||||
( fbwindow().screen().currentWorkspaceID() + m_workspace_num ) %
|
||||
fbwindow().screen().getNumberOfWorkspaces();
|
||||
fbwindow().screen().sendToWorkspace(workspace_num, &fbwindow());
|
||||
}
|
||||
|
||||
void SendToPrevWorkspaceCmd::real_execute() {
|
||||
int workspace_num= fbwindow().screen().currentWorkspaceID() - m_workspace_num;
|
||||
if ( workspace_num < 0 ) workspace_num+= fbwindow().screen().getNumberOfWorkspaces();
|
||||
fbwindow().screen().sendToWorkspace(workspace_num, &fbwindow());
|
||||
}
|
||||
|
||||
void WindowHelperCmd::execute() {
|
||||
WinClient *client = Fluxbox::instance()->getFocusedWindow();
|
||||
if (client && client->fbwindow()) // guarantee that fbwindow() exists too
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
// DEALINGS IN THE SOFTWARE.
|
||||
|
||||
// $Id: CurrentWindowCmd.hh,v 1.6 2003/10/25 22:11:22 fluxgen Exp $
|
||||
// $Id: CurrentWindowCmd.hh,v 1.7 2004/02/20 19:40:31 fluxgen Exp $
|
||||
|
||||
#ifndef CURRENTWINDOWCMD_HH
|
||||
#define CURRENTWINDOWCMD_HH
|
||||
|
@ -69,6 +69,24 @@ private:
|
|||
const int m_workspace_num;
|
||||
};
|
||||
|
||||
class SendToNextWorkspaceCmd: public WindowHelperCmd {
|
||||
public:
|
||||
explicit SendToNextWorkspaceCmd(int workspace_num):m_workspace_num(workspace_num) { }
|
||||
protected:
|
||||
void real_execute();
|
||||
private:
|
||||
const int m_workspace_num;
|
||||
};
|
||||
|
||||
class SendToPrevWorkspaceCmd: public WindowHelperCmd {
|
||||
public:
|
||||
explicit SendToPrevWorkspaceCmd(int workspace_num):m_workspace_num(workspace_num) { }
|
||||
protected:
|
||||
void real_execute();
|
||||
private:
|
||||
const int m_workspace_num;
|
||||
};
|
||||
|
||||
// move cmd, relative position
|
||||
class MoveCmd: public WindowHelperCmd {
|
||||
public:
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
// DEALINGS IN THE SOFTWARE.
|
||||
|
||||
// $Id: FbCommandFactory.cc,v 1.26 2004/01/21 14:11:42 fluxgen Exp $
|
||||
// $Id: FbCommandFactory.cc,v 1.27 2004/02/20 19:40:31 fluxgen Exp $
|
||||
|
||||
#include "FbCommandFactory.hh"
|
||||
|
||||
|
@ -108,6 +108,8 @@ FbCommandFactory::FbCommandFactory() {
|
|||
"rootmenu",
|
||||
"saverc",
|
||||
"sendtoworkspace",
|
||||
"sendtonextworkspace",
|
||||
"sendtoprevworkspace",
|
||||
"setstyle",
|
||||
"setworkspacename",
|
||||
"setworkspacenamedialog",
|
||||
|
@ -235,6 +237,10 @@ FbTk::Command *FbCommandFactory::stringToCommand(const std::string &command,
|
|||
return new CurrentWindowCmd(&FluxboxWindow::toggleDecoration);
|
||||
else if (command == "sendtoworkspace")
|
||||
return new SendToWorkspaceCmd(atoi(arguments.c_str()) - 1); // make 1-indexed to user
|
||||
else if (command == "sendtonextworkspace")
|
||||
return new SendToNextWorkspaceCmd(atoi(arguments.c_str()));
|
||||
else if (command == "sendtoprevworkspace")
|
||||
return new SendToPrevWorkspaceCmd(atoi(arguments.c_str()));
|
||||
else if (command == "killwindow")
|
||||
return new KillWindowCmd();
|
||||
else if (command == "nexttab")
|
||||
|
|
Loading…
Reference in a new issue