%global commit g63dd27c %global pkg_prefix gnome-shell-extension Name: gnome-shell-extensions Version: 3.0.2 Release: 2.%{commit}git%{?dist} Summary: Modify and extend GNOME Shell functionality and behavior Group: User Interface/Desktops License: GPLv2+ URL: http://live.gnome.org/GnomeShell/Extensions # using git archive since upstream hasn't created tarballs. Picking up a snapshot from master for a couple of minor but relevant changes # git archive --format=tar --prefix=gnome-shell-extensions/ git_commithash | xz > gnome-shell-extensions-.tar.xz Source0: gnome-shell-extensions-%{commit}.tar.xz # since we build from a git checkout BuildRequires: gnome-common BuildRequires: intltool BuildRequires: glib2-devel # TODO: uncomment when enabling systemMonitor #BuildRequires: pkgconfig(libgtop-2.0) Requires: gnome-shell >= 3.0.1 BuildArch: noarch %description GNOME Shell Extensions is a collection of extensions providing additional and optional functionality to GNOME Shell. Enabled extensions: * alternate-tab * alternative-status-menu * dock * windowsNavigator * user-theme * auto-move-windows * drive-menu * places-menu * native-window-placement # TODO: uncomment when enabling systemMonitor # * systemMonitor %package -n %{pkg_prefix}-common Summary: Files common to GNOME Shell Extensions Group: User Interface/Desktops License: GPLv2+ Provides: %{name}-common = %{version}-%{release} Obsoletes: %{name}-common < %{version}-%{release} %description -n %{pkg_prefix}-common GNOME Shell Extensions is a collection of extensions providing additional and optional functionality to GNOME Shell. Common files and directories needed by extensions are provided here. %package -n %{pkg_prefix}-alternate-tab Summary: Classic Alt+Tab behavior. Window based instead of app based Group: User Interface/Desktops License: GPLv2+ Provides: %{name}-alternate-tab = %{version}-%{release} Obsoletes: %{name}-alternate-tab < %{version}-%{release} Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-alternate-tab Lets you use classic Alt+Tab (window-based instead of app-based) in GNOME Shell. GNOME Shell groups multiple instances of the same application together. This extension disables grouping. %package -n %{pkg_prefix}-alternative-status-menu Summary: For those who want a power off item visible at all the time Group: User Interface/Desktops License: GPLv2+ Provides: %{name}-alternative-status-menu = %{version}-%{release} Obsoletes: %{name}-alternative-status-menu < %{version}-%{release} Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-alternative-status-menu For those who want a power off item visible at all the time, replaces GNOME Shell status menu with one featuring separate Suspend and Power Off. Adds the ability to hibernate as well. %package -n %{pkg_prefix}-dock Summary: Shows a dock-style task switcher permanently Group: User Interface/Desktops License: GPLv2+ Provides: %{name}-dock = %{version}-%{release} Obsoletes: %{name}-dock < %{version}-%{release} Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-dock Shows a dock-style task switcher on the right side of the screen permanently. %package -n %{pkg_prefix}-windowsNavigator Summary: Keyboard selection of windows and work-spaces in overlay mode Group: User Interface/Desktops License: GPLv2+ Provides: %{name}-windowsNavigator = %{version}-%{release} Obsoletes: %{name}-windowsNavigator < %{version}-%{release} Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-windowsNavigator Allow keyboard selection of windows and work-spaces in overlay mode in GNOME Shell. Switch to overview mode (press the windows or alt+f1 key) and press the alt key to show numbers over windows. Press any number to switch to the corresponding window. %package -n %{pkg_prefix}-user-theme Summary: Lets the user select a custom theme for the shell Group: User Interface/Desktops License: GPLv2+ Provides: %{name}-user-theme = %{version}-%{release} Obsoletes: %{name}-user-theme < %{version}-%{release} Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-user-theme Lets the user select a custom theme for the Gnome shell. It will allow you to apply a style from /.themes/[themeName]/gnome-shell/gnome-shell.css %package -n %{pkg_prefix}-auto-move-windows Summary: Assign specific workspaces to applications Group: User Interface/Desktops License: GPLv2+ Provides: %{name}-auto-move-windows = %{version}-%{release} Obsoletes: %{name}-auto-move-windows < %{version}-%{release} Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-auto-move-windows Lets you manage your workspaces more easily, assigning a specific workspace to each application as soon as it creates a window, in a manner configurable with a GSettings key. %package -n %{pkg_prefix}-drive-menu Summary: Disk device manager in the system status area Group: User Interface/Desktops License: GPLv2+ Provides: %{name}-drive-menu = %{version}-%{release} Obsoletes: %{name}-drive-menu < %{version}-%{release} Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-drive-menu Adds a menu in the system status area that tracks removable disk devices attached and offers to browse them and eject/unmount them. %package -n %{pkg_prefix}-places-menu Summary: Places menu indicator in the system status area Group: User Interface/Desktops License: GPLv2+ Provides: %{name}-places-menu = %{version}-%{release} Obsoletes: %{name}-places-menu < %{version}-%{release} Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-places-menu Adds a menu in the system status area that resembles the Places menu from GNOME 2.x %package -n %{pkg_prefix}-native-window-placement Summary: Arrange windows in overview in a more native way Group: User Interface/Desktops License: GPLv2+ Provides: %{name}-native-window-placement = %{version}-%{release} Obsoletes: %{name}-native-window-placement < %{version}-%{release} Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-native-window-placement This extension employs an algorithm (taken from KDE) for layouting the thumbnails in the overview that more closely reflects the positions and relative sizes of the actual windows, instead of using a fixed grid. # TODO: uncomment when enabling systemMonitor #%package -n %{pkg_prefix}-systemMonitor #Summary: Monitor your system status #Group: User Interface/Desktops #License: GPLv2+ #Requires: %{pkg_prefix}-common = %{version}-%{release} # #%description -n %{pkg_prefix}-systemMonitor #Monitor your system status %prep %setup -q -n gnome-shell-extensions # Main.panel._userMenu renamed to Main.panel._statusmenu in GS 3.0.1; fix sent # to the alternative-status-menu extension author sed -i "s|Main\.panel\._userMenu|Main.panel._statusmenu|g" extensions/alternative-status-menu/extension.js # The configure.ac still thinks that 3.0.1 is the newest version; changing it to 3.0 will make it work # with any 3.0.x release sed -i "s|3.0.1|3.0|g" configure.ac %build # since we build from a git checkout [ -x autogen.sh ] && NOCONFIGURE=1 ./autogen.sh # TODO: once libgtop2 >= 2.28.4 is available, enable systemMonitor extension # TODO: once gjs >= 0.7.15 is available, enable xrand-indicator extension %configure --enable-extensions="alternate-tab alternative-status-menu dock windowsNavigator user-theme auto-move-windows drive-menu places-menu native-window-placement" make %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT %find_lang %{name} %files -n %{pkg_prefix}-common -f %{name}.lang %defattr(-,root,root,-) %doc README %dir %{_datadir}/gnome-shell/extensions/ %files -n %{pkg_prefix}-alternate-tab %defattr(-,root,root,-) %{_datadir}/gnome-shell/extensions/alternate-tab* %files -n %{pkg_prefix}-alternative-status-menu %defattr(-,root,root,-) %{_datadir}/gnome-shell/extensions/alternative-status-menu* %files -n %{pkg_prefix}-dock %defattr(-,root,root,-) %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.dock.gschema.xml %{_datadir}/gnome-shell/extensions/dock* %files -n %{pkg_prefix}-windowsNavigator %defattr(-,root,root,-) %{_datadir}/gnome-shell/extensions/windowsNavigator* %files -n %{pkg_prefix}-user-theme %defattr(-,root,root,-) %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.user-theme.gschema.xml %{_datadir}/gnome-shell/extensions/user-theme* %files -n %{pkg_prefix}-auto-move-windows %defattr(-,root,root,-) %{_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}-drive-menu %defattr(-,root,root,-) %{_datadir}/gnome-shell/extensions/drive-menu* %files -n %{pkg_prefix}-places-menu %defattr(-,root,root,-) %{_datadir}/gnome-shell/extensions/places-menu* %files -n %{pkg_prefix}-places-menu %defattr(-,root,root,-) %{_datadir}/gnome-shell/extensions/places-menu* %files -n %{pkg_prefix}-auto-move-windows %defattr(-,root,root,-) %{_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}-native-window-placement %defattr(-,root,root,-) %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.native-window-placement.gschema.xml %{_datadir}/gnome-shell/extensions/native-window-placement* # TODO: uncomment when enabling systemMonitor #%files -n %{pkg_prefix}-systemMonitor #%defattr(-,root,root,-) #%{_datadir}/gnome-shell/extensions/systemMonitor* %posttrans -n %{pkg_prefix}-user-theme glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas || : %postun -n %{pkg_prefix}-user-theme glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : %posttrans -n %{pkg_prefix}-auto-move-windows glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas || : %postun -n %{pkg_prefix}-auto-move-windows glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : %posttrans -n %{pkg_prefix}-native-window-placement glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas || : %postun -n %{pkg_prefix}-native-window-placement glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : %posttrans -n %{pkg_prefix}-dock glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas || : %postun -n %{pkg_prefix}-dock glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : %changelog * Sun Aug 21 2011 Michel Salim - 3.0.2-2.g63dd27cgit%{?dist} - Rename subpackages in line with new guidelines (# 715367) * Sat May 28 2011 Timur Kristóf - 3.0.2-1.g63dd27cgit - Update to a newer git snapshot - Fix RHBZ bug #708230 - Enabled systemMonitor extension, but commented out since the requirements are not available * Fri May 13 2011 Mohamed El Morabity - 3.0.1-3.03660fgit - Update to a newer git snapshot - Enable native-window-placement extension * Fri May 06 2011 Rahul Sundaram - 3.0.1-2b20cbagit - Fix description * Thu May 5 2011 Elad Alfassa - 3.0.1-1.b20cbagit - Update to a newer git snapshot - Enabled the places-menu extension * Tue Apr 26 2011 Mohamed El Morabity - 3.0.1-1.f016b9git - Update to a newer git snapshot (post-3.0.1 release) - Enable drive-menu extension * Mon Apr 11 2011 Mohamed El Morabity - 3.0.0-5.6d56cfgit - Enable auto-move-windows extension * Sun Apr 11 2011 Rahul Sundaram - 3.0.0-4.6d56cfgit - Add glib2-devel as build requires * Sun Apr 11 2011 Rahul Sundaram - 3.0.0-3.6d56cfgit - Tweak description - Fix typo in configure * Sun Apr 11 2011 Rahul Sundaram - 3.0.0-2.6d56cfgit - Added the user-theme extension - Patch from Timur Kristóf * Fri Apr 08 2011 Rahul Sundaram - 3.0.0-1.6d56cfgit - Make sure configure doesn't get called twice * Fri Apr 08 2011 Rahul Sundaram - 3.0.0-0.6d56cfgit - Initial build