%global debug_package %{nil} %global commit ac7267e %{!?_userunitdir:%global _userunitdir %{_prefix}/lib/systemd/user} Name: hyprmoncfg Version: 1.17.0 Release: 1%{?dist} Summary: Terminal-first monitor configurator and daemon for Hyprland License: MIT URL: https://github.com/crmne/hyprmoncfg Source0: https://github.com/crmne/hyprmoncfg/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Source1: https://github.com/crmne/hyprmoncfg/releases/download/v%{version}/%{name}-%{version}-deps.tar.xz BuildRequires: go >= 1.26 BuildRequires: hicolor-icon-theme Requires: hyprland Requires: hicolor-icon-theme Recommends: systemd ExclusiveArch: x86_64 aarch64 %description hyprmoncfg provides a terminal UI for arranging Hyprland monitors and a background daemon that reapplies saved layouts when monitor topology changes. %prep %autosetup -n %{name}-%{version} tar -xf %{SOURCE1} -C %{_builddir} %build build_date="$(date -u +%FT%TZ)" ldflags="-s -w -X github.com/crmne/hyprmoncfg/internal/buildinfo.Version=%{version} -X github.com/crmne/hyprmoncfg/internal/buildinfo.Commit=%{commit} -X github.com/crmne/hyprmoncfg/internal/buildinfo.Date=${build_date}" GOMODCACHE="%{_builddir}/go-mod" GOPROXY=off CGO_ENABLED=0 go build -buildvcs=false -trimpath -buildmode=pie -mod=readonly -ldflags "${ldflags}" -o hyprmoncfg ./cmd/hyprmoncfg GOMODCACHE="%{_builddir}/go-mod" GOPROXY=off CGO_ENABLED=0 go build -buildvcs=false -trimpath -buildmode=pie -mod=readonly -ldflags "${ldflags}" -o hyprmoncfgd ./cmd/hyprmoncfgd %check GOMODCACHE="%{_builddir}/go-mod" GOPROXY=off go test -buildvcs=false ./... %install install -Dpm0755 hyprmoncfg %{buildroot}%{_bindir}/hyprmoncfg install -Dpm0755 hyprmoncfgd %{buildroot}%{_bindir}/hyprmoncfgd install -Dpm0644 packaging/applications/hyprmoncfg.desktop %{buildroot}%{_datadir}/applications/hyprmoncfg.desktop install -Dpm0644 packaging/applications/hyprmoncfg-omarchy.desktop %{buildroot}%{_datadir}/applications/hyprmoncfg-omarchy.desktop install -Dpm0644 packaging/icons/hyprmoncfg.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/hyprmoncfg.svg install -Dpm0644 packaging/systemd/hyprmoncfgd.service %{buildroot}%{_userunitdir}/hyprmoncfgd.service %files %license LICENSE %doc README.md %{_bindir}/hyprmoncfg %{_bindir}/hyprmoncfgd %{_datadir}/applications/hyprmoncfg.desktop %{_datadir}/applications/hyprmoncfg-omarchy.desktop %{_datadir}/icons/hicolor/scalable/apps/hyprmoncfg.svg %{_userunitdir}/hyprmoncfgd.service %changelog * Wed Sep 02 2026 Carmine Paolino - 1.17.0-1 - Make manual workspace assignment direct and support large workspace sets * Wed Aug 26 2026 Carmine Paolino - 1.16.1-1 - Preserve automatic profile matching when saving layout previews * Wed Aug 26 2026 Carmine Paolino - 1.16.0-1 - Add the shared display editor API and automatic profile controls * Tue Aug 25 2026 Carmine Paolino - 1.15.1-1 - Stop offering unsupported 16-bit monitor depth * Sat Aug 22 2026 Carmine Paolino - 1.15.0-1 - Add explicit config ownership, symlink-safe writes, compatible IPC, and all-off handling * Tue Aug 18 2026 Carmine Paolino - 1.14.2-1 - Survive suspend cleanly: drop stale lid state and wake displays on resume * Fri Aug 14 2026 Carmine Paolino - 1.13.0-1 - Redesign the TUI around focused, border-labelled panes * Thu Aug 13 2026 Carmine Paolino - 1.12.0-1 - Add IPC monitor metadata, fix workspace placement, and polish Omarchy integration * Thu Aug 13 2026 Carmine Paolino - 1.11.1-1 - Ignore transient monitor churn while displays sleep * Thu Aug 13 2026 Carmine Paolino - 1.10.1-1 - Prevent Omarchy's monitor watcher from overriding daemon-managed profiles * Sat Aug 08 2026 Carmine Paolino - 1.9.1-1 - Protect user-managed monitor configs and restore unconfirmed changes on exit * Wed Aug 05 2026 Carmine Paolino - 1.9.0-1 - Update to 1.9.0 * Tue Jun 16 2026 Carmine Paolino - 1.8.0-1 - Update to 1.8.0 * Sun Jun 14 2026 Carmine Paolino - 1.7.1-1 - Update to 1.7.1 * Sat Jun 06 2026 Carmine Paolino - 1.6.0-1 - Update to 1.6.0 * Tue May 26 2026 Carmine Paolino - 1.5.1-1 - Update to 1.5.1