LogoLogo
Download Free TrialLive DemoGet a QuoteContact Us
Thinfinity® VirtualUI 3.0
Thinfinity® VirtualUI 3.0
  • Thinfinity VirtualUI 3.0
  • Architecture
  • Getting Started Section
    • Getting Started
      • Installing Thinfinity VirtualUI
      • Simple UI Remoting
        • Compiling and Testing a WinForms Application
        • Compiling and Testing a Delphi Application
        • Compiling and Testing a C++ Application
        • Registering the Application in Thinfinity VirtualUI Server
        • Accessing the App from the Web
        • Application Execution Behavior
        • List of available demos for download
      • Adapting the Application
        • Customizing the Web Page
          • Preparing the Web Page
          • Customizing Settings
        • Programming VirtualUI
          • Handling VirtualUI Events
          • Using ClientSettings from Javascript
  • Advanced Programming Section
    • Advanced Programming
      • Javascript Remote Objects
        • The Development Lab
        • Life cycle of the jsRO Objects
        • Creating jsRO Objects
        • Updating Properties
        • OnPropertyChange(), OnSet() y OnGet() Events
        • jsRO Remote Calls
          • Remote Methods
          • Custom Events
        • Available demos for Javascript Remote Objects
      • Adding Web Content
        • The HTMLDoc Object
          • Loading Scripts
          • Importing HTML files
          • Accessing local files
          • Creating Web Component instances
        • Web Components
          • Loading Web Component Scripts
          • Importing Web Component HTML files
          • Accessing local resources from the Web Component
  • Advanced Features Section
    • Advanced Features
      • Scaling and Load Balancing
        • Scaling and Load Balancing Configurations
        • Installing components
        • Enabling Multiple RDS Accounts
        • Configuring Load Balancing
        • Sharing your License
          • Installing the License Server Manager
          • Add a Licence
            • Get a new Trial Serial Number
            • Activate a Serial Number Online
            • Activate a Serial Number Offline
          • Sharing your License over multiple Severs
      • Enhanced Browser and DPI Support
        • Model Inheritance
        • Property Reference
        • The Calculation Process
        • Examples
      • One-Time URL
        • How it Works
        • Creating a One-Time URL
      • Passing Command Line Arguments to VirtualUI Apps
        • Setting Command Line Arguments in the Application Profile
        • Sending Command Line Arguments in the VirtualUI URL
        • Building the URL in Javascript
        • Combining Application Profile and URL Command Line Arguments
      • Recording and Playing Sessions
        • Recording a Session
          • The OnRecorderChanged Event
      • Recover Browser Information with BrowserInfo
      • Change Browser Behavior Using ClientSettings
      • End-User Authentication
        • Entering Credentials
        • Processing End-user Credentials
        • Authentication Methods
          • Windows Logon
          • RADIUS
          • OAuth 2.0
            • OAuth2Models.ini
            • CSS for SSO Options
          • External DLL
            • Authentication API
      • Virtualization
        • File System Virtualization
          • Creating File System Redirections
          • The .vdir Files
          • Testing the File System Virtualization
        • Registry Virtualization
          • Creating Registry Redirections
          • The .vreg Files
          • Testing Registry Virtualization
        • Implementing Virtualization in Your Application
      • OEM Licensing
        • How to Create and Revoke Licenses
          • Creating Licenses
          • Revoking Licenses
      • Silent Install Options
  • Web Interface Section
    • Web Interface
      • login.html
      • index.html
      • app.html
        • app.js
        • The DockMenu Widget
        • Printing
          • How to install and use the Printer Agent
          • Printing Preview and Printing
          • Remote Printing SDK for Thinfinity - C#
          • Remote Printing SDK for Thinfinity - Delphi
      • lab.html
  • Configuration Reference Section
    • Configuration Reference
    • Development Server
      • General
      • License Manager
        • Activate a Serial Number Offline
        • Activate a Serial Number Online
        • Get a new Trial Serial Number
        • Proxy Activation
    • Server Manager
      • General
        • Managing the SSL Certificate
          • The Default Embedded Certificate
          • A Self-Signed Certificate
          • A CA Certificate
      • Sessions
      • Applications
        • Application Profile
          • General
          • Credentials
          • Permissions
          • Restrictions
          • Access Hours
          • Authentication Methods
        • Weblink Profile
          • Permissions
      • Authentication
        • Mappings
        • 2FA
          • TOTP
          • Duo Authentication Method Settings
            • How to configure DUO
        • Radius Authentication Method Settings
        • Oauth 2.0 Authentication Method Settings
          • Configure OAuth with Auth0
          • Configure OAuth with Okta
        • External DLL Authentication Method Settings
        • SAML Authentication Method Settings
          • Configure SAML with Okta
          • Configure SAML with Centrify
      • Services
      • License Manager
        • License Activation
          • Proxy Activation
          • Get a new Trial Serial Number
          • Activate a Serial Number Online
          • Activate a Serial Number Offline
    • Gateway Manager
      • Protection
  • Appendix A - Dialogs
    • Appendix A - Dialogs
    • Message Dialogs
      • Message Dlg
      • Input Box
      • Formatted Message
    • Printing Dialogs
      • Print
      • Page Setup
      • Print Preview
    • File Dialogs
      • Open File
      • Save As
  • Appendix B - Tailoring the Interface
    • Customizing the Web Interface
      • Changing the Logo
      • Customizing the Web Files
      • Files Location
  • Symbol Reference Section
    • Thinfinity.VirtualUI Class
