--kpress("I", "ioncore.goto_activity()"),
bdoc("Clear all tags."),
- kpress("T", "ioncore.clear_tags()"),
+ kpress("T", "ioncore.tagged_clear()"),
}),
bdoc("Go to n:th screen on multihead setup."),
kpress(META.."F9", "ioncore.create_ws(_)"),
bdoc("Display the main menu."),
- kpress(ALTMETA.."F12", "mod_query.query_menu(_, 'mainmenu', 'Main menu:')"),
+ kpress(ALTMETA.."F12", "mod_query.query_menu(_, _sub, 'mainmenu', 'Main menu:')"),
--kpress(ALTMETA.."F12", "mod_menu.menu(_, _sub, 'mainmenu', {big=true})"),
mpress("Button3", "mod_menu.pmenu(_, _sub, 'mainmenu')"),
bdoc("Query for a client window to go to."),
kpress(META.."G", "mod_query.query_gotoclient(_)"),
- bdoc("Query for a client window to attach."),
- kpress(META.."A", "mod_query.query_attachclient(_)"),
-
bdoc("Display context menu."),
--kpress(META.."M", "mod_menu.menu(_, _sub, 'ctxmenu')"),
- kpress(META.."M", "mod_query.query_menu(_, 'ctxmenu', 'Context menu:')"),
-
+ kpress(META.."M", "mod_query.query_menu(_, _sub, 'ctxmenu', 'Context menu:')"),
})
-- Frames for transient windows ignore this bindmap
defbindings("WFrame.toplevel", {
- bdoc("Tag current object within the frame."),
- kpress(META.."T", "WRegion.set_tagged(_sub, 'toggle')", "_sub:non-nil"),
+ bdoc("Query for a client window to attach."),
+ kpress(META.."A", "mod_query.query_attachclient(_)"),
submap(META.."K", {
+ -- Display tab numbers when modifiers are released
+ submap_wait("ioncore.tabnum.show(_)"),
+
bdoc("Switch to n:th object within the frame."),
kpress("1", "WFrame.switch_nth(_, 0)"),
kpress("2", "WFrame.switch_nth(_, 1)"),
kpress("V", "WFrame.maximize_vert(_)"),
bdoc("Attach tagged objects to this frame."),
- kpress("A", "WFrame.attach_tagged(_)"),
+ kpress("A", "ioncore.tagged_attach(_)"),
}),
})
-- Main menu
defmenu("mainmenu", {
- submenu("Programs", "appmenu"),
+ menuentry("Run...", "mod_query.query_exec(_)"),
+ menuentry("Terminal", "ioncore.exec_on(_, XTERM or 'xterm')"),
menuentry("Lock screen", "ioncore.exec_on(_, 'xlock')"),
menuentry("Help", "mod_query.query_man(_)"),
menuentry("About Ion", "mod_query.show_about_ion(_)"),
})
--- Application menu
-defmenu("appmenu", {
- menuentry("XTerm", "ioncore.exec_on(_, 'xterm')"),
- menuentry("W3M", "ioncore.exec_on(_, ':w3m -v')"),
- menuentry("Rxvt", "ioncore.exec_on(_, 'rxvt')"),
- menuentry("Opera", "ioncore.exec_on(_, 'opera')"),
- menuentry("Links", "ioncore.exec_on(_, ':links')"),
- menuentry("Konqueror", "ioncore.exec_on(_, 'konqueror')"),
- menuentry("Dillo", "ioncore.exec_on(_, 'dillo')"),
- menuentry("Run...", "mod_query.query_exec(_)"),
-})
-
-
-- Session control menu
defmenu("sessionmenu", {
menuentry("Save", "ioncore.snapshot()"),
})
--- Context menu (frame/client window actions)
+-- Context menu (frame actions etc.)
defctxmenu("WFrame", "Frame", {
+ -- Note: this propagates the close to any subwindows; it does not
+ -- destroy the frame itself, unless empty. An entry to destroy tiled
+ -- frames is configured in cfg_tiling.lua.
menuentry("Close", "WRegion.rqclose_propagate(_, _sub)"),
- menuentry("Kill", "WClientWin.kill(_sub)",
- "_sub:WClientWin"),
- menuentry("De/reattach", "ioncore.detach(_sub, 'toggle')",
- "_sub:non-nil"),
- menuentry("Toggle tag", "WRegion.set_tagged(_sub, 'toggle')",
- "_sub:non-nil"),
- menuentry("Attach tagged", "WFrame.attach_tagged(_)"),
- menuentry("Clear tags", "ioncore.clear_tags()"),
- menuentry("Window info", "mod_query.show_tree(_, _sub)"),
+ -- Low-priority entries
+ menuentry("Attach tagged", "ioncore.tagged_attach(_)", { priority = 0 }),
+ menuentry("Clear tags", "ioncore.tagged_clear()", { priority = 0 }),
+ menuentry("Window info", "mod_query.show_tree(_, _sub)", { priority = 0 }),
+})
+
+
+-- Context menu for groups (workspaces, client windows)
+defctxmenu("WGroup", "Group", {
+ menuentry("Toggle tag", "WRegion.set_tagged(_, 'toggle')"),
+ menuentry("De/reattach", "ioncore.detach(_, 'toggle')"),
})
defctxmenu("WGroupWS", "Workspace", {
menuentry("Close", "WRegion.rqclose(_)"),
menuentry("Rename", "mod_query.query_renameworkspace(nil, _)"),
+ menuentry("Attach tagged", "ioncore.tagged_attach(_)"),
})
+
+-- Context menu for client windows
+defctxmenu("WClientWin", "Client window", {
+ menuentry("Kill", "WClientWin.kill(_)"),
+})