dots/.config/awesome/misc/signals.lua

90 lines
1.9 KiB
Lua

local vars = require "misc.vars"
local awful = require "awful"
local rectangle = require "gears.shape".rectangle
local bling = require "lib.bling"
client.connect_signal("property::name", function(c)
local out = io.popen("readlink /proc/" .. c.pid .. "/exe")
local name = c.name
if out ~= nil then
name = out:read("*a"):sub(0, -2):match("[^\\/]+$") or name
end
c.name = string.lower(name)
end)
client.connect_signal("request::manage", function (c)
c.shape = vars.shape
if c.maximized then
c.maximized = false
c.maximized = true
end
end)
local function handle_corners(c)
if c.maximized then
c.shape = rectangle
c.border_width = 0
else
c.shape = vars.shape
c.border_width = vars.border_width
end
end
client.connect_signal("property::maximized", handle_corners)
client.connect_signal("property::fullscreen", handle_corners)
screen.connect_signal("request::desktop_decoration", function(s)
awful.tag.add(
"1",
{
screen = s,
layout = awful.layout.suit.floating,
selected = true
}
)
awful.tag.add(
"2",
{
screen = s,
layout = awful.layout.suit.floating,
}
)
awful.tag.add(
"3",
{
screen = s,
layout = awful.layout.suit.tile.left,
master_width_factor = 0.7
}
)
awful.tag.add(
"4",
{
screen = s,
layout = awful.layout.suit.tile.top,
master_width_factor = 0.2
}
)
awful.tag.add(
"5",
{
screen = s,
layout = awful.layout.suit.tile.right,
master_width_factor = 0.7
}
)
awful.tag.add(
"6",
{
screen = s,
layout = awful.layout.suit.floating,
}
)
end)