[[!redirects The Window Manager Window System Area]] h6. [[WindowManager]] h6(. » [[WindowManager Technical Details|Technical Details]] h6((. » Window System Area The system-area is the part of a window that display icons (controls) that affect the position and display of a window. Each control is detailed below, with differences between the Select and Adjust mouse buttons. h2(#title_bar). Title Bar Contains the name of the window, often referred to as the ‘window caption’ in other Operating Systems. Dragging the Title Bar causes the whole window to be moved. It is an icon. i.e it can have its own font type, alignment and colour settings. h4. SWIs & Event Information |<^. [[Open_Window_Request|Open_Window_Request]]|<^. If RISC OS is configured to display solid window dragging rather than just window outlines, then each mouse movement will generate one of these requests| |<^. [[Redraw_Window_Request|Redraw_Window_Request]]|<^. If RISC OS is configured to display solid window dragging rather than just window outlines, then each mouse movement will generate one of these requests *after* the [[Open_Window_Request|Open_Window_Request]]| h4. Mouse Button Differences |<^. Select|<^. The window moves and is also brought to the top of the window stack| |<^. Adjust|<^. The window moves, but the window stack depth remains unchanged| h2(#close_icon). Close Icon Used to generate a request for a window be closed. It is the responsibility of an application to decide how to respond to the event request. h4. SWI & Event Information |<^. [[Wimp_CloseWindow|Wimp_CloseWindow]] |<^. If an application decides to close the window, then this SWI should be called| |<^. [[Close_Window_Request|Close_Window_Request]]|<^. Wimp issues this event when the close icon has been clicked| |<^. [[Redraw_Window_Request|Redraw_Window_Request]]|<^. Wimp issues this event when the window is closed, to all those windows which were obscured by it and are now visible| h4. Mouse Button Differences |<^. Select|<^. The window should close| |<^. Adjust|<^. The window should close, but also open up the parent window (if applicable)| h2(#back_icon). Back Icon Used to send the window to the back of the window stack (across all applications). This makes it the least visible window within the Window Manager. h4. SWI & Event Information |<^. [[Redraw_Window_Request|Redraw_Window_Request]]|<^. Wimp issues the event when the window is sent to the back of the window stack, to all those windows which were obscured by it and are now visible| h4. Mouse Button Differences |<^. Select |<^. The window should go to the back of the window stack| |<^. Adjust |<^. Same as Select| h2(Toggle_Size_Icon). Toggle Size Icon Used to toggle the window between its maximum size and the previous size used. h4. SWI & Event Information |<^. [[Open_Window_Request|Open_Window_Request]]|<^. Wimp issues the event so that an application can update the work-area region of the resized window| h4. Mouse Button Differences |<^. Select|<^. Toggles the size of the window between the maximum and previous size used. The window stack also toggles between the front and its previous depth setting| |<^. Adjust|<^. Toggles the size of the window between the maximum and previous size used. The window stack depth remains unchanged| h2(#adjust_size_icon). Adjust Size Icon Used to resize the window both horizontally and vertically (if permitted). h4. SWI & Event Information |<^. [[Open_Window_Request|Open_Window_Request]] |<^. Wimp can generate a continuous stream of these events while being resized or one single event at the end of the resize. This setting is on a per window basis| |<^. [[Redraw_Window_Request|Redraw_Window_Request]]|<^. Wimp may issue these events if other windows ‘behind’ this window need updating due to the window resizing| h4. Mouse Button Differences |<^. Select|<^. Resizes the window and brings it to the front of the window stack| |<^. Adjust|<^. Resizes the window but the window stack depth remains unchanged| h2(#iconize_icon). Iconize Icon Used to hide the window and place an icon on either the Pinboard or Icon bar that can be used to re-display the window if clicked. h4. SWI & Event Information |<^. [[Message_Iconize]]|<^. Wimp issues this event when the Iconize icon has been clicked| h4. Mouse Button Differences |<^. Select|<^. Minimizes the window to either the Pinboard or Icon bar| |<^. Adjust|<^. Same as Select| h2(#vertical_scroll_bar). Vertical Scroll Bar It is used to advance or ‘move’ the work-area in a vertical manner. *Note:* All scroll operations leave the window’s stack unchanged. The vertical scroll bar is made up of five discrete elements, each with different methods of advancing the work-area. They are: |_<. Element|_<. Vertical Advancement| |<^. Scroll Up Arrow|<^. Offsets the window by 32 OS units| |<^. Page Up Area (above the slider)|<^. Adjusts the Scroll offsets by the height of the visible work-area| |<^. Slider|<^. Dragging the slider allow for accurate positioning of the work-area| |<^. Page Down Area (below the slider)|<^. Adjusts the Scroll offsets by the height of the visible window work-area| |<^. Scroll Down Arrow|<^. Offsets the window by 32 OS units| h4. SWI & Event Information |<^. [[Open_Window_Request|Open_Window_Request]]|<^. Wimp issues this event after each time the scroll bar has changed position so the work-area contents can be updated. This is the default setting for a window| |<^. [[Scroll_Request|Scroll_Request]] |<^. Wimp can generate a continuous stream of these events or a single event if either the Scroll Arrows or Page Area are clicked. The application can then decide how much to scroll. This setting is on a per window basis| |<^. [[Wimp_OpenWindow|Wimp_OpenWindow]]|<^. This SWI is used to update the contents of the window *if* the application has control over how much the work-area should be scrolled by. i.e using Scroll_Requests| h4. Mouse Button Differences h5. Scroll Up & Scroll Down Arrow |<^. Select|<^. Moves the work-area by 32 OS units in the appropriate direction| |<^. Adjust|<^. Moves the work-area by 32 OS units in the reverse direction | h5. Page Up & Page Down Areas |<^. Select|<^. Moves the work-area by the height of the visible work area in appropriate direction| |<^. Adjust|<^. Moves the work-area by the height of the visible work-area in reverse direction | h5. Slider |<^. Select|<^. Allows accurate vertical positioning of the work-area| |<^. Adjust|<^. Allows accurate vertical *and* horizontal positioning of the work-area. *Note:* The horizontal Scroll bar must also be visible for this| h2(#horizontal_scroll_bar). Horizontal scroll Bar It is used to advance or ‘move’ the work-area in a horizontal manner. *Note:* All scroll operations leave the window’s stack unchanged. The horizontal scroll bar is made up of five discrete elements, each with different methods of advancing the work-area. They are: |_<. Element|_<. Horizontal Advancement| |<^. Scroll Left Arrow|<^. Offsets the window by 32 OS units| |<^. Page Left Area (above the slider)|<^. Adjusts the Scroll offsets by the width of the visible work area| |<^. Slider|<^. Dragging the slider allow for accurate positioning of the work-area| |<^. Page Right Area (below the slider)|<^. Adjusts the Scroll offsets by the width of the visible window work area| |<^. Scroll Right Arrow|<^. Offsets the window by 32 OS units| h4. SWI & Event Information |<^. [[Open_Window_Request|Open_Window_Request]]|<^. Wimp issues this event after each time the scroll bar has changed position so the work area contents can be updated. This is the default setting for a window| |<^. [[Scroll_Request|Scroll_Request]] |<^. Wimp can generate a continuous stream of these events or a single event if either the Scroll Arrows or Page Area are clicked. The application can then decide how much to scroll. This setting is on a per window basis| |<^. [[Wimp_OpenWindow|Wimp_OpenWindow]]|<^. This SWI is used to update the contents of the window *if* the application has control over how much the work-area should be scrolled by. i.e using Scroll_Requests| h4. Mouse Button Differences h5. Scroll Left & Scroll Right Arrow |<^. Select|<^. Moves the work-area by 32 OS units in the appropriate direction| |<^. Adjust|<^. Moves the work-area by 32 OS units in the reverse direction | h5. Page Left & Page Right Areas |<^. Select|<^. Moves the work-area by the width of the visible work area in appropriate direction| |<^. Adjust|<^. Moves the work-area by the width of the visible work area in reverse direction | h5. Slider |<^. Select|<^. Allows accurate horizontal positioning of the work area| |<^. Adjust|<^. Allows accurate horizontal *and* horizontal positioning of the work area. *Note:* The horizontal Scroll bar must also be visible for this| h2(#window_definition). Window Definition When a window is created, Window flags are used to determine which system-area controls should be displayed. To find out more about this see the Window Flags pages.