From ca7b82dab5465d2c4aca201b7820d0ccc5dbc5b9 Mon Sep 17 00:00:00 2001 From: sunglocto Date: Wed, 3 Jun 2026 06:38:31 +0100 Subject: [PATCH] compact mode changes --- gtk-message.go | 35 ++++++++++++++++++++++++++++++----- l18n.go | 1 + 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/gtk-message.go b/gtk-message.go index 41c5fef..ee2550b 100644 --- a/gtk-message.go +++ b/gtk-message.go @@ -27,22 +27,47 @@ func generatePresenceWidget(p stanza.Packet) gtk.Widgetter { return gtk.NewLabel(loadedLocale["unsupportedMessage"]) } + nick := JidMustParse(presence.From).Resource + if presence.Type == stanza.PresenceTypeUnavailable { var mu MucUser ok := presence.Get(&mu) if ok { if mu.MucUserItem.Affiliation == "outcast" { + if loadedConfig.CompactMode { + l := gtk.NewLabel("") + if mu.MucUserItem.Actor.Nick != "" { + l.SetMarkup(fmt.Sprintf("%s%s%s!", nick, loadedLocale["bannedWidget"], mu.MucUserItem.Actor.Nick)) + } else { + l.SetMarkup(fmt.Sprintf("%s%s%s!", nick, loadedLocale["bannedWidgetNoActor"])) + } + b.Append(l) + return b + } + b.Append(gtk.NewImageFromPaintable(clientAssetsLoad("outcast"))) - b.Append(gtk.NewLabel(JidMustParse(presence.From).Resource + loadedLocale["bannedWidget"] + mu.MucUserItem.Actor.Nick + "!")) + b.Append(gtk.NewLabel(nick + loadedLocale["bannedWidget"] + mu.MucUserItem.Actor.Nick + "!")) return b } } - b.Append(gtk.NewImageFromPaintable(clientAssetsLoad("door_out"))) - b.Append(gtk.NewLabel(JidMustParse(presence.From).Resource)) + if loadedConfig.CompactMode { + l := gtk.NewLabel("") + l.SetMarkup(fmt.Sprintf("- %s", "red", nick)) + b.Append(l) + } else { + b.Append(gtk.NewImageFromPaintable(clientAssetsLoad("door_out"))) + b.Append(gtk.NewLabel(nick)) + } } else { - b.Append(gtk.NewImageFromPaintable(clientAssetsLoad("door_in"))) - b.Append(gtk.NewLabel(JidMustParse(presence.From).Resource)) + if loadedConfig.CompactMode { + l := gtk.NewLabel("") + l.SetMarkup(fmt.Sprintf("+ %s", "green", nick)) + b.Append(l) + } else { + b.Append(gtk.NewImageFromPaintable(clientAssetsLoad("door_in"))) + b.Append(gtk.NewLabel(JidMustParse(presence.From).Resource)) + } } b.SetTooltipText(presence.Status) diff --git a/l18n.go b/l18n.go index bb3a1dc..28cba5c 100644 --- a/l18n.go +++ b/l18n.go @@ -63,6 +63,7 @@ var enGB = map[string]string{ // British English "unsupportedMessage": "Unsupported message.", "bannedWidget": " has been banned by ", + "bannedWidgetNoActor": "has been banned", "readWidget": " has read to this point", "isTyping": " is typing...", "whispers": " whispers",