That project came up since I worked on Windows MultiApp kiosk mode with panel PC.
At the begining I was focused only on native management, but dealing with bookmarks on a panel is not really user friendly.
So, instead of reviewing everything, that solution came up to handle existing work made on bookmarks.
PanelLauncher is a customizable WPF application launcher that provides a full-screen interface for launching applications, Web sites from managed bookmarks, and controlling system settings like display brightness and scaling.
Custom Application Launcher : Launch your favorite applications with custom icons
Bookmark Management : Load bookmarks from Chrome/Edge policies or from a local file
Display Controls : Adjust monitor brightness and display scaling
Browser Rules : Open specific URLs in different browsers with custom arguments
Fully Customizable Theme : Configure colors, backgrounds, and styling via JSON
Tabbed Interface : Organize content in multiple tabs
Some examples can be found under Examples folder
The main configuration file that controls the application behavior and theme.
Property
Type
Default
Description
windowStyle
string
"None"
Window border style: "None", "SingleBorderWindow", "ThreeDBorderWindow", "ToolWindow"
bookmarkSource
string
"chrome"
Browser to load bookmarks from: "chrome" or "edge"
All theme properties are nested under the theme object.
Property
Type
Default
Description
backgroundColor
string
"#3D3834"
Main window background color (hex)
backgroundImage
string
""
Path to background image (absolute path)
backgroundImageStretch
string
"UniformToFill"
Image stretch mode: "None", "Fill", "Uniform", "UniformToFill"
Header
Property
Type
Default
Description
headerBackground
string
"#783CBD"
Header background color
headerBorderColor
string
"#BC9C16"
Header border color
headerTitle
string
"Application Launcher"
Header title text
headerTitleColor
string
"#F3DCAC"
Header title text color
headerLogo
string
""
Path to logo image (absolute path)
exitButtonBackground
string
"#BC9C16"
Exit button background color
exitButtonForeground
string
"#3D3834"
Exit button text color
exitButtonHoverBackground
string
"#F3DCAC"
Exit button hover color
Property
Type
Default
Description
tabBackground
string
"#783CBD"
Tab background color
tabForeground
string
"#C9D1D1"
Tab text color
tabBorderColor
string
"#BC9C16"
Tab border color
tabSelectedBackground
string
"#BC9C16"
Selected tab background
tabSelectedForeground
string
"#3D3834"
Selected tab text color
tabHoverBackground
string
"#C7ADE5"
Tab hover color
systemToolsTabBackground
string
"Transparent"
System Tools tab content background
systemToolsTabName
string
"System Tools"
System Tools tab display name
displayTabName
string
"Display"
Display tab display name
Property
Type
Default
Description
buttonBackground
string
"#783CBD"
Button background color
buttonForeground
string
"#F3DCAC"
Button text color
buttonBorderColor
string
"#BC9C16"
Button border color
buttonHoverBackground
string
"#BC9C16"
Button hover background
buttonHoverForeground
string
"#3D3834"
Button hover text color
scaleButtonSelectedBackground
string
"#BC9C16"
Selected scale button background
scaleButtonSelectedForeground
string
"#3D3834"
Selected scale button text color
Property
Type
Default
Description
groupBoxBackground
string
"#783CBD"
Group box background color
groupBoxForeground
string
"#F3DCAC"
Group box text color
groupBoxBorderColor
string
"#BC9C16"
Group box border color
groupBoxBrightnessTitle
string
"Screen Brightness"
Brightness group box title
groupBoxScaleTitle
string
"Display Scale"
Scale group box title
groupBoxApplicationsTitle
string
"Applications"
Applications group box title
Footer
Property
Type
Default
Description
footerBackground
string
"#783CBD"
Footer background color
footerBorderColor
string
"#BC9C16"
Footer border color
footerTextColor
string
"#C9D1D1"
Footer text color
Property
Type
Default
Description
sliderThumbColor
string
"#783CBD"
Slider thumb fill color
sliderThumbBorderColor
string
"#BC9C16"
Slider thumb border color
sliderThumbHoverColor
string
"#BC9C16"
Slider thumb hover/drag color
sliderTrackFillColor
string
"#C7ADE5"
Slider filled track color (left side)
sliderTrackBackgroundColor
string
"LightGray"
Slider empty track color (right side)
sliderScaleX
number
1.0
Horizontal scale factor (1.0 = normal)
sliderScaleY
number
2.5
Vertical scale factor (2.5 = 2.5x larger)
Custom status messages displayed in the footer. Support string formatting with {0}, {1}, etc.
Key
Default
Parameters
default
"Click on any application or bookmark to launch"
None
launching
"Launching {0}..."
{0} = Application/Bookmark name
launchError
"Failed to launch {0}"
{0} = Application name
launchUrlError
"Failed to open URL for {0}"
{0} = Bookmark name
scaleChanged
"Display scale changed to {0}"
{0} = Scale value (e.g., "125%")
scaleError
"Failed to change display scale"
None
Defines custom applications to display in the System Tools tab.
Property
Type
Required
Description
name
string
Yes
Display name for the application
path
string
Yes
Full path to the executable
arguments
string
No
Command-line arguments to pass
icon
string
No
Path to icon file (.ico, .png) or path to .exe to extract icon
Fallback bookmark configuration if browser policy bookmarks are not available.
Property
Type
Required
Description
toplevel_name
string
No
Internal identifier (filter these out)
name
string
Yes
Display name for bookmark or folder
url
string
No
URL for direct bookmarks
children
array
No
Nested bookmarks/folders
Defines rules for opening specific URLs in specific browsers with custom arguments.
Property
Type
Required
Description
defaultBrowser
string
No
Browser key to use by default
browsers
object
Yes
Browser configurations
rules
array
Yes
URL routing rules
Property
Type
Required
Description
path
string
Yes
Full path to browser executable
defaultArguments
string
No
Default command-line arguments
Property
Type
Required
Description
name
string
No
Rule description
urlPattern
string
No
Match URLs containing this string
bookmarkName
string
No
Match exact bookmark name
browser
string
Yes
Browser key to use
arguments
string
No
Additional arguments for this rule
Note : Rules are evaluated in order. Either urlPattern or bookmarkName must be specified.
Escape : Close the application
Alt+F4 : Close the application
All configuration files should be placed in the same directory as the executable:
PanelLauncher.exe
config.json
systemapp.json
bookmark.json
browser_rules.json
Browser Bookmark Integration
The application can load bookmarks directly from Chrome or Edge browser policies:
Registry: HKLM\SOFTWARE\Policies\Google\Chrome\ManagedBookmarks
Registry: HKCU\SOFTWARE\Policies\Google\Chrome\ManagedBookmarks
Registry: HKLM\SOFTWARE\Policies\Microsoft\Edge\ManagedFavorites
Registry: HKCU\SOFTWARE\Policies\Microsoft\Edge\ManagedFavorites
If no policy bookmarks are found, the application falls back to bookmark.json.
Use hex color codes: #RRGGBB
Named colors are also supported: "White", "Black", "Red", etc.
For transparency, use "Transparent"
Always use double backslashes in Windows paths: C:\\Path\\To\\File.exe
Or use forward slashes: C:/Path/To/File.exe
Relative paths are relative to the executable location
Supported formats: .ico, .png, .jpg
You can also specify an .exe path to extract its embedded icon
If no icon is specified, no icon will be displayed
sliderScaleX and sliderScaleY control thumb size
Values: 1.0 = normal size, 2.0 = double size, etc.
Recommended: X=1.0, Y=2.0-3.0 for comfortable touch targets