1 %define major_version 3.24
2 # Minimum GNOME Shell version supported
3 %define global min_gs_version %{major_version}.0
5 Summary: Modify and extend GNOME Shell functionality and behavior
6 Name: gnome-shell-extensions
7 Version: %{major_version}.0
9 Group: X11/Applications
10 # The entire source code is GPLv2+ except lib/convenience.js which is BSD
11 License: GPLv2+ and BSD
12 Source0: http://ftp.gnome.org/pub/GNOME/sources/gnome-shell-extensions/3.24/%{name}-%{version}.tar.xz
13 # Source0-md5: 3df6e0afc840d752f73e3f0e8f915b22
14 URL: http://live.gnome.org/GnomeShell/Extensions
15 BuildRequires: autoconf >= 2.63
16 BuildRequires: automake >= 1:1.10
17 BuildRequires: gnome-common
18 BuildRequires: gnome-desktop-devel
19 BuildRequires: libgtop-devel >= 2.28.3
20 BuildRequires: pkgconfig >= 1:0.22
21 BuildRequires: ruby-sass
22 Requires: gnome-shell >= %{min_gs_version}
23 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
25 %define ext_prefix gnome-shell-extension
28 GNOME Shell Extensions is a collection of extensions providing
29 additional and optional functionality to GNOME Shell.
37 - native-window-placement
39 - screenshot-window-sizer
46 Summary: Files common to GNOME Shell Extensions
48 Group: X11/Applications
49 Requires: gnome-shell >= %{min_gs_version}
50 Obsoletes: gnome-shell-extension-alternative-status-menu < 3.10.1
51 Obsoletes: gnome-shell-extension-default-min-max < 3.8.3.1
52 Obsoletes: gnome-shell-extension-dock < 3.8.0
53 Obsoletes: gnome-shell-extension-gajim < 3.8.0
54 Obsoletes: gnome-shell-extension-static-workspaces < 3.8.3.1
55 Obsoletes: gnome-shell-extension-xrandr-indicator < 3.10.1
56 Obsoletes: gnome-shell-extension-systemMonitor < 3.16.0
59 GNOME Shell Extensions is a collection of extensions providing
60 additional and optional functionality to GNOME Shell. Common files and
61 directories needed by extensions are provided here.
63 %package -n gnome-classic-session
64 Summary: GNOME "classic" mode session
66 Group: X11/Applications
67 Requires(post,postun): glib2 >= 1:2.26.0
68 Requires: %{ext_prefix}-alternate-tab = %{version}-%{release}
69 Requires: %{ext_prefix}-apps-menu = %{version}-%{release}
70 Requires: %{ext_prefix}-launch-new-instance = %{version}-%{release}
71 Requires: %{ext_prefix}-places-menu = %{version}-%{release}
72 Requires: %{ext_prefix}-window-list = %{version}-%{release}
73 Requires: gnome-session >= 1:3.14.0
75 %description -n gnome-classic-session
76 This package contains the required components for the GNOME Shell
77 "classic" mode, which aims to provide a GNOME 2-like user interface.
79 %package -n %{ext_prefix}-alternate-tab
80 Summary: Classic Alt+Tab behavior. Window based instead of app based
82 Group: X11/Applications
83 Requires: %{name}-common = %{version}-%{release}
85 %description -n %{ext_prefix}-alternate-tab
86 Lets you use classic Alt+Tab (window-based instead of app-based) in
87 GNOME Shell. GNOME Shell groups multiple instances of the same
88 application together. This extension disables grouping.
90 %package -n %{ext_prefix}-apps-menu
91 Summary: Application menu for GNOME Shell
93 Group: X11/Applications
94 Requires: %{name}-common = %{version}-%{release}
96 %description -n %{ext_prefix}-apps-menu
97 Add a GNOME 2.x style menu for applications.
99 %package -n %{ext_prefix}-auto-move-windows
100 Summary: Assign specific workspaces to applications
102 Group: X11/Applications
103 Requires: %{name}-common = %{version}-%{release}
105 %description -n %{ext_prefix}-auto-move-windows
106 Lets you manage your workspaces more easily, assigning a specific
107 workspace to each application as soon as it creates a window, in a
108 manner configurable with a GSettings key.
110 %package -n %{ext_prefix}-drive-menu
111 Summary: Disk device manager in the system status area
113 Group: X11/Applications
114 Requires: %{name}-common = %{version}-%{release}
116 %description -n %{ext_prefix}-drive-menu
117 Adds a menu in the system status area that tracks removable disk
118 devices attached and offers to browse them and eject/unmount them.
120 %package -n %{ext_prefix}-launch-new-instance
121 Summary: Always launch a new application instance for GNOME Shell
123 Group: X11/Applications
124 Requires: %{name}-common = %{version}-%{release}
126 %description -n %{ext_prefix}-launch-new-instance
127 This GNOME Shell extension modifies the behavior of clicking in the
128 dash and app launcher to always launch a new application instance.
130 %package -n %{ext_prefix}-native-window-placement
131 Summary: Arrange windows in overview in a more native way
133 Group: X11/Applications
134 Requires: %{name}-common = %{version}-%{release}
136 %description -n %{ext_prefix}-native-window-placement
137 This extension employs an algorithm (taken from KDE) for layouting the
138 thumbnails in the overview that more closely reflects the positions
139 and relative sizes of the actual windows, instead of using a fixed
142 %package -n %{ext_prefix}-places-menu
143 Summary: Places menu indicator in the system status area
145 Group: X11/Applications
146 Requires: %{name}-common = %{version}-%{release}
148 %description -n %{ext_prefix}-places-menu
149 Adds a menu in the system status area that resembles the Places menu
152 %package -n %{ext_prefix}-screenshot-window-sizer
153 Summary: Screenshot window sizer for GNOME Shell
155 Group: X11/Applications
156 Requires: %{name}-common = %{version}-%{release}
158 %description -n %{ext_prefix}-screenshot-window-sizer
159 This GNOME Shell extension allows to easily resize windows for GNOME
160 Software screenshots.
162 %package -n %{ext_prefix}-user-theme
163 Summary: Lets the user select a custom theme for the shell
165 Group: X11/Applications
166 Requires: %{name}-common = %{version}-%{release}
168 %description -n %{ext_prefix}-user-theme
169 Lets the user select a custom theme for the Gnome shell. It will allow
170 you to apply a style from
171 /.themes/[themeName]/gnome-shell/gnome-shell.css
173 %package -n %{ext_prefix}-window-list
174 Summary: Display a window list at the bottom of the screen in GNOME Shell
176 Group: X11/Applications
177 Requires: %{name}-common = %{version}-%{release}
179 %description -n %{ext_prefix}-window-list
180 This GNOME Shell extension displays a window list at the bottom of the
183 %package -n %{ext_prefix}-windowsNavigator
184 Summary: Keyboard selection of windows and work-spaces in overlay mode
186 Group: X11/Applications
187 Requires: %{name}-common = %{version}-%{release}
189 %description -n %{ext_prefix}-windowsNavigator
190 Allow keyboard selection of windows and work-spaces in overlay mode in
191 GNOME Shell. Switch to overview mode (press the windows or alt+f1 key)
192 and press the alt key to show numbers over windows. Press any number
193 to switch to the corresponding window.
195 %package -n %{ext_prefix}-workspace-indicator
196 Summary: Workspace Indicator
198 Group: X11/Applications
199 Requires: %{name}-common = %{version}-%{release}
201 %description -n %{ext_prefix}-workspace-indicator
202 Put an indicator on the panel signaling in which workspace you are,
203 and give you the possibility of switching to another one.
214 --enable-extensions="all"
219 rm -rf $RPM_BUILD_ROOT
222 DESTDIR=$RPM_BUILD_ROOT
224 # Drop useless example extension
225 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/gnome-shell/extensions/example*
226 %{__rm} $RPM_BUILD_ROOT%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.example.gschema.xml
231 rm -rf $RPM_BUILD_ROOT
233 %post -n gnome-classic-session
234 %glib_compile_schemas
236 %postun -n gnome-classic-session
237 %glib_compile_schemas
239 %post -n %{ext_prefix}-auto-move-windows
240 %glib_compile_schemas
242 %postun -n %{ext_prefix}-auto-move-windows
243 %glib_compile_schemas
245 %post -n %{ext_prefix}-native-window-placement
246 %glib_compile_schemas
248 %postun -n %{ext_prefix}-native-window-placement
249 %glib_compile_schemas
251 %post -n %{ext_prefix}-screenshot-window-sizer
252 %glib_compile_schemas
254 %postun -n %{ext_prefix}-screenshot-window-sizer
255 %glib_compile_schemas
257 %post -n %{ext_prefix}-user-theme
258 %glib_compile_schemas
260 %postun -n %{ext_prefix}-user-theme
261 %glib_compile_schemas
263 %post -n %{ext_prefix}-window-list
264 %glib_compile_schemas
266 %postun -n %{ext_prefix}-window-list
267 %glib_compile_schemas
269 %files common -f %{name}.lang
270 %defattr(644,root,root,755)
271 %doc COPYING NEWS README
272 %dir %{_datadir}/gnome-shell/extensions
274 %files -n gnome-classic-session
275 %defattr(644,root,root,755)
276 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.classic-overrides.gschema.xml
277 %{_datadir}/gnome-session/sessions/gnome-classic.session
278 %dir %{_datadir}/gnome-shell/modes
279 %{_datadir}/gnome-shell/modes/classic.json
280 %dir %{_datadir}/gnome-shell/theme
281 %{_datadir}/gnome-shell/theme/*.svg
282 %{_datadir}/gnome-shell/theme/gnome-classic.css
283 %{_datadir}/gnome-shell/theme/gnome-classic-high-contrast.css
284 %{_datadir}/xsessions/gnome-classic.desktop
286 %files -n %{ext_prefix}-alternate-tab
287 %defattr(644,root,root,755)
288 %{_datadir}/gnome-shell/extensions/alternate-tab*
290 %files -n %{ext_prefix}-apps-menu
291 %defattr(644,root,root,755)
292 %{_datadir}/gnome-shell/extensions/apps-menu*
294 %files -n %{ext_prefix}-auto-move-windows
295 %defattr(644,root,root,755)
296 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.auto-move-windows.gschema.xml
297 %{_datadir}/gnome-shell/extensions/auto-move-windows*
299 %files -n %{ext_prefix}-drive-menu
300 %defattr(644,root,root,755)
301 %{_datadir}/gnome-shell/extensions/drive-menu*
303 %files -n %{ext_prefix}-launch-new-instance
304 %defattr(644,root,root,755)
305 %{_datadir}/gnome-shell/extensions/launch-new-instance*
307 %files -n %{ext_prefix}-native-window-placement
308 %defattr(644,root,root,755)
309 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.native-window-placement.gschema.xml
310 %{_datadir}/gnome-shell/extensions/native-window-placement*
312 %files -n %{ext_prefix}-places-menu
313 %defattr(644,root,root,755)
314 %{_datadir}/gnome-shell/extensions/places-menu*
316 %files -n %{ext_prefix}-screenshot-window-sizer
317 %defattr(644,root,root,755)
318 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml
319 %{_datadir}/gnome-shell/extensions/screenshot-window-sizer*
321 %files -n %{ext_prefix}-user-theme
322 %defattr(644,root,root,755)
323 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.user-theme.gschema.xml
324 %{_datadir}/gnome-shell/extensions/user-theme*
326 %files -n %{ext_prefix}-window-list
327 %defattr(644,root,root,755)
328 %{_datadir}/gnome-shell/extensions/window-list*
329 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.window-list.gschema.xml
331 %files -n %{ext_prefix}-windowsNavigator
332 %defattr(644,root,root,755)
333 %{_datadir}/gnome-shell/extensions/windowsNavigator*
335 %files -n %{ext_prefix}-workspace-indicator
336 %defattr(644,root,root,755)
337 %{_datadir}/gnome-shell/extensions/workspace-indicator*