bindings update
This commit is contained in:
parent
bc2242a120
commit
0569223a8f
13
init.lua
13
init.lua
|
@ -20,6 +20,7 @@ local geoms = machina.geoms
|
|||
local shuffle = machina.shuffle
|
||||
local my_shifter = machina.my_shifter
|
||||
local expand_vertical = machina.expand_vertical
|
||||
local move_to = machina.move_to
|
||||
|
||||
---------------------------------------------------------- key bindings -- ;
|
||||
|
||||
|
@ -36,7 +37,15 @@ local bindings = {
|
|||
|
||||
awful.key({modkey}, "[", my_shifter("backward")),
|
||||
awful.key({modkey}, "]", my_shifter("forward")),
|
||||
--▨ move (clock)
|
||||
--▨ move (clockwise)
|
||||
|
||||
awful.key({modkey, "Shift"}, "Insert", move_to("top-left")),
|
||||
awful.key({modkey, "Shift"}, "Page_Up", move_to("top-right")),
|
||||
awful.key({modkey, "Shift"}, "Home", move_to("center")),
|
||||
awful.key({modkey, "Shift"}, "End", move_to("center")),
|
||||
awful.key({modkey, "Shift"}, "Delete", move_to("bottom-left")),
|
||||
awful.key({modkey, "Shift"}, "Page_Down", move_to("bottom-right")),
|
||||
--▨ move (positional)
|
||||
|
||||
awful.key({modkey, "Shift" }, "[", shift_by_direction("left", true)),
|
||||
awful.key({modkey, "Shift" }, "]", shift_by_direction("right", true)),
|
||||
|
@ -48,13 +57,13 @@ local bindings = {
|
|||
awful.key({modkey}, "Page_Up", expand_horizontal("right")),
|
||||
awful.key({modkey}, "Home", expand_horizontal("center")),
|
||||
awful.key({modkey}, "Page_Down", expand_vertical),
|
||||
--▨ expand (neighbor)
|
||||
|
||||
awful.key({modkey}, "End", function()
|
||||
client.focus.maximized_vertical = false
|
||||
client.focus.maximized_horizontal = false
|
||||
awful.client.floating.toggle()
|
||||
end), --|toggle floating status
|
||||
--▨ expand
|
||||
|
||||
awful.key({modkey}, "Left", focus_by_direction("left")),
|
||||
awful.key({modkey}, "j", focus_by_direction("left")),
|
||||
|
|
98
methods.lua
98
methods.lua
|
@ -1,26 +1,76 @@
|
|||
---------------------------------------------------------------- locals -- ;
|
||||
|
||||
local grect = require("gears.geometry").rectangle
|
||||
|
||||
local geoms = {}
|
||||
|
||||
geoms.crt43 = function ()
|
||||
return {
|
||||
x = awful.screen.focused().workarea.width - client.focus:geometry().width,
|
||||
y = awful.screen.focused().workarea.height - client.focus:geometry().height,
|
||||
width = 1280,
|
||||
height = 1024
|
||||
x=awful.screen.focused().workarea.width - client.focus:geometry().width,
|
||||
y=awful.screen.focused().workarea.height - client.focus:geometry().height,
|
||||
width=1280,
|
||||
height=1024
|
||||
}
|
||||
end
|
||||
|
||||
geoms.p1080 = function ()
|
||||
return {
|
||||
x = awful.screen.focused().workarea.width - client.focus:geometry().width,
|
||||
y = awful.screen.focused().workarea.height - client.focus:geometry().height,
|
||||
width = awful.screen.focused().workarea.width * 0.65,
|
||||
height = awful.screen.focused().workarea.height * 0.90
|
||||
x=awful.screen.focused().workarea.width - client.focus:geometry().width,
|
||||
y=awful.screen.focused().workarea.height - client.focus:geometry().height,
|
||||
width=awful.screen.focused().workarea.width * 0.65,
|
||||
height=awful.screen.focused().workarea.height * 0.90
|
||||
}
|
||||
end
|
||||
|
||||
geoms["center"] = function(useless_gap)
|
||||
return {
|
||||
x=awful.screen.focused().workarea.width/2 - client.focus.width/2,
|
||||
y=awful.screen.focused().workarea.height/2 - client.focus.height/2
|
||||
}
|
||||
end
|
||||
|
||||
geoms["top-left"] = function(useless_gap)
|
||||
return {
|
||||
x=useless_gap,
|
||||
y=useless_gap
|
||||
}
|
||||
end
|
||||
|
||||
geoms["bottom-left"] = function(useless_gap)
|
||||
return {
|
||||
x=useless_gap,
|
||||
y=awful.screen.focused().workarea.height - useless_gap - client.focus.height
|
||||
}
|
||||
end
|
||||
|
||||
geoms["top-right"] = function(useless_gap)
|
||||
return {
|
||||
x=awful.screen.focused().workarea.width - useless_gap - client.focus.width,
|
||||
y=useless_gap
|
||||
}
|
||||
end
|
||||
|
||||
geoms["bottom-right"] = function(useless_gap)
|
||||
return {
|
||||
x=awful.screen.focused().workarea.width - useless_gap - client.focus.width,
|
||||
y=awful.screen.focused().workarea.height - useless_gap - client.focus.height
|
||||
}
|
||||
end
|
||||
|
||||
--------------------------------------------------------------- helpers -- ;
|
||||
|
||||
local function getLowest(table)
|
||||
local low = math.huge
|
||||
local index
|
||||
for i, v in pairs(table) do
|
||||
if v < low then
|
||||
low = v
|
||||
index = i
|
||||
end
|
||||
end
|
||||
return index
|
||||
end
|
||||
|
||||
local function compare(a,b)
|
||||
return a.v < b.v
|
||||
end
|
||||
|
@ -31,6 +81,13 @@ local function tablelength(T)
|
|||
return count
|
||||
end
|
||||
|
||||
local function notify(x)
|
||||
return naughty.notify({preset = naughty.config.presets.critical, text=inspect(x)})
|
||||
end
|
||||
|
||||
|
||||
----------------------------------------- focus_by_direction(direction) -- ;
|
||||
|
||||
local function focus_by_direction(direction)
|
||||
return function()
|
||||
if not client.focus then return false end
|
||||
|
@ -39,6 +96,8 @@ local function focus_by_direction(direction)
|
|||
end
|
||||
end
|
||||
|
||||
--------------------------------------------------------- screen_info() -- ;
|
||||
|
||||
local function screen_info()
|
||||
local focused_screen = awful.screen.focused() or nil
|
||||
local workarea = focused_screen.workarea or nil
|
||||
|
@ -97,6 +156,26 @@ local function get_regions()
|
|||
return machi_regions, machi_fn
|
||||
end
|
||||
|
||||
----------------------------------------------------------- get_edges() -- ;
|
||||
|
||||
|
||||
local function move_to(location)
|
||||
return function()
|
||||
local useless_gap = nil
|
||||
local regions = get_regions()
|
||||
local edges = {x={},y={}}
|
||||
|
||||
for i,region in ipairs(regions) do
|
||||
edges.x[region.x] = region.x + region.width
|
||||
edges.y[region.y] = region.y + region.height
|
||||
end
|
||||
|
||||
useless_gap = getLowest(edges.x)
|
||||
client.focus:geometry(geoms[location](useless_gap))
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
-------------------------------------------------- get_active_regions() -- ;
|
||||
|
||||
local function get_active_regions()
|
||||
|
@ -522,7 +601,8 @@ module = {
|
|||
geoms = geoms,
|
||||
shuffle = shuffle,
|
||||
my_shifter = my_shifter,
|
||||
expand_vertical = expand_vertical
|
||||
expand_vertical = expand_vertical,
|
||||
move_to = move_to
|
||||
}
|
||||
|
||||
return module
|
||||
|
|
Loading…
Reference in New Issue