Skip to end of metadata
Go to start of metadata

Requires FileWave version 12.2.0 or greater.

Prior to FileWave 12.2, there were a few things that could be customized in the desktop Kiosk, such as the window title and the logo. In FileWave 12.2, support for creating custom desktop kiosk styles was added, extending the previously existing customization possibilities.

The look of the FileWave desktop Kiosk can be customized using Qt Style Sheets. You have to create a file named fwGUI.qss and deploy it to clients in the right location. Several icons are now also customizable by placing your custom icon in the right place with the right file name. All of this can be deployed via a fileset. If you already had pre-12.2 customizations, you can simply extend them by adding fwGUI.qss as well as your custom icons to your existing fileset. Pre-12.2 clients will simply ignore the style sheet and new icons, but will continue to work, whereas newer clients will exhibit your custom look.

For pre 12.2 Clients see: Client Kiosk Customization (5.5 - 12.1)


Create

The syntax of Qt Style Sheets is similar to CSS, though there are some differences. If you want to learn more about the syntax, check "The Style Sheet Syntax". This page contains several examples that will help you better understand it.

In order to make it easier to customize the dialogs, every widget has a unique descriptive name. You can use style sheet selectors to refer to a particular widget. Besides, there are some additional properties that can be used to select several widgets that have something in common with a single selector (e.g. "select all field names"). The list of all widget names and properties is defined below, in Styling rules.

Deploy

Create a fileset containing the fwGUI.qss and the icons, then associate it to the desired clients. The directory where these files should be placed depends on the operating system:

macOS
/usr/local/sbin/FileWave.app/Contents/Resources/fwGUI.app/Contents/custom
Windows
C:\Program Files\FileWave\custom (might be "Program Files (x86)", depending on the platform)

The changes will only be visible in the desktop Kiosk after the user logs out and logs in again.

Menu Bar/System Tray Settings

settings.ini -- contains general kiosk ui settings:

Example
window_title = "Your New Window Title"
show_top_downloads = true
hide_system_tray = false

Customizable icons

File name

FileWave Version

Description

Example

Pixel Size
action_back.png12.2+Icon for the "Back" action in the Software Installation dialog

back

48x48
action_forward.png12.2+Icon for the "Forward" action in the Software Installation dialog

fwd

48x48
background_icon.png<12.2Icon used for the watermark(FileWave icon)512x512
rating_star_half.png12.2+Icon for half a rating star

half

40x40
rating_star_off.png12.2+Icon for a rating star that is off

off

40x40
rating_star_on.png12.2+Icon for a rating star that is on

on

40x40
tray_icon.png12.2+System tray icon. If missing, the background_icon.png is used.

(FileWave icon)

16x16
warning.png12.2+Warning icon, displayed when a fileset has problems (e.g. missing VPP user)

error

64x64

Styling rules

Client Info dialog

ClientInfodialog



The client info dialog is called "KioskClientInfo". Whenever styling widgets in this dialog, prefix all CSS rules with it.
The main contents of this dialog is a list of field names with their corresponding values. All labels displaying the name of the field are suffixed with "Label", whereas all labels displaying their corresponding values are suffixed with "Field".

List of widgets