Powered by GitBook
On this page
Export as PDF
  1. Advanced Features Section
  2. Advanced Features

Change Browser Behavior Using ClientSettings

ClientSettings is an additional interface available in the Thinfinity VirtualUI Library that allows developers to remotely and programmatically configure particular browser settings. These settings are related to the cursor visibility and some specific touch action behaviors.

There is also a Javascript Clientsettings object version. Learn how to use it.

The table below shows a detailed reference of the ClientSettings interface current properties:

Property

Use

CursorVisible

Used to set the mouse pointer to 'show' or 'hide'.

Type: Boolean

Default value: True

Available in all Library Versions.

MouseMoveGestureStyle

Defines whether the mouse movement is read as relative or absolute in touch devices.

Type: Enum

Values:

MM_STYLE_RELATIVE = 0

MM_STYLE_ABSOLUTE = 1

Default value: MM_STYLE_RELATIVE

Available in all Library Versions.

MouseMoveGestureAction

Indicates if the dragging should be interpreted as scrolling or turning of the mouse wheel, affecting only the component on which the action is triggered.

Type: Enum

Values:

MM_ACTION_MOVE = 0,

MM_ACTION_WHEEL = 1

Default value: MM_ACTION_MOVE

Available in all Library Versions.

UseViewportSize

Indicates which measure values will be used to define the application's screen size.

Type: Boolean

Values:

True: use the viewport size

False: use a window screen based size.

Default value: False

Available only in Javascript.

DockMenu

Manages the visibility of the bottom menu and its options.

Available only in Javascript

Enabled

Boolean. Enables/disables the complete Dock Menu.

Type: Boolean

Default value: True

Pinned

Indicates when the DockMenu is pinned (visible, fixed) or unpinned (with autohide)

Type: Boolean

Default value: False

Items

Name/value pairs item collection.

WindowList

Enables/disables the "Windows list" option.

Type: Boolean

Default value: True

ErrorReporting

Enables/disables the "Error Reporting" option.

Type: Boolean

Default value: True

Keyboard

Enables/disables the "Keyboard" option (mobile only).

Type: Boolean

Default value: True

FullScreen

Enables/disables the "Full Screen" option (mobile only, if supported).

Type: Boolean

Default value: True

As mentioned previously, these properties were created to provide a better end-user experience when using touch devices.

When using a touch device, it is unusual for a mouse pointer to be displayed. Instead, finger gestures are interpreted by the device as different commands, acting on the element or elements that are located where the gesture is made.

But this is not always the best way, especially when the applications were not designed for these gestures. Most of the times, the best solution to this issue is to show the pointer and simulate the mouse actions using the captured gestures.

The properties that we have presented above will help us define the ideal settings to enjoy the best possible and intuitive user experience for our application.

The following example shows how to recognize a touch or mobile device, and to change the pointer behavior when it's detected. Warning: The detection list is not complete:

vui = new VirtualUI();

userAgent = vui.BrowserInfo.UserAgent.ToLower();

if ((userAgent.IndexOf("touch") != -1) || (userAgent.IndexOf("mobile") != -1) ||

(userAgent.IndexOf("iphone") != -1) || (userAgent.IndexOf("ipod") != -1) ||

(userAgent.IndexOf("ipad") != -1) || (userAgent.IndexOf("android") != -1) ||

(userAgent.IndexOf(" cros ") != -1)) {

vui.ClientSettings.MouseMoveGestureStyle = MouseMoveGestureStyle.MM_STYLE_ABSOLUTE;

vui.ClientSettings.MouseMoveGestureAction = MouseMoveGestureAction.MM_ACTION_WHEEL;

}

Read more about using ClientSettings from Javascript.

PreviousRecover Browser Information with BrowserInfoNextEnd-User Authentication

Last updated 4 years ago