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}.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 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-md5: 8b0febdef43ce579a3b76748ae47ed07
20 BuildRequires: gnome-common
21 BuildRequires: gnome-desktop-devel
22 BuildRequires: intltool
23 BuildRequires: libgtop-devel
24 Requires: gnome-shell >= %{min_gs_version}
25 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
27 %define ext_prefix gnome-shell-extension
30 GNOME Shell Extensions is a collection of extensions providing
31 additional and optional functionality to GNOME Shell.
35 - alternative-status-menu
41 - native-window-placement
52 Summary: Files common to GNOME Shell Extensions
54 Group: X11/Applications
55 Requires: gnome-shell >= %{min_gs_version}
56 Obsoletes: gnome-shell-extension-dock < 3.8.0
57 Obsoletes: gnome-shell-extension-gajim < 3.8.0
60 GNOME Shell Extensions is a collection of extensions providing
61 additional and optional functionality to GNOME Shell. Common files and
62 directories needed by extensions are provided here.
64 %package -n gnome-classic-session
65 Summary: GNOME "classic" mode session
67 Group: X11/Applications
68 Requires: %{ext_prefix}-alternate-tab = %{version}-%{release}
69 Requires: %{ext_prefix}-apps-menu = %{version}-%{release}
70 Requires: %{ext_prefix}-default-min-max = %{version}-%{release}
71 Requires: %{ext_prefix}-launch-new-instance = %{version}-%{release}
72 Requires: %{ext_prefix}-places-menu = %{version}-%{release}
73 Requires: %{ext_prefix}-static-workspaces = %{version}-%{release}
74 Requires: %{ext_prefix}-window-list = %{version}-%{release}
75 Requires: gnome-session >= 1:3.8.0
77 %description -n gnome-classic-session
78 This package contains the required components for the GNOME Shell
79 "classic" mode, which aims to provide a GNOME 2-like user interface.
81 %package -n %{ext_prefix}-alternate-tab
82 Summary: Classic Alt+Tab behavior. Window based instead of app based
84 Group: X11/Applications
85 Requires: %{name}-common = %{version}-%{release}
87 %description -n %{ext_prefix}-alternate-tab
88 Lets you use classic Alt+Tab (window-based instead of app-based) in
89 GNOME Shell. GNOME Shell groups multiple instances of the same
90 application together. This extension disables grouping.
92 %package -n %{ext_prefix}-alternative-status-menu
93 Summary: For those who want a power off item visible at all the time
95 Group: X11/Applications
96 Requires: %{name}-common = %{version}-%{release}
98 %description -n %{ext_prefix}-alternative-status-menu
99 For those who want a power off item visible at all the time, replaces
100 GNOME Shell status menu with one featuring separate Suspend and Power
101 Off. Adds the ability to hibernate as well.
103 %package -n %{ext_prefix}-apps-menu
104 Summary: Application menu for GNOME Shell
106 Group: X11/Applications
107 Requires: %{name}-common = %{version}-%{release}
109 %description -n %{ext_prefix}-apps-menu
110 Add a GNOME 2.x style menu for applications.
112 %package -n %{ext_prefix}-auto-move-windows
113 Summary: Assign specific workspaces to applications
115 Group: X11/Applications
116 Requires: %{name}-common = %{version}-%{release}
118 %description -n %{ext_prefix}-auto-move-windows
119 Lets you manage your workspaces more easily, assigning a specific
120 workspace to each application as soon as it creates a window, in a
121 manner configurable with a GSettings key.
123 %package -n %{ext_prefix}-default-min-max
124 Summary: Add minimize and maximize titlebar buttons in GNOME Shell
126 Group: X11/Applications
127 Requires: %{name}-common = %{version}-%{release}
129 %description -n %{ext_prefix}-default-min-max
130 This GNOME Shell extension adds minimize and maximize buttons to the
133 %package -n %{ext_prefix}-drive-menu
134 Summary: Disk device manager in the system status area
136 Group: X11/Applications
137 Requires: %{name}-common = %{version}-%{release}
139 %description -n %{ext_prefix}-drive-menu
140 Adds a menu in the system status area that tracks removable disk
141 devices attached and offers to browse them and eject/unmount them.
143 %package -n %{ext_prefix}-launch-new-instance
144 Summary: Always launch a new application instance for GNOME Shell
146 Group: X11/Applications
147 Requires: %{name}-common = %{version}-%{release}
149 %description -n %{ext_prefix}-launch-new-instance
150 This GNOME Shell extension modifies the behavior of clicking in the
151 dash and app launcher to always launch a new application instance.
153 %package -n %{ext_prefix}-native-window-placement
154 Summary: Arrange windows in overview in a more native way
156 Group: X11/Applications
157 Requires: %{name}-common = %{version}-%{release}
159 %description -n %{ext_prefix}-native-window-placement
160 This extension employs an algorithm (taken from KDE) for layouting the
161 thumbnails in the overview that more closely reflects the positions
162 and relative sizes of the actual windows, instead of using a fixed
165 %package -n %{ext_prefix}-places-menu
166 Summary: Places menu indicator in the system status area
168 Group: X11/Applications
169 Requires: %{name}-common = %{version}-%{release}
171 %description -n %{ext_prefix}-places-menu
172 Adds a menu in the system status area that resembles the Places menu
175 %package -n %{ext_prefix}-static-workspaces
176 Summary: Disable dynamic workspace management in GNOME Shell
178 Group: X11/Applications
179 Requires: %{name}-common = %{version}-%{release}
181 %description -n %{ext_prefix}-static-workspaces
182 This GNOME Shell extension disables dynamic workspace management.
184 %package -n %{ext_prefix}-systemMonitor
185 Summary: Monitor your system status
187 Group: X11/Applications
188 Requires: %{name}-common = %{version}-%{release}
191 %description -n %{ext_prefix}-systemMonitor
192 Monitor your system status
194 %package -n %{ext_prefix}-user-theme
195 Summary: Lets the user select a custom theme for the shell
197 Group: X11/Applications
198 Requires: %{name}-common = %{version}-%{release}
200 %description -n %{ext_prefix}-user-theme
201 Lets the user select a custom theme for the Gnome shell. It will allow
202 you to apply a style from
203 /.themes/[themeName]/gnome-shell/gnome-shell.css
205 %package -n %{ext_prefix}-window-list
206 Summary: Display a window list at the bottom of the screen in GNOME Shell
208 Group: X11/Applications
209 Requires: %{name}-common = %{version}-%{release}
211 %description -n %{ext_prefix}-window-list
212 This GNOME Shell extension displays a window list at the bottom of the
215 %package -n %{ext_prefix}-windowsNavigator
216 Summary: Keyboard selection of windows and work-spaces in overlay mode
218 Group: X11/Applications
219 Requires: %{name}-common = %{version}-%{release}
221 %description -n %{ext_prefix}-windowsNavigator
222 Allow keyboard selection of windows and work-spaces in overlay mode in
223 GNOME Shell. Switch to overview mode (press the windows or alt+f1 key)
224 and press the alt key to show numbers over windows. Press any number
225 to switch to the corresponding window.
227 %package -n %{ext_prefix}-workspace-indicator
228 Summary: Workspace Indicator
230 Group: X11/Applications
231 Requires: %{name}-common = %{version}-%{release}
233 %description -n %{ext_prefix}-workspace-indicator
234 Put an indicator on the panel signaling in which workspace you are,
235 and give you the possibility of switching to another one.
237 %package -n %{ext_prefix}-xrandr-indicator
238 Summary: Monitor status indicator
240 Group: X11/Applications
241 Requires: %{name}-common = %{version}-%{release}
243 %description -n %{ext_prefix}-xrandr-indicator
244 This extension adds a systems status menu for rotating monitors
245 (overrides what is currently provided by gnome-settings-daemon.
258 --enable-extensions="all"
263 rm -rf $RPM_BUILD_ROOT
266 DESTDIR=$RPM_BUILD_ROOT
268 # Drop useless example extension
269 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/gnome-shell/extensions/example*
270 %{__rm} $RPM_BUILD_ROOT%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.example.gschema.xml
275 rm -rf $RPM_BUILD_ROOT
277 %post -n %{ext_prefix}-alternative-status-menu
278 %glib_compile_schemas
280 %postun -n %{ext_prefix}-alternative-status-menu
281 %glib_compile_schemas
283 %post -n %{ext_prefix}-auto-move-windows
284 %glib_compile_schemas
286 %postun -n %{ext_prefix}-auto-move-windows
287 %glib_compile_schemas
289 %post -n %{ext_prefix}-native-window-placement
290 %glib_compile_schemas
292 %postun -n %{ext_prefix}-native-window-placement
293 %glib_compile_schemas
295 %post -n %{ext_prefix}-user-theme
296 %glib_compile_schemas
298 %postun -n %{ext_prefix}-user-theme
299 %glib_compile_schemas
301 %post -n %{ext_prefix}-window-list
302 %glib_compile_schemas
304 %postun -n %{ext_prefix}-window-list
305 %glib_compile_schemas
307 %files common -f %{name}.lang
308 %defattr(644,root,root,755)
309 %doc COPYING NEWS README
310 %dir %{_datadir}/gnome-shell/extensions
312 %files -n gnome-classic-session
313 %defattr(644,root,root,755)
314 %{_desktopdir}/gnome-shell-classic.desktop
315 %{_datadir}/gnome-session/sessions/gnome-classic.session
316 %dir %{_datadir}/gnome-shell/modes
317 %{_datadir}/gnome-shell/modes/classic.json
318 %{_datadir}/gnome-shell/theme/*.svg
319 %{_datadir}/gnome-shell/theme/gnome-classic.css
320 %{_datadir}/xsessions/gnome-classic.desktop
322 %files -n %{ext_prefix}-alternate-tab
323 %defattr(644,root,root,755)
324 %{_datadir}/gnome-shell/extensions/alternate-tab*
326 %files -n %{ext_prefix}-alternative-status-menu
327 %defattr(644,root,root,755)
328 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.alternative-status-menu.gschema.xml
329 %{_datadir}/gnome-shell/extensions/alternative-status-menu*
331 %files -n %{ext_prefix}-apps-menu
332 %defattr(644,root,root,755)
333 %{_datadir}/gnome-shell/extensions/apps-menu*
335 %files -n %{ext_prefix}-auto-move-windows
336 %defattr(644,root,root,755)
337 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.auto-move-windows.gschema.xml
338 %{_datadir}/gnome-shell/extensions/auto-move-windows*
340 %files -n %{ext_prefix}-default-min-max
341 %defattr(644,root,root,755)
342 %{_datadir}/gnome-shell/extensions/default-min-max*
344 %files -n %{ext_prefix}-drive-menu
345 %defattr(644,root,root,755)
346 %{_datadir}/gnome-shell/extensions/drive-menu*
348 %files -n %{ext_prefix}-launch-new-instance
349 %defattr(644,root,root,755)
350 %{_datadir}/gnome-shell/extensions/launch-new-instance*
352 %files -n %{ext_prefix}-native-window-placement
353 %defattr(644,root,root,755)
354 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.native-window-placement.gschema.xml
355 %{_datadir}/gnome-shell/extensions/native-window-placement*
357 %files -n %{ext_prefix}-places-menu
358 %defattr(644,root,root,755)
359 %{_datadir}/gnome-shell/extensions/places-menu*
361 %files -n %{ext_prefix}-static-workspaces
362 %defattr(644,root,root,755)
363 %{_datadir}/gnome-shell/extensions/static-workspaces*
365 %files -n %{ext_prefix}-systemMonitor
366 %defattr(644,root,root,755)
367 %{_datadir}/gnome-shell/extensions/systemMonitor*
369 %files -n %{ext_prefix}-user-theme
370 %defattr(644,root,root,755)
371 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.user-theme.gschema.xml
372 %{_datadir}/gnome-shell/extensions/user-theme*
374 %files -n %{ext_prefix}-window-list
375 %defattr(644,root,root,755)
376 %{_datadir}/gnome-shell/extensions/window-list*
377 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.window-list.gschema.xml
379 %files -n %{ext_prefix}-windowsNavigator
380 %defattr(644,root,root,755)
381 %{_datadir}/gnome-shell/extensions/windowsNavigator*
383 %files -n %{ext_prefix}-workspace-indicator
384 %defattr(644,root,root,755)
385 %{_datadir}/gnome-shell/extensions/workspace-indicator*
387 %files -n %{ext_prefix}-xrandr-indicator
388 %defattr(644,root,root,755)
389 %{_datadir}/gnome-shell/extensions/xrandr-indicator*