### YamlMime:ManagedReference
items:
- uid: Terminal.Gui.Application
  id: Application
  children:
  - Terminal.Gui.Application.Begin(Terminal.Gui.Toplevel)
  - Terminal.Gui.Application.Current
  - Terminal.Gui.Application.Driver
  - Terminal.Gui.Application.End(Terminal.Gui.Application.RunState)
  - Terminal.Gui.Application.GrabMouse(Terminal.Gui.View)
  - Terminal.Gui.Application.Init
  - Terminal.Gui.Application.Iteration
  - Terminal.Gui.Application.MainLoop
  - Terminal.Gui.Application.MakeCenteredRect(Terminal.Gui.Size)
  - Terminal.Gui.Application.Refresh
  - Terminal.Gui.Application.RequestStop
  - Terminal.Gui.Application.RootMouseEvent
  - Terminal.Gui.Application.Run
  - Terminal.Gui.Application.Run(Terminal.Gui.Toplevel)
  - Terminal.Gui.Application.RunLoop(Terminal.Gui.Application.RunState,System.Boolean)
  - Terminal.Gui.Application.Top
  - Terminal.Gui.Application.UngrabMouse
  - Terminal.Gui.Application.UseSystemConsole
  langs:
  - csharp
  name: Application
  nameWithType: Application
  fullName: Terminal.Gui.Application
  type: Class
  assemblies:
  - Terminal.Gui
  namespace: Terminal.Gui
  summary: The application driver for gui.cs
  remarks: "<p>\n                You can hook up to the Iteration event to have your method \n                invoked on each iteration of the mainloop.\n              </p>\n    <p>\n                Creates a mainloop to process input events, handle timers and\n                other sources of data.   It is accessible via the MainLoop property.\n              </p>\n    <p>\n                When invoked sets the SynchronizationContext to one that is tied\n                to the mainloop, allowing user code to use async/await.\n              </p>"
  syntax:
    content: public static class Application
  inheritance:
  - System.Object
  implements: []
  inheritedMembers: []
- uid: Terminal.Gui.Application.Begin(Terminal.Gui.Toplevel)
  id: Begin(Terminal.Gui.Toplevel)
  parent: Terminal.Gui.Application
  langs:
  - csharp
  name: Begin(Toplevel)
  nameWithType: Application.Begin(Toplevel)
  fullName: Application.Begin(Toplevel)
  type: Method
  assemblies:
  - Terminal.Gui
  namespace: Terminal.Gui
  summary: 'Building block API: Prepares the provided toplevel for execution.'
  remarks: "This method prepares the provided toplevel for running with the focus,\n             it adds this to the list of toplevels, sets up the mainloop to process the \n             event, lays out the subviews, focuses the first element, and draws the\n             toplevel in the screen.   This is usually followed by executing\n             the <xref href=\"Terminal.Gui.Application.RunLoop(Terminal.Gui.Application.RunState,System.Boolean)\"></xref> method, and then the <xref href=\"Terminal.Gui.Application.End(Terminal.Gui.Application.RunState)\"></xref> method upon termination which will\n              undo these changes."
  syntax:
    content: public static Terminal.Gui.Application.RunState Begin (Terminal.Gui.Toplevel toplevel);
    parameters:
    - id: toplevel
      type: Terminal.Gui.Toplevel
      description: Toplevel to prepare execution for.
    return:
      type: Terminal.Gui.Application+RunState
      description: The runstate handle that needs to be passed to the End() method upon completion.
  overload: Terminal.Gui.Application.Begin*
  exceptions: []
- uid: Terminal.Gui.Application.Current
  id: Current
  parent: Terminal.Gui.Application
  langs:
  - csharp
  name: Current
  nameWithType: Application.Current
  fullName: Application.Current
  type: Property
  assemblies:
  - Terminal.Gui
  namespace: Terminal.Gui
  summary: The current toplevel object.   This is updated when Application.Run enters and leaves and points to the current toplevel.
  syntax:
    content: public static Terminal.Gui.Toplevel Current { get; }
    return:
      type: Terminal.Gui.Toplevel
      description: The current.
  overload: Terminal.Gui.Application.Current*
  exceptions: []
