The welcome page displays a rotating banner carousel with slides for events, sponsorship, and tips. Slide content and display configuration are loaded from JSON resource files at runtime rather than being hardcoded.
| Path | Purpose |
|---|---|
resources/json/slides.json | Default slide deck and configuration shipped in the source tree. |
resources/json/slides.schema.json | JSON Schema for validating slide files. |
resources/json/banners/ | Banner images referenced by slides. All files in this directory are
automatically embedded via |
ui/qt/widgets/info_banner_widget.h |
|
ui/qt/widgets/info_banner_widget.cpp | JSON loading, config merging, rotation logic, and rendering. |
ui/qt/CMakeLists.txt | QRC resource generation for Wireshark. |
ui/stratoshark/CMakeLists.txt | QRC resource generation for Stratoshark. |
Slide files use the following structure:
{
"schema_version": 1,
"config": {
"colors": {
"default": { "start": "#333333", "end": "#222222" },
"events": { "start": "#1a4a6e", "end": "#234d6e" }
},
"types": {
"events": { "randomized": false, "maxdisplay": 0, "only": false },
"tips": { "randomized": true, "maxdisplay": 3 }
}
},
"slides": [
{
"type": "events",
"tag": "Conference",
"title": "SharkFest'26 US",
"description": "Nashville, Tennessee",
"description_sub": "July 18-23, 2026",
"body_text": "Join the annual Wireshark developer...",
"button_label": "Learn More",
"url": "https://sharkfest.wireshark.org/sfus/",
"image": "sharkfestus.png",
"date_from": "2025-12-01",
"date_until": "2026-07-23"
}
]
}
A formal JSON Schema is available at resources/json/slides.schema.json for editor-based and CI validation.
The type, title, description, and url fields are required per slide.
Slides missing any of these are skipped with a warning. The type must be one
of "events", "sponsorship", or "tips". Note that "sponsorship" is
reserved for the predefined slides.json and cannot be used in custom slide
files. All other slide fields are optional and default to empty strings.
The image field is a filename resolved at runtime under :/json/banners/. If
empty or missing, a generic semi-transparent overlay is shown instead.
The date_from and date_until fields use ISO 8601 format (YYYY-MM-DD).
Slides are hidden before date_from and after date_until. Omitting either
field removes that constraint.
The optional config section controls slide display behavior and colors.
Colors (config.colors): Per-type gradient color overrides with "start" and
"end" fields in #RRGGBB format. The "default" entry provides fallback
colors for types without explicit colors. Available keys: "default",
"events", "sponsorship", "tips".
Type settings (config.types): Per-type display settings. Available keys:
"events", "sponsorship", "tips". Each entry supports:
| Field | Description |
|---|---|
| Boolean (default |
| Integer (default |
| Boolean (default |
| Boolean (default |
All config fields are optional. Missing values use defaults. Config from a custom file merges over the predefined config on a per-type basis.
slides array.
date_from and date_until to time-limit slides for specific events.
file(GLOB).
Distributors can inject additional slides without modifying the source tree
using the CUSTOM_SLIDES_JSON CMake variable:
cmake -DCUSTOM_SLIDES_JSON=/path/to/my_slides.json ..
The custom file uses the same JSON schema. Custom slides are merged with
predefined slides per type, respecting only and hidden flags. If the path
does not exist, it is silently ignored.
Custom file restrictions:
hidden flag in config.types is only valid in custom files.
only flag in a custom file only takes effect if the predefined
slides.json does not set only=true for that type.
| Important | |
|---|---|
|
Custom slides in publicly distributed binaries (e.g. Linux distribution packages) must adhere to the Wireshark Code of Conduct. Slides must not link to deceptive downloads, trick users into purchasing unrelated products, or otherwise exploit or mislead users. The welcome page is a trust surface — users expect its content to be relevant and honest. |
See also doc/README.slides for a standalone reference.