Name: sl-layout Version: 1.0.1 Release: 100.1.2%{?dist} Summary: Sl’s Layout Coordinator and Settings License: Apache-2.0 URL: https://slsrepo.com Source0: sl-layout-sources.tar.gz BuildRequires: systemd-rpm-macros BuildArch: noarch Requires: python3 Requires: python3-gobject Requires: gtk4 Recommends: dms Recommends: sl-menubar Recommends: sl-dock Recommends: sl-taskbar Recommends: sl-duobar Recommends: sl-desktop-surface Recommends: sl-cursor-shake %description sl-layout provides Sl’s Layout Coordinator service and the Sl's Layout Settings app. It manages the selected frame layout, desktop surface and cursor shake helper, keeps DankMaterialShell geometry aligned with the active frame position and uses the DankMaterialShell settings for the Dank layout. %prep %setup -q -n sl-layout %build %install install -Dm0755 app/sl-layout %{buildroot}%{_bindir}/sl-layout install -Dm0755 app/sl-layout-coordinator %{buildroot}%{_libexecdir}/sl-layout-coordinator install -Dm0644 app/sl_layout_common.py %{buildroot}%{_prefix}/lib/sl-layout/sl_layout_common.py install -Dm0644 services/sl-layout-coordinator.service \ %{buildroot}%{_userunitdir}/sl-layout-coordinator.service install -Dm0644 share/applications/com.slsrepo.SlLayout.desktop \ %{buildroot}%{_datadir}/applications/com.slsrepo.SlLayout.desktop install -Dm0644 share/icons/hicolor/128x128/apps/sl-layout.png \ %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/sl-layout.png for icon in apple-light apple-dark windows-light windows-dark dank-light dank-dark; do install -Dm0644 share/sl-layout/${icon}.svg \ %{buildroot}%{_datadir}/sl-layout/${icon}.svg done install -Dm0644 share/sl-layout/translations.json \ %{buildroot}%{_datadir}/sl-layout/translations.json install -Dm0644 share/sl-layout/DankMaterialShell-LICENSE.txt \ %{buildroot}%{_licensedir}/sl-layout/DankMaterialShell-MIT.txt install -Dm0644 share/sl-layout/Tabler-LICENSE.txt \ %{buildroot}%{_licensedir}/sl-layout/Tabler-MIT.txt %post systemctl --global enable sl-layout-coordinator.service >/dev/null 2>&1 || : %preun if [ "$1" -eq 0 ]; then systemctl --global disable sl-layout-coordinator.service >/dev/null 2>&1 || : fi %files %{_bindir}/sl-layout %{_libexecdir}/sl-layout-coordinator %{_prefix}/lib/sl-layout/sl_layout_common.py %{_userunitdir}/sl-layout-coordinator.service %{_datadir}/applications/com.slsrepo.SlLayout.desktop %{_datadir}/icons/hicolor/128x128/apps/sl-layout.png %{_datadir}/sl-layout/*.svg %{_datadir}/sl-layout/translations.json %{_licensedir}/sl-layout/DankMaterialShell-MIT.txt %{_licensedir}/sl-layout/Tabler-MIT.txt %changelog * Wed Oct 07 2026 Sl (Shahaf Levi) - 1.0.1-2 - Require systemd RPM macros for the user service unit directory. * Sat Oct 03 2026 Sl (Shahaf Levi) - 1.0.1-1 - Promote the completed startup and service fixes to the next stable sl-layout release. * Sat Oct 03 2026 Sl (Shahaf Levi) - 1.0.0-3 - Revalidate cached Niri sockets and clean up coordinator-owned children on service stop. - Limit non-systemd service setup ownership changes to paths created by sl-layout. * Thu Oct 01 2026 Sl (Shahaf Levi) - 1.0.0-2 - Run the coordinator as a native user service and wait for the Niri session before starting components. - Keep frame replacement limited to explicit layout changes. - Use the packaged Slash icon. * Wed Sep 30 2026 Sl (Shahaf Levi) - 1.0.0-1 - Initial stable release of Sl’s Layout Coordinator and Sl’s Layout Settings. - Supports Apple-like, Windows-like, Duobar and Dank layouts across supported distributions with multilingual UI systemd integration and DankMaterialShell position integration with settings preservation and restoration.