-- -- Ion tiling module configuration file -- META="Mod4+" ALTMETA="" SUBMAP=META.."K" -- Bindings for the tilings. defbindings("WTiling", { submap(META.."K", { kpress("Tab", "ioncore.goto_next(_sub, 'left')"), }), bdoc("Horizontal split at current frame. (Ion's 'split vertically')"), kpress(META.."minus", "WTiling.split_at(_, _sub, 'bottom', false)"), bdoc("Vertical split at current frame. (Ion's 'split horizontally')"), kpress(META.."bar", "WTiling.split_at(_, _sub, 'right', false)"), bdoc("Horizontal split at root."), kpress(META.."Shift+minus", "WTiling.split_top(_, 'bottom')"), bdoc("Vertical split at root."), kpress(META.."Shift+bar", "WTiling.split_top(_, 'right')"), bdoc("Destroy current frame (i.e. unsplit)."), kpress(META.."0", "WTiling.unsplit_at(_, _sub)"), bdoc("Go to frame above/below/right/left of current frame."), kpress(META.."Up", "WTiling.goto_dir(_, 'above')"), kpress(META.."Down", "WTiling.goto_dir(_, 'below')"), kpress(META.."Right", "WTiling.goto_dir(_, 'right')"), kpress(META.."Left", "WTiling.goto_dir(_, 'left')"), submap(SUBMAP, { bdoc("Destroy current frame."), kpress("X", "WTiling.unsplit_at(_, _sub)"), submap("F", { kpress("Up", "WTiling.set_floating_at(_, _sub, 'toggle', 'up')"), kpress("T", "WTiling.set_floating_at(_, _sub, 'toggle', 'up')"), kpress("Down", "WTiling.set_floating_at(_, _sub, 'toggle', 'down')"), kpress("B", "WTiling.set_floating_at(_, _sub, 'toggle', 'down')"), kpress("Left", "WTiling.set_floating_at(_, _sub, 'toggle', 'left')"), kpress("L", "WTiling.set_floating_at(_, _sub, 'toggle', 'left')"), kpress("Right", "WTiling.set_floating_at(_, _sub, 'toggle', 'right')"), kpress("R", "WTiling.set_floating_at(_, _sub, 'toggle', 'right')"), }), submap("S", { kpress("Up", "WTiling.split_at(_, _sub, 'top', true)"), kpress("T", "WTiling.split_at(_, _sub, 'top', true)"), kpress("Down", "WTiling.split_at(_, _sub, 'bottom', true)"), kpress("B", "WTiling.split_at(_, _sub, 'bottom', true)"), kpress("Left", "WTiling.split_at(_, _sub, 'left', true)"), kpress("L", "WTiling.split_at(_, _sub, 'left', true)"), kpress("Right", "WTiling.split_at(_, _sub, 'right', true)"), kpress("R", "WTiling.split_at(_, _sub, 'right', true)"), }), }), }) -- Frame bindings defbindings("WFrame.floating", { submap(META.."K", { bdoc("Tile frame, if no tiling exists on the workspace"), kpress("B", "mod_tiling.mkbottom(_)"), }), }) -- Context menu for tiled workspaces. defctxmenu("WTiling", "Tiling", { menuentry("Destroy frame", "WTiling.unsplit_at(_, _sub)"), menuentry("Split vertically", "WTiling.split_at(_, _sub, 'bottom', true)"), menuentry("Split horizontally", "WTiling.split_at(_, _sub, 'right', true)"), menuentry("Flip", "WTiling.flip_at(_, _sub)"), menuentry("Transpose", "WTiling.transpose_at(_, _sub)"), menuentry("Untile", "mod_tiling.untile(_)"), submenu("Float split", { menuentry("At left", "WTiling.set_floating_at(_, _sub, 'toggle', 'left')"), menuentry("At right", "WTiling.set_floating_at(_, _sub, 'toggle', 'right')"), menuentry("Above", "WTiling.set_floating_at(_, _sub, 'toggle', 'up')"), menuentry("Below", "WTiling.set_floating_at(_, _sub, 'toggle', 'down')"), }), submenu("At root", { menuentry("Split vertically", "WTiling.split_top(_, 'bottom')"), menuentry("Split horizontally", "WTiling.split_top(_, 'right')"), menuentry("Flip", "WTiling.flip_at(_)"), menuentry("Transpose", "WTiling.transpose_at(_)"), }), }) -- Extra context menu extra entries for floatframes. defctxmenu("WFrame.floating", "Floating frame", { append=true, menuentry("New tiling", "mod_tiling.mkbottom(_)"), })