Widget nameDescriptionExample value (see screenshot above)Widget type
toolBarToolbar (currently empty)
QToolBar
centralWidgetContainer widget for all contents of the dialog (except tool bar and status bar)
QWidget
leftPaneLeft pane, which contains the "Verify" button and the watermark
QTreeView
verifyButtonThe "Verify" buttonVerifyQPushButton
installSplitterSplitter between the left pane and the list of fields on the right side
QSplitter
nameLabel"Name" labelNameQLabel
nameFieldValue of the "Name" fieldVíctor's WorkstationQLabel
addressLabel"Address" labelAddressQLabel
addressFieldValue of the "Address" field10.2.4.199QLabel
versionLabel"Version" labelVersionQLabel
versionFieldValue of the "Version" field12.2.0 (Rev. 4dcf548b)QLabel
platformLabel"Platform" labelPlatformQLabel
platformFieldValue of the "Platform" fieldmacOS 10.12 Sierra (10.12.5)QLabel
modelVersionLabel"Model Version" labelModel VersionQLabel
modelVersionFieldValue of the "Model Version" field4QLabel
tickleIntervalLabel"Tickle Interval" labelTickle IntervalQLabel
tickleIntervalFieldValue of the "Tickle Interval" field10 secQLabel
fileCheckIntervalLabel"File Check Interval" labelFile Check IntervalQLabel
fileCheckIntervalFieldValue of the "File Check Interval" field1440 minQLabel
filewaveServerLabel"FileWave Server" labelFileWave ServerQLabel
filewaveServerFieldValue of the "FileWave Server" field127.0.0.1:20015QLabel
sslLabel"SSL" labelSSLQLabel
sslFieldValue of the "SSL" fieldFalseQLabel
statusLabel"Status" labelStatusQLabel
statusFieldValue of the "Status" fieldRunning...QLabel
serverConnectionLabel"Server Connection" labelServer ConnectionQLabel
serverConnectionFieldValue of the "Server Connection" fieldConnected (no updates)QLabel
lastConnectionAttemptLabel"Last Connection Attempt" labelLast Connection AttemptQLabel
lastConnectionAttemptFieldValue of the "Last Connection Attempt" field20.06.17 10:26QLabel
paneSeparatorVertical line separating the kiosk status and the list of Boosters
QFrame
boostersLabel"Boosters" labelBoostersQLabel
booster1Label"1." label referring to the first Booster1.QLabel
booster1FieldAddress of the first configured BoosterNoneQLabel
booster2Label"2." label referring to the second Booster2.QLabel
booster2FieldAddress of the second configured BoosterNoneQLabel
booster3Label"3." label referring to the third Booster3.QLabel
booster3FieldAddress of the third configured BoosterNoneQLabel
booster4Label"4." label referring to the fourth Booster4.QLabel
booster4FieldAddress of the fourth configured BoosterNoneQLabel
booster5Label"5." label referring to the fifth Booster5.QLabel
booster5FieldAddress of the fifth configured BoosterNoneQLabel
privacyPolicyLabelA link that opens the FileWave privacy policy in an external browser. The link color cannot be customized using Qt Style Sheets. Use the key "link_color" in settings.ini instead (e.g.: link_color="#FF0000").FileWave Privacy PolicyQLabel
bottomLineA horizontal line displayed immediately above the status bar
QFrame
statusBarStatus bar
QStatusBar

Special properties

Labels in this dialog have the following properties:

PropertyDescriptionPossible values
type

"fieldName" means that this label displays the name of a field. "fieldValue" means that this label displays the value of a field. "other" applies to all other labels.

  • fieldName
  • fieldValue
  • other

Example rules

Example
/* makes the background of the left pane white */
KioskClientInfo #leftPane {
    background: white;
}
/* makes the paneSeparator look as a 1 pixel gray vertical line */
KioskClientInfo #paneSeparator {
    border: none;
    max-width: 1px;
    background-color: #C9C9C9;
}
/* makes the "Boosters" label be displayed normal instead of bold */
KioskClientInfo #boostersLabel {
    font-weight: normal;
}
/* makes all field labels blue */
KioskClientInfo QLabel[type="fieldName"] {
    color: blue;
}

Software Installation dialog

SoftwareInstallation

The software installation dialog is called "Kiosk". Whenever styling widgets in this dialog, prefix all CSS rules with it.

This dialog contains the list of filesets that are available for installation via the Kiosk. It also displays details about a fileset when clicking it.

List of widgets

Widget nameDescriptionExample value (see screenshot above)Widget type
toolBarToolbar
QToolBar
actionBackThe "Back" action in the toolbar
QToolButton
actionForwardThe "Forward" action in the toolbar
QToolButton
filesetStatusComboThe fileset status combo box in the toolbarAll ItemsQComboBox
searchFieldThe search box in the toolbar (currently not customizable)

