diff --git a/Resources/fonts/Comic Sans MS.ttf b/Resources/fonts/Comic Sans MS.ttf deleted file mode 100644 index 831e3d8..0000000 Binary files a/Resources/fonts/Comic Sans MS.ttf and /dev/null differ diff --git a/Resources/fonts/ComicMono.ttf b/Resources/fonts/ComicMono.ttf deleted file mode 100644 index 9bc7354..0000000 Binary files a/Resources/fonts/ComicMono.ttf and /dev/null differ diff --git a/Resources/fonts/GeistMonoNerdFontMono-Regular.otf b/Resources/fonts/GeistMonoNerdFontMono-Regular.otf deleted file mode 100644 index 68bcbf3..0000000 Binary files a/Resources/fonts/GeistMonoNerdFontMono-Regular.otf and /dev/null differ diff --git a/Resources/fonts/CascadiaMono.ttf b/Resources/fonts/cascadiaMono/CascadiaMono.ttf similarity index 100% rename from Resources/fonts/CascadiaMono.ttf rename to Resources/fonts/cascadiaMono/CascadiaMono.ttf diff --git a/Resources/fonts/jetbrainsMonoNF/JetBrainsMonoNerdFontMono-Bold.ttf b/Resources/fonts/jetbrainsMonoNF/JetBrainsMonoNerdFontMono-Bold.ttf new file mode 100644 index 0000000..a03c26b Binary files /dev/null and b/Resources/fonts/jetbrainsMonoNF/JetBrainsMonoNerdFontMono-Bold.ttf differ diff --git a/Resources/fonts/jetbrainsMonoNF/JetBrainsMonoNerdFontMono-BoldItalic.ttf b/Resources/fonts/jetbrainsMonoNF/JetBrainsMonoNerdFontMono-BoldItalic.ttf new file mode 100644 index 0000000..2b3c9eb Binary files /dev/null and b/Resources/fonts/jetbrainsMonoNF/JetBrainsMonoNerdFontMono-BoldItalic.ttf differ diff --git a/Resources/fonts/jetbrainsMonoNF/JetBrainsMonoNerdFontMono-Italic.ttf b/Resources/fonts/jetbrainsMonoNF/JetBrainsMonoNerdFontMono-Italic.ttf new file mode 100644 index 0000000..a715148 Binary files /dev/null and b/Resources/fonts/jetbrainsMonoNF/JetBrainsMonoNerdFontMono-Italic.ttf differ diff --git a/Resources/fonts/JetBrainsMonoNerdFontMono-Regular.ttf b/Resources/fonts/jetbrainsMonoNF/JetBrainsMonoNerdFontMono-Regular.ttf similarity index 100% rename from Resources/fonts/JetBrainsMonoNerdFontMono-Regular.ttf rename to Resources/fonts/jetbrainsMonoNF/JetBrainsMonoNerdFontMono-Regular.ttf diff --git a/Resources/fonts/mesloLGSNF/MesloLGS NF Bold Italic.ttf b/Resources/fonts/mesloLGSNF/MesloLGS NF Bold Italic.ttf new file mode 100644 index 0000000..9548f2b Binary files /dev/null and b/Resources/fonts/mesloLGSNF/MesloLGS NF Bold Italic.ttf differ diff --git a/Resources/fonts/mesloLGSNF/MesloLGS NF Bold.ttf b/Resources/fonts/mesloLGSNF/MesloLGS NF Bold.ttf new file mode 100644 index 0000000..e0e3954 Binary files /dev/null and b/Resources/fonts/mesloLGSNF/MesloLGS NF Bold.ttf differ diff --git a/Resources/fonts/mesloLGSNF/MesloLGS NF Italic.ttf b/Resources/fonts/mesloLGSNF/MesloLGS NF Italic.ttf new file mode 100644 index 0000000..95c2cad Binary files /dev/null and b/Resources/fonts/mesloLGSNF/MesloLGS NF Italic.ttf differ diff --git a/Resources/fonts/MesloLGS NF Regular.ttf b/Resources/fonts/mesloLGSNF/MesloLGS NF Regular.ttf similarity index 100% rename from Resources/fonts/MesloLGS NF Regular.ttf rename to Resources/fonts/mesloLGSNF/MesloLGS NF Regular.ttf diff --git a/Resources/fonts/SF-Mono-Regular.otf b/Resources/fonts/sfMono/SF-Mono-Regular.otf similarity index 100% rename from Resources/fonts/SF-Mono-Regular.otf rename to Resources/fonts/sfMono/SF-Mono-Regular.otf diff --git a/Resources/fonts/sfMono/SF-Mono-RegularItalic.otf b/Resources/fonts/sfMono/SF-Mono-RegularItalic.otf new file mode 100755 index 0000000..392a08c Binary files /dev/null and b/Resources/fonts/sfMono/SF-Mono-RegularItalic.otf differ diff --git a/ShhShell.xcodeproj/project.pbxproj b/ShhShell.xcodeproj/project.pbxproj index e22a8f1..bf2baa7 100644 --- a/ShhShell.xcodeproj/project.pbxproj +++ b/ShhShell.xcodeproj/project.pbxproj @@ -8,14 +8,15 @@ /* Begin PBXBuildFile section */ A9083E402DF2226F0042906E /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A9083E3F2DF2225A0042906E /* libz.tbd */; }; - A90936842E1AC31B00856059 /* MesloLGS NF Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A90936832E1AC31B00856059 /* MesloLGS NF Regular.ttf */; }; A90936882E1AC51100856059 /* Fonts.swift in Sources */ = {isa = PBXBuildFile; fileRef = A90936872E1AC51100856059 /* Fonts.swift */; }; - A909368A2E1AC5CA00856059 /* SF-Mono-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = A90936892E1AC5CA00856059 /* SF-Mono-Regular.otf */; }; - A909368C2E1AC64400856059 /* Comic Sans MS.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A909368B2E1AC64400856059 /* Comic Sans MS.ttf */; }; - A909368E2E1AC8A500856059 /* CascadiaMono.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A909368D2E1AC8A500856059 /* CascadiaMono.ttf */; }; - A90936902E1AC96100856059 /* GeistMonoNerdFontMono-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = A909368F2E1AC96100856059 /* GeistMonoNerdFontMono-Regular.otf */; }; - A90936922E1AC98E00856059 /* ComicMono.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A90936912E1AC98E00856059 /* ComicMono.ttf */; }; - A90936942E1AC9AF00856059 /* JetBrainsMonoNerdFontMono-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A90936932E1AC9AF00856059 /* JetBrainsMonoNerdFontMono-Regular.ttf */; }; + A90936A72E1AE9AB00856059 /* CascadiaMono.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A90936952E1AE9AB00856059 /* CascadiaMono.ttf */; }; + A90936A92E1AE9AB00856059 /* SF-Mono-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = A90936A42E1AE9AB00856059 /* SF-Mono-Regular.otf */; }; + A90936AA2E1AE9AB00856059 /* SF-Mono-RegularItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = A90936A52E1AE9AB00856059 /* SF-Mono-RegularItalic.otf */; }; + A90936AB2E1AE9AB00856059 /* MesloLGS NF Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A90936A22E1AE9AB00856059 /* MesloLGS NF Regular.ttf */; }; + A90936AC2E1AE9AB00856059 /* MesloLGS NF Bold Italic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A90936A02E1AE9AB00856059 /* MesloLGS NF Bold Italic.ttf */; }; + A90936AE2E1AE9AB00856059 /* JetBrainsMonoNerdFontMono-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A909369D2E1AE9AB00856059 /* JetBrainsMonoNerdFontMono-Regular.ttf */; }; + A90936AF2E1AE9AB00856059 /* MesloLGS NF Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A909369F2E1AE9AB00856059 /* MesloLGS NF Bold.ttf */; }; + A90936B02E1AE9AB00856059 /* MesloLGS NF Italic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A90936A12E1AE9AB00856059 /* MesloLGS NF Italic.ttf */; }; A923172A2E07113100ECE1E6 /* TerminalController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A92317292E07113100ECE1E6 /* TerminalController.swift */; }; A923172D2E07138000ECE1E6 /* SSHTerminalDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A923172C2E07138000ECE1E6 /* SSHTerminalDelegate.swift */; }; A923172F2E08851200ECE1E6 /* ShellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A923172E2E08851200ECE1E6 /* ShellView.swift */; }; @@ -29,6 +30,9 @@ A93143BE2DF4D0B300FCD5DB /* libpthread.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A93143BD2DF4D0A700FCD5DB /* libpthread.tbd */; }; A93143C02DF61B3200FCD5DB /* Host.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93143BF2DF61B3200FCD5DB /* Host.swift */; }; A93143C62DF61FE300FCD5DB /* ViewModifiers.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93143C52DF61FE300FCD5DB /* ViewModifiers.swift */; }; + A9485C712E1AECD000209824 /* JetBrainsMonoNerdFontMono-Italic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A9485C702E1AECD000209824 /* JetBrainsMonoNerdFontMono-Italic.ttf */; }; + A9485C722E1AECD000209824 /* JetBrainsMonoNerdFontMono-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A9485C6E2E1AECD000209824 /* JetBrainsMonoNerdFontMono-Bold.ttf */; }; + A9485C732E1AECD000209824 /* JetBrainsMonoNerdFontMono-BoldItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A9485C6F2E1AECD000209824 /* JetBrainsMonoNerdFontMono-BoldItalic.ttf */; }; A95FAA472DF3884B00DE2F5A /* Config.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = A95FAA462DF3884B00DE2F5A /* Config.xcconfig */; }; A95FAA542DF4B62900DE2F5A /* LibSSH.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A95FAA502DF4B62100DE2F5A /* LibSSH.xcframework */; }; A95FAA552DF4B62900DE2F5A /* LibSSH.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A95FAA502DF4B62100DE2F5A /* LibSSH.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; @@ -118,15 +122,16 @@ /* Begin PBXFileReference section */ A9083E3F2DF2225A0042906E /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; - A90936832E1AC31B00856059 /* MesloLGS NF Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "MesloLGS NF Regular.ttf"; sourceTree = ""; }; A90936852E1AC33C00856059 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; A90936872E1AC51100856059 /* Fonts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Fonts.swift; sourceTree = ""; }; - A90936892E1AC5CA00856059 /* SF-Mono-Regular.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SF-Mono-Regular.otf"; sourceTree = ""; }; - A909368B2E1AC64400856059 /* Comic Sans MS.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Comic Sans MS.ttf"; sourceTree = ""; }; - A909368D2E1AC8A500856059 /* CascadiaMono.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = CascadiaMono.ttf; sourceTree = ""; }; - A909368F2E1AC96100856059 /* GeistMonoNerdFontMono-Regular.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "GeistMonoNerdFontMono-Regular.otf"; sourceTree = ""; }; - A90936912E1AC98E00856059 /* ComicMono.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = ComicMono.ttf; sourceTree = ""; }; - A90936932E1AC9AF00856059 /* JetBrainsMonoNerdFontMono-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "JetBrainsMonoNerdFontMono-Regular.ttf"; sourceTree = ""; }; + A90936952E1AE9AB00856059 /* CascadiaMono.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = CascadiaMono.ttf; sourceTree = ""; }; + A909369D2E1AE9AB00856059 /* JetBrainsMonoNerdFontMono-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "JetBrainsMonoNerdFontMono-Regular.ttf"; sourceTree = ""; }; + A909369F2E1AE9AB00856059 /* MesloLGS NF Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "MesloLGS NF Bold.ttf"; sourceTree = ""; }; + A90936A02E1AE9AB00856059 /* MesloLGS NF Bold Italic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "MesloLGS NF Bold Italic.ttf"; sourceTree = ""; }; + A90936A12E1AE9AB00856059 /* MesloLGS NF Italic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "MesloLGS NF Italic.ttf"; sourceTree = ""; }; + A90936A22E1AE9AB00856059 /* MesloLGS NF Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "MesloLGS NF Regular.ttf"; sourceTree = ""; }; + A90936A42E1AE9AB00856059 /* SF-Mono-Regular.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SF-Mono-Regular.otf"; sourceTree = ""; }; + A90936A52E1AE9AB00856059 /* SF-Mono-RegularItalic.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SF-Mono-RegularItalic.otf"; sourceTree = ""; }; A92317292E07113100ECE1E6 /* TerminalController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TerminalController.swift; sourceTree = ""; }; A923172C2E07138000ECE1E6 /* SSHTerminalDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SSHTerminalDelegate.swift; sourceTree = ""; }; A923172E2E08851200ECE1E6 /* ShellView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ShellView.swift; path = ShhShell/Views/Terminal/ShellView.swift; sourceTree = SOURCE_ROOT; }; @@ -144,6 +149,9 @@ A93143BF2DF61B3200FCD5DB /* Host.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Host.swift; sourceTree = ""; }; A93143C22DF61F5700FCD5DB /* ShhShell.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = ShhShell.entitlements; sourceTree = ""; }; A93143C52DF61FE300FCD5DB /* ViewModifiers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewModifiers.swift; sourceTree = ""; }; + A9485C6E2E1AECD000209824 /* JetBrainsMonoNerdFontMono-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "JetBrainsMonoNerdFontMono-Bold.ttf"; sourceTree = ""; }; + A9485C6F2E1AECD000209824 /* JetBrainsMonoNerdFontMono-BoldItalic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "JetBrainsMonoNerdFontMono-BoldItalic.ttf"; sourceTree = ""; }; + A9485C702E1AECD000209824 /* JetBrainsMonoNerdFontMono-Italic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "JetBrainsMonoNerdFontMono-Italic.ttf"; sourceTree = ""; }; A95FAA462DF3884B00DE2F5A /* Config.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Config.xcconfig; sourceTree = SOURCE_ROOT; }; A95FAA502DF4B62100DE2F5A /* LibSSH.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = LibSSH.xcframework; path = Frameworks/LibSSH.xcframework; sourceTree = ""; }; A95FAA512DF4B62100DE2F5A /* openssl.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = openssl.xcframework; path = Frameworks/openssl.xcframework; sourceTree = ""; }; @@ -232,13 +240,10 @@ A90936822E1AC31100856059 /* fonts */ = { isa = PBXGroup; children = ( - A90936832E1AC31B00856059 /* MesloLGS NF Regular.ttf */, - A90936892E1AC5CA00856059 /* SF-Mono-Regular.otf */, - A909368D2E1AC8A500856059 /* CascadiaMono.ttf */, - A909368F2E1AC96100856059 /* GeistMonoNerdFontMono-Regular.otf */, - A90936932E1AC9AF00856059 /* JetBrainsMonoNerdFontMono-Regular.ttf */, - A90936912E1AC98E00856059 /* ComicMono.ttf */, - A909368B2E1AC64400856059 /* Comic Sans MS.ttf */, + A90936962E1AE9AB00856059 /* cascadiaMono */, + A909369E2E1AE9AB00856059 /* jetbrainsMonoNF */, + A90936A32E1AE9AB00856059 /* mesloLGSNF */, + A90936A62E1AE9AB00856059 /* sfMono */, ); path = fonts; sourceTree = ""; @@ -251,6 +256,45 @@ path = Fonts; sourceTree = ""; }; + A90936962E1AE9AB00856059 /* cascadiaMono */ = { + isa = PBXGroup; + children = ( + A90936952E1AE9AB00856059 /* CascadiaMono.ttf */, + ); + path = cascadiaMono; + sourceTree = ""; + }; + A909369E2E1AE9AB00856059 /* jetbrainsMonoNF */ = { + isa = PBXGroup; + children = ( + A909369D2E1AE9AB00856059 /* JetBrainsMonoNerdFontMono-Regular.ttf */, + A9485C6E2E1AECD000209824 /* JetBrainsMonoNerdFontMono-Bold.ttf */, + A9485C6F2E1AECD000209824 /* JetBrainsMonoNerdFontMono-BoldItalic.ttf */, + A9485C702E1AECD000209824 /* JetBrainsMonoNerdFontMono-Italic.ttf */, + ); + path = jetbrainsMonoNF; + sourceTree = ""; + }; + A90936A32E1AE9AB00856059 /* mesloLGSNF */ = { + isa = PBXGroup; + children = ( + A90936A22E1AE9AB00856059 /* MesloLGS NF Regular.ttf */, + A909369F2E1AE9AB00856059 /* MesloLGS NF Bold.ttf */, + A90936A02E1AE9AB00856059 /* MesloLGS NF Bold Italic.ttf */, + A90936A12E1AE9AB00856059 /* MesloLGS NF Italic.ttf */, + ); + path = mesloLGSNF; + sourceTree = ""; + }; + A90936A62E1AE9AB00856059 /* sfMono */ = { + isa = PBXGroup; + children = ( + A90936A42E1AE9AB00856059 /* SF-Mono-Regular.otf */, + A90936A52E1AE9AB00856059 /* SF-Mono-RegularItalic.otf */, + ); + path = sfMono; + sourceTree = ""; + }; A923172B2E0712F200ECE1E6 /* Terminal */ = { isa = PBXGroup; children = ( @@ -610,25 +654,29 @@ A96BE6972E10846B00C0FEE9 /* catppuccinMocha.plist in Resources */, A96BE6982E10846B00C0FEE9 /* ubuntu.plist in Resources */, A96BE6992E10846B00C0FEE9 /* iTerm2SolarizedDark.plist in Resources */, - A909368A2E1AC5CA00856059 /* SF-Mono-Regular.otf in Resources */, A96BE69A2E10846B00C0FEE9 /* xcodeDark.plist in Resources */, A96BE69B2E10846B00C0FEE9 /* iTerm2SolarizedLight.plist in Resources */, A96BE69C2E10846B00C0FEE9 /* 0x96f.plist in Resources */, A96BE69D2E10846B00C0FEE9 /* gruvboxDark.plist in Resources */, A96BE69E2E10846B00C0FEE9 /* xcodeDarkHC.plist in Resources */, - A909368E2E1AC8A500856059 /* CascadiaMono.ttf in Resources */, A96BE69F2E10846B00C0FEE9 /* tomorrowNight.plist in Resources */, A96BE6A02E10846B00C0FEE9 /* dracula.plist in Resources */, A96BE6A12E10846B00C0FEE9 /* catppuccinFrappe.plist in Resources */, + A90936A72E1AE9AB00856059 /* CascadiaMono.ttf in Resources */, + A90936A92E1AE9AB00856059 /* SF-Mono-Regular.otf in Resources */, + A90936AA2E1AE9AB00856059 /* SF-Mono-RegularItalic.otf in Resources */, + A90936AB2E1AE9AB00856059 /* MesloLGS NF Regular.ttf in Resources */, + A90936AC2E1AE9AB00856059 /* MesloLGS NF Bold Italic.ttf in Resources */, + A90936AE2E1AE9AB00856059 /* JetBrainsMonoNerdFontMono-Regular.ttf in Resources */, + A90936AF2E1AE9AB00856059 /* MesloLGS NF Bold.ttf in Resources */, + A90936B02E1AE9AB00856059 /* MesloLGS NF Italic.ttf in Resources */, + A9485C712E1AECD000209824 /* JetBrainsMonoNerdFontMono-Italic.ttf in Resources */, + A9485C722E1AECD000209824 /* JetBrainsMonoNerdFontMono-Bold.ttf in Resources */, + A9485C732E1AECD000209824 /* JetBrainsMonoNerdFontMono-BoldItalic.ttf in Resources */, A96BE6A22E10846B00C0FEE9 /* xcodeWWDC.plist in Resources */, A95FAA472DF3884B00DE2F5A /* Config.xcconfig in Resources */, A92538CA2DEE0742007E0A18 /* Assets.xcassets in Resources */, - A90936942E1AC9AF00856059 /* JetBrainsMonoNerdFontMono-Regular.ttf in Resources */, - A909368C2E1AC64400856059 /* Comic Sans MS.ttf in Resources */, A92DDDE22E104CB300A87DB2 /* defaultTheme.plist in Resources */, - A90936842E1AC31B00856059 /* MesloLGS NF Regular.ttf in Resources */, - A90936902E1AC96100856059 /* GeistMonoNerdFontMono-Regular.otf in Resources */, - A90936922E1AC98E00856059 /* ComicMono.ttf in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/ShhShell/Fonts/Fonts.swift b/ShhShell/Fonts/Fonts.swift index f108225..aa56733 100644 --- a/ShhShell/Fonts/Fonts.swift +++ b/ShhShell/Fonts/Fonts.swift @@ -7,16 +7,26 @@ import Foundation -enum Fonts: String, CaseIterable/*, CustomStringConvertible*/ { - case mesloLGSNF = "MesloLGS-NF-Regular" - case sfMono = "SFMono-Regular" - case cascadiaMono = "CascadiaMono-Regular" - case geistMonoNF = "GeistMonoNFM-Regular" - case jetbrainsMonoNF = "JetBrainsMonoNFM-Regular" - case comicSans = "ComicSansMS" - case comicMono = "ComicMono" +enum FontFamilies: String, CaseIterable, CustomStringConvertible { + case mesloLGSNF = "MesloLGS NF" + case sfMono = "SF Mono" + case cascadiaMono = "Cascadia Mono" + case jetbrainsMonoNF = "JetBrainsMono Nerd Font Mono" - static var fontNames: [String] { - return Fonts.allCases.map { $0.rawValue } + static var allCasesRaw: [String] { + return allCases.map { $0.rawValue } + } + + var description: String { + switch self { + case .mesloLGSNF: + "MesloLGS-NF-Regular" + case .sfMono: + "SFMono-Regular" + case .cascadiaMono: + "CascadiaMono-Regular" + case .jetbrainsMonoNF: + "JetBrainsMonoNFM-Regular" + } } } diff --git a/ShhShell/Host/HostsManager.swift b/ShhShell/Host/HostsManager.swift index 5bec558..5783f7d 100644 --- a/ShhShell/Host/HostsManager.swift +++ b/ShhShell/Host/HostsManager.swift @@ -33,14 +33,16 @@ class HostsManager: ObservableObject, @unchecked Sendable { func loadFonts() { var customFonts: [UIFont] = [] for family in UIFont.familyNames.sorted() { - let names = UIFont.fontNames(forFamilyName: family) - if Fonts.fontNames.contains(names) { - print(family) - } - guard let customFont = UIFont(name: names[0], size: UIFont.systemFontSize) else { - fatalError() + if FontFamilies.allCasesRaw.contains(family) { + if let family = FontFamilies(rawValue: family) { + if let customFont = UIFont(name: family.description, size: UIFont.systemFontSize) { + customFonts.append(customFont) + } + } } } + print(customFonts) + self.fonts = customFonts } func loadThemes() { diff --git a/ShhShell/Info.plist b/ShhShell/Info.plist index e90155e..879b634 100644 --- a/ShhShell/Info.plist +++ b/ShhShell/Info.plist @@ -5,12 +5,15 @@ UIAppFonts MesloLGS NF Regular.ttf + MesloLGS NF Italic.ttf + MesloLGS NF Bold.ttf + MesloLGS NF Bold Italic.ttf SF-Mono-Regular.otf CascadiaMono.ttf - GeistMonoNerdFontMono-Regular.otf JetBrainsMonoNerdFontMono-Regular.ttf - ComicMono.ttf - Comic Sans MS.ttf + JetBrainsMonoNerdFontMono-Bold.ttf + JetBrainsMonoNerdFontMono-Italic.ttf + JetBrainsMonoNerdFontMono-BoldItalic.ttf diff --git a/ShhShell/SSH/SSHHandler.swift b/ShhShell/SSH/SSHHandler.swift index 6d57bd1..a214899 100644 --- a/ShhShell/SSH/SSHHandler.swift +++ b/ShhShell/SSH/SSHHandler.swift @@ -168,14 +168,6 @@ class SSHHandler: @unchecked Sendable, ObservableObject { } - func applySelectedTheme() { - Task { @MainActor in - guard let sessionID else { return } - guard let session = container.sessions[sessionID] else { return } - session.terminalView.applySelectedTheme() - } - } - func ring() { Task { @MainActor in withAnimation(.easeIn(duration: 0.1)) { self.bell = true } diff --git a/ShhShell/Views/Terminal/SSHTerminalDelegate.swift b/ShhShell/Views/Terminal/SSHTerminalDelegate.swift index f47c6e2..7ca7a0a 100644 --- a/ShhShell/Views/Terminal/SSHTerminalDelegate.swift +++ b/ShhShell/Views/Terminal/SSHTerminalDelegate.swift @@ -18,11 +18,21 @@ final class SSHTerminalDelegate: TerminalView, Sendable, @preconcurrency Termina self.init(frame: frame) self.handler = handler self.hostsManager = hostsManager - - applySelectedTheme() //fonts here yayy } + override func didMoveToWindow() { + super.didMoveToWindow() + if window != nil { + restoreScrollback() + if let hostsManager { +// font = hostsManager.fonts.randomElement() ?? UIFont.systemFont(ofSize: UIFont.systemFontSize) + font = UIFont(name: "JetBrainsMono Nerd Font Mono", size: UIFont.systemFontSize)! + } + applySelectedTheme() + } + } + func restoreScrollback() { guard let scrollback = handler?.scrollback else { return } guard !scrollback.isEmpty else { return } @@ -69,13 +79,6 @@ final class SSHTerminalDelegate: TerminalView, Sendable, @preconcurrency Termina // TODO: selectedtext and cursor colors } - override func didMoveToWindow() { - super.didMoveToWindow() - if window != nil { - restoreScrollback() - } - } - public override init(frame: CGRect) { super.init(frame: frame) terminalDelegate = self diff --git a/ShhShell/Views/Terminal/ShellView.swift b/ShhShell/Views/Terminal/ShellView.swift index 2bcf304..dd6a394 100644 --- a/ShhShell/Views/Terminal/ShellView.swift +++ b/ShhShell/Views/Terminal/ShellView.swift @@ -31,9 +31,6 @@ struct ShellView: View { } .opacity(handler.bell ? 1 : 0) } - .onAppear { - handler.applySelectedTheme() - } } } }