Commit Graph

365 Commits

Author SHA1 Message Date
Ivan Molodetskikh 9950672a28 Write out session installation steps in the README 2023-11-09 21:46:03 +04:00
Ivan Molodetskikh cccc068f98 Add niri-portals.conf
New config file for the new xdg-desktop-portal.
2023-11-09 14:52:04 +04:00
Kirill Chibisov 5c48521646 Don't set screenshot for primary selection
It's already in clipboard selection, so no need to duplicate it.
2023-11-08 22:19:25 +04:00
Ivan Molodetskikh 19e439a865 Add new height binds to README 2023-11-08 19:14:12 +04:00
Kirill Chibisov 907e0a03ef Add 'input.keyboard.track_layout' config option
Track layout for each window individually when user requested `Window`
tracking mode, keeping the default as global.
2023-11-08 19:09:11 +04:00
Kirill Chibisov eb7d20c638 Add action to switch layouts
Allow users to trigger layout change with custom bindings.
2023-11-08 19:09:11 +04:00
Kirill Chibisov 195ca80c39 Try latin character from other layout for action
This should allow users of non-latin layouts use bindings without
changing layout back to latin input capable one.

Fixes #21.
2023-11-08 19:09:11 +04:00
Ivan Molodetskikh c460038a9f Update dependencies 2023-11-08 18:41:10 +04:00
Ivan Molodetskikh c1060cd26b Add set-window-height action 2023-11-08 11:27:25 +04:00
Ivan Molodetskikh dc9cee4589 layout: Implement auto height distribution
Takes into account min and, partially, max window heights, and adds 1 px
when necessary to account for uneven division.
2023-11-08 11:27:25 +04:00
Ivan Molodetskikh 8056dd0c7e layout: Add window heights to columns 2023-11-08 11:27:25 +04:00
Ivan Molodetskikh 45b1077d21 Set debug = "line-tables-only" for release
Currently blows up the binary size quite a bit due to knuffel,
unfortunately.
2023-11-06 09:18:50 +04:00
Ivan Molodetskikh 8d7f2c5b28 Enable thin lto for release 2023-11-06 08:47:05 +04:00
Ivan Molodetskikh 323a2bed5f Upgrade dependencies
Bumping async-channel to 2 even though zbus hasn't updated yet because
it still ends up in the dependency tree through blocking 1.5.0.
2023-11-06 08:38:05 +04:00
Ivan Molodetskikh e1bfd981b3 Add default-column-width setting 2023-11-03 20:11:11 +04:00
Kirill Chibisov 6a81d8f2a6 Check alternative cursor names when loading cursor
Some themes don't have all the cursors specified as in w3c
specification, thus try to check for alternative names as well.
2023-11-02 16:23:05 +04:00
Ivan Molodetskikh 889d062df7 Render top layer under fullscreen surfaces when stationary 2023-11-02 13:07:01 +04:00
Ivan Molodetskikh 10905efeaf Refactor layer surface under cursor
Prepare for varying the top layer position.
2023-11-02 13:01:34 +04:00
Ivan Molodetskikh 7ff91fe394 Add a check for primary monitor workspace invariant 2023-11-02 09:39:37 +04:00
Christian Meissl e7857efbd2 pointer input for layer surface 2023-11-01 20:28:44 +04:00
Ivan Molodetskikh ee8404b9a9 Preserve column width on window actions
Fixes https://github.com/YaLTeR/niri/issues/53
2023-11-01 17:41:02 +04:00
Ivan Molodetskikh 5a86b43744 Fix losing track of window on move to output if there are none 2023-11-01 17:26:30 +04:00
Ivan Molodetskikh e0a76b6215 layout: Change with_surfaces to set_preferred_scale_transform
The former is too specific to concrete Window and not as amenable to
testing.
2023-11-01 15:07:45 +04:00
Ivan Molodetskikh de94f7da03 Update README video 2023-10-31 21:07:11 +04:00
Ivan Molodetskikh 15144220fa Show notification on screenshot 2023-10-31 17:06:14 +04:00
Ivan Molodetskikh b0af1129c9 Include filename in screenshot-path 2023-10-31 14:23:54 +04:00
Ivan Molodetskikh 02f6b418fe [cfg-breaking] Change colors to 0-255 instead of 0.-1. 2023-10-31 09:07:11 +04:00
Ivan Molodetskikh 8fa5bf9a36 Make screenshot path configurable 2023-10-31 08:57:44 +04:00
Ivan Molodetskikh d854c2d699 Change cursor to crosshairs when taking a screenshot 2023-10-31 07:16:36 +04:00
Ivan Molodetskikh 25e701d9ce screenshot: Don't ignore mouse releases on missing output 2023-10-31 07:08:35 +04:00
Ivan Molodetskikh 60f8bbbed4 Add area screenshots to README 2023-10-30 20:55:46 +04:00
Ivan Molodetskikh 073b52c3e6 Implement area selection screenshots 2023-10-30 20:29:03 +04:00
Ivan Molodetskikh 31f6b32fa3 Extract render_to_texture() 2023-10-30 20:28:13 +04:00
Ivan Molodetskikh 76db55c38c Don't block pointer focus refresh on transitions during lock 2023-10-30 20:19:51 +04:00
Ivan Molodetskikh 2ca9f3ff80 Split if into two for readability 2023-10-30 14:28:04 +04:00
Ivan Molodetskikh c39b8a4981 Fix Clippy warning 2023-10-30 14:21:25 +04:00
Ivan Molodetskikh bc64452bab Replace test imports with super::* 2023-10-30 14:21:07 +04:00
Ivan Molodetskikh 155a239fcc Rename Screenshot to ScreenshotScreen 2023-10-30 14:02:42 +04:00
Ivan Molodetskikh 088877889d Add cursor-shape protocol 2023-10-30 14:00:27 +04:00
Kirill Chibisov 5c24754435 Don't send key on release from niri actions
Some clients run logic on `Release`, thus don't send the key originally
used for running `niri` actions.

Fixes #28.
2023-10-29 13:59:34 +04:00
Kirill Chibisov 0a2052945e Add support for wl_compositor@v6 2023-10-29 13:58:48 +04:00
Ivan Molodetskikh 49a8f156f3 Add FUNDING.yml 2023-10-29 11:24:39 +04:00
Ivan Molodetskikh e73f33d6a3 Draw background with a solid color buffer 2023-10-29 10:45:24 +04:00
Ivan Molodetskikh 27e2648bd4 Remove some now-unnecessary &muts 2023-10-29 10:45:24 +04:00
Ivan Molodetskikh 5e543b8dc6 Move cursor surface alive check to refresh() 2023-10-29 10:45:24 +04:00
Ivan Molodetskikh 0e0764ef37 cursor: Make cache.get() accept &self 2023-10-29 10:45:24 +04:00
Kirill Chibisov 345428bce7 Drop GbmDevice in the end
The `GbmDevice` must be destroyed after destroying all the objects
associated with it.
2023-10-27 16:48:49 +04:00
Ivan Molodetskikh 64ac31668d Remove time crate in favor of manual impl
Cuts down a few more dependencies.
2023-10-24 19:22:02 +04:00
Ivan Molodetskikh 909a45db6f Use png crate directly instead of image
Reduce dependencies a bit.
2023-10-24 17:49:08 +04:00
Kirill Chibisov c6ec36f422 Update smithay to the latest git
This fixes IME handling.
2023-10-24 17:26:01 +04:00