- uid: Terminal.Gui.Application.Driver
  id: Driver
  parent: Terminal.Gui.Application
  langs:
  - csharp
  name: Driver
  nameWithType: Application.Driver
  fullName: Application.Driver
  type: Field
  assemblies:
  - Terminal.Gui
  namespace: Terminal.Gui
  summary: The current Console Driver in use.
  syntax:
    content: public static Terminal.Gui.ConsoleDriver Driver;
    return:
      type: Terminal.Gui.ConsoleDriver
      description: To be added.
  exceptions: []
- uid: Terminal.Gui.Application.End(Terminal.Gui.Application.RunState)
  id: End(Terminal.Gui.Application.RunState)
  parent: Terminal.Gui.Application
  langs:
  - csharp
  name: End(Application+RunState)
  nameWithType: Application.End(Application+RunState)
  fullName: Application.End(Application+RunState)
  type: Method
  assemblies:
  - Terminal.Gui
  namespace: Terminal.Gui
  summary: 'Building block API: completes the exection of a Toplevel that was started with Begin.'
  syntax:
    content: public static void End (Terminal.Gui.Application.RunState runState);
    parameters:
    - id: runState
      type: Terminal.Gui.Application+RunState
      description: The runstate returned by the <xref href="Terminal.Gui.Application.Begin(Terminal.Gui.Toplevel)"></xref> method.
  overload: Terminal.Gui.Application.End*
  exceptions: []
- uid: Terminal.Gui.Application.GrabMouse(Terminal.Gui.View)
  id: GrabMouse(Terminal.Gui.View)
  parent: Terminal.Gui.Application
  langs:
  - csharp
  name: GrabMouse(View)
  nameWithType: Application.GrabMouse(View)
  fullName: Application.GrabMouse(View)
  type: Method
  assemblies:
  - Terminal.Gui
  namespace: Terminal.Gui
  summary: Grabs the mouse, forcing all mouse events to be routed to the specified view until UngrabMouse is called.
  syntax:
    content: public static void GrabMouse (Terminal.Gui.View view);
    parameters:
    - id: view
      type: Terminal.Gui.View
      description: View that will receive all mouse events until UngrabMouse is invoked.
  overload: Terminal.Gui.Application.GrabMouse*
  exceptions: []
- uid: Terminal.Gui.Application.Init
  id: Init
  parent: Terminal.Gui.Application
  langs:
  - csharp
  name: Init()
  nameWithType: Application.Init()
  fullName: Application.Init()
  type: Method
  assemblies:
  - Terminal.Gui
  namespace: Terminal.Gui
  summary: Initializes the Application
  syntax:
    content: public static void Init ();
    parameters: []
  overload: Terminal.Gui.Application.Init*
  exceptions: []
- uid: Terminal.Gui.Application.Iteration
  id: Iteration
  parent: Terminal.Gui.Application
  langs:
  - csharp
  name: Iteration
  nameWithType: Application.Iteration
  fullName: Application.Iteration
  type: Event
  assemblies:
  - Terminal.Gui
  namespace: Terminal.Gui
  summary: >-
    This event is raised on each iteration of the
                  main loop.
  remarks: See also <xref href="System.Threading.Timeout"></xref>
  syntax:
    content: public static event EventHandler Iteration;
    return:
      type: System.EventHandler
      description: To be added.
  exceptions: []
- uid: Terminal.Gui.Application.MainLoop
  id: MainLoop
  parent: Terminal.Gui.Application
  langs:
  - csharp
  name: MainLoop
  nameWithType: Application.MainLoop
  fullName: Application.MainLoop
  type: Property
  assemblies:
  - Terminal.Gui
  namespace: Terminal.Gui
  summary: The mainloop driver for the applicaiton
  syntax:
    content: public static Mono.Terminal.MainLoop MainLoop { get; }
    return:
      type: Mono.Terminal.MainLoop
      description: The main loop.
  overload: Terminal.Gui.Application.MainLoop*
  exceptions: []
