File kwin-script-tiling-bismuth.spec of Package kwin-script-tiling-bismuth
#
# spec file for package kwin-script-tiling-bismuth
#
Name: kwin-script-tiling-bismuth
Version: 2.0.0
Release: 0
Summary: Window tiling for KDE Plasma
License: MIT
Group: System/GUI/KDE
URL: https://github.com/Bismuth-Forge/bismuth
Source: bismuth-%{version}.tar.gz
Patch0: update_shebang_line.patch
BuildRequires: extra-cmake-modules
BuildRequires: cmake(KF5Plasma)
BuildRequires: cmake(KF5I18n)
BuildRequires: cmake(KF5KCMUtils)
BuildRequires: cmake(KF5Declarative)
BuildRequires: cmake(Qt5Gui)
BuildRequires: cmake(Qt5Svg)
BuildRequires: fdupes
BuildRequires: esbuild
BuildRequires: update-desktop-files
BuildRequires: zip
Enhances: kwin5
%description
Arrange your windows automatically and switch between them using keyboard shortcuts. All of that with different layouts and without a complicated setup of classic tiling window managers (i3, dwm or XMonad).
Features
- Full KDE Plasma integration
- Multiple Screens, Activities and Virtual desktops
- Built-in KWin features (minimize, full-screen and rules)
- Floating Dialog windows
- Multiple Layouts
- Classic Tiling layout
- Monocle layout for focusing on one application
- Three-Column for wide monitors
- Floating layout for traditional experience
- Works on Wayland Plasma session
%prep
%setup -q -n bismuth-%{version}
%patch0
%build
# KWin Script
KWINSCRIPT_SOURCEDIR="src/kwinscript"
KWINSCRIPT_BUILDDIR="build/kwinscript"
METADATA_FILE="$KWINSCRIPT_BUILDDIR/metadata.desktop"
KWINPKG_NAME="bismuth.kwinscript"
esbuild \
--bundle "$KWINSCRIPT_SOURCEDIR/index.ts" \
--outfile="$KWINSCRIPT_BUILDDIR/contents/code/index.mjs" \
--format=esm \
--platform=neutral
cp -r "$KWINSCRIPT_SOURCEDIR/ui" "$KWINSCRIPT_BUILDDIR/contents"
cp "$KWINSCRIPT_SOURCEDIR/metadata.desktop" "$METADATA_FILE"
sed -i "s/\$VER/%{version}/" "$METADATA_FILE"
pushd "$KWINSCRIPT_BUILDDIR"
zip -qr "$KWINPKG_NAME" ./contents/ ./metadata.desktop
popd
# KCModule
KCM_SOURCEDIR="src/kcm"
pushd $KCM_SOURCEDIR
%cmake_kf5 -d build
%cmake_build
popd
%install
KCM_SOURCEDIR="src/kcm"
KWINSCRIPT_BUILDDIR="build/kwinscript"
pushd "$KWINSCRIPT_BUILDDIR"
%suse_update_desktop_file metadata
install -d %{buildroot}%{_datarootdir}/{kservices5,kwin/scripts/bismuth/contents/code}
install -m644 metadata.desktop %{buildroot}%{_datarootdir}/kwin/scripts/bismuth/
install -m644 contents/code/index.mjs %{buildroot}%{_datarootdir}/kwin/scripts/bismuth/
popd
pushd $KCM_SOURCEDIR
%kf5_makeinstall -C build
popd
%fdupes %{buildroot}
%files
%doc README.md
%license LICENSE
%dir %{_kf5_plugindir}/kcms
%dir %{_kf5_sharedir}/kpackage
%dir %{_kf5_sharedir}/kpackage/kcms
%{_datarootdir}/kservices5/
%{_datarootdir}/kwin/
%{_kf5_plugindir}/kcms/kcm_bismuth.so
%{_kf5_configkcfgdir}/bismuth_config.kcfg
%{_kf5_iconsdir}/hicolor/scalable/apps/bismuth.svg
%{_datadir}/kconf_update/old_conf_ui.sh
%{_datadir}/kconf_update/old_conf_ui.upd
%{_kf5_sharedir}/kpackage/kcms/kcm_bismuth/
%debug_package
%changelog