A desktop Sticky Notes app for Linux, built with Python and PyQt6 โ frameless, glass-styled, outrageously pretty, and featherweight (~26 MB installed).
Jot down thoughts, ideas, and reminders right on your desktop with rich text, 7 color themes, and a one-click collapse-to-pill UI.
Notes save locally and are restored exactly where you left them between sessions.
- ๐๏ธ Create multiple sticky notes effortlessly via the
+button or tray menu - ๐ท๏ธ Editable note titles โ click the title pill to rename; a smart default auto-fills from the first body line until you set a custom name
- ๐พ Auto-saves note content, title, position, size, theme, and last-edited time every 5 seconds
- ๐จ 7 color themes โ Yellow, Green, Pink, Purple, Blue, Gray, Charcoal
- โ๏ธ Rich text formatting โ Bold (
Ctrl+B), Italic (Ctrl+I), Underline (Ctrl+U), Strikethrough (Ctrl+Shift+S) - ๐ Bullet lists with nested sublists โ Toggle with
Ctrl+Shift+L;Tabindents to a sublist (style cycles โโโโโ ),Shift+Taboutdents;Entercontinues,Shift+Enterbreaks out - ๐ช Collapse / expand โ double-click anywhere on the title bar outside the title to collapse a note to just its header
- ๐ฑ๏ธ Resizable from all 8 edges and corners โ no OS chrome needed
- ๐งฉ System tray integration with a Show Note โถ submenu listing open notes, sorted by most recently edited
- ๐๏ธ "Show All Notes" support to bring all notes to the front
- ๐ Launch on system startup โ on by default for new installs; toggle in Settings to disable. The app auto-launches quietly to your tray on login, restores your saved notes, and never pops a blank window at you when there's nothing to show
- ๐ข Packaged as a Snap app for easy Linux installation
sudo snap install stickynotes-dabobroto-
Clone the repository:
git clone https://github.com/dstushar7/sticky-notes.git cd sticky-notes -
Create a virtual environment and install dependencies:
python3 -m venv stickyenv source stickyenv/bin/activate pip install -r requirements.txt -
Run the app:
python3 run_stickynotes.py
Once launched, a sticky notes icon appears in your system tray.
Right-click the tray icon to:
- ๐ New Note โ creates a note in the default Yellow theme
- ๐๏ธ Show All Notes โ brings every note to the front
- ๐ Show Note โถ โ submenu listing each open note by title, most recently edited first; click an entry to jump straight to that note
- โ๏ธ Settings โ toggle "Launch on system startup"
- โน๏ธ About Sticky Notes โ version, license, source links, and contact
- โ Quit the Application
| Action | How |
|---|---|
| New note (same color) | Click the + button in the title bar |
| Rename note | Click the title text in the title bar; press Enter to commit, Escape to cancel, or click away |
| Color / delete | Click the โขโขโข button โ options panel |
| Bold | Ctrl+B |
| Italic | Ctrl+I |
| Underline | Ctrl+U |
| Strikethrough | Ctrl+Shift+S |
| Bullet list on/off | Ctrl+Shift+L |
| Continue list item | Enter |
| Break out of list | Shift+Enter |
| Indent (sublist) | Tab while in a list |
| Outdent | Shift+Tab while in a list |
| Collapse / expand | Double-click the title bar outside the title (disabled while collapsed) |
| Drag window | Click and drag the title bar outside the title |
| Resize window | Drag any edge or corner (16 px grab zone) |
Each note is a frameless, rounded-corner window with a drop shadow. The
+ / โขโขโข buttons render as floating glass chips on top of the title
bar; the title itself is a click-to-edit pill, and the empty space
between is the drag / collapse target.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ [+] โญ Title โฎ drag area [โขโขโข] โ โ title bar (theme color)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ Your note text hereโฆ โ โ text area (body color)
โ โ
โ [B] [I] [U] [S] [โฃ] โ โ format bar (theme color)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Clicking โขโขโข opens a floating options panel:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ก ๐ข ๐ฉท ๐ฃ ๐ต โฌ โฌ โ โ color swatches (circle buttons)
โ ๐ Delete Note โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
sticky-notes/
โ
โโโ snap/
โ โโโ snapcraft.yaml # Snap packaging configuration
โ
โโโ stickynotes/ # Main Python package
โ โโโ __init__.py
โ โโโ config.py # App constants, THEMES dict, sizing constants
โ โโโ note_window.py # NoteTextEdit, EditableTitleLabel, DragHandle, TitleBar, FormatBar, OptionsPanel, StickyNote, AboutDialog, SettingsDialog
โ โโโ widgets.py # FloatingButton โ reusable glass-pill push button
โ โโโ tray_manager.py # Tray icon, note lifecycle, dynamic "Show Note" submenu
โ โโโ autostart.py # XDG autostart entry management
โ โโโ utils.py # Icon creation, get_theme(), apply_theme_to_window()
โ
โโโ run_stickynotes.py # Entry script to launch the app
โโโ requirements.txt # Dependency list
โโโ .gitignore
โโโ LICENSE
โโโ README.md
- ๐ Python 3.10+
- ๐ช PyQt6 6.5+
pip install -r requirements.txt| Shortcut | Action |
|---|---|
Ctrl+B |
Bold |
Ctrl+I |
Italic |
Ctrl+U |
Underline |
Ctrl+Shift+S |
Strikethrough |
Ctrl+Shift+L |
Toggle bullet list |
Tab |
Indent (sublist) inside a list |
Shift+Tab |
Outdent inside a list |
Ctrl+Z |
Undo |
Ctrl+Y |
Redo |
Ctrl+A |
Select all |
All formatting actions are also available via the bottom toolbar on each note: B I U S โข. Buttons highlight when the cursor is in already-formatted text.
| Name | Background | Title Bar |
|---|---|---|
| Yellow (default) | #FFF176 |
#F9E44A |
| Green | #B5EBBF |
#8FD9A0 |
| Pink | #F9B8C6 |
#F48FAA |
| Purple | #D8B8F9 |
#BC8FF5 |
| Blue | #B3E5FC |
#80D0F5 |
| Gray | #E0E0E0 |
#BDBDBD |
| Charcoal | #4A4A4A |
#333333 |
Charcoal uses light text (#f0f0f0); all other themes use dark text (#1a1a1a).
- Python 3.10+
- PyQt6 for GUI
- Snapcraft for packaging and distribution
git checkout -b feature/your-feature
# make changes
git add .
git commit -m "feat: describe your change"
git push origin feature/your-feature
# open a pull requestThis project is licensed under the MIT License.
See the LICENSE file for details.
License ยฉ 2025 Tushar D. (@dstushar7) โ Open for community contributions.
Tushar D. (@dstushar7)
๐ GitHub Profile
Feedback and pull requests are always welcome โ let's build together!