diff options
Diffstat (limited to 'manager.cpp')
-rw-r--r-- | manager.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/manager.cpp b/manager.cpp index fdc7641..0bdd0a4 100644 --- a/manager.cpp +++ b/manager.cpp @@ -50,6 +50,18 @@ void Manager::receive(const Command &cmd){ buffers.erase(buffers.begin()+activeIdx); if(activeIdx>0)activeIdx--; if(buffers.size()==0)buffers.push_back(new Buffer(this)); + } else if(cmd[0]=="cycle_tabs"){ + if(activeIdx==-1){ + receive({"error","No buffers open!"}); + return; + } + activeIdx=(activeIdx+1)%buffers.size(); + } else if(cmd[0]=="cycle_tabs_back"){ + if(activeIdx==-1){ + receive({"error","No buffers open!"}); + return; + } + activeIdx=(activeIdx+buffers.size()-1)%buffers.size(); } else if(cmd[0]=="error"||cmd[0]=="info"){ if(!have_screen)return; bool isError=cmd[0]=="error"; |