Tutorial: Special windows

Special windows

Special window types are described here.

There are several special buttons on a remote control intended to invoke corresponding windows. They can work in one of two modes:

  1. Silent mode
  2. Passthrough mode

Silent mode means that hits on corresponding buttons caught inside browser environment and managed by it in according to built-in logic.
In this mode it's impossible to handle them in the user application space via regular event handler methods.

Passthrough mode means that hits on corresponding buttons can be managed by user application logic via regular event handler callbacks such as window.keydown.

Virtual Keyboard

It's a special window which has its API. It's intended to create on-screen interactive keyboard.

Check if Virtual Keyboard window exists:

if ( !stbWindowMgr.IsWebVkWindowExist() ) {
    console.log('Virtual Keyboard window is not exists!');
}

Return state of virtual keyboard visibility:

console.log('state of virtual keyboard visibility:', gSTB.IsVirtualKeyboardActive());

Set manual position for Virtual Keyboard window:

stbWindowMgr.SetVirtualKeyboardCoord('topleft');

Get URL of built-in keyboard implementation:

console.log('URL of built-in keyboard implementation:', stbWindowMgr.getVirtualKeyboardImplUrl());

Visibility of Virtual Keyboard window can be managed manually, by KB remote control button, and programmatically.
Functioning modes of corresponding button are described in the head of this document.

// enable Silent mode:
gSTB.EnableVKButton(true);

// enable Passthrough mode:
gSTB.EnableVKButton(false);

Operate with Virtual Keyboard window visibility programmatically:

gSTB.ShowVirtualKeyboard();
gSTB.HideVirtualKeyboard();

Set custom Virtual Keyboard window implementation:

stbWindowMgr.setVirtualKeyboardInitAttr(JSON.stringify({
    url: 'path/index.html'
}));

Internal Portal

It's the basic parental window.

Make the Portal window active:

stbWindowMgr.showPortalWindow();

Screen Saver

This is a special window which appears after specified time of inactivity and hides after some user action (mouse move, key press).
Screen Saver window does not occur when audio or video content is playing.

Get status for Screen Saver window:

if ( stbWindowMgr.IsScreenSaverWindowExist() ) {
    console.log('Screen Saver window exists.');
}

Set a custom Screen Saver window implementation:

gSTB.SetScreenSaverInitAttr(JSON.stringify({
    url: 'path/index.html',
    backgroundColor: '#000'
}));

Set a Screen Saver activation time (in seconds) on idle:

// time 0 - disable screensaver, 1-59 value is ceiling to 60
gSTB.SetScreenSaverTime(30);

System Settings

It's a special window intended to show STB system settings.

Visibility of System Settings window can be managed manually, by SET remote control button, and programmatically.
Functioning modes of corresponding button are described in the head of this document.

// enable Silent mode:
gSTB.EnableServiceButton(true);

// enable Passthrough mode:
gSTB.EnableServiceButton(false);

Operate with System Settings window visibility programmatically:

gSTB.StartLocalCfg();

Set a custom System Settings window implementation:

gSTB.SetSettingsInitAttr(JSON.stringify({
    url: 'path/index.html',
    backgroundColor: '#000'
}));

Auto Power Down

It's a special window which represents UI for turning off device after specified time of inactivity.

Set a custom Auto Power Down window implementation:

gSTB.SetAutoPowerDownInitAttr(JSON.stringify({
    url: 'path/index.html',
    backgroundColor: 'transparent'
}));

Set an Auto Power Down activation time(in seconds) on idle:

// time 0 - disable, 1-10 value is ceiling to 10
gSTB.SetAutoPowerDownTime(5);

Auto Update

It's a special window intended to create UI for firmware update process on you device.
For details about functionality it represents see stbUpdate.

Set URL for Auto Update web window:

stbUpdate.setAutoUpdateInitAttr(JSON.stringify({
    url: 'path/index.html'
}));

Run Auto Update procedure in automatic way, for more information see howto-update:

// imageUrl is 'imageupdate' file address
stbUpdate.startAutoUpdate(imageUrl, true);

Web Browser

It's a special window to build browser UI and control Wild Web window.

Visibility of Web Browser window can be managed manually, by APP remote control button, and programmatically.
Functioning modes of corresponding button are described in the head of this document.

// enable Silent mode:
gSTB.EnableAppButton(true);

// enable Passthrough mode:
gSTB.EnableAppButton(false);

For details about functionality it represents see Embedded Internet Browser management.