- uid: Terminal.Gui.Application.MakeCenteredRect(Terminal.Gui.Size)
  id: MakeCenteredRect(Terminal.Gui.Size)
  parent: Terminal.Gui.Application
  langs:
  - csharp
  name: MakeCenteredRect(Size)
  nameWithType: Application.MakeCenteredRect(Size)
  fullName: Application.MakeCenteredRect(Size)
  type: Method
  assemblies:
  - Terminal.Gui
  namespace: Terminal.Gui
  summary: Returns a rectangle that is centered in the screen for the provided size.
  syntax:
    content: public static Terminal.Gui.Rect MakeCenteredRect (Terminal.Gui.Size size);
    parameters:
    - id: size
      type: Terminal.Gui.Size
      description: Size for the rectangle.
    return:
      type: Terminal.Gui.Rect
      description: The centered rect.
  overload: Terminal.Gui.Application.MakeCenteredRect*
  exceptions: []
- uid: Terminal.Gui.Application.Refresh
  id: Refresh
  parent: Terminal.Gui.Application
  langs:
  - csharp
  name: Refresh()
  nameWithType: Application.Refresh()
  fullName: Application.Refresh()
  type: Method
  assemblies:
  - Terminal.Gui
  namespace: Terminal.Gui
  summary: Triggers a refresh of the entire display.
  syntax:
    content: public static void Refresh ();
    parameters: []
  overload: Terminal.Gui.Application.Refresh*
  exceptions: []
- uid: Terminal.Gui.Application.RequestStop
  id: RequestStop
  parent: Terminal.Gui.Application
  langs:
  - csharp
  name: RequestStop()
  nameWithType: Application.RequestStop()
  fullName: Application.RequestStop()
  type: Method
  assemblies:
  - Terminal.Gui
  namespace: Terminal.Gui
  summary: Stops running the most recent toplevel
  syntax:
    content: public static void RequestStop ();
    parameters: []
  overload: Terminal.Gui.Application.RequestStop*
  exceptions: []
- uid: Terminal.Gui.Application.RootMouseEvent
  id: RootMouseEvent
  parent: Terminal.Gui.Application
  langs:
  - csharp
  name: RootMouseEvent
  nameWithType: Application.RootMouseEvent
  fullName: Application.RootMouseEvent
  type: Field
  assemblies:
  - Terminal.Gui
  namespace: Terminal.Gui
  summary: Merely a debugging aid to see the raw mouse events
  syntax:
    content: public static Action<Terminal.Gui.MouseEvent> RootMouseEvent;
    return:
      type: System.Action{Terminal.Gui.MouseEvent}
      description: To be added.
  exceptions: []
- uid: Terminal.Gui.Application.Run
  id: Run
  parent: Terminal.Gui.Application
  langs:
  - csharp
  name: Run()
  nameWithType: Application.Run()
  fullName: Application.Run()
  type: Method
  assemblies:
  - Terminal.Gui
  namespace: Terminal.Gui
  summary: Runs the application with the built-in toplevel view
  syntax:
    content: public static void Run ();
    parameters: []
  overload: Terminal.Gui.Application.Run*
  exceptions: []
- uid: Terminal.Gui.Application.Run(Terminal.Gui.Toplevel)
  id: Run(Terminal.Gui.Toplevel)
  parent: Terminal.Gui.Application
  langs:
  - csharp
  name: Run(Toplevel)
  nameWithType: Application.Run(Toplevel)
  fullName: Application.Run(Toplevel)
  type: Method
  assemblies:
  - Terminal.Gui
  namespace: Terminal.Gui
  summary: Runs the main loop on the given container.
  remarks: "<p>\n                This method is used to start processing events\n                for the main application, but it is also used to\n                run modal dialog boxes.\n              </p>\n    <p>\n                To make a toplevel stop execution, set the \"Running\"\n                property to false.\n              </p>\n    <p>\n                This is equivalent to calling Begin on the toplevel view, followed by RunLoop with the\n                returned value, and then calling end on the return value.\n              </p>\n    <p>\n                Alternatively, if your program needs to control the main loop and needs to \n                process events manually, you can invoke Begin to set things up manually and then\n                repeatedly call RunLoop with the wait parameter set to false.   By doing this\n                the RunLoop method will only process any pending events, timers, idle handlers and\n                then return control immediately.\n              </p>"
  syntax:
    content: public static void Run (Terminal.Gui.Toplevel view);
    parameters:
    - id: view
      type: Terminal.Gui.Toplevel
      description: To be added.
  overload: Terminal.Gui.Application.Run*
  exceptions: []
