2 -- Ion tiling module configuration file
5 -- Bindings for the tilings.
7 defbindings("WTiling", {
8 bdoc("Split current frame vertically."),
9 kpress(META.."S", "WTiling.split_at(_, _sub, 'bottom', true)"),
11 bdoc("Go to frame above/below/right/left of current frame."),
12 kpress(META.."P", "ioncore.goto_next(_sub, 'up', {no_ascend=_})"),
13 kpress(META.."N", "ioncore.goto_next(_sub, 'down', {no_ascend=_})"),
14 kpress(META.."Tab", "ioncore.goto_next(_sub, 'right')"),
16 kpress("Tab", "ioncore.goto_next(_sub, 'left')"),
18 bdoc("Split current frame horizontally."),
19 kpress("S", "WTiling.split_at(_, _sub, 'right', true)"),
21 bdoc("Destroy current frame."),
22 kpress("X", "WTiling.unsplit_at(_, _sub)"),
29 defbindings("WFrame.tiled", {
31 bdoc("Detach window from tiled frame"),
32 kpress("D", "mod_tiling.detach(_sub)", "_sub:non-nil"),
37 defbindings("WFrame.transient", {
39 bdoc("Detach transient frame"),
40 kpress("D", "mod_tiling.detach(_)", "_sub:non-nil"),
45 defbindings("WFrame.floating", {
47 bdoc("Tile frame, if no tiling exists on the workspace"),
48 kpress("B", "mod_tiling.mkbottom(_)"),
53 -- Context menu for tiled workspaces.
55 defctxmenu("WTiling", "Tiling", {
56 menuentry("Destroy frame",
57 "WTiling.unsplit_at(_, _sub)"),
59 menuentry("Split vertically",
60 "WTiling.split_at(_, _sub, 'bottom', true)"),
61 menuentry("Split horizontally",
62 "WTiling.split_at(_, _sub, 'right', true)"),
64 menuentry("Flip", "WTiling.flip_at(_, _sub)"),
65 menuentry("Transpose", "WTiling.transpose_at(_, _sub)"),
67 submenu("Float split", {
69 "WTiling.set_floating_at(_, _sub, 'toggle', 'left')"),
71 "WTiling.set_floating_at(_, _sub, 'toggle', 'right')"),
73 "WTiling.set_floating_at(_, _sub, 'toggle', 'up')"),
75 "WTiling.set_floating_at(_, _sub, 'toggle', 'down')"),
79 menuentry("Split vertically",
80 "WTiling.split_top(_, 'bottom')"),
81 menuentry("Split horizontally",
82 "WTiling.split_top(_, 'right')"),
83 menuentry("Flip", "WTiling.flip_at(_)"),
84 menuentry("Transpose", "WTiling.transpose_at(_)"),
89 -- Context menu entries for tiled frames.
91 defctxmenu("WFrame.tiled", "Tiled frame", {
92 menuentry("Detach window", "mod_tiling.detach(_sub)", "_sub:non-nil"),
96 -- Context menu entries for transient frames.
98 defctxmenu("WFrame.transient", "Transient frame", {
100 menuentry("Detach", "mod_tiling.detach(_)", "_sub:non-nil"),
104 -- Extra context menu extra entries for floatframes.
106 defctxmenu("WFrame.floating", "Floating frame", {
108 menuentry("New tiling", "mod_tiling.mkbottom(_)"),
112 -- Adjust default workspace layout
118 frame_style = "frame-tiled"
123 default_ws_params = {
124 -- Destroy workspace if the 'bottom' tiling is destroyed last
125 bottom_last_close = true,
131 -- The default is a single 1:1 horizontal split
133 type = "WSplitSplit",
140 -- For a single frame