chore(bindings) module + use argument constructors
This commit is contained in:
parent
5a741f2bc1
commit
f2b0f9708f
|
@ -0,0 +1,113 @@
|
|||
local akey = require "awful.key"
|
||||
local aclient = require "awful.client"
|
||||
|
||||
local utils = require "rc.configuration.bindings.utils"
|
||||
|
||||
local client_keybindings = {
|
||||
|
||||
akey {
|
||||
modifiers = { utils.mods.modkey },
|
||||
key = "f",
|
||||
description = "toggle fullscreen",
|
||||
group = utils.groups.client,
|
||||
on_press = function(client)
|
||||
client.fullscreen = not client.fullscreen
|
||||
client:raise()
|
||||
end,
|
||||
},
|
||||
|
||||
akey {
|
||||
modifiers = { utils.mods.modkey },
|
||||
key = "c",
|
||||
description = "close",
|
||||
group = utils.groups.client,
|
||||
on_press = function(client)
|
||||
client:kill()
|
||||
end,
|
||||
},
|
||||
|
||||
akey {
|
||||
modifiers = { utils.mods.modkey, utils.mods.control },
|
||||
key = "space",
|
||||
description = "toggle floating",
|
||||
group = utils.groups.client,
|
||||
on_press = aclient.floating.toggle,
|
||||
},
|
||||
|
||||
akey {
|
||||
modifiers = { utils.mods.modkey, utils.mods.control },
|
||||
key = "Return",
|
||||
description = "move to master",
|
||||
group = utils.groups.client,
|
||||
on_press = function(client)
|
||||
client:swap(aclient.getmaster())
|
||||
end,
|
||||
},
|
||||
|
||||
akey {
|
||||
modifiers = { utils.mods.modkey },
|
||||
key = "o",
|
||||
description = "move to screen",
|
||||
group = utils.groups.client,
|
||||
on_press = function(client)
|
||||
client:move_to_screen()
|
||||
end,
|
||||
},
|
||||
|
||||
akey {
|
||||
modifiers = { utils.mods.modkey },
|
||||
key = "t",
|
||||
description = "toggle keep on top",
|
||||
group = utils.groups.client,
|
||||
on_press = function(client)
|
||||
client.ontop = not client.ontop
|
||||
end,
|
||||
},
|
||||
|
||||
akey {
|
||||
modifiers = { utils.mods.modkey },
|
||||
key = "n",
|
||||
description = "minimize",
|
||||
group = utils.groups.client,
|
||||
on_press = function(client)
|
||||
-- The client currently has the input focus, so it cannot be
|
||||
-- minimized, since minimized clients can't have the focus.
|
||||
client.minimized = true
|
||||
end,
|
||||
},
|
||||
|
||||
akey {
|
||||
modifiers = { utils.mods.modkey },
|
||||
key = "m",
|
||||
description = "(un)maximize",
|
||||
group = utils.groups.client,
|
||||
on_press = function(client)
|
||||
client.maximized = not client.maximized
|
||||
client:raise()
|
||||
end,
|
||||
},
|
||||
|
||||
akey {
|
||||
modifiers = { utils.mods.modkey, utils.mods.control },
|
||||
key = "m",
|
||||
description = "(un)maximize vertically",
|
||||
group = utils.groups.client,
|
||||
on_press = function(client)
|
||||
client.maximized_vertical = not client.maximized_vertical
|
||||
client:raise()
|
||||
end,
|
||||
},
|
||||
|
||||
akey {
|
||||
modifiers = { utils.mods.modkey, utils.mods.shift },
|
||||
key = "m",
|
||||
description = "(un)maximize horizontally",
|
||||
group = utils.groups.client,
|
||||
on_press = function(client)
|
||||
client.maximized_horizontal = not client.maximized_horizontal
|
||||
client:raise()
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
return client_keybindings
|
|
@ -0,0 +1,39 @@
|
|||
local abutton = require "awful.button"
|
||||
|
||||
local utils = require "rc.configuration.bindings.utils"
|
||||
|
||||
local mousebindings = {
|
||||
abutton {
|
||||
modifiers = {},
|
||||
button = abutton.names.LEFT,
|
||||
on_press = function(client)
|
||||
client:activate {
|
||||
context = "mouse_click",
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
abutton {
|
||||
modifiers = { utils.mods.modkey },
|
||||
button = abutton.names.LEFT,
|
||||
on_press = function(client)
|
||||
client:activate {
|
||||
context = "mouse_click",
|
||||
action = "mouse_move",
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
abutton {
|
||||
modifiers = { utils.mods.modkey },
|
||||
button = abutton.names.RIGHT,
|
||||
on_press = function(client)
|
||||
client:activate {
|
||||
context = "mouse_click",
|
||||
action = "mouse_resize",
|
||||
}
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
return mousebindings
|
|
@ -13,73 +13,104 @@ local desktop_bar = require "rc.ui.desktop_decoration.bar"
|
|||
local hotkeys_popup = require "rc.ui.hotkeys_popup"
|
||||
local mymainmenu = require "rc.ui.menu.mymainmenu"
|
||||
|
||||
local utils = require "rc.configuration.bindings.utils"
|
||||
|
||||
local capi = {
|
||||
awesome = _G.awesome,
|
||||
client = _G.client,
|
||||
}
|
||||
|
||||
local control = "Control"
|
||||
local modkey = "Mod4"
|
||||
local shift = "Shift"
|
||||
|
||||
local global_keybindings = {
|
||||
akey({ modkey }, "s", function()
|
||||
hotkeys_popup.show_help()
|
||||
end, {
|
||||
|
||||
-- Awesome
|
||||
|
||||
akey {
|
||||
modifiers = { utils.mods.modkey },
|
||||
key = "s",
|
||||
description = "show help",
|
||||
group = "awesome",
|
||||
}),
|
||||
akey({ modkey }, "w", function()
|
||||
mymainmenu():show()
|
||||
end, {
|
||||
group = utils.groups.awesome,
|
||||
on_press = function()
|
||||
hotkeys_popup.show_help()
|
||||
end,
|
||||
},
|
||||
|
||||
akey {
|
||||
modifiers = { utils.mods.modkey },
|
||||
key = "w",
|
||||
description = "show main menu",
|
||||
group = "awesome",
|
||||
}),
|
||||
akey(
|
||||
{ modkey, control },
|
||||
"r",
|
||||
capi.awesome.restart,
|
||||
{ description = "reload awesome", group = "awesome" }
|
||||
),
|
||||
akey(
|
||||
{ modkey, shift },
|
||||
"q",
|
||||
capi.awesome.quit,
|
||||
{ description = "quit awesome", group = "awesome" }
|
||||
),
|
||||
akey({ modkey }, "x", function()
|
||||
aprompt.run {
|
||||
prompt = "Run Lua code: ",
|
||||
textbox = desktop_bar(ascreen.focused()).promptbox.widget,
|
||||
exe_callback = autil.eval,
|
||||
history_path = autil.get_cache_dir() .. "/history_eval",
|
||||
}
|
||||
end, {
|
||||
group = utils.groups.awesome,
|
||||
on_press = function()
|
||||
mymainmenu():show()
|
||||
end,
|
||||
},
|
||||
|
||||
akey {
|
||||
modifiers = { utils.mods.modkey, utils.mods.control },
|
||||
key = "r",
|
||||
description = "reload awesome",
|
||||
group = utils.groups.awesome,
|
||||
on_press = capi.awesome.restart,
|
||||
},
|
||||
|
||||
akey {
|
||||
modifiers = { utils.mods.modkey, utils.mods.shift },
|
||||
key = "q",
|
||||
description = "quit awesome",
|
||||
group = utils.groups.awesome,
|
||||
on_press = capi.awesome.quit,
|
||||
},
|
||||
|
||||
akey {
|
||||
modifiers = { utils.mods.modkey },
|
||||
key = "x",
|
||||
description = "lua execute prompt",
|
||||
group = "awesome",
|
||||
}),
|
||||
akey({ modkey }, "Return", function()
|
||||
aspawn(applications.open_terminal())
|
||||
end, {
|
||||
group = utils.groups.awesome,
|
||||
on_press = function()
|
||||
aprompt.run {
|
||||
prompt = "Run Lua code: ",
|
||||
textbox = desktop_bar(ascreen.focused()).promptbox.widget,
|
||||
exe_callback = autil.eval,
|
||||
history_path = autil.get_cache_dir() .. "/history_eval",
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
-- Launcher
|
||||
|
||||
akey {
|
||||
modifiers = { utils.mods.modkey },
|
||||
key = "Return",
|
||||
description = "open a terminal",
|
||||
group = "launcher",
|
||||
}),
|
||||
akey({ modkey }, "r", function()
|
||||
desktop_bar(ascreen.focused()).promptbox:run()
|
||||
end, {
|
||||
group = utils.groups.launcher,
|
||||
on_press = function()
|
||||
aspawn(applications.open_terminal())
|
||||
end,
|
||||
},
|
||||
|
||||
akey {
|
||||
modifiers = { utils.mods.modkey },
|
||||
key = "r",
|
||||
description = "run prompt",
|
||||
group = "launcher",
|
||||
}),
|
||||
akey({ modkey }, "p", function()
|
||||
menubar.show()
|
||||
end, {
|
||||
group = utils.groups.launcher,
|
||||
on_press = function()
|
||||
desktop_bar(ascreen.focused()).promptbox:run()
|
||||
end,
|
||||
},
|
||||
|
||||
akey {
|
||||
modifiers = { utils.mods.modkey },
|
||||
key = "p",
|
||||
description = "show the menubar",
|
||||
group = "launcher",
|
||||
}),
|
||||
group = utils.groups.launcher,
|
||||
on_press = function()
|
||||
menubar.show()
|
||||
end,
|
||||
},
|
||||
|
||||
-- Client focus
|
||||
|
||||
akey {
|
||||
modifiers = { modkey },
|
||||
modifiers = { utils.mods.modkey },
|
||||
key = "j",
|
||||
group = "client",
|
||||
description = "Focus next client by index",
|
||||
|
@ -87,8 +118,9 @@ local global_keybindings = {
|
|||
aclient.focus.byidx(1)
|
||||
end,
|
||||
},
|
||||
|
||||
akey {
|
||||
modifiers = { modkey },
|
||||
modifiers = { utils.mods.modkey },
|
||||
key = "k",
|
||||
group = "client",
|
||||
description = "Focus previous by index",
|
||||
|
@ -98,8 +130,9 @@ local global_keybindings = {
|
|||
},
|
||||
|
||||
-- Layout manipulation
|
||||
|
||||
akey {
|
||||
modifiers = { modkey, shift },
|
||||
modifiers = { utils.mods.modkey, utils.mods.shift },
|
||||
key = "j",
|
||||
group = "client",
|
||||
description = "Swap with next client",
|
||||
|
@ -107,8 +140,9 @@ local global_keybindings = {
|
|||
aclient.swap.byidx(1)
|
||||
end,
|
||||
},
|
||||
|
||||
akey {
|
||||
modifiers = { modkey, shift },
|
||||
modifiers = { utils.mods.modkey, utils.mods.shift },
|
||||
key = "k",
|
||||
group = "client",
|
||||
description = "Swap with previous client",
|
||||
|
@ -116,8 +150,9 @@ local global_keybindings = {
|
|||
aclient.swap.byidx(-1)
|
||||
end,
|
||||
},
|
||||
|
||||
akey {
|
||||
modifiers = { modkey, shift },
|
||||
modifiers = { utils.mods.modkey, utils.mods.shift },
|
||||
key = "Right",
|
||||
description = "Increase master width factor",
|
||||
group = "client",
|
||||
|
@ -125,8 +160,9 @@ local global_keybindings = {
|
|||
atag.incmwfact(0.01)
|
||||
end,
|
||||
},
|
||||
|
||||
akey {
|
||||
modifiers = { modkey, shift },
|
||||
modifiers = { utils.mods.modkey, utils.mods.shift },
|
||||
key = "Left",
|
||||
description = "Decrease master width factor",
|
||||
group = "client",
|
||||
|
@ -136,8 +172,9 @@ local global_keybindings = {
|
|||
},
|
||||
|
||||
-- Tags manipulation
|
||||
|
||||
akey {
|
||||
modifiers = { modkey },
|
||||
modifiers = { utils.mods.modkey },
|
||||
keygroup = akey.keygroup.NUMROW,
|
||||
description = "only view tag",
|
||||
group = "tag",
|
||||
|
@ -150,8 +187,9 @@ local global_keybindings = {
|
|||
end
|
||||
end,
|
||||
},
|
||||
|
||||
akey {
|
||||
modifiers = { modkey, control },
|
||||
modifiers = { utils.mods.modkey, utils.mods.control },
|
||||
keygroup = akey.keygroup.NUMROW,
|
||||
description = "toggle tag",
|
||||
group = "tag",
|
||||
|
@ -164,8 +202,9 @@ local global_keybindings = {
|
|||
end
|
||||
end,
|
||||
},
|
||||
|
||||
akey {
|
||||
modifiers = { modkey, shift },
|
||||
modifiers = { utils.mods.modkey, utils.mods.shift },
|
||||
keygroup = akey.keygroup.NUMROW,
|
||||
description = "move focused client to tag",
|
||||
group = "tag",
|
|
@ -0,0 +1,28 @@
|
|||
local abutton = require "awful.button"
|
||||
local atag = require "awful.tag"
|
||||
|
||||
local mymainmenu = require "rc.ui.menu.mymainmenu"
|
||||
|
||||
local global_mousebindings = {
|
||||
abutton {
|
||||
modifiers = {},
|
||||
button = abutton.names.RIGHT,
|
||||
on_press = function()
|
||||
mymainmenu():toggle()
|
||||
end,
|
||||
},
|
||||
|
||||
abutton {
|
||||
modifiers = {},
|
||||
button = abutton.names.SCROLL_UP,
|
||||
on_press = tag.viewprev,
|
||||
},
|
||||
|
||||
abutton {
|
||||
modifiers = {},
|
||||
button = abutton.names.SCROLL_DOWN,
|
||||
on_press = atag.viewnext,
|
||||
},
|
||||
}
|
||||
|
||||
return global_mousebindings
|
|
@ -0,0 +1,13 @@
|
|||
local bindings = {}
|
||||
|
||||
bindings.client_keybindings =
|
||||
require "rc.configuration.bindings.client_keybindings"
|
||||
bindings.client_mousebindings =
|
||||
require "rc.configuration.bindings.client_mousebindings"
|
||||
bindings.global_keybindings =
|
||||
require "rc.configuration.bindings.global_keybindings"
|
||||
bindings.global_mousebindings =
|
||||
require "rc.configuration.bindings.global_mousebindings"
|
||||
bindings.utils = require "rc.configuration.bindings.utils"
|
||||
|
||||
return bindings
|
|
@ -0,0 +1,16 @@
|
|||
local mods = {
|
||||
control = "Control",
|
||||
modkey = "Mod4",
|
||||
shift = "Shift",
|
||||
}
|
||||
|
||||
local groups = {
|
||||
client = "client",
|
||||
awesome = "awesome",
|
||||
launcher = "launcher",
|
||||
}
|
||||
|
||||
return {
|
||||
mods = mods,
|
||||
groups = groups,
|
||||
}
|
|
@ -1,50 +0,0 @@
|
|||
local akey = require "awful.key"
|
||||
local aclient = require "awful.client"
|
||||
|
||||
local control = "Control"
|
||||
local modkey = "Mod4"
|
||||
local shift = "Shift"
|
||||
|
||||
local client_keybindings = {
|
||||
akey({ modkey }, "f", function(client)
|
||||
client.fullscreen = not client.fullscreen
|
||||
client:raise()
|
||||
end, { description = "toggle fullscreen", group = "client" }),
|
||||
akey({ modkey, shift }, "c", function(client)
|
||||
client:kill()
|
||||
end, { description = "close", group = "client" }),
|
||||
akey(
|
||||
{ modkey, control },
|
||||
"space",
|
||||
aclient.floating.toggle,
|
||||
{ description = "toggle floating", group = "client" }
|
||||
),
|
||||
akey({ modkey, control }, "Return", function(client)
|
||||
client:swap(aclient.getmaster())
|
||||
end, { description = "move to master", group = "client" }),
|
||||
akey({ modkey }, "o", function(client)
|
||||
client:move_to_screen()
|
||||
end, { description = "move to screen", group = "client" }),
|
||||
akey({ modkey }, "t", function(client)
|
||||
client.ontop = not client.ontop
|
||||
end, { description = "toggle keep on top", group = "client" }),
|
||||
akey({ modkey }, "n", function(client)
|
||||
-- The client currently has the input focus, so it cannot be
|
||||
-- minimized, since minimized clients can't have the focus.
|
||||
client.minimized = true
|
||||
end, { description = "minimize", group = "client" }),
|
||||
akey({ modkey }, "m", function(client)
|
||||
client.maximized = not client.maximized
|
||||
client:raise()
|
||||
end, { description = "(un)maximize", group = "client" }),
|
||||
akey({ modkey, control }, "m", function(client)
|
||||
client.maximized_vertical = not client.maximized_vertical
|
||||
client:raise()
|
||||
end, { description = "(un)maximize vertically", group = "client" }),
|
||||
akey({ modkey, shift }, "m", function(client)
|
||||
client.maximized_horizontal = not client.maximized_horizontal
|
||||
client:raise()
|
||||
end, { description = "(un)maximize horizontally", group = "client" }),
|
||||
}
|
||||
|
||||
return client_keybindings
|
|
@ -1,25 +0,0 @@
|
|||
local abutton = require "awful.button"
|
||||
|
||||
local modkey = "Mod4"
|
||||
|
||||
local mousebindings = {
|
||||
abutton({}, 1, function(client)
|
||||
client:activate {
|
||||
context = "mouse_click",
|
||||
}
|
||||
end),
|
||||
abutton({ modkey }, 1, function(client)
|
||||
client:activate {
|
||||
context = "mouse_click",
|
||||
action = "mouse_move",
|
||||
}
|
||||
end),
|
||||
abutton({ modkey }, 3, function(client)
|
||||
client:activate {
|
||||
context = "mouse_click",
|
||||
action = "mouse_resize",
|
||||
}
|
||||
end),
|
||||
}
|
||||
|
||||
return mousebindings
|
|
@ -1,14 +0,0 @@
|
|||
local abutton = require "awful.button"
|
||||
local atag = require "awful.tag"
|
||||
|
||||
local mymainmenu = require "rc.ui.menu.mymainmenu"
|
||||
|
||||
local global_mousebindings = {
|
||||
abutton({}, 3, function()
|
||||
mymainmenu():toggle()
|
||||
end),
|
||||
abutton({}, 4, atag.viewprev),
|
||||
abutton({}, 5, atag.viewnext),
|
||||
}
|
||||
|
||||
return global_mousebindings
|
|
@ -1,23 +1,10 @@
|
|||
local rc_configuration = {}
|
||||
|
||||
rc_configuration.applications = require "rc.configuration.applications"
|
||||
|
||||
rc_configuration.client_keybindings =
|
||||
require "rc.configuration.client_keybindings"
|
||||
rc_configuration.client_mousebindings =
|
||||
require "rc.configuration.client_mousebindings"
|
||||
|
||||
rc_configuration.global_keybindings =
|
||||
require "rc.configuration.global_keybindings"
|
||||
rc_configuration.global_mousebindings =
|
||||
require "rc.configuration.global_mousebindings"
|
||||
|
||||
rc_configuration.bindings = require "rc.configuration.bindings"
|
||||
rc_configuration.menu = require "rc.configuration.menu"
|
||||
|
||||
rc_configuration.rules = require "rc.configuration.rules"
|
||||
|
||||
rc_configuration.prompt_commands = require "rc.configuration.prompt_commands"
|
||||
|
||||
rc_configuration.tag_layouts = require "rc.configuration.tag_layouts"
|
||||
|
||||
return rc_configuration
|
||||
|
|
8
init.lua
8
init.lua
|
@ -38,8 +38,8 @@ local my_slots = require "rc.slots"
|
|||
-- This needs to be run after awesome has completed C API initialization and
|
||||
-- the `root` object is available.
|
||||
gtimer.delayed_call(function()
|
||||
legacy.global_mouse_bindings(configuration.global_mousebindings)
|
||||
legacy.global_keybindings(configuration.global_keybindings)
|
||||
legacy.global_mouse_bindings(configuration.bindings.global_mousebindings)
|
||||
legacy.global_keybindings(configuration.bindings.global_keybindings)
|
||||
end)
|
||||
|
||||
-- luacheck: ignore unused variable load_wallpaper
|
||||
|
@ -89,7 +89,7 @@ local client_mousebinding = slot {
|
|||
signal = "request::default_mousebindings",
|
||||
slot = slot.slots.client.append_mousebindings,
|
||||
slot_params = {
|
||||
mousebindings = configuration.client_mousebindings,
|
||||
mousebindings = configuration.bindings.client_mousebindings,
|
||||
},
|
||||
}
|
||||
|
||||
|
@ -101,7 +101,7 @@ local client_keybinding = slot {
|
|||
signal = "request::default_keybindings",
|
||||
slot = slot.slots.client.append_keybindings,
|
||||
slot_params = {
|
||||
keybindings = configuration.client_keybindings,
|
||||
keybindings = configuration.bindings.client_keybindings,
|
||||
},
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue