Commit Graph

2804 Commits

Author SHA1 Message Date
Ivan Molodetskikh 1a63089d67 Fix tracy span names 2025-12-25 09:52:50 +03:00
Ivan Molodetskikh 88dc6e22d0 Remove redundant clippy allow 2025-12-25 09:42:08 +03:00
Ivan Molodetskikh ce8171bed3 Fix wrong rendering order when switching dynamic cast to window 2025-12-25 08:51:43 +03:00
Ivan Molodetskikh 6edd29170f opening window: Remove unused method 2025-12-25 08:51:43 +03:00
Ivan Molodetskikh 9d62b94688 scrolling: Don't forget to call tab_indicator.update_shaders()
This didn't actually break anything since those shaders aren't
configurable.
2025-12-25 08:51:43 +03:00
Ivan Molodetskikh 4d295418ce clipped surface: Compute uniforms on-demand
Removes two allocations for every clipped surface.
2025-12-23 12:51:59 +03:00
HigherOrderLogic f01d48bc51 ci: user Cachix nix installer 2025-12-23 10:27:32 +03:00
HigherOrderLogic 31ca509160 ci: remove flake check action 2025-12-23 10:27:32 +03:00
Ivan Molodetskikh 396097c3ab Fix constant repaint in the open overview 2025-12-23 08:51:54 +03:00
Ivan Molodetskikh ad62c8e487 gradient_fade: Store uniform inline 2025-12-23 07:50:58 +03:00
Ivan Molodetskikh 9e73beb165 shader: Store uniforms in Rc instead of Vec
It's frequently cloned (e.g. every border piece every render) and we
don't change it.
2025-12-23 07:50:58 +03:00
Ivan Molodetskikh 4fca614510 Update Smithay (DnD rework fix, dmabuf and geometry improvements) 2025-12-23 07:50:58 +03:00
Ivan Molodetskikh 19e55a2df0 Don't override IME grab with popup keyboard grab
Fixes menu in Telegram. Some weird behavior is still possible e.g. with
gtk4-widget-factory and dropdowns on entries, but things seem to be
slightly less broken this way.
2025-12-20 14:11:02 +03:00
Ivan Molodetskikh 6472209b45 Comment out spammy trace!() 2025-12-20 14:08:48 +03:00
Ivan Molodetskikh d9ceff7c70 Remove IME grab check, fix GTK 4 popups with IME
The wording in the deleted comment still stands: Smithay doesn't handle
overlapping grabs. However, in this case things appear to more or less
work themselves out. IME seems to re-request its grab every time an
input field is focused, replacing the popup keyboard grab. And the popup
keyboard grab doesn't seem to mind being replaced this way.
2025-12-20 13:46:59 +03:00
Ivan Molodetskikh 813c5ee05f Warp pointer across the screen during spatial movement grabs 2025-12-20 10:50:07 +03:00
Ivan Molodetskikh 47e217c00e Use relative motion in move and spatial movement grab
Will be used for pointer warping.
2025-12-20 10:49:06 +03:00
Ivan Molodetskikh 9b52465e42 layout: Synchronize unfullscreen view movement anim to resize
Before this commit, maximize/fullscreen was synchronized, but
unmaximize/unfullscreen wasn't.
2025-12-20 09:08:17 +03:00
Ivan Molodetskikh 7d60231e35 wiki: Clarify that environment isn't imported to systemd 2025-12-20 08:33:02 +03:00
John Rinehart 7a237e519c Implement include optional=true (#3022)
* feat(niri): support `include optional=true "filename.kdl"`

* chore: warn if optional include ENOENT

* chore: validate include directive arguments and properties

Add proper validation to reject:
- Extra arguments beyond the path
- Unknown properties (other than "optional")
- Unexpected child nodes

* docs: implement suggested typographical/prose changes

* fixes

---------

Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-12-20 05:04:18 +00:00
Ivan Molodetskikh c4462d0c7f layout/scrolling: Fix add_column() skipping activate_column() sometimes
When the column was added immediately to the left of the current column
and activated, the new idx would be equal to active_column_idx, which
would skip activate_column() with its variable resets.
2025-12-18 22:19:03 +03:00
Ivan Molodetskikh f85cb5c5f9 dependabot: Add cooldown 2025-12-18 13:39:30 +03:00
Ivan Molodetskikh 7ca46b44b2 Update Smithay (DnD rework, primary GPU improvement) 2025-12-18 13:17:35 +03:00
Ivan Molodetskikh f913219f94 Use is_none_or() 2025-12-18 11:54:07 +03:00
Ivan Molodetskikh 80469abc20 Bump MSRV to 1.85, upgrade deps 2025-12-18 11:54:07 +03:00
Kirill Chibisov 890935d2ba Use Grabbing cursor for Mod+LMB interactive move (#3045)
* Use Grabbing cursors for interactive move

There was no real indication that something can be dragged and thus
it's generally harder to discover for someone not familiar with Mod+LMB
to start dragging window around.

* fixes

---------

Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-12-18 08:07:24 +03:00
Ivan Molodetskikh d2fa1f54d4 Add force-disable-connectors-on-resume debug flag 2025-12-18 07:39:44 +03:00
Ivan Molodetskikh 2641356d41 mru: Don't handle pointer input until visible 2025-12-16 08:05:51 +03:00
Ivan Molodetskikh 7c0898570c Remove url dependency
Just use the glib function.

Turns out url comes with a huge dep tree. Well, I guess back when I
wrote this, we didn't have glib in our deps, but we had for a long time.
2025-12-14 07:50:00 +03:00
Ivan Molodetskikh d1fc1ab731 CI/freebsd: Fix PW patch application 2025-12-13 14:39:57 +03:00
Ivan Molodetskikh d9a9e6ddc4 CI: Remove Rust install from FreeBSD action
We don't need it since we removed the cache.
2025-12-13 14:27:21 +03:00
Ivan Molodetskikh 0cb20b55b8 CI: Update FreeBSD to 15.0 2025-12-13 14:26:17 +03:00
Ivan Molodetskikh 3d2d7b95d9 CI: Re-enable FreeBSD 2025-12-13 14:23:32 +03:00
Ivan Molodetskikh c22d8358c2 wiki/packaging: Mention recommended deps 2025-12-12 10:26:13 +03:00
Ivan Molodetskikh 4d058e6111 rpkg: Add explicit libwayland-server dependency 2025-12-09 22:02:36 +03:00
DerRockWolf 83a733e085 Update issue template to put niri config into <details> block
This makes issues much more readable and prevents readers from needing to scroll all the way past the config.
2025-12-09 07:55:53 +03:00
Ivan Molodetskikh ba29735fbb contributing: Add a section on how to get PR reviewed more quickly 2025-12-05 23:21:54 +03:00
Ivan Molodetskikh 6fc092cc4f contributing: Add a section on AI contributions 2025-12-05 23:21:47 +03:00
Robert Gu f874b2fce5 Update Integrating-niri.md on multi-file configs (#2943)
* Update Integrating-niri.md on multi-file configs

* Apply suggestion from @YaLTeR

---------

Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-12-02 15:23:01 +03:00
Semper_ 311ca6b5da Docs: add a few notes and warnings (#2925)
* update docs.

* Update Xwayland.md.

* Apply suggestion from @YaLTeR

---------

Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-11-30 09:51:13 +03:00
Ivan Molodetskikh b35bcae35b Fix typos in comments v25.11 2025-11-29 10:05:44 +03:00
Ivan Molodetskikh 284c2331a2 wiki: Improve wording 2025-11-29 09:58:32 +03:00
Ivan Molodetskikh ed266cc77c Bump version to 25.11 2025-11-29 09:36:02 +03:00
Mark Stosberg 0652342df8 docs: document valid options of default-column-display (#2908)
* docs: document valid options ofr default-column-display

* Apply suggestion from @YaLTeR

---------

Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-11-28 08:08:46 +03:00
Ivan Molodetskikh e863f52fea Raise nofile rlimit on powerset tests
Hopefully this helps.
2025-11-27 18:48:38 +03:00
yuxqiu 8370c539fb tty: Handle multiple primary nodes having the same render node 2025-11-26 15:41:46 +03:00
Ivan Molodetskikh cbd0dfa280 wiki: Add Ubuntu to Quick start 2025-11-26 13:24:43 +03:00
Ivan Molodetskikh 54c7fdcd1a Update tracy-client 2025-11-25 08:00:29 +03:00
Ivan Molodetskikh 45b45ac29d layout/tests: Amend check for window-rule tests
This check doesn't handle tabbed columns properly (it should find and
take the fixed height tile's height); for now just gate it on is_tabbed.
2025-11-24 16:17:12 +03:00
Ivan Molodetskikh 9eeedff629 Remove hand-written ResolvedWindowRules::empty()
It was only needed to be const fn.
2025-11-24 15:19:13 +03:00