From eb8ecb46c80da990aae6040f1bf739e502e00636 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Martineau Date: Tue, 25 Aug 2026 01:31:47 -0400 Subject: [PATCH] Updated splash screen (ANSI art, CP437) --- meshterm/assets/logo.txt | 6 --- meshterm/assets/logo_53.ans | Bin 2805 -> 2095 bytes meshterm/assets/logo_53.txt | 6 --- meshterm/ui/logo.py | 13 +++---- scripts/colour-logo.py | 73 ------------------------------------ 5 files changed, 6 insertions(+), 92 deletions(-) delete mode 100644 meshterm/assets/logo.txt delete mode 100644 meshterm/assets/logo_53.txt delete mode 100644 scripts/colour-logo.py diff --git a/meshterm/assets/logo.txt b/meshterm/assets/logo.txt deleted file mode 100644 index 44640cc..0000000 --- a/meshterm/assets/logo.txt +++ /dev/null @@ -1,6 +0,0 @@ -███╗ ███╗███████╗███████╗██╗ ██╗████████╗███████╗██████╗ ███╗ ███╗ -████╗ ████║██╔════╝██╔════╝██║ ██║╚══██╔══╝██╔════╝██╔══██╗████╗ ████║ -██╔████╔██║█████╗ ███████╗███████║ ██║ █████╗ ██████╔╝██╔████╔██║ -██║╚██╔╝██║██╔══╝ ╚════██║██╔══██║ ██║ ██╔══╝ ██╔══██╗██║╚██╔╝██║ -██║ ╚═╝ ██║███████╗███████║██║ ██║ ██║ ███████╗██║ ██║██║ ╚═╝ ██║ -╚═╝ ╚═╝╚══════╝╚══════╝╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ \ No newline at end of file diff --git a/meshterm/assets/logo_53.ans b/meshterm/assets/logo_53.ans index 0f0912bbfd41d44499706b1bad58d9e3b7cee167..7b2207b802a117507acfe4d9a1301ea3827707a7 100644 GIT binary patch literal 2095 zcma)6yGjE=6pc25AXuAbOD%*k`-rfW1`!285N%SWSWJpZ!V(LAN{prY0dA2mQ1DO0 zbLW-W-MdMqnBBQ^&$-XJ?Y@u!x7z*iMEl_N?C z^j2Ey&?W4gS*xv=;IHgjNnr6&Yy#Ke`#Vx0C{0Z8giZl1MO-=%ECqgVx0*PMWkNQh zCAN}sT*UIHVG#=EP}Vez(kLQD$OL)ufn3O->B^~>0IQ`QvsGk7s0|IX_UA`SyS)$F&9=;EEb=eN*Vb3*MdWDOj$5+l*)Rk3vGQR`(63_OJ`X$9;}*C zbd?7ZOM%G*G1;?<45Py5gp8&K4GE{maTOHoW^SRPv7FCUJ%vQ>0IkTXfBI9Y54bx?4d_8kMtF*HY7eipJ=9)D{><@(-G{A!~^{pw~$xgWhENoR1!dv*56I z)DfK|xXuRScW3v#3n3~apF3VphU4ke kEX%n|Pexve(@y-d(`s#PowoK{YHeSg-vkerXZqy!e-VT2uK)l5 literal 2805 zcmcImU2cOg41VtwcD=N|SmyPBMez;HWk=(U52b#Gn27pXS>8 z(1q@Dq2Dn5+~8{Pz_;P656-z^ijU^n4(D?^u|gF6Xhk)&iITY~kmH223w2)nGYV3( zGcy&*Y==`e;zH*>gKty8@My@cjT%%)(S3^F%k|t1+Jo3bX`JFOP&$-Pwc9&bK^v!5 zsmUO#fDaFYVIB^>J~QrQtQ1af`E*ev-;`3RHrJq_AE%d0=M4_SrI=C)^7eYc3Iw4R zHz7z;0Gd3LX+pi_cCm0&k|dB)BxM?l>oi%Mhg}3q$?H{xtw_u*fW*)siY*Ab*MZ8* zl#Kv`GMX<2Q3{wrw5*gP074K9W@eN<&@_h(ifi({4l0(u<*=9@sv#}$b str: - """Paint one plain-text wordmark, returning the pre-coloured ANSI.""" - lines = art.split("\n") - if lines and lines[-1] == "": - lines.pop() - out_lines = [] - for row, line in enumerate(lines): - hue = ROW_RGB[min(row, len(ROW_RGB) - 1)] - out, current = [], None - for ch in line: - if ch == " ": - if current is not None: - out.append("\x1b[0m") - current = None - out.append(" ") - continue - want = hue if ch == BLOCK else SHADOW_RGB - if want != current: - out.append(f"\x1b[38;2;{want}m") - current = want - out.append(ch) - if current is not None: - out.append("\x1b[0m") - out_lines.append("".join(out)) - return "\n".join(out_lines) + "\n" - - -def main() -> None: - """Repaint the named marks, or every ``.txt`` in the assets folder.""" - names = sys.argv[1:] or sorted(p.stem for p in ASSETS.glob("*.txt")) - for name in names: - source = ASSETS / f"{name}.txt" - target = ASSETS / f"{name}.ans" - target.write_text(colour(source.read_text(encoding="utf-8")), encoding="utf-8") - print(f"{source.name} -> {target.name}") - - -if __name__ == "__main__": - main()