@@ -4,11 +4,13 @@ import AppKit
44enum SettingsTab : String , CaseIterable {
55 case about = " About "
66 case general = " General "
7+ case terminal = " Terminal "
78 case integrations = " Integrations "
89
910 var icon : String {
1011 switch self {
1112 case . general: return " gearshape "
13+ case . terminal: return " terminal "
1214 case . integrations: return " puzzlepiece "
1315 case . about: return " info.circle "
1416 }
@@ -34,6 +36,10 @@ struct SettingsContentView: View {
3436 . tabItem { Label ( SettingsTab . general. rawValue, systemImage: SettingsTab . general. icon) }
3537 . tag ( SettingsTab . general)
3638
39+ TerminalTab ( )
40+ . tabItem { Label ( SettingsTab . terminal. rawValue, systemImage: SettingsTab . terminal. icon) }
41+ . tag ( SettingsTab . terminal)
42+
3743 IntegrationsTab ( )
3844 . tabItem { Label ( SettingsTab . integrations. rawValue, systemImage: SettingsTab . integrations. icon) }
3945 . tag ( SettingsTab . integrations)
@@ -88,7 +94,20 @@ struct GeneralTab: View {
8894 }
8995 . disabled ( !settings. soundsEnabled)
9096 }
97+ }
98+ . formStyle ( . grouped)
99+ . scrollContentBackground ( . hidden)
100+ . onReceive ( NotificationCenter . default. publisher ( for: NSApplication . didChangeScreenParametersNotification) ) { _ in
101+ hasExternalDisplay = !NSScreen. externalScreens. isEmpty
102+ }
103+ }
104+ }
105+
106+ struct TerminalTab : View {
107+ @Bindable private var settings = SettingsManager . shared
91108
109+ var body : some View {
110+ Form {
92111 Section ( " Terminal " ) {
93112 FontPickerRow ( )
94113 FontWeightRow ( )
@@ -124,9 +143,6 @@ struct GeneralTab: View {
124143 }
125144 . formStyle ( . grouped)
126145 . scrollContentBackground ( . hidden)
127- . onReceive ( NotificationCenter . default. publisher ( for: NSApplication . didChangeScreenParametersNotification) ) { _ in
128- hasExternalDisplay = !NSScreen. externalScreens. isEmpty
129- }
130146 }
131147}
132148
0 commit comments