]> git.llucax.com Git - personal/ion3-config.git/blob - default/cfg_tiling.lua
Initial import of my ion3 configuration files.
[personal/ion3-config.git] / default / cfg_tiling.lua
1 --
2 -- Ion tiling module configuration file
3 --
4
5 -- Bindings for the tilings.
6
7 defbindings("WTiling", {
8     bdoc("Split current frame vertically."),
9     kpress(META.."S", "WTiling.split_at(_, _sub, 'bottom', true)"),
10
11     bdoc("Go to frame above/below/right/left of current frame."),
12     kpress(META.."Up", "ioncore.goto_next(_sub, 'up', {no_ascend=_})"),
13     kpress(META.."Down", "ioncore.goto_next(_sub, 'down', {no_ascend=_})"),
14     kpress(META.."Control+Right", "ioncore.goto_next(_sub, 'right')"),
15     kpress(META.."Control+Left", "ioncore.goto_next(_sub, 'left')"),
16     submap(META.."K", {
17         kpress("Tab", "ioncore.goto_next(_sub, 'left')"),
18
19         bdoc("Split current frame horizontally."),
20         kpress("S", "WTiling.split_at(_, _sub, 'right', true)"),
21
22         bdoc("Destroy current frame."),
23         kpress("X", "WTiling.unsplit_at(_, _sub)"),
24     }),
25 })
26
27
28 -- Frame bindings
29
30 defbindings("WFrame.floating", {
31     submap(META.."K", {
32         bdoc("Tile frame, if no tiling exists on the workspace"),
33         kpress("B", "mod_tiling.mkbottom(_)"),
34     }),
35 })
36
37
38 -- Context menu for tiled workspaces.
39
40 defctxmenu("WTiling", "Tiling", {
41     menuentry("Destroy frame",
42               "WTiling.unsplit_at(_, _sub)"),
43
44     menuentry("Split vertically",
45               "WTiling.split_at(_, _sub, 'bottom', true)"),
46     menuentry("Split horizontally",
47               "WTiling.split_at(_, _sub, 'right', true)"),
48
49     menuentry("Flip", "WTiling.flip_at(_, _sub)"),
50     menuentry("Transpose", "WTiling.transpose_at(_, _sub)"),
51
52     menuentry("Untile", "mod_tiling.untile(_)"),
53
54     submenu("Float split", {
55         menuentry("At left",
56                   "WTiling.set_floating_at(_, _sub, 'toggle', 'left')"),
57         menuentry("At right",
58                   "WTiling.set_floating_at(_, _sub, 'toggle', 'right')"),
59         menuentry("Above",
60                   "WTiling.set_floating_at(_, _sub, 'toggle', 'up')"),
61         menuentry("Below",
62                   "WTiling.set_floating_at(_, _sub, 'toggle', 'down')"),
63     }),
64
65     submenu("At root", {
66         menuentry("Split vertically",
67                   "WTiling.split_top(_, 'bottom')"),
68         menuentry("Split horizontally",
69                   "WTiling.split_top(_, 'right')"),
70         menuentry("Flip", "WTiling.flip_at(_)"),
71         menuentry("Transpose", "WTiling.transpose_at(_)"),
72     }),
73 })
74
75
76 -- Extra context menu extra entries for floatframes.
77
78 defctxmenu("WFrame.floating", "Floating frame", {
79     append=true,
80     menuentry("New tiling", "mod_tiling.mkbottom(_)"),
81 })
82