Skip to content

Improve note header controls and persist always-on-top state#171

Open
tvhdc wants to merge 1 commit into
linuxmint:masterfrom
tvhdc:agent/improve-note-header-controls
Open

Improve note header controls and persist always-on-top state#171
tvhdc wants to merge 1 commit into
linuxmint:masterfrom
tvhdc:agent/improve-note-header-controls

Conversation

@tvhdc

@tvhdc tvhdc commented Jul 18, 2026

Copy link
Copy Markdown

Summary

  • add a visible pin/unpin toggle to each note header
  • keep the toolbar button and existing Always on Top context-menu item in sync
  • persist the pinned state across reloads
  • use distinct XApp pin and unpin symbolic icons with the same color as the other header icons
  • reduce the note title size to 1em and give the header actions consistent spacing

Why

The existing always-on-top action is only available from the title-bar context menu, so it is difficult to discover. Its state is also kept only in memory and is lost when notes are reloaded or the application restarts. The format button additionally has unique padding that makes the header actions look uneven.

This change exposes the existing window-manager behavior directly in the note header and saves it with the rest of the note metadata. Notes without a pinned field remain unpinned, and unpinned notes omit the field, preserving compatibility with existing note data and manager lookups.

Validation

  • python3 -m py_compile usr/lib/sticky/*.py
  • git diff --check
  • parsed usr/share/sticky/sticky.css with Gtk.CssProvider
  • verified xapp-pin-symbolic and xapp-unpin-symbolic are available
  • exercised pin/unpin state, icon switching, and backward-compatible serialization
  • manually verified _NET_WM_STATE_ABOVE toggling and persistence on Linux Mint Cinnamon

The Debian package build could not be run locally because the machine is missing debhelper-compat, dh-python, and meson; the repository's build workflow should cover the package build.

@tvhdc
tvhdc marked this pull request as ready for review July 18, 2026 10:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant