PageLoop is a lightweight WPF application that cycles through a list of web pages in fullscreen or windowed mode. It uses WebView2 for rendering and supports YAML-based configuration, preloading pages for smooth transitions, and an easy exit hotkey.
- YAML Configuration – Define pages and their display durations in a simple
pages.yamlfile. - Smooth Page Rotation – Preloads the next page to minimize load flicker.
- Fullscreen or Windowed Mode – Launch in fullscreen for kiosk-style use or windowed mode for development.
- Exit Hotkey (CTRL + C) – Quickly exit the app from fullscreen without needing a mouse.
- Portable single-file executable (no installation required).
-
Edit or create the
pages.yamlfile in the executable directory:pages: - url: "https://www.google.com" duration: 30 - url: "https://www.github.com" duration: 20
-
Launch the application.
PageLoop.exe
-
(Optional) Launch in fullscreen:
PageLoop.exe --fullscreen
-
Press CTRL + C to exit at any time.
Edit the Yaml Configuration file to include an unlimited number of entries, Place the Yaml file in the same directory has the exe.
url: The web page URL to display.duration: The display duration for the page in seconds.
PageLoop/
│
├── PageLoop.sln
├── MainWindow.xaml
├── MainWindow.xaml.cs
├── pages.yaml # Main configuration file (generated if missing)
└── README.md
- Windows 10/11
- .NET 6.0 or later
- WebView2 Runtime (required for rendering)
- YamlDotNet (NuGet package)
-
Clone the repository
git clone https://github.com/yourusername/PageLoop.git cd PageLoop -
Install dependencies
dotnet restore
-
Build and run
dotnet build dotnet run
| Setting | Description | Default |
|---|---|---|
pages.url |
URL to display | https://www.duckduckgo.com |
pages.duration |
Time in seconds before rotating to next page | 30 |
Here’s a sample pages.yaml:
pages:
- url: "https://news.ycombinator.com"
duration: 15
- url: "https://www.bbc.com"
duration: 20
- url: "https://www.reddit.com"
duration: 25To work on PageLoop:
- Open
PageLoop.slnin Visual Studio 2022 or later. - Make changes to the
MainWindow.xamlandMainWindow.xaml.cs. - Use the
pages.yamlfor testing rotation behavior.
| Key Combo | Action |
|---|---|
| CTRL + C | Exit application |
This project is licensed under the MIT License – see the LICENSE file for details.