diff options
author | Timmy Keller <tjk@tjkeller.xyz> | 2024-09-17 19:17:49 -0500 |
---|---|---|
committer | Timmy Keller <tjk@tjkeller.xyz> | 2024-09-17 19:17:49 -0500 |
commit | 36b45cb895303f4b8bdd99a737259740129e1fb9 (patch) | |
tree | c463be93caa340eb389a7b85ba155d2855b1e244 /awesome/tagnames.lua | |
parent | 3d98a08123c0c79641dd27516ef776747710ad4a (diff) | |
download | dotconfig-36b45cb895303f4b8bdd99a737259740129e1fb9.tar.xz dotconfig-36b45cb895303f4b8bdd99a737259740129e1fb9.zip |
add current awesome configs
Diffstat (limited to 'awesome/tagnames.lua')
-rw-r--r-- | awesome/tagnames.lua | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/awesome/tagnames.lua b/awesome/tagnames.lua new file mode 100644 index 0000000..fcd01a4 --- /dev/null +++ b/awesome/tagnames.lua @@ -0,0 +1,51 @@ +--TODO find out why it doesnt work at start +--local awful = require("awful") + +function nametags(s) + local tags = s.tags + for _, tag in ipairs(tags) do + -- set tag basename + if tag.basename == nil then + tag.basename = tag.name + end + + -- check if tag has any clients. if not, use basename + if next(tag:clients()) == nil then + tag.name = tag.basename + else + -- loop over all screen clients (ordered top to bottom) + local hastag = nil + for _, c in ipairs(s.clients) do + -- test if client in on the tag + for _, ctag in ipairs(c:tags()) do + if ctag == tag then + hastag = c + break + end + end + -- if it does, this will be the tag name. so break + if hastag ~= nil then + break + end + end + -- set tag name + -- there should always be a tag since we checked above so if there isnt then there is clearly a problem + --TODO remove this if statement + if hastag then + tag.name = tag.basename .. ": " .. hastag.class + end + end + end +end + +function nametagsc(c) + nametags(c.screen) +end + +client.connect_signal("manage", nametagsc) +client.connect_signal("swapped", nametagsc) +client.connect_signal("tagged", nametagsc) +client.connect_signal("unmanage", nametagsc) +client.connect_signal("untagged", nametagsc) + +--awful.screen.connect_for_each_screen(nametags) |