Skip to content

Instantly share code, notes, and snippets.

@cobodo
Last active September 28, 2018 04:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cobodo/86d53647afcfd910d542f96283ace0c2 to your computer and use it in GitHub Desktop.
Save cobodo/86d53647afcfd910d542f96283ace0c2 to your computer and use it in GitHub Desktop.
display_nameとidnameの行を分ける。ドメイン先頭のmstdnは自明だから消す。すまほんはすまほん。
class Gdk::MiraclePainter < Gtk::Object
alias :original_header_left_markup :header_left_markup
def header_left_markup
user = message.user
if user.respond_to?(:idname)
idname = user.idname
parts = idname.split('@')
if parts[1]
if parts[1].start_with?('mstdn.')
idname = "#{parts[0]}@#{parts[1].delete_prefix('mstdn')}"
elsif parts[1] == "social.mikutter.hachune.net"
idname = "#{parts[0]}@s.m.h.n"
end
end
Pango.parse_markup("#{Pango.escape(user.name || '')}\n<b>#{Pango.escape(idname)}</b>")
else
Pango.parse_markup(Pango.escape(user.name || ''))
end
end
end
class Gdk::SubPartsMessageBase < Gdk::SubParts
alias :original_header_left_content :header_left_content
def header_left_content(message)
user = message.user
if user.respond_to?(:idname)
idname = user.idname
parts = idname.split('@')
if parts[1]
if parts[1].start_with?('mstdn.')
idname = "#{parts[0]}@#{parts[1].delete_prefix('mstdn')}"
elsif parts[1] == "social.mikutter.hachune.net"
idname = "#{parts[0]}@s.m.h.n"
end
end
attr_list, text = Pango.parse_markup("#{Pango.escape(user.name || '')}\n<b>#{Pango.escape(idname)}</b>")
else
attr_list, text = Pango.parse_markup(Pango.escape(user.name || ''))
end
return text, header_left_font(message), attr_list
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment