# Minimum GNOME Shell version supported %global min_gs_version %%(cut -d "." -f 1 <<<%{version}) %global pkg_prefix gnome-shell-extension %global tarball_version %%(echo %{version} | tr '~' '.') %global major_version %%(cut -d "." -f 1 <<<%{tarball_version}) %if 0%{?rhel} %global xsession 0 %else %global xsession 1 %endif Name: gnome-shell-extensions Version: 47~alpha Release: %autorelease Summary: Modify and extend GNOME Shell functionality and behavior License: GPL-2.0-or-later URL: http://wiki.gnome.org/Projects/GnomeShell/Extensions Source0: http://ftp.gnome.org/pub/GNOME/sources/%{name}/%{major_version}/%{name}-%{tarball_version}.tar.xz BuildRequires: meson BuildRequires: git BuildRequires: gettext >= 0.19.6 BuildRequires: glib2%{?_isa} Requires: gnome-shell >= %{min_gs_version} BuildArch: noarch Patch: extra-extensions-0001-Add-top-icons-extension.patch Patch: extra-extensions-0002-Add-gesture-inhibitor-extension.patch Patch: extra-extensions-0003-Add-classification-banner.patch Patch: extra-extensions-0004-Add-heads-up-display.patch Patch: extra-extensions-0005-Add-custom-menu-extension.patch Patch: extra-extensions-0006-Add-desktop-icons-extension.patch Patch: 0001-Include-top-icons-in-classic-session.patch Patch: 0001-workspace-indicator-Re-fittsify-workspace-previews.patch %description GNOME Shell Extensions is a collection of extensions providing additional and optional functionality to GNOME Shell. Enabled extensions: * apps-menu * auto-move-windows * classification-banner * custom-menu * desktop-icons * drive-menu * gesture-inhibitor * heads-up-display * launch-new-instance * light-style * native-window-placement * places-menu * screenshot-window-sizer * system-monitor * top-icons * user-theme * window-list * windowsNavigator * workspace-indicator %package -n %{pkg_prefix}-common Summary: Files common to GNOME Shell Extensions License: GPL-2.0-or-later Requires: gnome-shell >= %{min_gs_version} Obsoletes: %{pkg_prefix}-horizontal-workspaces < 40.0~alpha.1-3 %description -n %{pkg_prefix}-common GNOME Shell Extensions is a collection of extensions providing additional and optional functionality to GNOME Shell. This package provides common data files shared by various extensions. %package -n gnome-classic-session Summary: GNOME "classic" mode session License: GPL-2.0-or-later Requires: %{pkg_prefix}-apps-menu = %{version}-%{release} Requires: %{pkg_prefix}-launch-new-instance = %{version}-%{release} Requires: %{pkg_prefix}-places-menu = %{version}-%{release} Requires: %{pkg_prefix}-window-list = %{version}-%{release} Requires: nautilus %description -n gnome-classic-session This package contains the required components for the GNOME Shell "classic" mode, which aims to provide a GNOME 2-like user interface. %if %{xsession} %package -n gnome-classic-session-xsession Summary: GNOME "classic" mode session on X11 License: GPL-2.0-or-later Requires: gnome-classic-session = %{version}-%{release} # The X11 session is deprecated and eventually will be removed Provides: deprecated() %description -n gnome-classic-session-xsession This package contains the required components for the GNOME Shell "classic" mode on X11, which aims to provide a GNOME 2-like user interface. %endif %package -n %{pkg_prefix}-apps-menu Summary: Application menu for GNOME Shell License: GPL-2.0-or-later Requires: %{pkg_prefix}-common = %{version}-%{release} Requires: gnome-menus %description -n %{pkg_prefix}-apps-menu This GNOME Shell extension adds a GNOME 2.x style menu for applications. %package -n %{pkg_prefix}-auto-move-windows Summary: Assign specific workspaces to applications in GNOME Shell License: GPL-2.0-or-later Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-auto-move-windows This GNOME Shell extension enables easy workspace management. A specific workspace can be assigned to each application as soon as it creates a window, in a manner configurable with a GSettings key. %package -n %{pkg_prefix}-classification-banner Summary: Display classification level banner in GNOME Shell Group: User Interface/Desktops License: GPLv2+ Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-classification-banner This GNOME Shell extension adds a banner that displays the classification level. %package -n %{pkg_prefix}-custom-menu Summary: Add a custom menu to the desktop Group: User Interface/Desktops License: GPLv2+ Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-custom-menu This GNOME Shell extension adds a custom menu to the desktop background. %package -n %{pkg_prefix}-desktop-icons Summary: Desktop icons support for GNOME Shell (stub) License: GPL-2.0-or-later Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-desktop-icons This GNOME Shell extension provides support for icons on the desktop. %package -n %{pkg_prefix}-drive-menu Summary: Drive status menu for GNOME Shell License: GPL-2.0-or-later Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-drive-menu This GNOME Shell extension provides a panel status menu for accessing and unmounting removable devices. %package -n %{pkg_prefix}-gesture-inhibitor Summary: Gesture inhibitor Group: User Interface/Desktops License: GPLv2+ Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-gesture-inhibitor This GNOME Shell extension allows disabling the default desktop gestures. %package -n %{pkg_prefix}-heads-up-display Summary: Display persistent on-screen message Group: User Interface/Desktops License: GPLv3+ Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-heads-up-display This GNOME Shell extension displays a persistent message in the top middle of the screen. This message can appear on the login screen, lock screen, or regular user session. %package -n %{pkg_prefix}-launch-new-instance Summary: Always launch a new application instance for GNOME Shell License: GPL-2.0-or-later Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-launch-new-instance This GNOME Shell extension modifies the behavior of clicking in the dash and app launcher to always launch a new application instance. %package -n %{pkg_prefix}-light-style Summary: Use light style in GNOME Shell License: GPL-2.0-or-later Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-light-style This GNOME Shell extension changes the default style to light. %package -n %{pkg_prefix}-native-window-placement Summary: Native window placement for GNOME Shell License: GPL-2.0-or-later Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-native-window-placement This GNOME Shell extension provides additional configurability for the window layout in the overview, including a mechanism similar to KDE4. %package -n %{pkg_prefix}-places-menu Summary: Places status menu for GNOME Shell License: GPL-2.0-or-later Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-places-menu This GNOME Shell extension add a system status menu for quickly navigating places in the system. %package -n %{pkg_prefix}-screenshot-window-sizer Summary: Screenshot window sizer for GNOME Shell License: GPL-2.0-or-later Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-screenshot-window-sizer This GNOME Shell extension allows to easily resize windows for GNOME Software screenshots. %package -n %{pkg_prefix}-system-monitor Summary: System monitor for GNOME Shell License: GPL-2.0-or-later Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-system-monitor This GNOME Shell extension displays system usage information in the top bar. %package -n %{pkg_prefix}-top-icons Summary: Show legacy icons on top License: GPLv2+ Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-top-icons This GNOME Shell extension moves legacy tray icons into the top bar %package -n %{pkg_prefix}-user-theme Summary: Support for custom themes in GNOME Shell License: GPL-2.0-or-later Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-user-theme This GNOME Shell extension enables loading a GNOME Shell theme from ~/.themes//gnome-shell/. %package -n %{pkg_prefix}-window-list Summary: Display a window list at the bottom of the screen in GNOME Shell License: GPL-2.0-or-later Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-window-list This GNOME Shell extension displays a window list at the bottom of the screen. %package -n %{pkg_prefix}-windowsNavigator Summary: Support for keyboard selection of windows and workspaces in GNOME Shell License: GPL-2.0-or-later Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-windowsNavigator This GNOME Shell extension enables keyboard selection of windows and workspaces in overlay mode, by pressing the Alt and Ctrl key respectively. %package -n %{pkg_prefix}-workspace-indicator Summary: Workspace indicator for GNOME Shell License: GPL-2.0-or-later Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-workspace-indicator This GNOME Shell extension add a system status menu for quickly changing workspaces. %prep %autosetup -S git -n %{name}-%{tarball_version} %build %meson -Dextension_set="all" -Dclassic_mode=true %meson_build %install %meson_install %find_lang %{name} %if !%{xsession} rm -rf %{buildroot}/%{_datadir}/xsessions %endif %files -n %{pkg_prefix}-common -f %{name}.lang %doc NEWS README.md %license COPYING %files -n gnome-classic-session %{_datadir}/gnome-shell/modes/classic.json %{_datadir}/wayland-sessions/gnome-classic.desktop %{_datadir}/wayland-sessions/gnome-classic-wayland.desktop %{_datadir}/glib-2.0/schemas/00_org.gnome.shell.extensions.classic.gschema.override %if %{xsession} %files -n gnome-classic-session-xsession %{_datadir}/xsessions/gnome-classic.desktop %{_datadir}/xsessions/gnome-classic-xorg.desktop %endif %files -n %{pkg_prefix}-apps-menu %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.apps-menu.gschema.xml %{_datadir}/gnome-shell/extensions/apps-menu*/ %files -n %{pkg_prefix}-auto-move-windows %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.auto-move-windows.gschema.xml %{_datadir}/gnome-shell/extensions/auto-move-windows*/ %files -n %{pkg_prefix}-classification-banner %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.classification-banner.gschema.xml %{_datadir}/gnome-shell/extensions/classification-banner*/ %files -n %{pkg_prefix}-custom-menu %{_datadir}/gnome-shell/extensions/custom-menu*/ %files -n %{pkg_prefix}-desktop-icons %{_datadir}/gnome-shell/extensions/desktop-icons*/ %files -n %{pkg_prefix}-drive-menu %{_datadir}/gnome-shell/extensions/drive-menu*/ %files -n %{pkg_prefix}-gesture-inhibitor %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.gesture-inhibitor.gschema.xml %{_datadir}/gnome-shell/extensions/gesture-inhibitor*/ %files -n %{pkg_prefix}-heads-up-display %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.heads-up-display.gschema.xml %{_datadir}/gnome-shell/extensions/heads-up-display*/ %files -n %{pkg_prefix}-launch-new-instance %{_datadir}/gnome-shell/extensions/launch-new-instance*/ %files -n %{pkg_prefix}-light-style %{_datadir}/gnome-shell/extensions/light-style*/ %files -n %{pkg_prefix}-native-window-placement %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.native-window-placement.gschema.xml %{_datadir}/gnome-shell/extensions/native-window-placement*/ %files -n %{pkg_prefix}-places-menu %{_datadir}/gnome-shell/extensions/places-menu*/ %files -n %{pkg_prefix}-screenshot-window-sizer %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml %{_datadir}/gnome-shell/extensions/screenshot-window-sizer*/ %files -n %{pkg_prefix}-system-monitor %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml %{_datadir}/gnome-shell/extensions/system-monitor*/ %files -n %{pkg_prefix}-top-icons %{_datadir}/gnome-shell/extensions/top-icons*/ %files -n %{pkg_prefix}-user-theme %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.user-theme.gschema.xml %{_datadir}/gnome-shell/extensions/user-theme*/ %files -n %{pkg_prefix}-window-list %{_datadir}/gnome-shell/extensions/window-list*/ %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.window-list.gschema.xml %files -n %{pkg_prefix}-windowsNavigator %{_datadir}/gnome-shell/extensions/windowsNavigator*/ %files -n %{pkg_prefix}-workspace-indicator %{_datadir}/gnome-shell/extensions/workspace-indicator*/ %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml %changelog %autochangelog