summaryrefslogtreecommitdiffstats
path: root/notion/cfg_notioncore.lua
diff options
context:
space:
mode:
authorGravatar Tom Willemse2013-11-03 21:21:21 +0100
committerGravatar Tom Willemse2013-11-03 21:21:21 +0100
commit5c6cd059e8395d7f24d4b199e59c8c2f562dc438 (patch)
tree2e108e0724b5f5248de11c515312fa8c7c04ab4c /notion/cfg_notioncore.lua
parentcca8771d855a3c8ba67bcb43a45967d9e4b6dd15 (diff)
downloaddotfiles-5c6cd059e8395d7f24d4b199e59c8c2f562dc438.tar.gz
dotfiles-5c6cd059e8395d7f24d4b199e59c8c2f562dc438.zip
New stow hierarchy
Diffstat (limited to 'notion/cfg_notioncore.lua')
-rw-r--r--notion/cfg_notioncore.lua411
1 files changed, 0 insertions, 411 deletions
diff --git a/notion/cfg_notioncore.lua b/notion/cfg_notioncore.lua
deleted file mode 100644
index 2839409..0000000
--- a/notion/cfg_notioncore.lua
+++ /dev/null
@@ -1,411 +0,0 @@
---
--- Notion core configuration file
---
-
-function oni_match_class(class)
- local result = {}
- ioncore.clientwin_i(
- function (win)
- if class == win:get_ident().class then
- table.insert(result, win)
- return false
- end
- return true
- end
- )
- return result
-end
-
-function xsteve_run_byclass(prog, class)
- local win = oni_match_class(class)[1]
- if win then
- win:goto_()
- else
- ioncore.exec(prog)
- end
-end
-
---
--- Bindings. This includes global bindings and bindings common to
--- screens and all types of frames only. See modules' configuration
--- files for other bindings.
---
-
-
--- WScreen context bindings
---
--- The bindings in this context are available all the time.
---
--- The variable META should contain a string of the form 'Mod1+'
--- where Mod1 maybe replaced with the modifier you want to use for most
--- of the bindings. Similarly ALTMETA may be redefined to add a
--- modifier to some of the F-key bindings.
-
-defbindings("WScreen", {
- bdoc("Switch to n:th object (workspace, full screen client window) "..
- "within current screen."),
- kpress(META.."1", "WScreen.switch_nth(_, 0)"),
- kpress(META.."2", "WScreen.switch_nth(_, 1)"),
- kpress(META.."3", "WScreen.switch_nth(_, 2)"),
- kpress(META.."4", "WScreen.switch_nth(_, 3)"),
- kpress(META.."5", "WScreen.switch_nth(_, 4)"),
- kpress(META.."6", "WScreen.switch_nth(_, 5)"),
- kpress(META.."7", "WScreen.switch_nth(_, 6)"),
- kpress(META.."8", "WScreen.switch_nth(_, 7)"),
- kpress(META.."9", "WScreen.switch_nth(_, 8)"),
- kpress(META.."0", "WScreen.switch_nth(_, 9)"),
-
- bdoc("Switch to next/previous object within current screen."),
- kpress(META.."comma", "WScreen.switch_prev(_)"),
- kpress(META.."period", "WScreen.switch_next(_)"),
-
- submap(META.."K", {
- --bdoc("Go to previous active object."),
- --kpress("K", "ioncore.goto_previous()"),
-
- --bdoc("Go to first object on activity/urgency list."),
- --kpress("I", "ioncore.goto_activity()"),
-
- bdoc("Clear all tags."),
- kpress("T", "ioncore.tagged_clear()"),
- }),
-
- bdoc("Go to n:th screen on multihead setup."),
- kpress(META.."Shift+1", "ioncore.goto_nth_screen(0)"),
- kpress(META.."Shift+2", "ioncore.goto_nth_screen(1)"),
- kpress(META.."Shift+3", "ioncore.goto_nth_screen(2)"),
- kpress(META.."E", "ioncore.goto_nth_screen(2)"),
-
- bdoc("Go to next/previous screen on multihead setup."),
- kpress(META.."Shift+comma", "ioncore.goto_prev_screen()"),
- kpress(META.."I", "ioncore.goto_prev_screen()"),
-
- bdoc("Create a new workspace of chosen default type."),
- kpress(META.."F9", "ioncore.create_ws(_)"),
-
- bdoc("Display the main menu."),
- kpress(ALTMETA.."F12", "mod_menu.menu(_, _sub, 'mainmenu', {big=true})"),
- mpress("Button3", "mod_menu.pmenu(_, _sub, 'mainmenu')"),
-
- bdoc("Display the window list menu."),
- mpress("Button2", "mod_menu.pmenu(_, _sub, 'windowlist')"),
-
- submap(META.."K", {
- bdoc("Backward-circulate focus."),
- kpress("AnyModifier+Tab", "ioncore.goto_next(_chld, 'left')",
- "_chld:non-nil"),
-
- bdoc("Raise focused object, if possible."),
- kpress("AnyModifier+R", "WRegion.rqorder(_chld, 'front')",
- "_chld:non-nil"),
- }),
-
- bdoc("Start i3lock"),
- kpress("Mod1+Control+l", "ioncore.exec('i3lock -c 000000')"),
-
- submap("Control+Z", {
- kpress("B", "mod_menu.grabmenu(_, _sub, 'focuslist')"),
-
- bdoc("Forward-circulate focus."),
- -- '_chld' used here stands to for an actual child window that may not
- -- be managed by the screen itself, unlike '_sub', that is likely to be
- -- the managing group of that window. The right/left directions are
- -- used instead of next/prev, because they work better in conjunction
- -- with tilings.
- kpress("space", "ioncore.goto_next(_chld, 'right')", "_chld:non-nil"),
-
- kpress("O", "ioncore.goto_next_screen()"),
-
- kpress("E", "xsteve_run_byclass('emacsclient -ca emacs', 'Emacs')"),
- kpress("W", "xsteve_run_byclass('conkeror', 'Conkeror')"),
- kpress("C", "xsteve_run_byclass('urxvt', 'URxvt')"),
- }),
-})
-
-
--- Client window bindings
---
--- These bindings affect client windows directly.
-
-defbindings("WClientWin", {
- submap(META.."K", {
- bdoc("Nudge the client window. This might help with some "..
- "programs' resizing problems."),
- kpress_wait(META.."L", "WClientWin.nudge(_)"),
-
- bdoc("Kill client owning the client window."),
- kpress("C", "WClientWin.kill(_)"),
- }),
- submap("Control+Z", {
- bdoc("Send next key press to the client window. "..
- "Some programs may not allow this by default."),
- kpress("Q", "WClientWin.quote_next(_)"),
- }),
-})
-
-
--- Client window group bindings
-
-defbindings("WGroupCW", {
- bdoc("Toggle client window group full-screen mode"),
- kpress_wait(META.."Return", "WGroup.set_fullscreen(_, 'toggle')"),
-})
-
-
--- WMPlex context bindings
---
--- These bindings work in frames and on screens. The innermost of such
--- contexts/objects always gets to handle the key press.
-
-defbindings("WMPlex", {
- bdoc("Close current object."),
- kpress_wait(META.."C", "nil"),
-})
-
--- Frames for transient windows ignore this bindmap
-defbindings("WMPlex.toplevel", {
- bdoc("Toggle tag of current object."),
- kpress(META.."T", "WRegion.set_tagged(_sub, 'toggle')", "_sub:non-nil"),
-
- bdoc("Lock screen"),
- kpress(META.."L", "notioncore.exec_on(_, notioncore.lookup_script('notion-lock'))"),
-
- bdoc("Query for manual page to be displayed."),
- kpress(ALTMETA.."F1", "mod_query.query_man(_, ':man')"),
-
- bdoc("Show the Notion manual page."),
- kpress(META.."F1", "ioncore.exec_on(_, ':man notion')"),
-
- bdoc("Run a terminal emulator."),
- kpress(ALTMETA.."F2", "mod_query.exec_on_merr(_, XTERM or 'xterm')"),
-
- bdoc("Query for command line to execute."),
- kpress(ALTMETA.."F3", "mod_query.query_exec(_)"),
-
- bdoc("Query for Lua code to execute."),
- kpress(META.."F3", "mod_query.query_lua(_)"),
-
- bdoc("Query for host to connect to with SSH."),
- kpress(ALTMETA.."F4", "mod_query.query_ssh(_, ':ssh')"),
-
- bdoc("Query for workspace to go to or create a new one."),
- kpress(ALTMETA.."F9", "mod_query.query_workspace(_)"),
-
- bdoc("Query for a client window to go to."),
- kpress(META.."G", "mod_query.query_gotoclient(_)"),
-
- bdoc("Display context menu."),
- kpress(META.."M", "mod_menu.menu(_, _sub, 'ctxmenu')"),
-
- submap(META.."K", {
- bdoc("Detach (float) or reattach an object to its previous location."),
- -- By using _chld instead of _sub, we can detach/reattach queries
- -- attached to a group. The detach code checks if the parameter
- -- (_chld) is a group 'bottom' and detaches the whole group in that
- -- case.
- kpress("D", "ioncore.detach(_chld, 'toggle')", "_chld:non-nil"),
- }),
-})
-
-
--- WFrame context bindings
---
--- These bindings are common to all types of frames. Some additional
--- frame bindings are found in some modules' configuration files.
-
-defbindings("WFrame", {
- submap(META.."K", {
- bdoc("Maximize the frame horizontally/vertically."),
- kpress("H", "WFrame.maximize_horiz(_)"),
- kpress("V", "WFrame.maximize_vert(_)"),
- }),
-
- bdoc("Display context menu."),
- mpress("Button3", "mod_menu.pmenu(_, _sub, 'ctxmenu')"),
-
- bdoc("Begin move/resize mode."),
- kpress(META.."R", "WFrame.begin_kbresize(_)"),
-
- bdoc("Switch the frame to display the object indicated by the tab."),
- mclick("Button1@tab", "WFrame.p_switch_tab(_)"),
- mclick("Button2@tab", "WFrame.p_switch_tab(_)"),
-
- bdoc("Resize the frame."),
- mdrag("Button1@border", "WFrame.p_resize(_)"),
- mdrag(META.."Button3", "WFrame.p_resize(_)"),
-
- bdoc("Move the frame."),
- mdrag(META.."Button1", "WFrame.p_move(_)"),
-
- bdoc("Move objects between frames by dragging and dropping the tab."),
- mdrag("Button1@tab", "WFrame.p_tabdrag(_)"),
- mdrag("Button2@tab", "WFrame.p_tabdrag(_)"),
-
- bdoc("Switch to next/previous object within the frame."),
- mclick(META.."Button4", "WFrame.switch_next(_)"),
- mclick(META.."Button5", "WFrame.switch_prev(_)"),
-})
-
--- Frames for transient windows ignore this bindmap
-
-defbindings("WFrame.toplevel", {
- 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("3", "WFrame.switch_nth(_, 2)"),
- kpress("4", "WFrame.switch_nth(_, 3)"),
- kpress("5", "WFrame.switch_nth(_, 4)"),
- kpress("6", "WFrame.switch_nth(_, 5)"),
- kpress("7", "WFrame.switch_nth(_, 6)"),
- kpress("8", "WFrame.switch_nth(_, 7)"),
- kpress("9", "WFrame.switch_nth(_, 8)"),
- kpress("0", "WFrame.switch_nth(_, 9)"),
-
- bdoc("Move current object within the frame left/right."),
- kpress("comma", "WFrame.dec_index(_, _sub)", "_sub:non-nil"),
- kpress("period", "WFrame.inc_index(_, _sub)", "_sub:non-nil"),
-
- bdoc("Maximize the frame horizontally/vertically."),
- kpress("H", "WFrame.maximize_horiz(_)"),
- kpress("V", "WFrame.maximize_vert(_)"),
-
- bdoc("Attach tagged objects to this frame."),
- kpress("A", "ioncore.tagged_attach(_)"),
- }),
-
- submap("Control+Z", {
- bdoc("Switch to next object within the frame."),
- kpress("Z", "WFrame.switch_next(_)"),
- }),
-})
-
--- Bindings for floating frames.
-
-defbindings("WFrame.floating", {
- bdoc("Toggle shade mode"),
- mdblclick("Button1@tab", "WFrame.set_shaded(_, 'toggle')"),
-
- bdoc("Raise the frame."),
- mpress("Button1@tab", "WRegion.rqorder(_, 'front')"),
- mpress("Button1@border", "WRegion.rqorder(_, 'front')"),
- mclick(META.."Button1", "WRegion.rqorder(_, 'front')"),
-
- bdoc("Lower the frame."),
- mclick(META.."Button3", "WRegion.rqorder(_, 'back')"),
-
- bdoc("Move the frame."),
- mdrag("Button1@tab", "WFrame.p_move(_)"),
-})
-
-
--- WMoveresMode context bindings
---
--- These bindings are available keyboard move/resize mode. The mode
--- is activated on frames with the command begin_kbresize (bound to
--- META.."R" above by default).
-
-defbindings("WMoveresMode", {
- bdoc("Cancel the resize mode."),
- kpress("AnyModifier+Escape","WMoveresMode.cancel(_)"),
-
- bdoc("End the resize mode."),
- kpress("AnyModifier+Return","WMoveresMode.finish(_)"),
-
- bdoc("Grow in specified direction."),
- kpress("Left", "WMoveresMode.resize(_, 1, 0, 0, 0)"),
- kpress("Right", "WMoveresMode.resize(_, 0, 1, 0, 0)"),
- kpress("Up", "WMoveresMode.resize(_, 0, 0, 1, 0)"),
- kpress("Down", "WMoveresMode.resize(_, 0, 0, 0, 1)"),
- kpress("F", "WMoveresMode.resize(_, 1, 0, 0, 0)"),
- kpress("B", "WMoveresMode.resize(_, 0, 1, 0, 0)"),
- kpress("P", "WMoveresMode.resize(_, 0, 0, 1, 0)"),
- kpress("N", "WMoveresMode.resize(_, 0, 0, 0, 1)"),
-
- bdoc("Shrink in specified direction."),
- kpress("Shift+Left", "WMoveresMode.resize(_,-1, 0, 0, 0)"),
- kpress("Shift+Right", "WMoveresMode.resize(_, 0,-1, 0, 0)"),
- kpress("Shift+Up", "WMoveresMode.resize(_, 0, 0,-1, 0)"),
- kpress("Shift+Down", "WMoveresMode.resize(_, 0, 0, 0,-1)"),
- kpress("Shift+F", "WMoveresMode.resize(_,-1, 0, 0, 0)"),
- kpress("Shift+B", "WMoveresMode.resize(_, 0,-1, 0, 0)"),
- kpress("Shift+P", "WMoveresMode.resize(_, 0, 0,-1, 0)"),
- kpress("Shift+N", "WMoveresMode.resize(_, 0, 0, 0,-1)"),
-
- bdoc("Move in specified direction."),
- kpress(META.."Left", "WMoveresMode.move(_,-1, 0)"),
- kpress(META.."Right", "WMoveresMode.move(_, 1, 0)"),
- kpress(META.."Up", "WMoveresMode.move(_, 0,-1)"),
- kpress(META.."Down", "WMoveresMode.move(_, 0, 1)"),
- kpress(META.."F", "WMoveresMode.move(_,-1, 0)"),
- kpress(META.."B", "WMoveresMode.move(_, 1, 0)"),
- kpress(META.."P", "WMoveresMode.move(_, 0,-1)"),
- kpress(META.."N", "WMoveresMode.move(_, 0, 1)"),
-})
-
-
---
--- Menu definitions
---
-
-
--- Main menu
-defmenu("mainmenu", {
- menuentry("Run...", "mod_query.query_exec(_)"),
- menuentry("Terminal", "mod_query.exec_on_merr(_, XTERM or 'xterm')"),
- menuentry("Lock screen",
- "notioncore.exec_on(_, notioncore.lookup_script('notion-lock'))"),
- menuentry("Help", "mod_query.query_man(_)"),
- menuentry("About Notion", "mod_query.show_about_ion(_)"),
- submenu("Styles", "stylemenu"),
- submenu("Session", "sessionmenu"),
-})
-
-
--- Session control menu
-defmenu("sessionmenu", {
- menuentry("Save", "ioncore.snapshot()"),
- menuentry("Restart", "ioncore.restart()"),
- menuentry("Restart TWM", "ioncore.restart_other('twm')"),
- menuentry("Exit", "ioncore.shutdown()"),
-})
-
-
--- 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)"),
- -- 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')"),
-})
-
-
--- Context menu for workspaces
-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(_)"),
-})