win-manager

Demonstrate window manager functionalities

Syntax:

win-manager  [-display=display_id]
             [-mode=window_manager_mode]
             [-verbose=verbosity_level]
            

Runs on:

QNX Neutrino

Options:

-display=display_id

Set the display, as an integer, to show content. If no display is provided, then win-manageruses the default display.

-mode=window_manager_mode
Set the mode in which win-manager runs. The mode can be specified by using one of the following strings, which are case-sensitive:
tile
When running in tile mode, win-manager positions application windows to be shown in a 4x3 grid formation on the display.
stack
When running in stack mode, win-manager positions application windows to be shown in a diagonal spread (downwards from top-left corner) on the display.
self
When running in self mode, win-manager allows application windows to position themselves to how the application originally created the windows. In self mode, applications can manage their own layout-related properties.

If not specified, win-managerdefaults to running in self mode.

-verbose=verbosity_level
Print information to display. You can specify the verbosity level as an integer in the range [1..4] (default is 1). The amount of information that win-manager displays increases from no information to maximum information as the verbosity level increases.

Description:

The win-manager binary demonstrates basic functinalities that a window manager must support. It manages the Screen application windows that are running– whether they were created before or after you start win-manager. The win-manager binary is a resource manager and therefore, once running, you can send commands to it by writing the command to its registered pathname (/dev/win-manager). These commands allow you to interact with win-manager and control the application windows as the window manager.

The following commands are supported by win-manager:
bottom win-window_id
Move the window that's specified by window_id to the botom of the window manager's list of windows.
hide win-window_id
Make the window that's specified by window_id invisible.
info all | win-window_id
Display either information on either all windows that the window manager is managing, or only the window that's specified by window_id.
maximize win-window_id
Set the window that's specified by window_id so that it's shown as fullscreen on the display. .
mode window_manager_mode
Change win-manager to run in the mode that's specified by window_manager_mode (e.g., tile, stack, self).
position win-window_id x,y
Position the window that's specified by window_id so that its top-left corner is at the specified coordinate on the display.
show win-window_id
Make the window that's specified by window_id visible.
size win-window_id widthxheight
Size the window that's specified by window_id so that its width and height are as specified.
top win-window_id
Move the window that's specified by window_id to the top of the window manager's list of windows.
zorder win-window_id zorder_value
Set the z-order of the window that's specified by window_id so that its value is what's specified by zorder_value.

Some commands are valid only in a specific mode which win-manager is currently running:

tile
  • hide
  • info
  • mode
  • show
stack
  • bottom
  • hide
  • info
  • mode
  • show
  • top
self
  • bottom
  • hide
  • info
  • maximize
  • mode
  • position
  • show
  • size
  • top
  • zorder

To run win-manager:

  1. Ensure that screen is running.
  2. Run win-manager from a shell.

    You can start Screen applications before or after you run win-manager. For example:

    # gles2-gears
    # sw-vsync
    # gles1-planetary
    # win-manager -mode=tile
                        
    or
    # win-manager -mode=tile                       
    # gles2-gears
    # sw-vsync
    # gles1-planetary
                        

    results eventually in win-manager showing the applications running in a 4x3 grid formation on the display.

  3. Use the echo command to write the commands to the pathname /dev/win-manager. For example:
    # echo "hide" win-1 >/dev/win-manager                       
    # echo "show" win-1 >/dev/win-manager
    # echo "mode" stack >/dev/win-manager
                        

Examples:

# win-manager -mode=tile
            


# win-manager -mode=stack