added signals

This commit is contained in:
Noella
2024-03-04 19:26:46 -07:00
parent ee40c1c42c
commit 8464403fca
4 changed files with 73 additions and 70 deletions

View File

@@ -3,6 +3,7 @@ local _M = {
rules = require("main.rules"),
layouts = require("main.layouts"),
taglist = require("main.taglist"),
signals = require("main.signals"),
user_vars = require("main.user_vars"),
}

View File

@@ -12,7 +12,6 @@ function _M.get(clientkeys, clientbuttons)
border_color = beautiful.border_normal,
focus = awful.client.focus.filter,
raise = true,
titlebars_enabled = false,
keys = clientkeys,
buttons = clientbuttons,
screen = awful.screen.preferred,
@@ -65,7 +64,7 @@ function _M.get(clientkeys, clientbuttons)
},
{
rule = { class = "Firefox" },
rule = { instance = "Firefox" },
properties = {
screen = 1,
tag = RC.tags[2],
@@ -74,7 +73,7 @@ function _M.get(clientkeys, clientbuttons)
},
{
rule = { class = "Discord" },
rule = { instance = "Discord" },
properties = {
screen = 1,
tag = RC.tags[6],

View File

@@ -0,0 +1,68 @@
local gears = require("gears")
local awful = require("awful")
local wibox = require("wibox")
local beautiful = require("beautiful")
-- Signal function to execute when a new client appears.
client.connect_signal("manage", function(c)
-- Set the windows at the slave,
-- i.e. put it at the end of others instead of setting it master.
-- if not awesome.startup then awful.client.setslave(c) end
if awesome.startup and not c.size_hints.user_position and not c.size_hints.program_position then
-- Prevent clients from being unreachable after screen count changes.
awful.placement.no_offscreen(c)
end
end)
-- Add a titlebar if titlebars_enabled is set to true in the rules.
client.connect_signal("request::titlebars", function(c)
-- buttons for the titlebar
local buttons = gears.table.join(
awful.button({}, 1, function()
c:emit_signal("request::activate", "titlebar", { raise = true })
awful.mouse.client.move(c)
end),
awful.button({}, 3, function()
c:emit_signal("request::activate", "titlebar", { raise = true })
awful.mouse.client.resize(c)
end)
)
awful.titlebar(c):setup({
{ -- Left
awful.titlebar.widget.iconwidget(c),
buttons = buttons,
layout = wibox.layout.fixed.horizontal,
},
{ -- Middle
{ -- Title
align = "center",
widget = awful.titlebar.widget.titlewidget(c),
},
buttons = buttons,
layout = wibox.layout.flex.horizontal,
},
{ -- Right
awful.titlebar.widget.floatingbutton(c),
awful.titlebar.widget.maximizedbutton(c),
awful.titlebar.widget.stickybutton(c),
awful.titlebar.widget.ontopbutton(c),
awful.titlebar.widget.closebutton(c),
layout = wibox.layout.fixed.horizontal(),
},
layout = wibox.layout.align.horizontal,
})
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)