- uid: Terminal.Gui.Application.RunLoop(Terminal.Gui.Application.RunState,System.Boolean)
  id: RunLoop(Terminal.Gui.Application.RunState,System.Boolean)
  parent: Terminal.Gui.Application
  langs:
  - csharp
  name: RunLoop(Application+RunState, Boolean)
  nameWithType: Application.RunLoop(Application+RunState, Boolean)
  fullName: Application.RunLoop(Application+RunState, Boolean)
  type: Method
  assemblies:
  - Terminal.Gui
  namespace: Terminal.Gui
  summary: 'Building block API: Runs the main loop for the created dialog'
  remarks: >-
    Use the wait parameter to control whether this is a
                  blocking or non-blocking call.
  syntax:
    content: public static void RunLoop (Terminal.Gui.Application.RunState state, bool wait = true);
    parameters:
    - id: state
      type: Terminal.Gui.Application+RunState
      description: The state returned by the Begin method.
    - id: wait
      type: System.Boolean
      description: By default this is true which will execute the runloop waiting for events, if you pass false, you can use this method to run a single iteration of the events.
  overload: Terminal.Gui.Application.RunLoop*
  exceptions: []
- uid: Terminal.Gui.Application.Top
  id: Top
  parent: Terminal.Gui.Application
  langs:
  - csharp
  name: Top
  nameWithType: Application.Top
  fullName: Application.Top
  type: Property
  assemblies:
  - Terminal.Gui
  namespace: Terminal.Gui
  summary: The Toplevel object used for the application on startup.
  syntax:
    content: public static Terminal.Gui.Toplevel Top { get; }
    return:
      type: Terminal.Gui.Toplevel
      description: The top.
  overload: Terminal.Gui.Application.Top*
  exceptions: []
- uid: Terminal.Gui.Application.UngrabMouse
  id: UngrabMouse
  parent: Terminal.Gui.Application
  langs:
  - csharp
  name: UngrabMouse()
  nameWithType: Application.UngrabMouse()
  fullName: Application.UngrabMouse()
  type: Method
  assemblies:
  - Terminal.Gui
  namespace: Terminal.Gui
  summary: Releases the mouse grab, so mouse events will be routed to the view on which the mouse is.
  syntax:
    content: public static void UngrabMouse ();
    parameters: []
  overload: Terminal.Gui.Application.UngrabMouse*
  exceptions: []
- uid: Terminal.Gui.Application.UseSystemConsole
  id: UseSystemConsole
  parent: Terminal.Gui.Application
  langs:
  - csharp
  name: UseSystemConsole
  nameWithType: Application.UseSystemConsole
  fullName: Application.UseSystemConsole
  type: Field
  assemblies:
  - Terminal.Gui
  namespace: Terminal.Gui
  summary: If set, it forces the use of the System.Console-based driver.
  syntax:
    content: public static bool UseSystemConsole;
    return:
      type: System.Boolean
      description: To be added.
  exceptions: []
references:
- uid: System.Object
  parent: System
  isExternal: true
  name: Object
  nameWithType: Object
  fullName: System.Object
- uid: Terminal.Gui.Application.Begin(Terminal.Gui.Toplevel)
  parent: Terminal.Gui.Application
  isExternal: false
  name: Begin(Toplevel)
  nameWithType: Application.Begin(Toplevel)
  fullName: Application.Begin(Toplevel)
- uid: Terminal.Gui.Application
  parent: Terminal.Gui
  isExternal: false
  name: Application
  nameWithType: Application
  fullName: Terminal.Gui.Application+RunState
- uid: Terminal.Gui.Toplevel
  parent: Terminal.Gui
  isExternal: false
  name: Toplevel
  nameWithType: Toplevel
  fullName: Terminal.Gui.Toplevel
- uid: Terminal.Gui.Application.Current
  parent: Terminal.Gui.Application
  isExternal: false
  name: Current
  nameWithType: Application.Current
  fullName: Application.Current
- uid: Terminal.Gui.Application.Driver
  parent: Terminal.Gui.Application
  isExternal: false
  name: Driver
  nameWithType: Application.Driver
  fullName: Application.Driver
