diff options
author | tomsmeding <tom.smeding@gmail.com> | 2017-01-14 21:41:42 +0100 |
---|---|---|
committer | tomsmeding <tom.smeding@gmail.com> | 2017-01-14 21:41:42 +0100 |
commit | 2559a5d6d3df07f5d673f376f4a153edc7a16e5f (patch) | |
tree | 86835b8fe8e81b0d09a7be96fc5497c43dcdc086 /manager.cpp | |
parent | 0beb9b90c15ef56bffca6a2d55ca6ccffca30264 (diff) |
Cycle tabs with alt-(shift-)tab
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"; |