Suite / XNote Placement
XNote Placement
Puts every XNote sticky note back where you left it.
A GNOME Shell extension that restores each note's position, monitor and workspace on Wayland, where the app cannot do it itself.
XNote keeps each sticky note as its own window, and since version 3.0 it is a native Wayland application. Under Wayland a client cannot place its own window — no position, no monitor, no workspace — so XNote remembers a note's size but not where it was. This extension is the compositor side of that job, for GNOME Shell 50 on Wayland. There are no settings.
What it does
Remembers where every note is
As you move or resize a note, the extension records its position, its monitor and its workspace. The record is keyed by the note, not by the window, so it survives XNote restarts.
Puts it back
When a note opens — after a login, after XNote restarts, after a hidden note is shown again — it goes back to the recorded spot.
Matches by title, guesses nothing
XNote's pads are plain windows with no identity the compositor can see, so the extension reproduces each note's title from the first line of its file and matches on that. A note that cannot be matched is left exactly where the compositor put it.
Knows which monitor is which
Monitors are keyed by serial number first, because identical models cannot be told apart otherwise and an index reshuffles when a display wakes late or a KVM switches inputs. A note whose monitor is missing stays on screen, clamped into the work area.
Waits for the compositor to finish
A new XNote window is 0×0 for its first ~90 ms and mutter places it twice before it settles. Until it has, the extension re-asserts the stored place and records nothing — convergence without a magic delay.
Nothing leaves the machine
The extension has no network functionality. Its state is a small file under your GNOME Shell extension data.
Install
Ubuntu 26.04 — APT
The same repository that serves XNote; sudo apt install xnote already pulls this package in as a recommendation. Log out and back in, then enable it with gnome-extensions enable — the exact UUID is in the README.
Other platforms — from source
Any GNOME Shell 50 session on Wayland with XNote 3.0.2 or later: copy extension.js and metadata.json into your extensions directory, log out and back in, enable. It is not on extensions.gnome.org yet, and it does nothing on X11.
Documentation
- Why Wayland will not let an app place its own window — what the protocol says, why the usual workarounds fail, and what has to live in the compositor
- How it works — the storage format, the timing measurements, and why this is an extension rather than a feature of XNote
- Changelog — one entry per tagged release
- Issues · Discussions · Report a vulnerability