Commit Graph

431 Commits

Author SHA1 Message Date
Ivan Molodetskikh 71ae8dd0da Update screenshot binds in README 2023-10-10 12:50:17 +04:00
Ivan Molodetskikh c8105ae1a6 Add screenshot-window action 2023-10-10 12:42:24 +04:00
Ivan Molodetskikh cb73bcfb32 Don't clear screenshot buffers
This is especially relevant for window screenshots.
2023-10-10 12:41:13 +04:00
Ivan Molodetskikh e78def3e2c Store screenshot in clipboard 2023-10-10 12:11:05 +04:00
Ivan Molodetskikh 082d734b2a Make zbus optional under "dbus" feature 2023-10-10 10:25:33 +04:00
Ivan Molodetskikh 9d7fdc4fc0 Fix redraw state resetting on redraw cancel 2023-10-10 10:03:14 +04:00
Ivan Molodetskikh 02f37c8573 Extract dbus server startup 2023-10-10 09:55:44 +04:00
Ivan Molodetskikh 66533ae0b1 Extract inhibit_power_key() 2023-10-10 09:02:33 +04:00
Ivan Molodetskikh d66bd87c66 Rename ToNiriMsg to ScreenCastToNiri 2023-10-10 08:55:54 +04:00
Ivan Molodetskikh a0b8da69c7 Extract on_screen_shot_msg 2023-10-10 08:54:15 +04:00
Ivan Molodetskikh 3c200fd64a Move dbus and systemd initialization out of Niri::new 2023-10-10 08:49:47 +04:00
Ivan Molodetskikh d9253a7137 Extract data variable 2023-10-10 07:59:50 +04:00
Ivan Molodetskikh 9fb8c616a8 Add a State::new tracy span 2023-10-10 07:57:22 +04:00
Ivan Molodetskikh 2508d3e08e Move refresh calls into State 2023-10-10 07:55:31 +04:00
Ivan Molodetskikh 189d1bd97b Add power-off-monitors bind
Implements https://github.com/YaLTeR/niri/issues/24
2023-10-09 18:37:43 +04:00
Ivan Molodetskikh d91d5d674c Set redraw state to idle on early returns
Haven't hit any problems due to this yet, but I suspect that it's
possible.
2023-10-09 17:40:28 +04:00
Ivan Molodetskikh 05b5ba0555 Add Niri::new Tracy span 2023-10-09 17:36:58 +04:00
Ivan Molodetskikh e70e660df6 Add barebones three-finger-swipe workspace switch
Notable omission is velocity tracking.
2023-10-08 09:57:59 +04:00
Ivan Molodetskikh 0411fd8d90 Set correct output position for Wayland 2023-10-07 21:02:37 +04:00
Ivan Molodetskikh 42b859a45c Upgrade dependencies 2023-10-07 18:01:17 +04:00
Ivan Molodetskikh 497e52da59 Update bounds of toplevel windows 2023-10-07 17:50:45 +04:00
Ivan Molodetskikh 994bc64679 Add gaps setting
The past few refactors have led up to this point, and now it's finally
possible.
2023-10-07 17:45:55 +04:00
Ivan Molodetskikh 624b3296e9 layout: Refactor view offset, padding, work area handling
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-07 10:47:51 +04:00
Ivan Molodetskikh 23b59b40aa layout: Add every_op test from starting state 2023-10-05 09:59:28 +04:00
Ivan Molodetskikh 8491ba593e layout: Handle padding in ColumnWidth::resolve() 2023-10-05 09:29:39 +04:00
Ivan Molodetskikh 6fcdb41922 Refactor layout for configurability, add preset-column-widths option
layout.rs finally gets a struct actually named Layout.
2023-10-05 09:25:07 +04:00
Ivan Molodetskikh 3ac1607406 layout: Store view size in Columns 2023-10-04 15:45:30 +04:00
Ivan Molodetskikh 1bcc889e62 Add tablet map-to-output setting 2023-10-03 17:02:07 +04:00
Ivan Molodetskikh 7bb1c114a2 Update README 2023-10-03 12:31:05 +04:00
Ivan Molodetskikh 7558ac14e6 Add set-column-width action 2023-10-03 11:38:42 +04:00
Ivan Molodetskikh bb3fbe2e83 Make output modes configurable 2023-10-03 08:35:24 +04:00
Ivan Molodetskikh ef76b1df04 Remove unnecessary trace!() 2023-10-03 08:32:59 +04:00
Ivan Molodetskikh a5c4c4e62f Set miette report handler in tests too 2023-10-03 07:41:05 +04:00
Ivan Molodetskikh ba0a6d6b88 Remove accidentally committed debug element 2023-10-02 18:55:10 +04:00
Ivan Molodetskikh 382c049b5a Send output enter/leave to pointer and DnD surfaces
This allows them to apply the right scale factor.
2023-10-02 18:48:41 +04:00
Kirill Chibisov 9168f08038 protocols: add wlr_data_control
Also update smithay to the latest git hash.

Fixes #20.
2023-10-02 16:28:08 +03:00
Ivan Molodetskikh 2d3d0ce165 tty: Remove assert on needs_sync
cosmic-comp doesn't do anything with it.
2023-10-02 10:54:05 +04:00
Ivan Molodetskikh 5b6b3fcfbe Avoid sending frame callbacks to invisible surfaces 2023-10-01 19:41:42 +04:00
Kirill Chibisov d8a511bbac config/input: add cursor section
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 17:50:42 +03:00
Ivan Molodetskikh 8d443c2e84 Make default cursor respect output scale
First part of https://github.com/YaLTeR/niri/issues/16
2023-10-01 08:03:12 +04:00
Kirill Chibisov d39da3f461 protocols: add IME protocols
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 06:29:33 +03:00
Ivan Molodetskikh 751345759a Make find_window_and_output() accept non-mut self 2023-10-01 06:29:33 +03:00
Ivan Molodetskikh 6f8ad18d9a Compute view offset relative to anim target
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 17:29:57 +04:00
Ivan Molodetskikh a3aa5fca12 Refactor frame scheduling
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 17:13:56 +04:00
Ivan Molodetskikh 21737abbfd Make output position configurable
Implements https://github.com/YaLTeR/niri/issues/14
2023-09-30 11:33:02 +04:00
Ivan Molodetskikh a413f3e91d input: Simplify logic when cursor is outside outputs 2023-09-30 11:31:41 +04:00
Ivan Molodetskikh f381db8354 Make pipewire / xdp-gnome-screencast optional 2023-09-30 09:58:34 +04:00
Ivan Molodetskikh f7c390a320 Disable RUST_LIB_BACKTRACE if unset
When building on nightly, this is required to disable the costly
anyhow backtraces.
2023-09-30 09:57:09 +04:00
Ivan Molodetskikh 3f8788e4ed Use non-fancy miette hook
Cuts down our dependencies a bit. We only use miette due to knuffel so
it makes sense.
2023-09-30 09:08:00 +04:00
Ivan Molodetskikh 56cffa155b Update Smithay 2023-09-30 09:05:16 +04:00