- uid: Terminal.Gui.ConsoleDriver
  parent: Terminal.Gui
  isExternal: false
  name: ConsoleDriver
  nameWithType: ConsoleDriver
  fullName: Terminal.Gui.ConsoleDriver
- uid: Terminal.Gui.Application.End(Terminal.Gui.Application.RunState)
  parent: Terminal.Gui.Application
  isExternal: false
  name: End(Application+RunState)
  nameWithType: Application.End(Application+RunState)
  fullName: Application.End(Application+RunState)
- uid: Terminal.Gui.Application.GrabMouse(Terminal.Gui.View)
  parent: Terminal.Gui.Application
  isExternal: false
  name: GrabMouse(View)
  nameWithType: Application.GrabMouse(View)
  fullName: Application.GrabMouse(View)
- uid: Terminal.Gui.View
  parent: Terminal.Gui
  isExternal: false
  name: View
  nameWithType: View
  fullName: Terminal.Gui.View
- uid: Terminal.Gui.Application.Init
  parent: Terminal.Gui.Application
  isExternal: false
  name: Init()
  nameWithType: Application.Init()
  fullName: Application.Init()
- uid: Terminal.Gui.Application.Iteration
  parent: Terminal.Gui.Application
  isExternal: false
  name: Iteration
  nameWithType: Application.Iteration
  fullName: Application.Iteration
- uid: System.EventHandler
  parent: System
  isExternal: true
  name: EventHandler
  nameWithType: EventHandler
  fullName: System.EventHandler
- uid: Terminal.Gui.Application.MainLoop
  parent: Terminal.Gui.Application
  isExternal: false
  name: MainLoop
  nameWithType: Application.MainLoop
  fullName: Application.MainLoop
- uid: Mono.Terminal.MainLoop
  parent: Mono.Terminal
  isExternal: false
  name: MainLoop
  nameWithType: MainLoop
  fullName: Mono.Terminal.MainLoop
- uid: Terminal.Gui.Application.MakeCenteredRect(Terminal.Gui.Size)
  parent: Terminal.Gui.Application
  isExternal: false
  name: MakeCenteredRect(Size)
  nameWithType: Application.MakeCenteredRect(Size)
  fullName: Application.MakeCenteredRect(Size)
- uid: Terminal.Gui.Rect
  parent: Terminal.Gui
  isExternal: false
  name: Rect
  nameWithType: Rect
  fullName: Terminal.Gui.Rect
- uid: Terminal.Gui.Size
  parent: Terminal.Gui
  isExternal: false
  name: Size
  nameWithType: Size
  fullName: Terminal.Gui.Size
- uid: Terminal.Gui.Application.Refresh
  parent: Terminal.Gui.Application
  isExternal: false
  name: Refresh()
  nameWithType: Application.Refresh()
  fullName: Application.Refresh()
- uid: Terminal.Gui.Application.RequestStop
  parent: Terminal.Gui.Application
  isExternal: false
  name: RequestStop()
  nameWithType: Application.RequestStop()
  fullName: Application.RequestStop()
- uid: Terminal.Gui.Application.RootMouseEvent
  parent: Terminal.Gui.Application
  isExternal: false
  name: RootMouseEvent
  nameWithType: Application.RootMouseEvent
  fullName: Application.RootMouseEvent
- uid: System.Action`1
  name: Action
  nameWithType: Action
  fullName: System.Action
- uid: Terminal.Gui.MouseEvent
  name: MouseEvent
  nameWithType: MouseEvent
  fullName: Terminal.Gui.MouseEvent
- uid: System.Action{Terminal.Gui.MouseEvent}
  parent: System
  isExternal: true
  name: Action<MouseEvent>
  nameWithType: Action<MouseEvent>
  fullName: System.Action<Terminal.Gui.MouseEvent>
  spec.csharp:
  - uid: System.Action`1
    name: Action
    nameWithType: Action
    fullName: System.Action
  - name: <
    nameWithType: <
    fullName: <
  - uid: Terminal.Gui.MouseEvent
    name: MouseEvent
    nameWithType: MouseEvent
    fullName: Terminal.Gui.MouseEvent
  - name: '>'
    nameWithType: '>'
    fullName: '>'
- uid: Terminal.Gui.Application.Run
  parent: Terminal.Gui.Application
  isExternal: false
  name: Run()
  nameWithType: Application.Run()
  fullName: Application.Run()
