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",