Class MainWindow
Main window: menu bar, room list, message log, member list, input line and status bar.
Inherited Members
Window.DefaultShadow
Window.DefaultBorderStyle
Runnable.SetApp(IApplication)
Runnable.RequestStop()
Runnable.Result
Runnable.IsRunning
Runnable.IsModal
Runnable.StopRequested
Runnable.IsRunningChanging
Runnable.IsRunningChanged
Runnable.IsModalChanged
View.NewMouseEvent(Mouse)
View.RaiseMouseEvent(Mouse)
View.GetAdornmentsThickness()
View.GetSupportedCommands()
View.InvokeCommands(Command[], ICommandBinding)
View.InvokeCommand(Command, ICommandBinding)
View.InvokeCommand(Command, ICommandContext)
View.InvokeCommand(Command)
View.DefaultAcceptHandler(ICommandContext)
View.DefaultActivateHandler(ICommandContext)
View.DefaultHotKeyHandler(ICommandContext)
View.GetContentWidth()
View.GetContentHeight()
View.GetContentSize()
View.GetWidthRequiredForSubViews()
View.GetAutoWidth()
View.GetAutoHeight()
View.GetHeightRequiredForSubViews()
View.ViewportToScreen()
View.GetViewportOffsetFromFrame()
View.Dispose()
View.ToString()
View.ToDebugString()
View.BeginInit()
View.EndInit()
View.OnEnabledChanged()
View.SetCursorNeedsUpdate()
View.DrawAdornments()
View.GetCurrentAttribute()
View.GetAttributeForRole(VisualRole)
View.SetAttribute(Attribute)
View.SetAttributeForRole(VisualRole)
View.GetClip()
View.SetClip(Region)
View.SetClipToScreen()
View.ExcludeFromClip(Region)
View.AddViewportToClip()
View.Draw(DrawContext)
View.ClearViewport(DrawContext)
View.DrawText(DrawContext)
View.DrawSubViews(DrawContext)
View.RenderLineCanvas(DrawContext)
View.GetScheme()
View.SetScheme(Scheme)
View.Add(View)
View.Add(params View[])
View.Remove(View)
View.RemoveAll()
View.RemoveAll<TView>()
View.GetTopSuperView(View, View)
View.MoveSubViewTowardsEnd(View)
View.MoveSubViewToEnd(View)
View.MoveSubViewTowardsStart(View)
View.MoveSubViewToStart(View)
View.AssignHotKeysToSubViews()
View.NewKeyDownEvent(Key)
View.NewKeyUpEvent(Key)
View.FrameToScreen()
View.Layout()
View.SetNeedsLayout()
View.GetContainerSize()
View.AdvanceFocus(NavigationDirection, TabBehavior?)
View.FocusDeepest(NavigationDirection, TabBehavior?)
View.OnCanFocusChanged()
View.ClearFocus()
View.SetFocus()
View.SetNeedsDraw()
View.MouseBindings
View.DefaultMouseBindings
View.ViewMouseBindings
View.MouseHoldRepeat
View.MousePositionTracking
View.MouseState
View.MouseHighlightStates
View.Margin
View.ShadowStyle
View.Border
View.BorderStyle
View.Padding
View.Arrangement
View.DefaultAcceptView
View.CommandsToBubbleUp
View.ContentSizeTracksViewport
View.ViewportSettings
View.Viewport
View.Data
View.Id
View.App
View.IsInitialized
View.Enabled
View.Visible
View.Title
View.Cursor
View.Diagnostics
View.LineCanvas
View.SuperViewRendersLineCanvas
View.SchemeName
View.HasScheme
View.SubViews
View.SuperView
View.HotKey
View.HotKeySpecifier
View.AssignHotKeys
View.UsedHotKeys
View.KeyBindings
View.HotKeyBindings
View.DefaultKeyBindings
View.ViewKeyBindings
View.Frame
View.X
View.Y
View.Height
View.Width
View.NeedsLayout
View.ValidatePosDim
View.CanFocus
View.Focused
View.IsCurrentTop
View.MostFocused
View.HasFocus
View.PreviouslyFocused
View.TabStop
View.NeedsDraw
View.HorizontalScrollBar
View.VerticalScrollBar
View.PreserveTrailingSpaces
View.Text
View.TextAlignment
View.TextDirection
View.TextFormatter
View.VerticalTextAlignment
View.MouseEnter
View.MouseLeave
View.MouseHoldRepeatChanging
View.MouseHoldRepeatChanged
View.MouseEvent
View.MouseStateChanged
View.ShadowStyleChanged
View.BorderStyleChanged
View.CommandNotBound
View.Accepting
View.Accepted
View.Activating
View.Activated
View.HandlingHotKey
View.HotKeyCommand
View.ContentSizeChanging
View.ContentSizeChanged
View.ViewportChanged
View.Disposing
View.Initialized
View.EnabledChanged
View.VisibleChanging
View.VisibleChanged
View.TitleChanging
View.TitleChanged
View.GettingAttributeForRole
View.ClearingViewport
View.ClearedViewport
View.DrawingText
View.DrewText
View.DrawingContent
View.DrawingSubViews
View.DrawComplete
View.SchemeNameChanging
View.SchemeNameChanged
View.GettingScheme
View.SchemeChanging
View.SchemeChanged
View.SuperViewChanging
View.SuperViewChanged
View.SubViewAdding
View.SubViewAdded
View.SubViewRemoved
View.Removed
View.HotKeyChanged
View.KeyDown
View.KeyDownNotHandled
View.KeyUp
View.FrameChanged
View.HeightChanging
View.HeightChanged
View.WidthChanging
View.WidthChanged
View.SubViewLayout
View.SubViewsLaidOut
View.AdvancingFocus
View.CanFocusChanged
View.FocusedChanged
View.HasFocusChanging
View.HasFocusChanged
View.Pasting
View.Pasted
View.TextChanging
View.TextChanged
Namespace: Uniform.Chat.Terminal.Ui
Assembly: Uniform.Chat.dll
Syntax
public sealed class MainWindow : Window, IDisposable, ISupportInitializeNotification, ISupportInitialize, IRunnable
Remarks
All members run on the UI thread; background results are marshalled with Invoke(Action). Split into partial files:
- MainWindow.cs: layout, menus, keys, rooms, history and commands.
- MainWindow.Messages.cs: message actions, replies and edits, typing, nick completion, files and devices.
- MainWindow.Images.cs: inline ASCII previews of images and the image viewer.
- MainWindow.Security.cs: encryption status, recovery and device verification.
- MainWindow.Admin.cs: room administration: name, avatar, kick, ban and power levels.
- MainWindow.Tools.cs: settings and log windows.
- MainWindow.Calls.cs: voice calls.
- MainWindow.Moderation.cs: reporting, blocking users and deleting the account.
- MainWindow.Server.cs: server administration for server admins: accounts, registration tokens, reports, rooms and notices.
Constructors
| Edit this page View SourceMainWindow(IApplication, ClientSession, SyncProcessor, OutboxSender, ClientStore, ConnectionStatus, MediaCache, CryptoService, CallService, AccountPaths, IOptionsMonitor<UiOptions>, SettingsStore, OptionCatalog, IHostEnvironment, IConfiguration, FileLoggerProvider, IOptions<StorageOptions>, ILogger<MainWindow>)
Create the window and start listening to sync, outbox and connection changes.
Declaration
public MainWindow(IApplication app, ClientSession session, SyncProcessor processor, OutboxSender outbox, ClientStore store, ConnectionStatus status, MediaCache mediaCache, CryptoService crypto, CallService calls, AccountPaths paths, IOptionsMonitor<UiOptions> uiOptions, SettingsStore settings, OptionCatalog optionCatalog, IHostEnvironment environment, IConfiguration configuration, FileLoggerProvider fileLogger, IOptions<StorageOptions> storageOptions, ILogger<MainWindow> logger)
Parameters
| Type | Name | Description |
|---|---|---|
| IApplication | app | |
| ClientSession | session | |
| SyncProcessor | processor | |
| OutboxSender | outbox | |
| ClientStore | store | |
| ConnectionStatus | status | |
| MediaCache | mediaCache | |
| CryptoService | crypto | |
| CallService | calls | |
| AccountPaths | paths | |
| IOptionsMonitor<UiOptions> | uiOptions | |
| SettingsStore | settings | |
| OptionCatalog | optionCatalog | |
| IHostEnvironment | environment | |
| IConfiguration | configuration | |
| FileLoggerProvider | fileLogger | |
| IOptions<StorageOptions> | storageOptions | |
| ILogger<MainWindow> | logger |
Implements
Terminal.Gui.App.IRunnable