Skip to content

fix!: rules without --window-level should only match normal-layer windows#132

Merged
typester merged 1 commit intomainfrom
fix/window-rule
Feb 10, 2026
Merged

fix!: rules without --window-level should only match normal-layer windows#132
typester merged 1 commit intomainfrom
fix/window-rule

Conversation

@typester
Copy link
Copy Markdown
Owner

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.

…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.
@typester typester merged commit 4b385d5 into main Feb 10, 2026
2 checks passed
@typester typester deleted the fix/window-rule branch February 10, 2026 23:28
@github-actions github-actions Bot mentioned this pull request Feb 8, 2026
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>
@github-actions github-actions Bot mentioned this pull request Feb 10, 2026
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>
@github-actions github-actions Bot mentioned this pull request Feb 15, 2026
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>
@github-actions github-actions Bot mentioned this pull request Feb 15, 2026
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>
@github-actions github-actions Bot mentioned this pull request Feb 16, 2026
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>
@github-actions github-actions Bot mentioned this pull request Feb 17, 2026
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>
@github-actions github-actions Bot mentioned this pull request Feb 19, 2026
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>
@github-actions github-actions Bot mentioned this pull request Feb 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant