There are a number of places where the code needs a good refactoring:
Dialog boxes use shared state to control opening and closing - instead they should use enums in their update functions.
Dialog boxes have poor encapsulation. Need to determine what data they actually need and don't need.
Monitor process needs love:
Reduce code duplication for timed update tasks
Loop only runs every 5 seconds, need to fix this to actually break out when there are messages to process
Move server process inspection logic out of the monitor function and into its own functions
Reconsider how server state and settings are queried in contexts where they are known to exist
Message processing functions are getting very large and have lots of inline code - factor this out into more discrete functions
View functions have a lot of conditional widget creation - these widgets should perhaps become a bit more customizeable and construct themselves rather than being inline. Perhaps part of the UI pass.
There are a number of places where the code needs a good refactoring: