Commit Graph

2594 Commits

Author SHA1 Message Date
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
Ivan Molodetskikh 0920ea9f9f layout: Round focus ring/border width to physical at the right place
Before this, focus ring/border width was incorrectly rounded only for
layout config, which does not take into account window rules overrides.
This means that setting width in window rules prevented correct rounding
altogether.

Tests didn't check this because window rules weren't tested. This commit
also adds basic window rules random generation, making the tests catch
this problem too.
2025-11-24 15:11:51 +03:00
Ivan Molodetskikh 79e41d7d88 CI: Temporarily disable FreeBSD 2025-11-24 09:04:16 +03:00
Ivan Molodetskikh d74debda13 Add debounce-ms recent-windows setting 2025-11-24 08:52:13 +03:00
Ivan Molodetskikh 642277f881 Upgrade to new stable pipewire-rs 2025-11-24 08:06:56 +03:00
Ivan Molodetskikh c558516d4c wiki: Add alacritty to Arch quickstart
Just in case; it's bound by default after all.
2025-11-23 21:42:13 +03:00
Ivan Molodetskikh efbe29f3fa wiki/FAQ: Mention Firefox 1 px border 2025-11-23 11:39:45 +03:00
Ivan Molodetskikh 42922097a8 wiki: Mention GTK dead keys / Compose 2025-11-23 11:36:35 +03:00
Ivan Molodetskikh cfc01b895c Add hack to make Orca + Shift + A work better 2025-11-22 11:15:35 +03:00
Ivan Molodetskikh 4e609f9319 Silence unused warning when feature is disabled 2025-11-22 10:47:59 +03:00
Ivan Molodetskikh 87aacdbca7 wiki/accessibility: Mention Alt-Tab 2025-11-22 10:45:17 +03:00