| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2024-12-30 | layout: Support fullscreen for auto-floating windows | Ivan Molodetskikh | |
| 2024-12-30 | layout: Remember whether to unfullscreen back into floating | Ivan Molodetskikh | |
| 2024-12-30 | layout: Move toggle_fullscreen() impl to Workspace | Ivan Molodetskikh | |
| 2024-12-30 | floating: Implement directional move | Ivan Molodetskikh | |
| 2024-12-30 | floating: Implement center_window() | Ivan Molodetskikh | |
| 2024-12-30 | floating: Implement directional focus | Ivan Molodetskikh | |
| 2024-12-30 | layout: Implement focus_right_or_first() generically | Ivan Molodetskikh | |
| 2024-12-30 | Stub out actions when floating is active | Ivan Molodetskikh | |
| Make sure they don't go to the unfocused scrolling layout at least. | |||
| 2024-12-30 | floating: Implement smarter clamping for window location | Ivan Molodetskikh | |
| A small part of the window always remains on-screen regardless of the working area changes. Interactive move lets the user position the window anywhere; automatic actions like toggle-window-floating and dialog opening try to put the window fully on-screen. The size-fraction canonical floating window position remains unclamped, and clamping happens when recomputing the logical position. | |||
| 2024-12-30 | Implement floating child stacking above parents | Ivan Molodetskikh | |
| 2024-12-30 | Always honor min height in new window size | Ivan Molodetskikh | |
| 2024-12-30 | Honor min/max size in more places like initial configure | Ivan Molodetskikh | |
| 2024-12-30 | Initial WIP floating window implementation | Ivan Molodetskikh | |
| 2024-12-08 | layout: Return bool from activate_window() | Ivan Molodetskikh | |
| Avoid an extra has_window() call. | |||
| 2024-12-01 | layout: Extract ScrollingSpace | Ivan Molodetskikh | |
| Leave the Workspace to do the workspace parts, and extract the scrolling parts into a new file. This is a pre-requisite for things like the floating layer (which will live in a workspace alongside the scrolling layer). As part of this huge refactor, I found and fixed at least these issues: - Wrong horizontal popup unconstraining for a smaller window in an always-centered column. - Wrong workspace switch in focus_up_or_right(). | |||
| 2024-12-01 | layout: Correct variable names | Ivan Molodetskikh | |
| 2024-12-01 | layout: Use tiles_mut() in Workspace::clear_unmap_snapshot() | Ivan Molodetskikh | |
| 2024-12-01 | layout: Extract Workspace::tiles() | Ivan Molodetskikh | |
| 2024-11-29 | Implement empty-workspace-above-first (#745) | FluxTape | |
| * Implement empty-workspace-above-first option * add two failing tests * fix interactive_move_onto_empty_output_ewaf and interactive_move_onto_first_empty_workspace tests * Add two failing ewaf option toggle tests * Fix adding/removing first empty workspace on option toggle * Don't remove first empty workspace if focused * Stop workspace switch when enabling ewaf * layout/monitor: Offset workspace switch on adding workspace above * Fix some initial active workspace ids with ewaf * wiki: Document empty-workspace-above-first --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> | |||
| 2024-11-25 | Refactor animation timing to use lazy clocks | Ivan Molodetskikh | |
| 2024-11-25 | Refactor animations to take explicit current time | Ivan Molodetskikh | |
| 2024-11-11 | Change expel-window-from-column to expel the bottom window | Ivan Molodetskikh | |
| This way, expel becomes symmetric with consume. This is also how it works in PaperWM. Though, in PaperWM if the expelled window was focused, it will remain focused, while in this commit it is never focused, making it the exact opposite of consume. Use consume-or-expel-window-right for the old expel behavior. | |||
| 2024-11-02 | Follow window corner radius in insert hint | Ivan Molodetskikh | |
| 2024-11-02 | Add gradient support for the insert hint | Ivan Molodetskikh | |
| Implement it via FocusRing which already handles SolidColor vs. Border render element. | |||
| 2024-10-27 | Implement touch interactive resize | Ivan Molodetskikh | |
| 2024-10-27 | Implement interactive window move | Rasmus Eneman | |
| 2024-10-19 | layout: Update tile config in Column::add_tile_at() | Ivan Molodetskikh | |
| 2024-10-18 | layout: Add missing active idx check before setting activate prev on removal | Ivan Molodetskikh | |
| 2024-10-17 | layout: Use remove_column_by_idx in remove_tile_by_idx | Ivan Molodetskikh | |
| 2024-10-17 | layout: Accept anim_config in remove_column_by_idx | Ivan Molodetskikh | |
| 2024-10-14 | layout: Return Tile + info upon removal | Ivan Molodetskikh | |
| 2024-10-12 | layout: Fix expel animation of the smaller window in column | Ivan Molodetskikh | |
| 2024-10-12 | Implement ConsumeOrExpelWindow{Left,Right} by id | Ivan Molodetskikh | |
| 2024-10-12 | layout/workspace: Add add_tile_to_column() | Ivan Molodetskikh | |
| 2024-10-11 | Support empty column in tile_offsets | Ivan Molodetskikh | |
| Will be needed for the new inserting tile code. | |||
| 2024-10-10 | layout/workspace: Reduce code duplication in adding windows | Ivan Molodetskikh | |
| 2024-10-10 | layout: Reduce field visibility | Ivan Molodetskikh | |
| The outside code isn't supposed to mess with the fields. | |||
| 2024-10-05 | use `if let Some()` over `match` with `None => ()` | sodiboo | |
| 2024-09-12 | Always clamp non-auto window height with >1 windows in column | Ivan Molodetskikh | |
| 2024-09-12 | Update comments | Ivan Molodetskikh | |
| 2024-09-12 | Add SwitchPresetWindowHeight by id | Ivan Molodetskikh | |
| 2024-09-12 | Implement preset window heights | Christian Rieger | |
| 2024-09-06 | Fix set-window-height SetProportion scale | Ivan Molodetskikh | |
| 2024-09-06 | Implement by-id window addressing in IPC and CLI, fix move-column-to-workspace | Ivan Molodetskikh | |
| This is a JSON-breaking change for the IPC actions that changed from unit variants to struct variants. Unfortunately, I couldn't find a way with serde to both preserve a single variant, and make it serialize to the old value when the new field is None. I don't think anyone is using these actions from JSON at the moment, so this breaking change is fine. | |||
| 2024-09-05 | implement always_center_single_column layout option | elkowar | |
| 2024-09-04 | layout: Prevent view gesture snap beyond first/last column | Ivan Molodetskikh | |
| 2024-09-04 | layout: Extract snap_points() | Ivan Molodetskikh | |
| 2024-09-03 | Use libdisplay-info for make/model/serial parsing, implement throughout | Ivan Molodetskikh | |
| 2024-09-01 | Implement by-id workspace action addressing | Ivan Molodetskikh | |
| It's not added to clap because there's no convenient mutually-exclusive argument enum derive yet (to have either the current <REFERENCE> or an --id <ID>). It's not added to config parsing because I don't see how it could be useful there. As such, it's only accessible through raw IPC. | |||
| 2024-09-01 | Change IdCounter to be backed by an AtomicU64 | Ivan Molodetskikh | |
| Let's see if anyone complains. | |||
