diff options
author | delta <darkussdelta@gmail.com> | 2023-04-04 15:43:40 +0200 |
---|---|---|
committer | delta <darkussdelta@gmail.com> | 2023-04-04 15:43:40 +0200 |
commit | f7116d268aff3fae88d8de408e8c807295618a5c (patch) | |
tree | 6f52530d5799769e6af7c63bc5108f16f9aff742 /.config/awesome/signals | |
parent | f0b32f45746c026d402651013b7e98315d6956a1 (diff) |
restructure and improve config
Diffstat (limited to '.config/awesome/signals')
-rw-r--r-- | .config/awesome/signals/awesome.lua | 32 | ||||
-rw-r--r-- | .config/awesome/signals/client.lua | 34 | ||||
-rw-r--r-- | .config/awesome/signals/init.lua | 5 | ||||
-rw-r--r-- | .config/awesome/signals/naughty.lua | 54 | ||||
-rw-r--r-- | .config/awesome/signals/screen.lua | 56 |
5 files changed, 181 insertions, 0 deletions
diff --git a/.config/awesome/signals/awesome.lua b/.config/awesome/signals/awesome.lua new file mode 100644 index 0000000..37b9bdb --- /dev/null +++ b/.config/awesome/signals/awesome.lua @@ -0,0 +1,32 @@ +-- Taken from https://www.reddit.com/r/awesomewm/comments/syjolb/comment/hy0xy35/ + +awesome.connect_signal('exit', function(reason_restart) + if not reason_restart then return end + + local file = io.open('/tmp/awesomewm-last-selected-tags', 'w+') + + for s in screen do + file:write(s.selected_tag.index, '\n') + end + + file:close() +end) + +awesome.connect_signal('startup', function() + local file = io.open('/tmp/awesomewm-last-selected-tags', 'r') + if not file then return end + + local selected_tags = {} + + for line in file:lines() do + table.insert(selected_tags, tonumber(line)) + end + + for s in screen do + local i = selected_tags[s.index] + local t = s.tags[i] + t:view_only() + end + + file:close() +end) diff --git a/.config/awesome/signals/client.lua b/.config/awesome/signals/client.lua new file mode 100644 index 0000000..31f3d9c --- /dev/null +++ b/.config/awesome/signals/client.lua @@ -0,0 +1,34 @@ +local qvars = require "quarrel.vars" +local rectangle = require "gears.shape".rectangle + +-- io.popen spams logs, don't use +-- client.connect_signal("property::name", function(c) +-- if not c.pid then return end +-- 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 = qvars.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 = qvars.shape + c.border_width = qvars.border_width + end +end + +client.connect_signal("property::maximized", handle_corners) +client.connect_signal("property::fullscreen", handle_corners) diff --git a/.config/awesome/signals/init.lua b/.config/awesome/signals/init.lua new file mode 100644 index 0000000..69c74b5 --- /dev/null +++ b/.config/awesome/signals/init.lua @@ -0,0 +1,5 @@ +require "signals.awesome" +require "signals.naughty" +require "signals.screen" +require "signals.client" + diff --git a/.config/awesome/signals/naughty.lua b/.config/awesome/signals/naughty.lua new file mode 100644 index 0000000..49187c0 --- /dev/null +++ b/.config/awesome/signals/naughty.lua @@ -0,0 +1,54 @@ +local naughty = require "naughty" +local awful = require "awful" +local beautiful = require "beautiful" +local wibox = require "wibox" +local qvars = require "quarrel.vars" + +naughty.connect_signal("request::display", function(n) + naughty.layout.box { + notification = n, + placement = function(d) + return awful.placement.right(d, { + margins = beautiful.useless_gap * 2 + }) + end, + widget_template = { + widget = wibox.container.margin, + margins = qvars.big_padding, + { + { + widget = naughty.widget.icon, + notification = n + }, + { + widget = wibox.container.place, + valign = "center", + halign = "center", + { + { + widget = naughty.widget.title, + notification = n + }, + { + widget = naughty.widget.message, + notification = n + }, + -- spacing = 4, + layout = wibox.layout.fixed.vertical, + } + }, + fill_space = true, + spacing = n.icon and qvars.big_padding or 0, + layout = wibox.layout.fixed.horizontal + } + } + } +end) + +naughty.connect_signal("request::display_error", function(message, startup) + naughty.notification { + urgency = "critical", + title = "Oops, an error happened"..(startup and " during startup!" or "!"), + message = message + } +end) diff --git a/.config/awesome/signals/screen.lua b/.config/awesome/signals/screen.lua new file mode 100644 index 0000000..ea247a3 --- /dev/null +++ b/.config/awesome/signals/screen.lua @@ -0,0 +1,56 @@ +local awful = require "awful" + +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) |