A small PyQt experiment so that I could pin my Notion pages to my desktop like post-it notes.
StickyPages is a minimal frameless desktop browser window built with PyQt6 and QtWebEngine.
It lets you “stick” any webpage onto your desktop in a stylish, rounded, translucent frame.
demo.mp4
- 🌐 Displays any webpage (customizable via
config.json) - 🪟 Frameless and translucent window
- 🖼️ Rounded corners with adjustable border
- ⚙️ Simple JSON-based configuration
- ⌨️ Supports
Alt + F4to close cleanly
Clone the repository and install dependencies:
git clone https://github.com/StrixROX/Sticky-Note-Webpage.git
cd sticky-pages
pip install -r requirements.txt- (Optional) Edit
config.jsonto customize the window (size, border, or webpage URL). - Run the app:
python main.pyThe window will open at the specified position or center itself if xPos/yPos are null.
Update: You can pass the argument
[-u URL]to override the webpage URL from the command line, for usage with scripts etc. Runpython main.py -hfor help.
You can control the appearance and behavior of the window via config.json.
If the file is missing or incomplete, defaults will be used automatically.
Example:
{
"width": 800,
"height": 600,
"xPos": 50,
"yPos": 50,
"webpageUrl": "https://www.google.com",
"cornerRadius": 10,
"borderWidth": 8,
"borderColor": "rgba(255, 255, 255, 0.7)",
"windowOpacity": 1.0
}| Key | Type | Description |
|---|---|---|
width, height |
number | Window dimensions |
xPos, yPos |
number / null | Window position (top-left origin). Set to null to center. |
webpageUrl |
string | The webpage to load |
cornerRadius |
number | Corner roundness in pixels |
borderWidth |
number | Border thickness in pixels |
borderColor |
string | RGBA color for border (supports transparency) |
windowOpacity |
number | Opacity of the window between 0.0 and 1.0 (default) |
StickyPages/
├── main.py # Main application code
├── config.json # Configuration file
├── requirements.txt # Dependencies
└── README.md # Documentation
- The app uses PyQt6 and QtWebEngine for rendering web content.
- The window is non-resizable and frameless.
- Border and corner radius are applied using Qt’s painter masks.
- Press Alt + F4 to close the window cleanly.
- Drag-to-move functionality
- Optional always-on-top mode
- Configurable transparency
- System tray integration
Created by Pratyush Kumar