Merge pull request #3073 from actionless/placement-skip-fullscreen
feat(awful: placement): add "skip_fullscreen"
This commit is contained in:
commit
e384ee449f
|
@ -1624,6 +1624,26 @@ function placement.restore(d, args)
|
|||
return true
|
||||
end
|
||||
|
||||
--- Skip all preceeding results of placement pipeline for fullscreen clients.
|
||||
--@DOC_awful_placement_skip_fullscreen_EXAMPLE@
|
||||
-- @tparam drawable d A drawable (like `client`, `mouse` or `wibox`)
|
||||
-- @tparam[opt={}] table args Other arguments
|
||||
-- @treturn table The new geometry
|
||||
-- @staticfct awful.placement.skip_fullscreen
|
||||
function placement.skip_fullscreen(d, args)
|
||||
args = add_context(args, "skip_fullscreen")
|
||||
d = d or capi.client.focus
|
||||
|
||||
if d.fullscreen then
|
||||
return {get_screen(d.screen).geometry, {}, true}
|
||||
else
|
||||
local ngeo = geometry_common(d, args)
|
||||
remove_border(d, args, ngeo)
|
||||
geometry_common(d, args, ngeo)
|
||||
return fix_new_geometry(ngeo, args, true)
|
||||
end
|
||||
end
|
||||
|
||||
return placement
|
||||
|
||||
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
--DOC_GEN_OUTPUT --DOC_GEN_IMAGE --DOC_HIDE
|
||||
local awful = {placement = require("awful.placement")} --DOC_HIDE
|
||||
|
||||
--DOC_HIDE no_offscreen is auto-called when startup is true, avoid this.
|
||||
awesome.startup = false -- luacheck: globals awesome.startup --DOC_HIDE
|
||||
|
||||
-- using just no_offscreen with honor_workarea:
|
||||
local c = client.gen_fake {x = 0, y = 0, width= screen[1].geometry.width, height=screen[1].geometry.height} --DOC_HIDE
|
||||
c.fullscreen = false --DOC_HIDE
|
||||
print("no_offscreen:") --DOC_HIDE
|
||||
print("Before:", "x="..c.x..", y="..c.y..", width="..c.width..", height="..c.height) --DOC_HIDE
|
||||
awful.placement.no_offscreen(c, {honor_workarea=true, })
|
||||
print("After:", "x="..c.x..", y="..c.y..", width="..c.width..", height="..c.height) --DOC_HIDE
|
||||
c:kill() --DOC_HIDE
|
||||
|
||||
-- using no_offscreen + skip_fullscreen:
|
||||
c = client.gen_fake {x = 0, y = 0, width= screen[1].geometry.width, height=screen[1].geometry.height} --DOC_HIDE
|
||||
c.fullscreen = false --DOC_HIDE
|
||||
print("no_offscreen + skip_fullscreen:") --DOC_HIDE
|
||||
print("Before:", "x="..c.x..", y="..c.y..", width="..c.width..", height="..c.height) --DOC_HIDE
|
||||
local f = (awful.placement.no_offscreen + awful.placement.skip_fullscreen)
|
||||
f(c, {honor_workarea=true, })
|
||||
print("After:", "x="..c.x..", y="..c.y..", width="..c.width..", height="..c.height) --DOC_HIDE
|
||||
|
||||
--DOC_HIDE vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
|
|
@ -0,0 +1,6 @@
|
|||
no_offscreen:
|
||||
Before: x=0, y=0, width=320, height=240
|
||||
After: x=10, y=10, width=320, height=240
|
||||
no_offscreen + skip_fullscreen:
|
||||
Before: x=0, y=0, width=320, height=240
|
||||
After: x=10, y=10, width=320, height=240
|
|
@ -0,0 +1,25 @@
|
|||
--DOC_GEN_OUTPUT --DOC_GEN_IMAGE --DOC_HIDE
|
||||
local awful = {placement = require("awful.placement")} --DOC_HIDE
|
||||
|
||||
--DOC_HIDE no_offscreen is auto-called when startup is true, avoid this.
|
||||
awesome.startup = false -- luacheck: globals awesome.startup --DOC_HIDE
|
||||
|
||||
-- using just no_offscreen with honor_workarea:
|
||||
local c = client.gen_fake {x = 0, y = 0, width= screen[1].geometry.width, height=screen[1].geometry.height} --DOC_HIDE
|
||||
c.fullscreen = true --DOC_HIDE
|
||||
print("no_offscreen:") --DOC_HIDE
|
||||
print("Before:", "x="..c.x..", y="..c.y..", width="..c.width..", height="..c.height) --DOC_HIDE
|
||||
awful.placement.no_offscreen(c, {honor_workarea=true, })
|
||||
print("After:", "x="..c.x..", y="..c.y..", width="..c.width..", height="..c.height) --DOC_HIDE
|
||||
c:kill() --DOC_HIDE
|
||||
|
||||
-- using no_offscreen + skip_fullscreen:
|
||||
c = client.gen_fake {x = 0, y = 0, width= screen[1].geometry.width, height=screen[1].geometry.height} --DOC_HIDE
|
||||
c.fullscreen = true --DOC_HIDE
|
||||
print("no_offscreen + skip_fullscreen:") --DOC_HIDE
|
||||
print("Before:", "x="..c.x..", y="..c.y..", width="..c.width..", height="..c.height) --DOC_HIDE
|
||||
local f = (awful.placement.no_offscreen + awful.placement.skip_fullscreen)
|
||||
f(c, {honor_workarea=true, })
|
||||
print("After:", "x="..c.x..", y="..c.y..", width="..c.width..", height="..c.height) --DOC_HIDE
|
||||
|
||||
--DOC_HIDE vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
|
|
@ -0,0 +1,6 @@
|
|||
no_offscreen:
|
||||
Before: x=0, y=0, width=320, height=240
|
||||
After: x=10, y=10, width=320, height=240
|
||||
no_offscreen + skip_fullscreen:
|
||||
Before: x=0, y=0, width=320, height=240
|
||||
After: x=0, y=0, width=320, height=240
|
Loading…
Reference in New Issue