fix!: rules without --window-level should only match normal-layer windows#132
Merged
fix!: rules without --window-level should only match normal-layer windows#132
Conversation
…dows IME popups and other transient OS windows (level != 0) were being managed and tiled because rules like `--app-id com.mitchellh.ghostty tags 1` matched all window levels. Changed `matches_extended()` to treat unspecified `--window-level` as "only match level=0 (normal)" instead of "match any level". To manage non-normal layer windows, `--window-level` must now be specified explicitly in the rule. BREAKING CHANGE: Rules without `--window-level` no longer match non-normal layer windows. Add explicit `--window-level other` to rules that need to target non-normal layer windows.
Merged
typester
pushed a commit
that referenced
this pull request
Feb 10, 2026
## 🤖 New release * `yashiki-ipc`: 0.10.7 -> 0.11.0 * `yashiki`: 0.10.7 -> 0.11.0 * `yashiki-layout-tatami`: 0.10.7 -> 0.11.0 * `yashiki-layout-byobu`: 0.10.7 -> 0.11.0 <details><summary><i><b>Changelog</b></i></summary><p> ## `yashiki-ipc` <blockquote> ## [0.11.0](yashiki-ipc-v0.10.7...yashiki-ipc-v0.11.0) - 2026-02-10 ### Fixed - [**breaking**] rules without --window-level should only match normal-layer windows ([#132](#132)) </blockquote> ## `yashiki` <blockquote> ## [0.11.0](yashiki-v0.10.7...yashiki-v0.11.0) - 2026-02-10 ### Fixed - [**breaking**] rules without --window-level should only match normal-layer windows ([#132](#132)) </blockquote> ## `yashiki-layout-tatami` <blockquote> ## [0.7.3](yashiki-layout-tatami-v0.7.2...yashiki-layout-tatami-v0.7.3) - 2026-01-20 ### Other - update Cargo.lock dependencies </blockquote> ## `yashiki-layout-byobu` <blockquote> ## [0.7.3](yashiki-layout-byobu-v0.7.2...yashiki-layout-byobu-v0.7.3) - 2026-01-20 ### Other - update Cargo.lock dependencies </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Merged
typester
pushed a commit
that referenced
this pull request
Feb 15, 2026
## 🤖 New release * `yashiki-ipc`: 0.11.0 -> 0.11.1 * `yashiki`: 0.11.0 -> 0.11.1 * `yashiki-layout-tatami`: 0.11.0 -> 0.11.1 * `yashiki-layout-byobu`: 0.11.0 -> 0.11.1 <details><summary><i><b>Changelog</b></i></summary><p> ## `yashiki-ipc` <blockquote> ## [0.11.0](yashiki-ipc-v0.10.7...yashiki-ipc-v0.11.0) - 2026-02-10 ### Fixed - [**breaking**] rules without --window-level should only match normal-layer windows ([#132](#132)) </blockquote> ## `yashiki` <blockquote> ## [0.11.1](yashiki-v0.11.0...yashiki-v0.11.1) - 2026-02-15 ### Fixed - wake up RunLoop after snapshot request to fix subscribe --snapshot ([#134](#134)) </blockquote> ## `yashiki-layout-tatami` <blockquote> ## [0.7.3](yashiki-layout-tatami-v0.7.2...yashiki-layout-tatami-v0.7.3) - 2026-01-20 ### Other - update Cargo.lock dependencies </blockquote> ## `yashiki-layout-byobu` <blockquote> ## [0.7.3](yashiki-layout-byobu-v0.7.2...yashiki-layout-byobu-v0.7.3) - 2026-01-20 ### Other - update Cargo.lock dependencies </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Merged
typester
pushed a commit
that referenced
this pull request
Feb 15, 2026
## 🤖 New release * `yashiki-ipc`: 0.11.1 -> 0.11.2 * `yashiki`: 0.11.1 -> 0.11.2 * `yashiki-layout-tatami`: 0.11.1 -> 0.11.2 * `yashiki-layout-byobu`: 0.11.1 -> 0.11.2 <details><summary><i><b>Changelog</b></i></summary><p> ## `yashiki-ipc` <blockquote> ## [0.11.0](yashiki-ipc-v0.10.7...yashiki-ipc-v0.11.0) - 2026-02-10 ### Fixed - [**breaking**] rules without --window-level should only match normal-layer windows ([#132](#132)) </blockquote> ## `yashiki` <blockquote> ## [0.11.2](yashiki-v0.11.1...yashiki-v0.11.2) - 2026-02-15 ### Fixed - emit missing events on display connect/disconnect and scale bar properties ([#139](#139)) </blockquote> ## `yashiki-layout-tatami` <blockquote> ## [0.7.3](yashiki-layout-tatami-v0.7.2...yashiki-layout-tatami-v0.7.3) - 2026-01-20 ### Other - update Cargo.lock dependencies </blockquote> ## `yashiki-layout-byobu` <blockquote> ## [0.7.3](yashiki-layout-byobu-v0.7.2...yashiki-layout-byobu-v0.7.3) - 2026-01-20 ### Other - update Cargo.lock dependencies </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Merged
typester
pushed a commit
that referenced
this pull request
Feb 16, 2026
## 🤖 New release * `yashiki-ipc`: 0.11.2 -> 0.11.3 * `yashiki`: 0.11.2 -> 0.11.3 * `yashiki-layout-tatami`: 0.11.2 -> 0.11.3 * `yashiki-layout-byobu`: 0.11.2 -> 0.11.3 <details><summary><i><b>Changelog</b></i></summary><p> ## `yashiki-ipc` <blockquote> ## [0.11.0](yashiki-ipc-v0.10.7...yashiki-ipc-v0.11.0) - 2026-02-10 ### Fixed - [**breaking**] rules without --window-level should only match normal-layer windows ([#132](#132)) </blockquote> ## `yashiki` <blockquote> ## [0.11.3](yashiki-v0.11.2...yashiki-v0.11.3) - 2026-02-16 ### Fixed - emit DisplayFocused event on auto-raise and external focus change ([#142](#142)) </blockquote> ## `yashiki-layout-tatami` <blockquote> ## [0.7.3](yashiki-layout-tatami-v0.7.2...yashiki-layout-tatami-v0.7.3) - 2026-01-20 ### Other - update Cargo.lock dependencies </blockquote> ## `yashiki-layout-byobu` <blockquote> ## [0.7.3](yashiki-layout-byobu-v0.7.2...yashiki-layout-byobu-v0.7.3) - 2026-01-20 ### Other - update Cargo.lock dependencies </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Merged
typester
pushed a commit
that referenced
this pull request
Feb 17, 2026
## 🤖 New release * `yashiki-ipc`: 0.11.3 -> 0.11.4 * `yashiki`: 0.11.3 -> 0.11.4 * `yashiki-layout-tatami`: 0.11.3 -> 0.11.4 * `yashiki-layout-byobu`: 0.11.3 -> 0.11.4 <details><summary><i><b>Changelog</b></i></summary><p> ## `yashiki-ipc` <blockquote> ## [0.11.0](yashiki-ipc-v0.10.7...yashiki-ipc-v0.11.0) - 2026-02-10 ### Fixed - [**breaking**] rules without --window-level should only match normal-layer windows ([#132](#132)) </blockquote> ## `yashiki` <blockquote> ## [0.11.4](yashiki-v0.11.3...yashiki-v0.11.4) - 2026-02-17 ### Added - suppress auto-raise while popup menus are visible ([#146](#146)) ### Fixed - unify event emission across all callbacks using capture/emit pattern ([#144](#144)) </blockquote> ## `yashiki-layout-tatami` <blockquote> ## [0.7.3](yashiki-layout-tatami-v0.7.2...yashiki-layout-tatami-v0.7.3) - 2026-01-20 ### Other - update Cargo.lock dependencies </blockquote> ## `yashiki-layout-byobu` <blockquote> ## [0.7.3](yashiki-layout-byobu-v0.7.2...yashiki-layout-byobu-v0.7.3) - 2026-01-20 ### Other - update Cargo.lock dependencies </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Merged
typester
pushed a commit
that referenced
this pull request
Feb 19, 2026
## 🤖 New release * `yashiki-ipc`: 0.11.4 -> 0.11.5 * `yashiki`: 0.11.4 -> 0.11.5 * `yashiki-layout-tatami`: 0.11.4 -> 0.11.5 * `yashiki-layout-byobu`: 0.11.4 -> 0.11.5 <details><summary><i><b>Changelog</b></i></summary><p> ## `yashiki-ipc` <blockquote> ## [0.11.0](yashiki-ipc-v0.10.7...yashiki-ipc-v0.11.0) - 2026-02-10 ### Fixed - [**breaking**] rules without --window-level should only match normal-layer windows ([#132](#132)) </blockquote> ## `yashiki` <blockquote> ## [0.11.5](yashiki-v0.11.4...yashiki-v0.11.5) - 2026-02-19 ### Fixed - make window-focus next/prev follow visual layout order instead of WindowId order ([#150](#150)) </blockquote> ## `yashiki-layout-tatami` <blockquote> ## [0.7.3](yashiki-layout-tatami-v0.7.2...yashiki-layout-tatami-v0.7.3) - 2026-01-20 ### Other - update Cargo.lock dependencies </blockquote> ## `yashiki-layout-byobu` <blockquote> ## [0.7.3](yashiki-layout-byobu-v0.7.2...yashiki-layout-byobu-v0.7.3) - 2026-01-20 ### Other - update Cargo.lock dependencies </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Merged
typester
pushed a commit
that referenced
this pull request
Feb 20, 2026
## 🤖 New release * `yashiki-ipc`: 0.11.5 -> 0.11.6 * `yashiki`: 0.11.5 -> 0.11.6 * `yashiki-layout-tatami`: 0.11.5 -> 0.11.6 * `yashiki-layout-byobu`: 0.11.5 -> 0.11.6 <details><summary><i><b>Changelog</b></i></summary><p> ## `yashiki-ipc` <blockquote> ## [0.11.0](yashiki-ipc-v0.10.7...yashiki-ipc-v0.11.0) - 2026-02-10 ### Fixed - [**breaking**] rules without --window-level should only match normal-layer windows ([#132](#132)) </blockquote> ## `yashiki` <blockquote> ## [0.11.6](yashiki-v0.11.5...yashiki-v0.11.6) - 2026-02-20 ### Fixed - prevent auto-raise from focusing ignored windows ([#152](#152)) </blockquote> ## `yashiki-layout-tatami` <blockquote> ## [0.7.3](yashiki-layout-tatami-v0.7.2...yashiki-layout-tatami-v0.7.3) - 2026-01-20 ### Other - update Cargo.lock dependencies </blockquote> ## `yashiki-layout-byobu` <blockquote> ## [0.7.3](yashiki-layout-byobu-v0.7.2...yashiki-layout-byobu-v0.7.3) - 2026-01-20 ### Other - update Cargo.lock dependencies </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
IME popups and other transient OS windows (level != 0) were being managed and tiled because rules like
--app-id com.mitchellh.ghostty tags 1matched all window levels. Changedmatches_extended()to treat unspecified--window-levelas "only match level=0 (normal)" instead of "match any level". To manage non-normal layer windows,--window-levelmust now be specified explicitly in the rule.BREAKING CHANGE: Rules without
--window-levelno longer match non-normal layer windows. Add explicit--window-level otherto rules that need to target non-normal layer windows.