[PR #986] [MERGED] Feature: Allow new windows to start as floating and be tiled manually by the user #1160

Closed
opened 2026-01-05 14:54:18 +01:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/LGUG2Z/komorebi/pull/986
Author: @alex-ds13
Created: 9/4/2024
Status: Merged
Merged: 10/11/2024
Merged by: @LGUG2Z

Base: masterHead: feature/new-window-float-behaviour


📝 Commits (10+)

  • 17ea1e6 feat(wm): separate floating and ignored apps
  • 8b34449 feat(wm): allow ws moves of floating apps
  • 7d8e2ad refactor(wm): float_rules > ignore_rules w/ compat
  • d68346a fix(borders): no redraws on floating win title change
  • a93e937 fix(borders): update on floating win drag
  • 68e9365 fix(borders): send notif on ignored hwnd events
  • 0e8dc85 feat(wm): add new float override option
  • 30bdaf3 feat(cli): add command for new option ToggleFloatOverride
  • b7bedce feat(wm): add window_container_behaviour and float_override to workspaces
  • 221e4ea feat(cli): add commands for workspace new window behaviour and float_override

📊 Changes

15 files changed (+602 additions, -205 deletions)

View changed files

📝 komorebi/src/border_manager/mod.rs (+142 -8)
📝 komorebi/src/core/config_generation.rs (+12 -11)
📝 komorebi/src/core/mod.rs (+20 -2)
📝 komorebi/src/lib.rs (+2 -2)
📝 komorebi/src/monitor.rs (+72 -47)
📝 komorebi/src/monitor_reconciliator/mod.rs (+3 -3)
📝 komorebi/src/process_command.rs (+42 -12)
📝 komorebi/src/process_event.rs (+71 -38)
📝 komorebi/src/reaper.rs (+1 -1)
📝 komorebi/src/static_config.rs (+71 -14)
📝 komorebi/src/window.rs (+32 -7)
📝 komorebi/src/window_manager.rs (+81 -26)
📝 komorebi/src/workspace.rs (+27 -28)
📝 komorebi/src/workspace_reconciliator.rs (+1 -1)
📝 komorebic/src/main.rs (+25 -5)

📄 Description

This PR was created as requested on discord by the user DemitriX:
https://discord.com/channels/898554690126630914/1280256277104033833

This PR introduces a new option ("Float") to window_container_behaviour, which makes it so every window opened, shown or uncloaked will be set to floating by default, but it won't be ignored. It will be added to the floating_windows of the workspace, meaning that the user can later tile that window with toggle-float command.

This allows the users to have all windows open as floating and then manually tile the ones they want.

The existing command toggle-window-container-behaviour was deprecated and two new ones were added instead:

  • cycle-window-container-behaviour: cycles through all the options using the next and previous arguments
  • window-container-behaviour: allows setting the behaviour directly using the arguments "create", "append" or "float"

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/LGUG2Z/komorebi/pull/986 **Author:** [@alex-ds13](https://github.com/alex-ds13) **Created:** 9/4/2024 **Status:** ✅ Merged **Merged:** 10/11/2024 **Merged by:** [@LGUG2Z](https://github.com/LGUG2Z) **Base:** `master` ← **Head:** `feature/new-window-float-behaviour` --- ### 📝 Commits (10+) - [`17ea1e6`](https://github.com/LGUG2Z/komorebi/commit/17ea1e686926ac7edd0a9b16e56b9baa5a551618) feat(wm): separate floating and ignored apps - [`8b34449`](https://github.com/LGUG2Z/komorebi/commit/8b344496e618b7ae83c4b37911305657c54dbf00) feat(wm): allow ws moves of floating apps - [`7d8e2ad`](https://github.com/LGUG2Z/komorebi/commit/7d8e2ad814f0cf407267e574c403a39daaf5ce38) refactor(wm): float_rules > ignore_rules w/ compat - [`d68346a`](https://github.com/LGUG2Z/komorebi/commit/d68346a6405703efa1f5f3adfac12264a7f19276) fix(borders): no redraws on floating win title change - [`a93e937`](https://github.com/LGUG2Z/komorebi/commit/a93e93777281d999d4fdb37b43c83fe1c3a4d43d) fix(borders): update on floating win drag - [`68e9365`](https://github.com/LGUG2Z/komorebi/commit/68e9365ddacf7200c7208bfb60a98198a57c77ab) fix(borders): send notif on ignored hwnd events - [`0e8dc85`](https://github.com/LGUG2Z/komorebi/commit/0e8dc85fb146fba05b9aa509dc91a5432a4b2ba0) feat(wm): add new float override option - [`30bdaf3`](https://github.com/LGUG2Z/komorebi/commit/30bdaf33d5d2ce80b6f6e9a98aec745654c8159b) feat(cli): add command for new option `ToggleFloatOverride` - [`b7bedce`](https://github.com/LGUG2Z/komorebi/commit/b7bedce1ca8472b9ed762d57f4d36e79eb156f8c) feat(wm): add window_container_behaviour and float_override to workspaces - [`221e4ea`](https://github.com/LGUG2Z/komorebi/commit/221e4ea545c383e0094bf04a34b698c0c8be7a46) feat(cli): add commands for workspace new window behaviour and float_override ### 📊 Changes **15 files changed** (+602 additions, -205 deletions) <details> <summary>View changed files</summary> 📝 `komorebi/src/border_manager/mod.rs` (+142 -8) 📝 `komorebi/src/core/config_generation.rs` (+12 -11) 📝 `komorebi/src/core/mod.rs` (+20 -2) 📝 `komorebi/src/lib.rs` (+2 -2) 📝 `komorebi/src/monitor.rs` (+72 -47) 📝 `komorebi/src/monitor_reconciliator/mod.rs` (+3 -3) 📝 `komorebi/src/process_command.rs` (+42 -12) 📝 `komorebi/src/process_event.rs` (+71 -38) 📝 `komorebi/src/reaper.rs` (+1 -1) 📝 `komorebi/src/static_config.rs` (+71 -14) 📝 `komorebi/src/window.rs` (+32 -7) 📝 `komorebi/src/window_manager.rs` (+81 -26) 📝 `komorebi/src/workspace.rs` (+27 -28) 📝 `komorebi/src/workspace_reconciliator.rs` (+1 -1) 📝 `komorebic/src/main.rs` (+25 -5) </details> ### 📄 Description This PR was created as requested on discord by the user DemitriX: https://discord.com/channels/898554690126630914/1280256277104033833 This PR introduces a new option ("Float") to `window_container_behaviour`, which makes it so every window opened, shown or uncloaked will be set to floating by default, but it won't be ignored. It will be added to the floating_windows of the workspace, meaning that the user can later tile that window with `toggle-float` command. This allows the users to have all windows open as floating and then manually tile the ones they want. The existing command `toggle-window-container-behaviour` was deprecated and two new ones were added instead: - `cycle-window-container-behaviour`: cycles through all the options using the `next` and `previous` arguments - `window-container-behaviour`: allows setting the behaviour directly using the arguments "create", "append" or "float" --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2026-01-05 14:54:18 +01:00
adam closed this issue 2026-01-05 14:54:18 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/komorebi#1160