Add initial dotfiles
This commit is contained in:
119
.config/awesome/signals/init.lua
Executable file
119
.config/awesome/signals/init.lua
Executable file
@@ -0,0 +1,119 @@
|
||||
local beautiful = require("beautiful")
|
||||
local awful = require("awful")
|
||||
require "functions"
|
||||
|
||||
-- Signal function to execute when a new client appears.
|
||||
client.connect_signal(
|
||||
"manage",
|
||||
function(c)
|
||||
-- Set the windows at the slave
|
||||
if not awesome.startup then awful.client.setslave(c) end
|
||||
|
||||
-- Prevent clients from being unreachable after screen count changes.
|
||||
if awesome.startup and not c.size_hints.user_position and not c.size_hints.program_position then
|
||||
awful.placement.no_offscreen(c)
|
||||
end
|
||||
|
||||
update_titlebars(c)
|
||||
|
||||
if not c.below then
|
||||
c:raise()
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
-- Enable sloppy focus, so that focus follows mouse.
|
||||
client.connect_signal(
|
||||
"mouse::enter",
|
||||
function(c)
|
||||
c:emit_signal("request::activate", "mouse_enter", {raise = false})
|
||||
end
|
||||
)
|
||||
|
||||
client.connect_signal(
|
||||
"focus",
|
||||
function(c)
|
||||
c.border_color = beautiful.border_focus
|
||||
end
|
||||
)
|
||||
|
||||
client.connect_signal(
|
||||
"unfocus",
|
||||
function(c)
|
||||
c.border_color = beautiful.border_normal
|
||||
end
|
||||
)
|
||||
|
||||
-- Disable PiP Snapping
|
||||
client.connect_signal(
|
||||
"property::struts",
|
||||
function(c)
|
||||
if c:struts().left ~= 0 or c:struts().right ~= 0 or c:struts().top ~= 0 or c:struts().bottom ~= 0 then
|
||||
c:struts({ left = 0, right = 0, top = 0, bottom = 0 })
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
client.connect_signal(
|
||||
"property::floating",
|
||||
function(c)
|
||||
if c.floating and not c.maximized and not c.fullscreen then
|
||||
c.placement = awful.placement.centered
|
||||
end
|
||||
|
||||
update_titlebars(c)
|
||||
end
|
||||
)
|
||||
|
||||
client.connect_signal(
|
||||
"property::maximized",
|
||||
update_titlebars
|
||||
)
|
||||
|
||||
client.connect_signal(
|
||||
"property::fullscreen",
|
||||
update_titlebars
|
||||
)
|
||||
|
||||
-- Automatically unminimize windows
|
||||
client.connect_signal(
|
||||
"property::minimized",
|
||||
function(c)
|
||||
if c.minimized then
|
||||
c.minimized = false
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
|
||||
screen.connect_signal("property::geometry", set_wallpaper)
|
||||
|
||||
tag.connect_signal(
|
||||
"property::selected",
|
||||
function (t)
|
||||
local selected = tostring(t.selected) == "false"
|
||||
if selected then
|
||||
local focus_timer = timer({ timeout = 0.05 })
|
||||
focus_timer:connect_signal(
|
||||
"timeout",
|
||||
function()
|
||||
local c = awful.mouse.client_under_pointer()
|
||||
if c ~= nil and not c.below then
|
||||
client.focus = c
|
||||
c:raise()
|
||||
end
|
||||
focus_timer:stop()
|
||||
end)
|
||||
focus_timer:start()
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
tag.connect_signal(
|
||||
"property::layout",
|
||||
function (t)
|
||||
for _, c in pairs(t.clients(t)) do
|
||||
update_titlebars(c)
|
||||
end
|
||||
end
|
||||
)
|
Reference in New Issue
Block a user