Name: sl-layout Version: 1.0.3 Release: 100.1.1%{?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 Dux Shell geometry aligned with the active frame position and uses the Dux Shell settings for the Dux layout. %prep %setup -q -n sl-layout %build %check python3 -m unittest discover -s tests -v %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 * Thu Oct 22 2026 Sl (Shahaf Levi) - 1.0.3-1 - Add the public reapply command for theme changes without restarting Slash frames. - Test Dux chrome restoration and profile reconciliation. * Wed Oct 21 2026 Sl (Shahaf Levi) - 1.0.2-2 - Update Dux Shell labels and support the new settings location. * Thu Oct 15 2026 Sl (Shahaf Levi) - 1.0.2-1 - Respect manual DMS visibility changes and synchronize positions on layout changes and restart. - Use the current GTK color scheme API. * 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.