- Update to version 25.05:

* Add feature to zooms out your workspaces and windows to let you
    see what's going on at a glance, navigate, and drag windows
    around, all without having to touch the keyboard.
  * Add new features for screencasting and screensharing
  * Add features for Windowed fullscreen
  * Add screenshot UI support tablet and touchscreen input for
    drawing the selection, closing this long-standing gap.
  * Add features Window urgency
  * Add new IPC functionality.
- Add waybar Recommends: default bar for niri

OBS-URL: https://build.opensuse.org/package/show/X11:Wayland/niri?expand=0&rev=31
This commit is contained in:
2025-05-17 18:57:52 +00:00
committed by Git OBS Bridge
commit eff963340d
21 changed files with 411 additions and 0 deletions
+227
View File
@@ -0,0 +1,227 @@
-------------------------------------------------------------------
Sat May 17 18:34:41 UTC 2025 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
- Update to version 25.05:
* Add feature to zooms out your workspaces and windows to let you
see what's going on at a glance, navigate, and drag windows
around, all without having to touch the keyboard.
* Add new features for screencasting and screensharing
* Add features for Windowed fullscreen
* Add screenshot UI support tablet and touchscreen input for
drawing the selection, closing this long-standing gap.
* Add features Window urgency
* Add new IPC functionality.
- Add waybar Recommends: default bar for niri
-------------------------------------------------------------------
Sat Feb 22 11:10:26 UTC 2025 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
- Update to version 25.02:
* Columns can now present windows as tabs
* Add feature shadows effect behind windows
* Add drag-and-drop view scrolling
* Add custom titles for Important Hotkeys
* Add expand to available width
* Add keyboard shortcuts inhibit protocol
* Add feature screenshot without writing to disk
-------------------------------------------------------------------
Sat Jan 11 18:19:11 UTC 2025 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
- Update to version 25.01:
* Add support for floating windows
* Add layer-shell and layer rules improvements
* Add drag-and-drop focus switch
-------------------------------------------------------------------
Fri Nov 15 04:45:47 UTC 2024 - Joshua Smith <smolsheep@opensuse.org>
- Update dependencies to 0.1.10.1 as well.
-------------------------------------------------------------------
Wed Nov 13 11:04:01 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
- Update to version 0.1.10.1:
* Fixed scrolling not working when the mouse {} or touchpad {}
section is omitted from the config file.
* Made the mouse cursor show up on scroll which makes scrolling
work when the cursor was hidden.
* Fixed a crash when holding Space in the screenshot UI.
* Bound touch-dragging with held Mod to interactive window move.
-------------------------------------------------------------------
Sat Nov 9 19:31:01 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
- Update to version 0.1.10:
* Add interactive window moving
* Add locked pointer location hint
* Add laptop lid and tablet mode switch bindings
* Add pointer hiding
* Add input configuration improvements
- Change xwayland-run Recommends with xwayland-satellite
-------------------------------------------------------------------
Sat Sep 14 18:22:51 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
- Update to version 0.1.9:
* Add new IPC functionality.
* Transactional updates.
* Add on-demand variable refresh rate as a window rule.
* Fix NVIDIA flickering.
* Small UX improvements.
* Changes height distribution.
- Add pkgconfig(libdisplay-info) BuildRequires: needed for v0.1.9
-------------------------------------------------------------------
Sat Aug 10 18:57:10 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
- Update to version 0.1.8
* Add gradient border color spaces
* Add Screenshot UI pointer toggle
* Improvements key repeat for all binds
* Improvements Focus-follows-mouse
* Implemented the wlr-output-management protocol
* Add supported wlr-screencopy version 3
* Implemented a small change to allow strut config values to go
negative
* Implemented the full DMA-BUF modifier negotiation procedure for
PipeWire screencasts
* Implemented on-demand keyboard focus mode for layer-shell
surfaces, which is used by some newer bar applications
* Added focus-window-or-monitor-{up,down} actions
* Added move-column-left-or-to-monitor-left and
move-column-right-or-to-monitor-right actions
* Added a middle-emulation flag to touchpad, mouse, and
trackpoint settings
* Added a background-color option to outputs that sets the color
of the default niri solid background.
* Added Mod3/ISO_Level5_Shift modifier support to key bindings
* Enabled sub-pixel glyph positioning for better kerning in
niri panels
* Added a profile-with-tracy-ondemand build feature that
produces a build with on-demand Tracy profiler integration,
which you can run as your main compositor and only attach the
profiler when needed
* VRR state (whether VRR is on or off for an output) is now
correctly restored upon TTY switch into niri
* Fixed view scroll animation sometimes restarting on switching
focus when the target view position does not change
* Fixed a rare crash that could happen when reconnecting monitors
with a KVM switch
* Removed the enable-color-transformations-capability debug
config flag
* Powered-off monitors no longer turn on upon connecting a new
monitor
* added optional JSON schema generation to the niri-ipc crate
using schemars.
-------------------------------------------------------------------
Sat Jun 29 07:23:35 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
- Update to version 0.1.7
* The big update this time is fractional scale support. You can
set output scale to fractional values like 1.5 and automatic
scale factor guessing will now return fractional scale factors.
* niri layout now completely operates in floating-point. While
fractional scaling benefits the most from this, fractional
layout is also useful for integer scales.
* You can now select an individual window to screencast through
xdg-desktop-portal-gnome. You can resize windows, open pop-ups,
use block-out rules, and it will all work correctly.
* implemented the xdg-activation-v1 protocol which allows apps to
pass focus to other apps.
* added the vertical drag gesture to switch workspaces, just like
on a touchpad you can swipe both horizontally and vertically.
* Added four actions focus-window-{up,down}-or-column-{left,right}
which allow traversing all windows on a workspace in order.
* Added actions focus-column-right-or-first, focus-column-left-or-
last which allow the focus to loop around.
* Added actions focus-column-or-monitor-left and focus-column-or-
monitor-right that switch the monitor upon reaching the end of
the workspace.
* Added niri msg focused-output which returns information about
the currently focused output.
* Added off flag to disable input devices.
* Added left-handed flag to touchpad, mouse, tablet input config.
* Added scroll-method property to touchpad, mouse, trackpoint
input config.
* Added disabled-on-external-mouse flag to touchpad input config.
* Niri now additionally reads the config file path from
$NIRI_CONFIG, to help with nix wrappers. The --config flag
still takes precedence.
* Changed absolute pointer input to work over a union rectangle
across all outputs, rather than picking a single output.
* Changed tablet input without a specific map-to-output to map to
a union rectangle across all outputs. This makes Open Tablet
Driver work.
* Changed foreign-toplevel (i.e. Waybar) window activation to
animate the workspace switch.
* Fixed focus-window-or-workspace-{up,down} missing the workspace
switch animation.
* Fixed empty named workspaces disappearing upon output removal.
* Fixed a crash when an (already unfullscreened) window that in a
column with other windows requests to be unfullscreened.
* Fixed key repeat not working when the keyboard config section is
missing.
* Fixed some crashes when no outputs are connected. On some devices
outputs reconnect themselves upon resuming from sleep, which was
triggering these issues.
* Fixed rounded corners rendering blurry on very high scale factors.
* Fixed the automatic draw border with background check to also
include the KDE decoration protocol value. This makes it work for
some older clients like GTK 3 (thanks @kchibisov).
* Fixed ISO_Level3_Shift modifier not showing up in the Important
Hotkeys list.
* Niri now increases the fd limit to the maximum, fixing some
fd-heavy clients (e.g. running RustRover in Xwayland).
* Updated Smithay, which fixes running on the NVIDIA 555 driver
(explicit sync is still not implemented for now).
- Enable arch i586 again
-------------------------------------------------------------------
Sat May 18 18:27:17 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
- Update to version 0.1.6
* added mouse gestures for resizing and scrolling the view.
* added declare named workspaces in the config.
* IPC Improvements.
* added new window rules and new debugging features.
* added feature rounded Window Corners.
* added a do-screen-transition action which lets you switch
between light and dark, or between different themes.
- add script test
- exclude arch i586: error linking with gcc-13
-------------------------------------------------------------------
Sat Apr 20 22:27:51 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
- Update to version 0.1.5
* A big focus in this release was on animations. I've animated
many more actions: window movement, resizing, and closing.
* Spring animations are now more robust: values and durations are
clamped more aggressively where it makes sense.
* Niri now has basic variable refresh rate (VRR) support.
* IPC improvements
* Added an allow-when-locked=true flag for spawn key bindings
that makes them work when the session is locked.
* Previous view position is now restored upon unfullscreening a
window.
* The SIGPIPE handler is now set to default in niri msg to
prevent panic backtraces from showing up when stdout is closed.
* The mouse cursor is now hidden upon touchscreen interaction.
* Corrected some DRM leasing behavior to fix crashes when DRM
leasing is unavailable and better handle hotplugging.
* Added an ease-out-quad easing curve.
* Fixed warp-mouse-to-focus not triggering when a window is
closed by unmapping its buffer.
* Fixed the horizontal touchpad gesture redrawing continuously
rather than only on touchpad events.
* Fixed overdamped spring instability being able to crash the
compositor.
* Added a microphone mute example bind to the default config.
-------------------------------------------------------------------
Sun Jan 28 03:08:01 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
- Initial package
+99
View File
@@ -0,0 +1,99 @@
#
# spec file for package niri
#
# Copyright (c) 2025 mantarimay
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%bcond_without test
Name: niri
Version: 25.05
Release: 0
Summary: Scrollable-tiling Wayland compositor
License: GPL-3.0-or-later
URL: https://github.com/YaLTeR/niri
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
Source1: %{url}/releases/download/v%{version}/%{name}-%{version}-vendored-dependencies.tar.xz
Source2: cargo_config
BuildRequires: cargo-packaging
BuildRequires: clang
BuildRequires: pango-devel
BuildRequires: pipewire-devel
BuildRequires: pkgconfig
BuildRequires: rust >= 1.80.0
BuildRequires: wayland-devel
BuildRequires: pkgconfig(cairo-gobject)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(libdisplay-info)
BuildRequires: pkgconfig(libinput)
BuildRequires: pkgconfig(libseat)
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(udev)
BuildRequires: pkgconfig(xkbcommon)
# Portal implementations used by niri
Recommends: xdg-desktop-portal-gtk
Recommends: gnome-keyring
Recommends: polkit-gnome
Recommends: xdg-desktop-portal-gnome
# Recommended utilities, bound in the default config
Recommends: alacritty
Recommends: fuzzel
Recommends: swaylock
Recommends: waybar
# Recommended utilities
Recommends: swaybg
Recommends: mako
Recommends: xwayland-satellite
%description
A scrollable-tiling Wayland compositor.
Windows are arranged in columns on an infinite strip going to the right.
Opening a new window never causes existing windows to resize.
%prep
%autosetup -a1 -p1
mkdir .cargo
cp %{SOURCE2} .cargo/config
%build
%{cargo_build}
%install
install -Dm755 -t %{buildroot}%{_bindir} target/release/%{name}
install -Dm755 -t %{buildroot}%{_bindir} resources/niri-session
install -Dm644 -t %{buildroot}%{_datadir}/wayland-sessions resources/niri.desktop
install -Dm644 -t %{buildroot}%{_datadir}/xdg-desktop-portal resources/niri-portals.conf
install -Dm644 -t %{buildroot}%{_userunitdir} resources/niri{.service,-shutdown.target}
%check
%if %{with test}
%cargo_test -- --workspace --exclude niri-visual-tests
%endif
%files
%license LICENSE
%doc README.md resources/default-config.kdl wiki
%{_bindir}/niri
%{_bindir}/niri-session
%dir %{_datadir}/wayland-sessions
%{_datadir}/wayland-sessions/niri.desktop
%dir %{_datadir}/xdg-desktop-portal
%{_datadir}/xdg-desktop-portal/niri-portals.conf
%{_userunitdir}/niri.service
%{_userunitdir}/niri-shutdown.target
%changelog
+23
View File
@@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
+1
View File
@@ -0,0 +1 @@
.osc
+13
View File
@@ -0,0 +1,13 @@
[source.crates-io]
replace-with = "vendored-sources"
[source."git+https://github.com/Smithay/smithay.git"]
git = "https://github.com/Smithay/smithay.git"
replace-with = "vendored-sources"
[source."git+https://gitlab.freedesktop.org/pipewire/pipewire-rs.git"]
git = "https://gitlab.freedesktop.org/pipewire/pipewire-rs.git"
replace-with = "vendored-sources"
[source.vendored-sources]
directory = "vendor"
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2246443925ad4e7e730e2c556ebf3ac86f0f302dc626bce1193fa84deaded8b8
size 53928792
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2246443925ad4e7e730e2c556ebf3ac86f0f302dc626bce1193fa84deaded8b8
size 53928792
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d8854830436a87215b0bc6a60b6d43f350d927a03a2798c75f0fbda228bac8d3
size 429116
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2a6e6c21b05c14498eb84e58853c0a4c9d96d4215b8aec53388e89266fccca1b
size 428901
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8cedd2c27ddaf11a277d6527a45077c60627af9c2201357f70b4b78c787d272c
size 55986496
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2ce7a450b550164f99d6fd6d2815c04f2160fbf932f9c0d244b7b1e3481c9b21
size 354660
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:355d31f1c80725f1897bdedce300dd0d947f29b714a9887cc32c6835d0b55904
size 52394124
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:070d6991d863161c85f28522924b3118b58a53d8882913a412148bb32206209e
size 379816
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a9f2c22574bc7a4e24e3b2cb36ea8be5bdda43849b5c83770893839da5ee0889
size 52231744
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:70427efcde50a9d262c341befbd4df4e24557afd8311753bf912a4be1bf243a7
size 409640
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:39059f7f74e68df648891ddfcf1e0602fcf284f79a6f3e44fe03875a19a255e2
size 47572184
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:86b89bcfc3fc6a8ed81f9e3f0ac7a29bd30267515efb2c19e1e0bc2ccd67b649
size 572739
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0c5a0f006a081cf10925764f0ec89864d462548d9044748975fffe0f8f6686ff
size 46867412
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:602b1f38c6ab01b19e95ac2ef86d7c91dfa9b212437d62fb40def9664c1419d6
size 666937
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:424391c34ee7d55f4e098d1fdf8a98ad413ab64f000640eb8b3535b0b531d693
size 48776864
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:deb067a8af2febb29bdcf72b98a2e654e3e2a199e7f3b3d622436983071ebe32
size 715490