Skip to content

History / Writing a WM Provider

Revisions

  • Writing a WM Provider: correct mark_self() fallback risk framing Confirmed live (see main repo): the mark_self() fallback race isn't just a rapid-back-to-back-instance-launch edge case as previously written — a single ordinary launch can mismark an unrelated window (a slow-to-yield-focus app still holding focus for a moment) as tuicc itself, silently hiding it from every list tuicc shows. Also notes why the same [pid=...] for_window trick no_focus_next_window() uses doesn't generalize to fix this (mark_self() runs from inside tuicc, typically wrapped in a terminal — its own pid isn't the window-owning process's pid the WM would match on).

    @Lshika-linux Lshika-linux committed Aug 7, 2026
  • Writing a WM Provider: point mark_self/scratchpad references to Summoning Tuicc

    @Lshika-linux Lshika-linux committed Aug 6, 2026
  • Writing a WM Provider: fix stale model.py dataclass listing (pid, defaults) Window/Region/WMState listing was missing the pid field and field(default_factory=list) defaults added to model.py in an earlier, unrelated commit (predates today's R1/resize/nav pass, caught during verification). Also add pid=leaf.pid to sway.py's _leaf_to_window example and the matching "i3 has no pid" comment to i3.py's, so both listings stay literal, accurate copies of current source.

    @Lshika-linux Lshika-linux committed Aug 4, 2026
  • Writing a WM Provider: rewrite for close_window, dismiss_self, focus_self - Provider contract: close_window is now abstract/required; add dismiss_self/focus_self as optional; fix mark_self's app_id signature; "five required, three optional (of five total)" instead of the old four-required-one-optional count - Refresh sway.py/i3.py listings: close_window, mark_self's app_id-criteria branch + fallback, dismiss_self, focus_self - Rewrite "Filtering tuicc's own window" into a combined section covering mark_self/dismiss_self/focus_self as one shared-mark mechanism; reframe the old "known, deliberately-unfixed limitation" — self_app_id now eliminates the race, the focus-timing assumption only applies to the no-self_app_id fallback path - Fix Architecture.md's inbound link to this page's renamed heading/anchor

    @Lshika-linux Lshika-linux committed Aug 4, 2026
  • Writing a Module/WM Provider: drop stale layout-field mention, soften intro phrasing

    @Lshika-linux Lshika-linux committed Aug 2, 2026
  • Updated Writing a WM Provider (markdown)

    @Lshika-linux Lshika-linux committed Jul 31, 2026
  • Updated Writing a WM Provider (markdown)

    @Lshika-linux Lshika-linux committed Jul 31, 2026
  • Updated Writing a WM Provider (markdown)

    @Lshika-linux Lshika-linux committed Jul 28, 2026
  • Updated Writing a WM Provider (markdown)

    @Lshika-linux Lshika-linux committed Jul 28, 2026
  • Updated Writing a WM Provider (markdown)

    @Lshika-linux Lshika-linux committed Jul 28, 2026
  • Created Writing a WM Provider (markdown)

    @Lshika-linux Lshika-linux committed Jul 28, 2026