- uid: Terminal.Gui.Application.Run(Terminal.Gui.Toplevel)
  parent: Terminal.Gui.Application
  isExternal: false
  name: Run(Toplevel)
  nameWithType: Application.Run(Toplevel)
  fullName: Application.Run(Toplevel)
- uid: Terminal.Gui.Application.RunLoop(Terminal.Gui.Application.RunState,System.Boolean)
  parent: Terminal.Gui.Application
  isExternal: false
  name: RunLoop(Application+RunState, Boolean)
  nameWithType: Application.RunLoop(Application+RunState, Boolean)
  fullName: Application.RunLoop(Application+RunState, Boolean)
- uid: System.Boolean
  parent: System
  isExternal: true
  name: Boolean
  nameWithType: Boolean
  fullName: System.Boolean
- uid: Terminal.Gui.Application.Top
  parent: Terminal.Gui.Application
  isExternal: false
  name: Top
  nameWithType: Application.Top
  fullName: Application.Top
- uid: Terminal.Gui.Application.UngrabMouse
  parent: Terminal.Gui.Application
  isExternal: false
  name: UngrabMouse()
  nameWithType: Application.UngrabMouse()
  fullName: Application.UngrabMouse()
- uid: Terminal.Gui.Application.UseSystemConsole
  parent: Terminal.Gui.Application
  isExternal: false
  name: UseSystemConsole
  nameWithType: Application.UseSystemConsole
  fullName: Application.UseSystemConsole
- uid: Terminal.Gui.Application.Begin*
  parent: Terminal.Gui.Application
  isExternal: false
  name: Begin
  nameWithType: Application.Begin
  fullName: Application.Begin
- uid: Terminal.Gui.Application.Current*
  parent: Terminal.Gui.Application
  isExternal: false
  name: Current
  nameWithType: Application.Current
  fullName: Application.Current
- uid: Terminal.Gui.Application.End*
  parent: Terminal.Gui.Application
  isExternal: false
  name: End
  nameWithType: Application.End
  fullName: Application.End
- uid: Terminal.Gui.Application.GrabMouse*
  parent: Terminal.Gui.Application
  isExternal: false
  name: GrabMouse
  nameWithType: Application.GrabMouse
  fullName: Application.GrabMouse
- uid: Terminal.Gui.Application.Init*
  parent: Terminal.Gui.Application
  isExternal: false
  name: Init
  nameWithType: Application.Init
  fullName: Application.Init
- uid: Terminal.Gui.Application.MainLoop*
  parent: Terminal.Gui.Application
  isExternal: false
  name: MainLoop
  nameWithType: Application.MainLoop
  fullName: Application.MainLoop
- uid: Terminal.Gui.Application.MakeCenteredRect*
  parent: Terminal.Gui.Application
  isExternal: false
  name: MakeCenteredRect
  nameWithType: Application.MakeCenteredRect
  fullName: Application.MakeCenteredRect
- uid: Terminal.Gui.Application.Refresh*
  parent: Terminal.Gui.Application
  isExternal: false
  name: Refresh
  nameWithType: Application.Refresh
  fullName: Application.Refresh
- uid: Terminal.Gui.Application.RequestStop*
  parent: Terminal.Gui.Application
  isExternal: false
  name: RequestStop
  nameWithType: Application.RequestStop
  fullName: Application.RequestStop
- uid: Terminal.Gui.Application.Run*
  parent: Terminal.Gui.Application
  isExternal: false
  name: Run
  nameWithType: Application.Run
  fullName: Application.Run
- uid: Terminal.Gui.Application.RunLoop*
  parent: Terminal.Gui.Application
  isExternal: false
  name: RunLoop
  nameWithType: Application.RunLoop
  fullName: Application.RunLoop
- uid: Terminal.Gui.Application.Top*
  parent: Terminal.Gui.Application
  isExternal: false
  name: Top
  nameWithType: Application.Top
  fullName: Application.Top
- uid: Terminal.Gui.Application.UngrabMouse*
  parent: Terminal.Gui.Application
  isExternal: false
  name: UngrabMouse
  nameWithType: Application.UngrabMouse
  fullName: Application.UngrabMouse
