| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2023-12-24 | Move layout.rs into its own module | Ivan Molodetskikh | |
| 2023-12-21 | Add configurable struts | Ivan Molodetskikh | |
| 2023-12-19 | Implement popup unconstraining | Ivan Molodetskikh | |
| Using my new Smithay implementation. | |||
| 2023-12-19 | Add optional fallback to workspace focus/move for window focus/move (#93) | Matt Cuneo | |
| * Add optional fallback to workspace focus/move for window focus/move commands * Refactored to separate commands * fix indentation * fix white space * Stylistic fixes --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> | |||
| 2023-12-05 | Prevent stealing focus from fullscreen clients | Ivan Molodetskikh | |
| Got hit by that Syncthing disconnect dialog a few times while playing games. | |||
| 2023-11-24 | layout: Add hack to work around maximized GTK damage | Ivan Molodetskikh | |
| 2023-11-24 | layout: Switch to workspace on window activation if not transitioning | Ivan Molodetskikh | |
| This should not be possible to trigger at the moment, but with xdg-activation it will be. | |||
| 2023-11-24 | layout: Change workspace by idx functions to accept 0-based usize | Ivan Molodetskikh | |
| Makes more sense to do the converstion at the top of the call stack. | |||
| 2023-11-13 | Add an action to center column within view bound to Ctrl-C | Ivan Molodetskikh | |
| 2023-11-13 | Preserve column width when toggling off full width | Ivan Molodetskikh | |
| 2023-11-08 | Add set-window-height action | Ivan Molodetskikh | |
| 2023-11-08 | layout: Implement auto height distribution | Ivan Molodetskikh | |
| Takes into account min and, partially, max window heights, and adds 1 px when necessary to account for uneven division. | |||
| 2023-11-08 | layout: Add window heights to columns | Ivan Molodetskikh | |
| 2023-11-03 | Add default-column-width setting | Ivan Molodetskikh | |
| 2023-11-02 | Render top layer under fullscreen surfaces when stationary | Ivan Molodetskikh | |
| 2023-11-02 | Add a check for primary monitor workspace invariant | Ivan Molodetskikh | |
| 2023-11-01 | Preserve column width on window actions | Ivan Molodetskikh | |
| Fixes https://github.com/YaLTeR/niri/issues/53 | |||
| 2023-11-01 | Fix losing track of window on move to output if there are none | Ivan Molodetskikh | |
| 2023-11-01 | layout: Change with_surfaces to set_preferred_scale_transform | Ivan Molodetskikh | |
| The former is too specific to concrete Window and not as amenable to testing. | |||
| 2023-10-29 | Add support for wl_compositor@v6 | Kirill Chibisov | |
| 2023-10-21 | Use correct workspace vertical position for rendering | Ivan Molodetskikh | |
| 2023-10-21 | Stop updating focus during transitions | Ivan Molodetskikh | |
| This also includes touchpad swipes. | |||
| 2023-10-21 | Remove assert on activating window on inactive workspace | Ivan Molodetskikh | |
| 2023-10-21 | Rename variables to be less confusing | Ivan Molodetskikh | |
| 2023-10-21 | Crop workspaces during transition tightly | Ivan Molodetskikh | |
| 2023-10-14 | Add binds to move workspaces up and down | Ivan Molodetskikh | |
| 2023-10-14 | Add check for no empty workspaces invariant | Ivan Molodetskikh | |
| 2023-10-14 | Fix moving empty workspaces to original output | Ivan Molodetskikh | |
| 2023-10-14 | Fix by-idx workspace actions not cleaning up | Ivan Molodetskikh | |
| 2023-10-14 | Fix removing output not keeping empty focus on primary | Ivan Molodetskikh | |
| 2023-10-14 | Fix assertion message | Ivan Molodetskikh | |
| 2023-10-11 | Add a few more Tracy spans | Ivan Molodetskikh | |
| 2023-10-11 | Draw focus ring as border on SSD windows | Ivan Molodetskikh | |
| With SSD we're reasonably sure that the window is a rectangle with no rounded corners, so a rectangular border should work. | |||
| 2023-10-11 | layout: Store location in FocusRing | Ivan Molodetskikh | |
| 2023-10-10 | Add screenshot-window action | Ivan Molodetskikh | |
| 2023-10-08 | Add barebones three-finger-swipe workspace switch | Ivan Molodetskikh | |
| Notable omission is velocity tracking. | |||
| 2023-10-07 | Update bounds of toplevel windows | Ivan Molodetskikh | |
| 2023-10-07 | Add gaps setting | Ivan Molodetskikh | |
| The past few refactors have led up to this point, and now it's finally possible. | |||
| 2023-10-07 | layout: Refactor view offset, padding, work area handling | Ivan Molodetskikh | |
| Fixes broken padding on fullscreen windows, especially with struts on the sides present. It is now view offset's job to include padding and struts. | |||
| 2023-10-05 | layout: Add every_op test from starting state | Ivan Molodetskikh | |
| 2023-10-05 | layout: Handle padding in ColumnWidth::resolve() | Ivan Molodetskikh | |
| 2023-10-05 | Refactor layout for configurability, add preset-column-widths option | Ivan Molodetskikh | |
| layout.rs finally gets a struct actually named Layout. | |||
| 2023-10-04 | layout: Store view size in Columns | Ivan Molodetskikh | |
| 2023-10-03 | Add set-column-width action | Ivan Molodetskikh | |
| 2023-10-01 | Avoid sending frame callbacks to invisible surfaces | Ivan Molodetskikh | |
| 2023-10-01 | Make find_window_and_output() accept non-mut self | Ivan Molodetskikh | |
| 2023-09-30 | Compute view offset relative to anim target | Ivan Molodetskikh | |
| This enables quickly tapping focus right-left to keep typing in the current window while showing the next window. Resolves https://github.com/YaLTeR/niri/issues/26 | |||
| 2023-09-30 | Refactor frame scheduling | Ivan Molodetskikh | |
| Combine the redraw state variables into one enum, and refactor to get rid of the requirement that a VBlank must queue a subsequent redraw. Also fix the bug where ongoing animations that produced no damage could stall the redrawing. | |||
| 2023-09-29 | Throttle frame callbacks to once per monitor refresh | Ivan Molodetskikh | |
| Under some circumstances, the compositor can get into a commit-frame callback busy loop with a client. For example, if a client redraws on frame callbacks, but the resulting frame has empty damage (e.g. the damaged part of the client is outside the monitor). Or if the client simply commits with empty damage (looking at you, Firefox). This behavior is compliant with the Wayland specification and with the intended idea of frame callbacks, but causes a lot of unnecessary CPU usage in the client and the compositor. To solve this problem, this commit introduces frame callback throttling. Every surface may only receive a single frame callback in one monitor refresh cycle. If a surface commits resulting in no KMS frame submission, a timer is created, that will fire at the predicted would- be-VBlank time, and send the accumulated frame callbacks. This way, a surface that redraws on frame callbacks will not notice any change in frame callback delivery, if its commits suddenly stop producing KMS updates. | |||
| 2023-09-28 | layout: Add communicate op to tests | Ivan Molodetskikh | |
