From d1f9ee5eced0c273de6c598f88ddb0f7b4e54230 Mon Sep 17 00:00:00 2001
From: Timmy Keller <tjk@tjkeller.xyz>
Date: Sun, 22 Sep 2024 18:21:13 -0500
Subject: changes

---
 awesome/noborders.lua | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 awesome/noborders.lua

(limited to 'awesome/noborders.lua')

diff --git a/awesome/noborders.lua b/awesome/noborders.lua
new file mode 100644
index 0000000..fe67024
--- /dev/null
+++ b/awesome/noborders.lua
@@ -0,0 +1,20 @@
+local beautiful = require("beautiful")
+
+-- TODO this function will call arrange multiple times. once per each change of c.border_width
+local function update_borders(s)
+	local max = s.selected_tag.layout.name == "max"
+	local only_one = #s.tiled_clients == 1 -- use tiled_clients so that other floating windows don't affect the count
+
+	-- but iterate over clients instead of tiled_clients as tiled_clients doesn't include maximized windows
+	for _, c in pairs(s.clients) do
+		if c.prevent_kill then
+			c.border_width = beautiful.border_width * 3
+		elseif (max or only_one or c.maximized) and not c.floating then
+			c.border_width = 0
+		else
+			c.border_width = beautiful.border_width
+		end
+	end
+end
+
+screen.connect_signal("arrange", update_borders) -- NOTE this signal may eventually be deprecated. see issue #2581 and the v5 milestone on github
-- 
cgit v1.2.3