Feature request: optional per-application window position & size memory

Problem

Apps that don't remember their own geometry reopen via Smart Placement, ignoring where the user last placed them. On multi-monitor setups, many people end up rearranging the same windows every launch.

Current behavior

The FAQ says this is by design ("no") and recommends devilspie/wmctrl. Those work, but run as an external daemon that can only reposition a window after it appears — causing a visible jump — and aren't integrated.

Proposal

An opt-in option to remember, per application (by WM_CLASS), a normal top-level window's position, size, and maximized state, and restore it on next open.

  • Off by default (e.g. a new xfconf key such as /general/remember_window_geometry), so nobody's behavior changes unless they enable it.
  • Restoring at map time, inside the WM, means no visible jump.
  • Applies only to normal windows (skips transients/dialogs/docks).

Demand

Long-standing and recurring — e.g. Xfce forum: "Every morning I need to rearrange my windows". The community already relies on devilspie configs and custom xev/xdotool scripts as workarounds.

Offer

I'd be happy to implement and maintain this as a merge request if there's interest. I wanted to ask first, given the FAQ's current stance.

Questions for the maintainers

  1. Is an opt-in, default-off version acceptable in principle?
  2. Preferred storage/config surface — an xfconf key (+ settings UI), or kept minimal?

Working external prototype (Python/EWMH): https://github.com/giuliocsr/win-remember — it demonstrates the behavior and validates demand; the in-WM implementation would differ (restore at map time → no visible jump).

Edited by Giulio Golinelli