Skip to main content

Terminal sticky notes

Project description

sticker0

Version Python License

A terminal sticky notes TUI app built with Python + Textual.


Features

  • Drag & resize stickers on the board (wide handles, bottom-corner diagonal resize)
  • Text editing with a built-in TextArea (cursor/scroll styling matches each sticker)
  • Sticker color presets — Graphite, Mist, Ocean, Amber, Forest, Crimson, Violet, Sky, Banana (plus custom [presets.sticker.*])
  • Board themes — Graphite, Ivory, Slate Blue, Dust Rose, Forest, Amber Night (plus custom [presets.board.*])
  • Minimize / restore — double-click the top border or use the context menu
  • Screen clamping — stickers stay within the terminal
  • Auto-save — each sticker stored as JSON under ~/.local/share/sticker0/
  • Config~/.stkrc for board theme, sticker default colors, border style, size defaults, and keybindings

Installation

# Recommended (uv)
uv tool install sticker0

# pip
pip install sticker0

Requirements: Python >= 3.11, Textual >= 0.80


Usage

stk

Keyboard shortcuts

Key Action
n New sticker
d / Delete Delete focused sticker
q Quit

Configuration (~/.stkrc)

The [theme] section holds both the board look and the default colors for newly created stickers:

  • background / indicator — board background and UI accent (menus, borders).
  • border / text / area — default StickerColors for new stickers. These update when you pick a sticker preset from the menu (so the next “Create” matches your last choice). Choosing a board theme from the menu updates background and indicator only and keeps the three sticker colors unless you change them via a sticker preset.
[theme]
background = "transparent"
indicator = "white"
border = "#d4d4d8"    # new sticker — border color
text = "#d4d4d8"      # new sticker — text color
area = "#2a2a2e"      # new sticker — area color

[border]
top = "heavy"         # single | double | heavy | simple
sides = "heavy"

[defaults]
width = 30
height = 10

[keybindings]
new = "n"
delete = "d"
quit = "q"

# Custom sticker preset
[presets.sticker.Fire]
border = "#ff0000"
text = "#ffffff"
area = "#330000"

# Custom board theme
[presets.board.Solarized]
background = "#002b36"
indicator = "#839496"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sticker0-0.4.0.tar.gz (61.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sticker0-0.4.0-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

Details for the file sticker0-0.4.0.tar.gz.

File metadata

  • Download URL: sticker0-0.4.0.tar.gz
  • Upload date:
  • Size: 61.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.11

File hashes

Hashes for sticker0-0.4.0.tar.gz
Algorithm Hash digest
SHA256 8df12b25d1b6ab519c7a27d6a813d3caffc0681c769c1eb567b40a4a147eb2ae
MD5 eacd320a6e7e57bd774c8e1a9429fbf1
BLAKE2b-256 610a9d75fcb71c55e2387051f3d74cd176eb8263d7ca40369e500344a98acc3a

See more details on using hashes here.

File details

Details for the file sticker0-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: sticker0-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 25.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.11

File hashes

Hashes for sticker0-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cb37c4905de048d03a0466fcd7ce13eb77898eea580ad0583abb2529a1b5e21a
MD5 9bc412301b0e6a87528768e5446be739
BLAKE2b-256 11bfdfde813f946275a38dbc1fada3b0b439acad8482df54ff29ee7a3205c0ea

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page