all repos — fluxbox @ 1cd19c941cf8041bdba3efac5b4fca0ae73f0b77

custom fork of the fluxbox windowmanager

added button2-on-workspacename in workspacemenu jumps to workspacadded
button2-on-workspacename in workspacemenu jumps to workspacee
akir akir
commit

1cd19c941cf8041bdba3efac5b4fca0ae73f0b77

parent

b470256cf6d2fac212c6f51e4daaca13037c00b5

1 files changed, 16 insertions(+), 3 deletions(-)

jump to
M src/WorkspaceMenu.ccsrc/WorkspaceMenu.cc

@@ -19,19 +19,22 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING

// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. -// $Id: WorkspaceMenu.cc,v 1.4 2004/06/08 13:15:30 rathnor Exp $ +// $Id: WorkspaceMenu.cc,v 1.5 2004/09/06 21:12:10 akir Exp $ #include "WorkspaceMenu.hh" #include "Screen.hh" #include "fluxbox.hh" #include "Workspace.hh" +#include "WorkspaceCmd.hh" #include "MenuCreator.hh" + #include "FbTk/I18n.hh" #include "FbTk/SimpleCommand.hh" #include "FbTk/RefCount.hh" #include "FbTk/MenuItem.hh" +#include "FbTk/MultiButtonMenuItem.hh" #include <typeinfo>

@@ -72,7 +75,12 @@ for (size_t workspace = 0; workspace < screen.getCount();

++workspace) { Workspace *wkspc = screen.getWorkspace(workspace); wkspc->menu().setInternalMenu(); - insert(wkspc->name().c_str(), &wkspc->menu(), numberOfItems() - 1); + FbTk::MultiButtonMenuItem* mb_menu = new FbTk::MultiButtonMenuItem(5, + wkspc->name().c_str(), + &wkspc->menu()); + FbTk::RefCount<FbTk::Command> jump_cmd(new JumpToWorkspaceCmd(wkspc->workspaceID())); + mb_menu->setCommand(2, jump_cmd); + insert(mb_menu); } FbTk::Menu::update(-1);

@@ -102,7 +110,12 @@ // for each workspace add workspace name and it's menu to our workspace menu

for (size_t workspace = 0; workspace < screen.getCount(); ++workspace) { Workspace *wkspc = screen.getWorkspace(workspace); wkspc->menu().setInternalMenu(); - insert(wkspc->name().c_str(), &wkspc->menu()); + FbTk::MultiButtonMenuItem* mb_menu = new FbTk::MultiButtonMenuItem(5, + wkspc->name().c_str(), + &wkspc->menu()); + FbTk::RefCount<FbTk::Command> jump_cmd(new JumpToWorkspaceCmd(wkspc->workspaceID())); + mb_menu->setCommand(2, jump_cmd); + insert(mb_menu); } setItemSelected(screen.currentWorkspace()->workspaceID() + 2, true);