categoriesViewList of categoriesAll (7)QTreeView
categoriesOrganizationsSplitterA splitter between the list of categories and the list of organizations
QSplitter
organizationsLabelThe "Organizations" label below the list of categories (might be hidden)OrganizationsQLabel
organizationsViewThe list of VPP users, below the Organizations label (might be hidden)
QTreeView
installSplitterA splitter between the left pane (categories/organizations) and the list of filesets
QSplitter
listViewWidget that contains the whole list of filesets
QWidget
filesetListViewThe list of filesets
QTreeView
topTenScrollAreaThe area that contains the list of top ten items. See below for details.
QScrollArea
topDownloadsLabelThe "Top Downloads" label that serves as title for the top ten area.Top DownloadsQLabel
bottomLineA horizontal line displayed immediately above the status bar
QFrame
statusBarStatus bar
QStatusBar

Fileset Items

Each row in the list of filesets is a widget. When creating rules for these rows, always prepend "Kiosk #filesetListView" to your selectors. Fileset rows are made up from the following widgets:

Widget nameDescriptionExample value (see screenshot above)Widget type
KioskInstallWidgetRepresents a whole row displaying information about one fileset
KioskInstallWidget
iconLabelThe icon
QLabel
titleLabelThe fileset nameAtomQLabel
categoryLabelThe category of the filesetApplicationsQLabel
descriptionBrowserDisplays the first line of the descriptionLet Evernote change the way you organize your personal and professional projects...QTextBrowser
ratingDisplays the rating of the fileset (if available). The icons can be customized. See "Customizable icons" above.

statusLabelDisplays the warning icon. This icon can be customized. See "Customizable icons" above.(exclamation mark icon)QLabel
installButtonThe Install/Get license button.InstallQPushButton
progressBarThe installation progress bar
QProgressBar
moreLessButtonThe "More" link. Must be customized as a QPushButton.MoreQPushButton

Top Ten Items

The "Top Downloads" pane contains a list of top ten items. When creating rules for these items, always prepend "Kiosk #topTenScrollASrea" to your selectors. Each top ten item consists of the following widgets:

Widget nameDescriptionExample value (see screenshot above)Widget type
iconIcon(firefox icon)QLabel
nameFieldFileset nameFirefoxQLabel

Fileset Details

Fileset-details

When clicking a fileset, the fileset details is revealed. This is a part of the software installation dialog, hence it shares parts of the dialog such as the toolbar and the statusbar. When creating rules for this widget, always prepend "Kiosk #detailView" to your selectors. The fileset details is made up of the following widgets:

Widget nameDescriptionExample value (see screenshot above)Widget type
detailViewWidget that contains the whole fileset details
QWidget
iconIcon
QLabel
titleFieldThe fileset nameEvernote - stay organizedQLabel
categoryFieldThe category of the fileset(empty in this screenshot)QLabel
statusLabelThe "Status:" labelStatus:QLabel
statusFieldLabel that displays the current statusNo VPP token associatedQLabel
ratingThe rating(4/5 stars)
installButtonThe Install/Get license buttonGet licenseQPushButton
installProgressBarShows the progress of the installation. Visible only while the installation is in progress.
QProgressBar
descriptionViewDetailed description of the fileset.Let Evernote change the way you organize your...QTextBrowser

Example rules

Example
/* add a top and bottom margin to the toolbar */ Kiosk QToolBar QToolButton { margin-top: 5px; margin-bottom: 5px; }
/* add a margin and a gray top border to the descriptionView */
Kiosk #detailView #descriptionView {
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 10px;
    border-top: 1px solid #CFCFCF;
    padding-top: 10px;
}
/* make all buttons in all dialogs blue */
QPushButton {
    padding: 10px;
    border: 1px solid #0000ff;
    background-color: #0000ff;
    color: white;
}
QPushButton:pressed {
    border-color: #4040ff;
    background-color: #4040ff;
    padding-top: 11px;
    padding-left: 11px;
    padding-bottom: 9px;
    padding-right: 9px;
}