| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2023-10-01 | config/input: add cursor section | Kirill Chibisov | |
| This should allow users to configure theme and size for the cursor, as well as automatically set `XCURSOR_THEME` and `XCURSOR_SIZE` env variables. | |||
| 2023-10-01 | Make default cursor respect output scale | Ivan Molodetskikh | |
| First part of https://github.com/YaLTeR/niri/issues/16 | |||
| 2023-10-01 | protocols: add IME protocols | Kirill Chibisov | |
| This commit adds support for the `input_method_v2`, `text_input_v3`, and `virtual_keyboard`. The implementation follows the one in the anvil and catacomb, but those protocols are mostly enabled and forget type of things. Fixes #22. | |||
| 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-30 | Make output position configurable | Ivan Molodetskikh | |
| Implements https://github.com/YaLTeR/niri/issues/14 | |||
| 2023-09-30 | input: Simplify logic when cursor is outside outputs | Ivan Molodetskikh | |
| 2023-09-30 | Make pipewire / xdp-gnome-screencast optional | Ivan Molodetskikh | |
| 2023-09-30 | Disable RUST_LIB_BACKTRACE if unset | Ivan Molodetskikh | |
| When building on nightly, this is required to disable the costly anyhow backtraces. | |||
| 2023-09-30 | Use non-fancy miette hook | Ivan Molodetskikh | |
| Cuts down our dependencies a bit. We only use miette due to knuffel so it makes sense. | |||
| 2023-09-30 | Update Smithay | Ivan Molodetskikh | |
| 2023-09-29 | Avoid unnecessary configures for xdg-decoration | Ivan Molodetskikh | |
| They actually break some clients like Tracy for some unknown to me reason. | |||
| 2023-09-29 | Extract initial_configure_sent | Ivan Molodetskikh | |
| 2023-09-29 | Change send_initial_configure_if_needed to accept ToplevelSurface | Ivan Molodetskikh | |
| 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 | |
| 2023-09-28 | layout: Refresh windows too | Ivan Molodetskikh | |
| This will send output enter/leave to new popups. | |||
| 2023-09-27 | shell: add support for kde server decorations | Kirill Chibisov | |
| This should provide server side decorations for the gtk3 applications, like firefox. | |||
| 2023-09-27 | layout: Use actual working area on workspace creation | Ivan Molodetskikh | |
| Fixes https://github.com/YaLTeR/niri/issues/19 | |||
| 2023-09-27 | Update primary selection focus | Ivan Molodetskikh | |
| 2023-09-27 | Send pointer.frame() after pointer.button() | Ivan Molodetskikh | |
| 2023-09-27 | layout: Add more ops for proptest to play with | Ivan Molodetskikh | |
| 2023-09-27 | layout: Add randomized test | Ivan Molodetskikh | |
| 2023-09-27 | Fix test name | Ivan Molodetskikh | |
| 2023-09-27 | Fix layer-shell render layering | Ivan Molodetskikh | |
| 2023-09-26 | Implement primary selecton | Ivan Molodetskikh | |
| Firefox clipboard doesn't always work without it. | |||
| 2023-09-26 | Fix panic when the last window on previous workspace is closed | Ivan Molodetskikh | |
| 2023-09-26 | Extract check_ops | Ivan Molodetskikh | |
| 2023-09-26 | Fix panic when adding previously-removed output sometimes | Ivan Molodetskikh | |
| 2023-09-26 | Fix verify_invariants() asserts | Ivan Molodetskikh | |
| 2023-09-26 | Add layer shell exclusive zone support | Ivan Molodetskikh | |
| 2023-09-26 | Add initial config hot reloading | Ivan Molodetskikh | |
| 2023-09-26 | Add prefer-no-csd option | Ivan Molodetskikh | |
| 2023-09-26 | tty: Take metadata by value | Ivan Molodetskikh | |
| 2023-09-26 | Make focus ring configurable | Ivan Molodetskikh | |
| 2023-09-26 | Skip rendering when backend is inactive | Ivan Molodetskikh | |
| 2023-09-26 | Avoid unwraps in more places | Ivan Molodetskikh | |
| 2023-09-26 | tty: Add more trace spans | Ivan Molodetskikh | |
| 2023-09-26 | tty: Extract other event handlers into functions | Ivan Molodetskikh | |
| 2023-09-26 | tty: Avoid panicks in the vblank callback | Ivan Molodetskikh | |
| 2023-09-26 | tty: Extract on_vblank() | Ivan Molodetskikh | |
| 2023-09-26 | Use new tracy-client new_leak() methods | Ivan Molodetskikh | |
| I added them to avoid the use of internal module and leaks when tracing is disabled. | |||
| 2023-09-26 | Remove obsolete comment | Ivan Molodetskikh | |
| 2023-09-26 | Remove LoopData | Ivan Molodetskikh | |
| The calloop Smithay update finally lets me do this. | |||
| 2023-09-26 | Update Smithay | Ivan Molodetskikh | |
| 2023-09-24 | Add focus rings | Ivan Molodetskikh | |
| 2023-09-24 | layout: Focus prev column when removing just created column | Ivan Molodetskikh | |
| This works similar to tabs in Firefox: when you create a tab and then close it without focusing any other tabs, the focus returns to the previously-focused tab, rather than the usual next tab. The logic is that in this case, the new tab was likely transient, and the user wants to get right back to what they were doing. In niri's case, this also serves as a workaround for wl-clipboard spawning and destroying a window, messing up the focus. | |||
| 2023-09-24 | layout: Preserve active column when column to the left is removed | Ivan Molodetskikh | |
| 2023-09-21 | Add spawn-at-startup config option | Ivan Molodetskikh | |
| Fixes https://github.com/YaLTeR/niri/issues/12 | |||
