added applySelectedTheme to sshhandler which will run applyselectedtheme on the terminalview if it exists
added applyselectedtheme to apply the chosen theme in hostsmanager
applying of the chosen theme on appear of any shell view
made the tap target for sessions actually the whole list item
fix undefined behaivour from modifying published values from background threads
made the session list view more pretty
terminalviewcontaner has a static shared property which is an instance of itself
then it has sessions inside with a dict of uuid:terminalcontainer inside
hostsview is in the section "hosts"
terminalviewcontainer has a dict of [handler, terminalView] with a uuid key
each session gets a new uuid, and on disconnect, the session is removed from terminalviewcontainer
sessions list view to reopen sessions
remove multiview
extracted terminalviewcontainer
boxes now touch and dont have spacing between
vertical layout
context menu actually targets correct theme
the themebox is flexible and can be smaller/larger doesnt matter
fixed selecting themes - it now actually remembers!!
fix all themes having no names
fix remembering selected themes
added toTheme to return a theme from a themecodable
removed themeNames - its not needed as the names are saved in the ThemeCodable itself
extracted colorcodable and themecodable into their own files
removed all the debug prints
added a bunch of builtin htemes
applytheme takes a theme
added builtin themes enum
added decodeloacltheme func
added builtinthemes array property
selectedtheme is now an actual theme instead of an index
its really annoying it doesnt really work rn
added selectTheme to set the selectedtheme index
added isthemeselected to check if a theme is selected
applytheme takes an index now
ui needs work lol - cant select default, and selction doesnt save between sessions
added addhostifneeded
extracted hostskeys stuff to hostkeysview
added nav titles to everything
removed tabs, now just a list
renamed savedHosts -> hosts
added theme deletion
added animations on change of themes list
getkeys doesnt return duplicates, thanks to:
wrote a custom == operator to check if keys are the same, ignoring uuid
added gethostskeysusedon to get the hosts that use a key
fix refreshing of hosts on modification
added cancel to import alert
added import theme to import a theme
updated loadthemes
updated themesview to add import buttons and updated the view
fix themesview making a new instance of hostsmanager
added suiColor to get a swiftui color from a swiftterm color
fix uicolor returning black all the time
added loadthemes
added savethemes
theme is now identifieable
theme has a computed property themecodable to make it easier to convert
extended swiftterm.color to have a colorCodabel property
adding themes amanger ui
looking at swiftermapp, it uses string splitting to parse a plist of colours
i couldnt be asked to do this, so i made my own codable types and non codable types to automatically parse the plist lol
anyways might merge the Codable and non codabel types later, but i thik it works now so im leaving it as is rn
moved scrollback restore funcito higher
ok so now you can minimize an ssh session
- it will remember the scrollback,
- if u uminimixe it and then reconnect, it works
it uses a shared static var in TerminalViewContainer to keep SSHTerminal instances
scrollback restoration works and everything
screen will flash with a semi transparent white overlay and a bell emoji for 250ms
remove bell from nav bar, too distracting with the bell in the muiddle as well