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

openSUSE Build Service is sponsored by