Rasmus Eneman
e887ee93a3
Implement interactive window move
2024-10-27 23:07:39 -07:00
Ivan Molodetskikh
d640e85158
Require Clone for LayoutElement::Id
...
Now that we have MappedId, this could really be Copy. But it's quite a
big refactor, so for now just require Clone as I'll need it.
2024-10-27 23:07:39 -07:00
gmorer
c8044a9b5d
ShaderRenderElement use borrowed Uniforms to minimize copy ( #756 )
2024-10-24 07:42:19 +03:00
Ivan Molodetskikh
289ae3604d
tty: Guard against output disappearing immediately after connection
...
Fixes https://github.com/YaLTeR/niri/issues/739
2024-10-20 20:18:56 +03:00
Ivan Molodetskikh
55fb885256
Use new Smithay method for turning off DPMS
2024-10-20 20:18:56 +03:00
Ivan Molodetskikh
73a531f8bc
Update dependencies (wl_output.scale fix)
2024-10-20 20:18:56 +03:00
Ivan Molodetskikh
10f04fd19d
layout: Update tile config in Column::add_tile_at()
2024-10-19 12:33:44 +03:00
Christian Meissl
79fd309d6c
support binding actions to switches ( #747 )
...
* support spawn action on switch events
this adds a new config section named `switch-events`
that allows to bind `spawn` action to certain switch
toggles.
* Expand docs
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2024-10-18 14:00:40 +00:00
Ivan Molodetskikh
dd8b2be044
layout: Add missing active idx check before setting activate prev on removal
2024-10-18 10:06:09 +03:00
Ivan Molodetskikh
8d08782eba
Set CLOEXEC on logind inhibit fd
...
Don't leak it to child processes.
2024-10-17 08:59:06 +03:00
Ivan Molodetskikh
8555f37dbf
layout: Use remove_column_by_idx in remove_tile_by_idx
2024-10-17 08:59:06 +03:00
Ivan Molodetskikh
4b837f429c
layout: Accept anim_config in remove_column_by_idx
2024-10-17 08:59:06 +03:00
chillinbythetree
a480087618
Add scroll-button property for Touchpad, Mouse, Trackpoint, Trackball ( #744 )
2024-10-17 05:43:47 +00:00
tazjin
84655d3b26
Implement input configuration for trackballs ( #743 )
...
* niri-config: add trackball configuration struct
The available options are mostly the same as for mice. I've verified that each
option is applicable to trackballs in the libinput CLI.
* input: apply trackball config settings
2024-10-16 13:51:56 +00:00
Ivan Molodetskikh
40843cbda1
layout/monitor: Extract workspace_under()
2024-10-16 09:39:34 +03:00
Ivan Molodetskikh
a13b9298c6
Draw the layout as inactive when layer-shell has focus
2024-10-15 11:11:57 +03:00
Christian Meissl
0c5e046820
input: apply output transform for tablet input ( #737 )
...
when mapping a tablet input to an output apply
the output transform just like we already do for
touch input.
2024-10-15 11:11:15 +03:00
Ivan Molodetskikh
907ebc4977
Add boxed_union proptest-derive feature
...
Our Op enum grew large enough to trigger a stack overflow in
proptest-derive's generated code. Thankfully, this feature works around
the problem.
2024-10-15 10:06:55 +03:00
sodiboo
e4161be1bf
flake: use nightly rust-analyzer and add rust-src component ( #735 )
...
this also improves the application of overlays to be more uniform; what
was previously done was just Wrong
2024-10-15 08:21:49 +03:00
Ivan Molodetskikh
be7fbd418f
layout: Return Tile + info upon removal
2024-10-14 18:08:44 +03:00
Ivan Molodetskikh
06ec9eecdb
layout/tests: Use existing method
2024-10-14 17:39:55 +03:00
Ivan Molodetskikh
79eef5ee90
layout: Remove unnecessary vec lookup
2024-10-14 17:36:00 +03:00
Ivan Molodetskikh
29602ca995
layout: Extract Monitor::workspaces_with_render_positions()
2024-10-14 11:08:44 +03:00
Mark Karlinsky
d7156df842
Add support for running as a dinit service ( #728 )
...
* Added dinit services
* Added dinit support to niri-session
* Replaced shutdown script for dinit with a single command execution
* Added dinit service files to Getting Started install tables
* Fix typo in resources/dinit/niri
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
* Fixed mistakes in wiki/Getting-Started.md
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
* niri-session does not start dinit anymore
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2024-10-13 12:26:16 +00:00
Ivan Molodetskikh
33b39913c7
layout: Fix expel animation of the smaller window in column
2024-10-12 09:58:03 +03:00
Ivan Molodetskikh
d5cbc35811
Implement ConsumeOrExpelWindow{Left,Right} by id
2024-10-12 09:58:03 +03:00
Ivan Molodetskikh
a038c5aaab
layout/workspace: Add add_tile_to_column()
2024-10-12 09:58:03 +03:00
Ivan Molodetskikh
c9c985c927
Support empty column in tile_offsets
...
Will be needed for the new inserting tile code.
2024-10-11 11:00:50 +03:00
Ivan Molodetskikh
859c0be0e5
layout: Add clarifying comment
2024-10-10 10:44:18 +03:00
Ivan Molodetskikh
810ea245f9
layout: Deduplicate default width resolution
2024-10-10 10:40:59 +03:00
Ivan Molodetskikh
58fc5f3b06
layout: Replace move_window_to_output with move_to_output
2024-10-10 10:28:55 +03:00
Ivan Molodetskikh
7d4e99b760
layout/workspace: Reduce code duplication in adding windows
2024-10-10 10:17:16 +03:00
Ivan Molodetskikh
ab7d81aae0
layout: Reduce field visibility
...
The outside code isn't supposed to mess with the fields.
2024-10-10 09:24:20 +03:00
Winter
e24723125f
added power-on-monitors ( #723 )
2024-10-09 08:50:06 +00:00
Ivan Molodetskikh
03c603918d
Document the new cursor hide settings
2024-10-06 22:09:19 -07:00
Ivan Molodetskikh
6fb60dacd2
Rework pointer inactivity hide as a timer
...
The previous way was prone to triggering late due to compositor idling
and therefore never calling the check function.
2024-10-06 22:09:19 -07:00
yzy-1
42a9daec9d
Implement hide cursor on key press and on timeout
2024-10-06 22:09:19 -07:00
Ivan Molodetskikh
1ba2be3928
Show hidden pointer on mouse press
...
Feels like this should be the case.
2024-10-06 22:09:19 -07:00
sodiboo
66be000410
implement locked cursor position hints ( #685 )
...
* implement cursor position hints
* Remove redundant fully qualified path
* Find root surface
* Convert nesting to if-return
* Manually wrap error messages
* Remove error!() prints
* Add queue redraw
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2024-10-06 20:36:49 +03:00
sodiboo
5fc669c282
remove redundant pointer casts in shader code
2024-10-05 22:26:47 -07:00
sodiboo
9b78b15ba5
use CStr literals over calling CStr::from_bytes_with_nul
2024-10-05 22:26:47 -07:00
sodiboo
b9fd0a405e
use if let Some() over match with None => ()
2024-10-05 22:26:47 -07:00
seth
1b44e0cd20
flake: add overlay output
2024-10-05 12:09:24 -07:00
seth
b3d4d4eacc
flake: use rust-overlay in dev shell
...
This allows `niri-visual-tests` to still be built and run in the dev
shell where it's necessary, as well as brings back the nightly `rustfmt`
used by the project
We can't use `fenix` again though as it doesn't wrap `ld` like nixpkgs
and rust-overlay do; without it, the way we link `dlopen()`'d libraries
breaks
2024-10-05 12:09:24 -07:00
seth
a835bdc940
ci: nix build -> nix flake check
...
The (debug) package is already set as a check and will still be built
with this, but Nix will now also check other outputs automatically --
such as the dev shell
2024-10-05 12:09:24 -07:00
seth
b258fd69d2
flake: improve packaging
...
Some highlights include:
- Removing some unnecessary dependencies of the package itself
- Allowing for overriding the package
- Adding Cargo feature toggles
- Installing all niri-related resources
- Avoiding `LD_LIBRARY_PATH` hacks
2024-10-05 12:09:24 -07:00
seth
3ab3e778ab
flake: drop most external inputs
...
Previously, inputs like Crane and Fenix were used to only build the
`niri` package. This isn't really required, and can easily be replaced
by nixpkgs' `rustPlatform` -- which will also lead to less dependencies
being pulled into user's lockfiles
2024-10-05 12:09:24 -07:00
seth
e6203313ce
flake: format with nixfmt
2024-10-05 12:09:24 -07:00
seth
938061dd5e
flake: use nixfmt
2024-10-05 12:09:24 -07:00
Ivan Molodetskikh
0cca7a2116
default-config: Add more comments to prefer-no-csd
2024-10-01 13:28:28 +03:00