1 %define major_version 3.8
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}.1
9 Group: X11/Applications
10 # The entire source code is GPLv2+ except lib/convenience.js which is BSD
11 License: GPLv2+ and BSD
12 URL: http://live.gnome.org/GnomeShell/Extensions
13 # Using git archive since upstream doesn't publish tarballs on ftp.gnome.org
15 # $ git clone git://git.gnome.org/gnome-shell-extensions/
16 # $ cd gnome-shell-extensions/
17 # $ git archive --format=tar --prefix=%{name}-%{version}/ %{version} | xz > ../%{name}-%{version}.tar.xz
18 #Source0: %{name}-%{version}.tar.xz
19 Source0: http://ftp.gnome.org/pub/GNOME/sources/gnome-shell-extensions/3.8/%{name}-%{version}.tar.xz
20 # Source0-md5: 37aaa4731e9355f7904fbcddd56a0e86
21 BuildRequires: gnome-common
22 BuildRequires: gnome-desktop-devel
23 BuildRequires: intltool
24 BuildRequires: libgtop-devel
25 Requires: gnome-shell >= %{min_gs_version}
26 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
28 %define ext_prefix gnome-shell-extension
31 GNOME Shell Extensions is a collection of extensions providing
32 additional and optional functionality to GNOME Shell.
36 - alternative-status-menu
42 - native-window-placement
53 Summary: Files common to GNOME Shell Extensions
55 Group: X11/Applications
56 Requires: gnome-shell >= %{min_gs_version}
57 Obsoletes: gnome-shell-extension-dock < 3.8.0
58 Obsoletes: gnome-shell-extension-gajim < 3.8.0
61 GNOME Shell Extensions is a collection of extensions providing
62 additional and optional functionality to GNOME Shell. Common files and
63 directories needed by extensions are provided here.
65 %package -n gnome-classic-session
66 Summary: GNOME "classic" mode session
68 Group: X11/Applications
69 Requires: %{ext_prefix}-alternate-tab = %{version}-%{release}
70 Requires: %{ext_prefix}-apps-menu = %{version}-%{release}
71 Requires: %{ext_prefix}-default-min-max = %{version}-%{release}
72 Requires: %{ext_prefix}-launch-new-instance = %{version}-%{release}
73 Requires: %{ext_prefix}-places-menu = %{version}-%{release}
74 Requires: %{ext_prefix}-static-workspaces = %{version}-%{release}
75 Requires: %{ext_prefix}-window-list = %{version}-%{release}
76 Requires: gnome-session >= 1:3.8.0
78 %description -n gnome-classic-session
79 This package contains the required components for the GNOME Shell
80 "classic" mode, which aims to provide a GNOME 2-like user interface.
82 %package -n %{ext_prefix}-alternate-tab
83 Summary: Classic Alt+Tab behavior. Window based instead of app based
85 Group: X11/Applications
86 Requires: %{name}-common = %{version}-%{release}
88 %description -n %{ext_prefix}-alternate-tab
89 Lets you use classic Alt+Tab (window-based instead of app-based) in
90 GNOME Shell. GNOME Shell groups multiple instances of the same
91 application together. This extension disables grouping.
93 %package -n %{ext_prefix}-alternative-status-menu
94 Summary: For those who want a power off item visible at all the time
96 Group: X11/Applications
97 Requires: %{name}-common = %{version}-%{release}
99 %description -n %{ext_prefix}-alternative-status-menu
100 For those who want a power off item visible at all the time, replaces
101 GNOME Shell status menu with one featuring separate Suspend and Power
102 Off. Adds the ability to hibernate as well.
104 %package -n %{ext_prefix}-apps-menu
105 Summary: Application menu for GNOME Shell
107 Group: X11/Applications
108 Requires: %{name}-common = %{version}-%{release}
110 %description -n %{ext_prefix}-apps-menu
111 Add a GNOME 2.x style menu for applications.
113 %package -n %{ext_prefix}-auto-move-windows
114 Summary: Assign specific workspaces to applications
116 Group: X11/Applications
117 Requires: %{name}-common = %{version}-%{release}
119 %description -n %{ext_prefix}-auto-move-windows
120 Lets you manage your workspaces more easily, assigning a specific
121 workspace to each application as soon as it creates a window, in a
122 manner configurable with a GSettings key.
124 %package -n %{ext_prefix}-default-min-max
125 Summary: Add minimize and maximize titlebar buttons in GNOME Shell
127 Group: X11/Applications
128 Requires: %{name}-common = %{version}-%{release}
130 %description -n %{ext_prefix}-default-min-max
131 This GNOME Shell extension adds minimize and maximize buttons to the
134 %package -n %{ext_prefix}-drive-menu
135 Summary: Disk device manager in the system status area
137 Group: X11/Applications
138 Requires: %{name}-common = %{version}-%{release}
140 %description -n %{ext_prefix}-drive-menu
141 Adds a menu in the system status area that tracks removable disk
142 devices attached and offers to browse them and eject/unmount them.
144 %package -n %{ext_prefix}-launch-new-instance
145 Summary: Always launch a new application instance for GNOME Shell
147 Group: X11/Applications
148 Requires: %{name}-common = %{version}-%{release}
150 %description -n %{ext_prefix}-launch-new-instance
151 This GNOME Shell extension modifies the behavior of clicking in the
152 dash and app launcher to always launch a new application instance.
154 %package -n %{ext_prefix}-native-window-placement
155 Summary: Arrange windows in overview in a more native way
157 Group: X11/Applications
158 Requires: %{name}-common = %{version}-%{release}
160 %description -n %{ext_prefix}-native-window-placement
161 This extension employs an algorithm (taken from KDE) for layouting the
162 thumbnails in the overview that more closely reflects the positions
163 and relative sizes of the actual windows, instead of using a fixed
166 %package -n %{ext_prefix}-places-menu
167 Summary: Places menu indicator in the system status area
169 Group: X11/Applications
170 Requires: %{name}-common = %{version}-%{release}
172 %description -n %{ext_prefix}-places-menu
173 Adds a menu in the system status area that resembles the Places menu
176 %package -n %{ext_prefix}-static-workspaces
177 Summary: Disable dynamic workspace management in GNOME Shell
179 Group: X11/Applications
180 Requires: %{name}-common = %{version}-%{release}
182 %description -n %{ext_prefix}-static-workspaces
183 This GNOME Shell extension disables dynamic workspace management.
185 %package -n %{ext_prefix}-systemMonitor
186 Summary: Monitor your system status
188 Group: X11/Applications
189 Requires: %{name}-common = %{version}-%{release}
192 %description -n %{ext_prefix}-systemMonitor
193 Monitor your system status
195 %package -n %{ext_prefix}-user-theme
196 Summary: Lets the user select a custom theme for the shell
198 Group: X11/Applications
199 Requires: %{name}-common = %{version}-%{release}
201 %description -n %{ext_prefix}-user-theme
202 Lets the user select a custom theme for the Gnome shell. It will allow
203 you to apply a style from
204 /.themes/[themeName]/gnome-shell/gnome-shell.css
206 %package -n %{ext_prefix}-window-list
207 Summary: Display a window list at the bottom of the screen in GNOME Shell
209 Group: X11/Applications
210 Requires: %{name}-common = %{version}-%{release}
212 %description -n %{ext_prefix}-window-list
213 This GNOME Shell extension displays a window list at the bottom of the
216 %package -n %{ext_prefix}-windowsNavigator
217 Summary: Keyboard selection of windows and work-spaces in overlay mode
219 Group: X11/Applications
220 Requires: %{name}-common = %{version}-%{release}
222 %description -n %{ext_prefix}-windowsNavigator
223 Allow keyboard selection of windows and work-spaces in overlay mode in
224 GNOME Shell. Switch to overview mode (press the windows or alt+f1 key)
225 and press the alt key to show numbers over windows. Press any number
226 to switch to the corresponding window.
228 %package -n %{ext_prefix}-workspace-indicator
229 Summary: Workspace Indicator
231 Group: X11/Applications
232 Requires: %{name}-common = %{version}-%{release}
234 %description -n %{ext_prefix}-workspace-indicator
235 Put an indicator on the panel signaling in which workspace you are,
236 and give you the possibility of switching to another one.
238 %package -n %{ext_prefix}-xrandr-indicator
239 Summary: Monitor status indicator
241 Group: X11/Applications
242 Requires: %{name}-common = %{version}-%{release}
244 %description -n %{ext_prefix}-xrandr-indicator
245 This extension adds a systems status menu for rotating monitors
246 (overrides what is currently provided by gnome-settings-daemon.
259 --enable-extensions="all"
264 rm -rf $RPM_BUILD_ROOT
267 DESTDIR=$RPM_BUILD_ROOT
269 # Drop useless example extension
270 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/gnome-shell/extensions/example*
271 %{__rm} $RPM_BUILD_ROOT%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.example.gschema.xml
276 rm -rf $RPM_BUILD_ROOT
278 %post -n %{ext_prefix}-alternative-status-menu
279 %glib_compile_schemas
281 %postun -n %{ext_prefix}-alternative-status-menu
282 %glib_compile_schemas
284 %post -n %{ext_prefix}-auto-move-windows
285 %glib_compile_schemas
287 %postun -n %{ext_prefix}-auto-move-windows
288 %glib_compile_schemas
290 %post -n %{ext_prefix}-native-window-placement
291 %glib_compile_schemas
293 %postun -n %{ext_prefix}-native-window-placement
294 %glib_compile_schemas
296 %post -n %{ext_prefix}-user-theme
297 %glib_compile_schemas
299 %postun -n %{ext_prefix}-user-theme
300 %glib_compile_schemas
302 %post -n %{ext_prefix}-window-list
303 %glib_compile_schemas
305 %postun -n %{ext_prefix}-window-list
306 %glib_compile_schemas
308 %files common -f %{name}.lang
309 %defattr(644,root,root,755)
310 %doc COPYING NEWS README
311 %dir %{_datadir}/gnome-shell/extensions
313 %files -n gnome-classic-session
314 %defattr(644,root,root,755)
315 %{_desktopdir}/gnome-shell-classic.desktop
316 %{_datadir}/gnome-session/sessions/gnome-classic.session
317 %dir %{_datadir}/gnome-shell/modes
318 %{_datadir}/gnome-shell/modes/classic.json
319 %{_datadir}/gnome-shell/theme/*.svg
320 %{_datadir}/gnome-shell/theme/gnome-classic.css
321 %{_datadir}/xsessions/gnome-classic.desktop
323 %files -n %{ext_prefix}-alternate-tab
324 %defattr(644,root,root,755)
325 %{_datadir}/gnome-shell/extensions/alternate-tab*
327 %files -n %{ext_prefix}-alternative-status-menu
328 %defattr(644,root,root,755)
329 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.alternative-status-menu.gschema.xml
330 %{_datadir}/gnome-shell/extensions/alternative-status-menu*
332 %files -n %{ext_prefix}-apps-menu
333 %defattr(644,root,root,755)
334 %{_datadir}/gnome-shell/extensions/apps-menu*
336 %files -n %{ext_prefix}-auto-move-windows
337 %defattr(644,root,root,755)
338 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.auto-move-windows.gschema.xml
339 %{_datadir}/gnome-shell/extensions/auto-move-windows*
341 %files -n %{ext_prefix}-default-min-max
342 %defattr(644,root,root,755)
343 %{_datadir}/gnome-shell/extensions/default-min-max*
345 %files -n %{ext_prefix}-drive-menu
346 %defattr(644,root,root,755)
347 %{_datadir}/gnome-shell/extensions/drive-menu*
349 %files -n %{ext_prefix}-launch-new-instance
350 %defattr(644,root,root,755)
351 %{_datadir}/gnome-shell/extensions/launch-new-instance*
353 %files -n %{ext_prefix}-native-window-placement
354 %defattr(644,root,root,755)
355 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.native-window-placement.gschema.xml
356 %{_datadir}/gnome-shell/extensions/native-window-placement*
358 %files -n %{ext_prefix}-places-menu
359 %defattr(644,root,root,755)
360 %{_datadir}/gnome-shell/extensions/places-menu*
362 %files -n %{ext_prefix}-static-workspaces
363 %defattr(644,root,root,755)
364 %{_datadir}/gnome-shell/extensions/static-workspaces*
366 %files -n %{ext_prefix}-systemMonitor
367 %defattr(644,root,root,755)
368 %{_datadir}/gnome-shell/extensions/systemMonitor*
370 %files -n %{ext_prefix}-user-theme
371 %defattr(644,root,root,755)
372 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.user-theme.gschema.xml
373 %{_datadir}/gnome-shell/extensions/user-theme*
375 %files -n %{ext_prefix}-window-list
376 %defattr(644,root,root,755)
377 %{_datadir}/gnome-shell/extensions/window-list*
378 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.window-list.gschema.xml
380 %files -n %{ext_prefix}-windowsNavigator
381 %defattr(644,root,root,755)
382 %{_datadir}/gnome-shell/extensions/windowsNavigator*
384 %files -n %{ext_prefix}-workspace-indicator
385 %defattr(644,root,root,755)
386 %{_datadir}/gnome-shell/extensions/workspace-indicator*
388 %files -n %{ext_prefix}-xrandr-indicator
389 %defattr(644,root,root,755)
390 %{_datadir}/gnome-shell/extensions/xrandr-indicator*