mirror of
https://github.com/alhan/noteki.git
synced 2026-08-23 05:30:19 +00:00
- Modern sticky notes app for Windows - PySide6 full-screen transparent canvas - System tray integration, global Alt+N hotkey - Session management, undo/redo, auto-save - Custom color palette with dynamic contrast - Pin notes always-on-top, Tab navigation - Windows Named Mutex single-instance guard
145 lines
4.8 KiB
Markdown
145 lines
4.8 KiB
Markdown
# Noteki — Sticky Notes for Windows
|
|
|
|
<p align="center">
|
|
<img src="assets/icon.png" alt="Noteki" width="128" height="128">
|
|
</p>
|
|
|
|
<p align="center">
|
|
<strong>Modern, lightweight, customizable sticky notes that stay out of your way.</strong>
|
|
</p>
|
|
|
|
<p align="center">
|
|
<img src="https://img.shields.io/badge/python-3.8+-blue.svg" alt="Python">
|
|
<img src="https://img.shields.io/badge/framework-PySide6%20(Qt6)-green.svg" alt="PySide6">
|
|
<img src="https://img.shields.io/badge/platform-Windows-0078D6.svg" alt="Windows">
|
|
<img src="https://img.shields.io/badge/license-MIT-yellow.svg" alt="MIT">
|
|
<a href="https://github.com/kullaniciadi/noteki/releases/latest"><img src="https://img.shields.io/github/v/release/kullaniciadi/noteki?color=orange" alt="Release"></a>
|
|
<img src="https://img.shields.io/badge/downloads-EXE%20available-brightgreen.svg" alt="EXE">
|
|
</p>
|
|
|
|
---
|
|
|
|
**Noteki** is a modern sticky notes app that lives in your system tray. Press a hotkey, jot something down, and move on. It uses a transparent full-screen canvas — notes appear exactly where you left them, and disappear when you click away.
|
|
|
|
No accounts, no cloud, no bloat. Your notes stay on your machine.
|
|
|
|
---
|
|
|
|
## Features
|
|
|
|
| Feature | Description |
|
|
|---------|-------------|
|
|
| **Always-on-Top** | Pin individual notes to stay above all other windows. |
|
|
| **Custom Colors** | Add, remove, or change note colors dynamically. Text contrast is auto-calculated. |
|
|
| **Session Management** | Create, clone, and switch between separate workspaces — perfect for different projects. |
|
|
| **Global Hotkey** | `Alt+N` (configurable) toggles all notes from anywhere. |
|
|
| **Undo/Redo** | Accidentally deleted a note? `Ctrl+Z` brings it right back. |
|
|
| **Auto-Save** | Notes save instantly on focus-out. No manual saving needed. |
|
|
| **Click-Through** | Click empty canvas space to hide notes and interact with windows behind them. |
|
|
| **Keyboard Navigation** | `Tab` / `Shift+Tab` to cycle between notes. `Esc` to hide. |
|
|
| **Start with Windows** | Optional — toggle in Settings. No admin rights needed. |
|
|
| **Zero Latency** | Single-canvas architecture keeps CPU/RAM usage minimal when idle. |
|
|
|
|
---
|
|
|
|
## Quick Start
|
|
|
|
### Option 1 — Download EXE (no Python required)
|
|
|
|
Grab the latest `Noteki.exe` from [Releases](https://github.com/kullaniciadi/noteki/releases/latest) and run it. That's it.
|
|
|
|
### Option 2 — Run from source
|
|
|
|
```bash
|
|
git clone https://github.com/kullaniciadi/noteki.git
|
|
cd noteki
|
|
pip install -r requirements.txt
|
|
python main.py
|
|
```
|
|
|
|
**Requirements:** Python 3.8+, PySide6, Pillow.
|
|
|
|
---
|
|
|
|
## Keyboard Shortcuts
|
|
|
|
| Shortcut | Action |
|
|
|----------|--------|
|
|
| `Alt+N` *(configurable)* | Show / hide all notes |
|
|
| `Ctrl+Z` | Undo last deletion |
|
|
| `Tab` / `Shift+Tab` | Cycle focus between notes |
|
|
| `Esc` | Hide notes |
|
|
| Right-click (empty area) | Quick menu: new note, bring all to front |
|
|
| Right-click (on note) | Color picker, copy, paste, delete |
|
|
| Double-click (note header) | Focus text editor |
|
|
|
|
---
|
|
|
|
## Data & Privacy
|
|
|
|
All data is stored locally under:
|
|
|
|
```
|
|
%APPDATA%\Noteki\
|
|
sessions\ One .json file per workspace
|
|
settings.json Your preferences
|
|
logs\ Rotating logs (7-day retention)
|
|
```
|
|
|
|
**Your notes never leave your computer.** No telemetry, no analytics, no network calls.
|
|
|
|
If `session.json` gets corrupted, Noteki automatically recovers from `session.backup.json`.
|
|
|
|
---
|
|
|
|
## Building the EXE
|
|
|
|
Want to build the standalone executable yourself?
|
|
|
|
```bash
|
|
pip install pyinstaller pillow
|
|
|
|
# Convert PNG icon to ICO
|
|
python -c "from PIL import Image; Image.open('assets/icon.png').save('assets/icon.ico', format='ICO')"
|
|
|
|
# Build single-file EXE
|
|
pyinstaller --noconsole --onefile --icon="assets/icon.ico" --add-data "assets;assets" main.py
|
|
```
|
|
|
|
The output will be in `dist/main.exe`. Rename it to `Noteki.exe` and you're done.
|
|
|
|
---
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
noteki/
|
|
main.py Entry point
|
|
requirements.txt Dependencies
|
|
assets/
|
|
icon.png App & tray icon
|
|
src/
|
|
app.py Orchestrator — wires everything together
|
|
canvas_window.py Full-screen transparent canvas
|
|
note_widget.py Individual sticky note (header, text, resize, drag)
|
|
add_button.py Floating "+" button
|
|
data_manager.py JSON persistence, auto-save, sessions
|
|
hotkey_manager.py Windows global hotkey (ctypes + QThread)
|
|
tray_manager.py System tray icon & context menu
|
|
settings_dialog.py Settings window (font, color, sessions, hotkey)
|
|
undo_manager.py RAM-based undo queue (10-deep)
|
|
constants.py App-wide constants & color math
|
|
```
|
|
|
|
---
|
|
|
|
## License
|
|
|
|
MIT — see [LICENSE](LICENSE) for details.
|
|
|
|
---
|
|
|
|
<p align="center">
|
|
<sub>Built with and PySide6</sub>
|
|
</p>
|