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}
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
41 - native-window-placement
51 Summary: Files common to GNOME Shell Extensions
53 Group: X11/Applications
54 Requires: gnome-shell >= %{min_gs_version}
55 Obsoletes: gnome-shell-extension-dock < 3.8.0
56 Obsoletes: gnome-shell-extension-gajim < 3.8.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: %{ext_prefix}-alternate-tab = %{version}-%{release}
68 Requires: %{ext_prefix}-apps-menu = %{version}-%{release}
69 Requires: %{ext_prefix}-default-min-max = %{version}-%{release}
70 Requires: %{ext_prefix}-launch-new-instance = %{version}-%{release}
71 Requires: %{ext_prefix}-places-menu = %{version}-%{release}
72 Requires: %{ext_prefix}-static-workspaces = %{version}-%{release}
73 Requires: %{ext_prefix}-window-list = %{version}-%{release}
74 Requires: gnome-session >= 1:3.8.0
76 %description -n gnome-classic-session
77 This package contains the required components for the GNOME Shell
78 "classic" mode, which aims to provide a GNOME 2-like user interface.
80 %package -n %{ext_prefix}-alternate-tab
81 Summary: Classic Alt+Tab behavior. Window based instead of app based
83 Group: X11/Applications
84 Requires: %{name}-common = %{version}-%{release}
86 %description -n %{ext_prefix}-alternate-tab
87 Lets you use classic Alt+Tab (window-based instead of app-based) in
88 GNOME Shell. GNOME Shell groups multiple instances of the same
89 application together. This extension disables grouping.
91 %package -n %{ext_prefix}-alternative-status-menu
92 Summary: For those who want a power off item visible at all the time
94 Group: X11/Applications
95 Requires: %{name}-common = %{version}-%{release}
97 %description -n %{ext_prefix}-alternative-status-menu
98 For those who want a power off item visible at all the time, replaces
99 GNOME Shell status menu with one featuring separate Suspend and Power
100 Off. Adds the ability to hibernate as well.
102 %package -n %{ext_prefix}-apps-menu
103 Summary: Application menu for GNOME Shell
105 Group: X11/Applications
106 Requires: %{name}-common = %{version}-%{release}
108 %description -n %{ext_prefix}-apps-menu
109 Add a GNOME 2.x style menu for applications.
111 %package -n %{ext_prefix}-auto-move-windows
112 Summary: Assign specific workspaces to applications
114 Group: X11/Applications
115 Requires: %{name}-common = %{version}-%{release}
117 %description -n %{ext_prefix}-auto-move-windows
118 Lets you manage your workspaces more easily, assigning a specific
119 workspace to each application as soon as it creates a window, in a
120 manner configurable with a GSettings key.
122 %package -n %{ext_prefix}-default-min-max
123 Summary: Add minimize and maximize titlebar buttons in GNOME Shell
125 Group: X11/Applications
126 Requires: %{name}-common = %{version}-%{release}
128 %description -n %{ext_prefix}-default-min-max
129 This GNOME Shell extension adds minimize and maximize buttons to the
132 %package -n %{ext_prefix}-drive-menu
133 Summary: Disk device manager in the system status area
135 Group: X11/Applications
136 Requires: %{name}-common = %{version}-%{release}
138 %description -n %{ext_prefix}-drive-menu
139 Adds a menu in the system status area that tracks removable disk
140 devices attached and offers to browse them and eject/unmount them.
142 %package -n %{ext_prefix}-launch-new-instance
143 Summary: Always launch a new application instance for GNOME Shell
145 Group: X11/Applications
146 Requires: %{name}-common = %{version}-%{release}
148 %description -n %{ext_prefix}-launch-new-instance
149 This GNOME Shell extension modifies the behavior of clicking in the
150 dash and app launcher to always launch a new application instance.
152 %package -n %{ext_prefix}-native-window-placement
153 Summary: Arrange windows in overview in a more native way
155 Group: X11/Applications
156 Requires: %{name}-common = %{version}-%{release}
158 %description -n %{ext_prefix}-native-window-placement
159 This extension employs an algorithm (taken from KDE) for layouting the
160 thumbnails in the overview that more closely reflects the positions
161 and relative sizes of the actual windows, instead of using a fixed
164 %package -n %{ext_prefix}-places-menu
165 Summary: Places menu indicator in the system status area
167 Group: X11/Applications
168 Requires: %{name}-common = %{version}-%{release}
170 %description -n %{ext_prefix}-places-menu
171 Adds a menu in the system status area that resembles the Places menu
174 %package -n %{ext_prefix}-static-workspaces
175 Summary: Disable dynamic workspace management in GNOME Shell
177 Group: X11/Applications
178 Requires: %{name}-common = %{version}-%{release}
180 %description -n %{ext_prefix}-static-workspaces
181 This GNOME Shell extension disables dynamic workspace management.
183 %package -n %{ext_prefix}-systemMonitor
184 Summary: Monitor your system status
186 Group: X11/Applications
187 Requires: %{name}-common = %{version}-%{release}
190 %description -n %{ext_prefix}-systemMonitor
191 Monitor your system status
193 %package -n %{ext_prefix}-user-theme
194 Summary: Lets the user select a custom theme for the shell
196 Group: X11/Applications
197 Requires: %{name}-common = %{version}-%{release}
199 %description -n %{ext_prefix}-user-theme
200 Lets the user select a custom theme for the Gnome shell. It will allow
201 you to apply a style from
202 /.themes/[themeName]/gnome-shell/gnome-shell.css
204 %package -n %{ext_prefix}-window-list
205 Summary: Display a window list at the bottom of the screen in GNOME Shell
207 Group: X11/Applications
208 Requires: %{name}-common = %{version}-%{release}
210 %description -n %{ext_prefix}-window-list
211 This GNOME Shell extension displays a window list at the bottom of the
214 %package -n %{ext_prefix}-windowsNavigator
215 Summary: Keyboard selection of windows and work-spaces in overlay mode
217 Group: X11/Applications
218 Requires: %{name}-common = %{version}-%{release}
220 %description -n %{ext_prefix}-windowsNavigator
221 Allow keyboard selection of windows and work-spaces in overlay mode in
222 GNOME Shell. Switch to overview mode (press the windows or alt+f1 key)
223 and press the alt key to show numbers over windows. Press any number
224 to switch to the corresponding window.
226 %package -n %{ext_prefix}-workspace-indicator
227 Summary: Workspace Indicator
229 Group: X11/Applications
230 Requires: %{name}-common = %{version}-%{release}
232 %description -n %{ext_prefix}-workspace-indicator
233 Put an indicator on the panel signaling in which workspace you are,
234 and give you the possibility of switching to another one.
236 %package -n %{ext_prefix}-xrandr-indicator
237 Summary: Monitor status indicator
239 Group: X11/Applications
240 Requires: %{name}-common = %{version}-%{release}
242 %description -n %{ext_prefix}-xrandr-indicator
243 This extension adds a systems status menu for rotating monitors
244 (overrides what is currently provided by gnome-settings-daemon.
257 --enable-extensions="all"
262 rm -rf $RPM_BUILD_ROOT
265 DESTDIR=$RPM_BUILD_ROOT
267 # Drop useless example extension
268 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/gnome-shell/extensions/example*
269 %{__rm} $RPM_BUILD_ROOT%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.example.gschema.xml
274 rm -rf $RPM_BUILD_ROOT
276 %post -n %{ext_prefix}-alternative-status-menu
277 %glib_compile_schemas
279 %postun -n %{ext_prefix}-alternative-status-menu
280 %glib_compile_schemas
282 %post -n %{ext_prefix}-auto-move-windows
283 %glib_compile_schemas
285 %postun -n %{ext_prefix}-auto-move-windows
286 %glib_compile_schemas
288 %post -n %{ext_prefix}-native-window-placement
289 %glib_compile_schemas
291 %postun -n %{ext_prefix}-native-window-placement
292 %glib_compile_schemas
294 %post -n %{ext_prefix}-user-theme
295 %glib_compile_schemas
297 %postun -n %{ext_prefix}-user-theme
298 %glib_compile_schemas
300 %post -n %{ext_prefix}-window-list
301 %glib_compile_schemas
303 %postun -n %{ext_prefix}-window-list
304 %glib_compile_schemas
306 %files common -f %{name}.lang
307 %defattr(644,root,root,755)
308 %doc COPYING NEWS README
309 %dir %{_datadir}/gnome-shell/extensions
311 %files -n gnome-classic-session
312 %defattr(644,root,root,755)
313 %{_desktopdir}/gnome-shell-classic.desktop
314 %{_datadir}/gnome-session/sessions/gnome-classic.session
315 %dir %{_datadir}/gnome-shell/modes
316 %{_datadir}/gnome-shell/modes/classic.json
317 %{_datadir}/gnome-shell/theme/*.svg
318 %{_datadir}/gnome-shell/theme/gnome-classic.css
319 %{_datadir}/xsessions/gnome-classic.desktop
321 %files -n %{ext_prefix}-alternate-tab
322 %defattr(644,root,root,755)
323 %{_datadir}/gnome-shell/extensions/alternate-tab*
325 %files -n %{ext_prefix}-alternative-status-menu
326 %defattr(644,root,root,755)
327 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.alternative-status-menu.gschema.xml
328 %{_datadir}/gnome-shell/extensions/alternative-status-menu*
330 %files -n %{ext_prefix}-apps-menu
331 %defattr(644,root,root,755)
332 %{_datadir}/gnome-shell/extensions/apps-menu*
334 %files -n %{ext_prefix}-auto-move-windows
335 %defattr(644,root,root,755)
336 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.auto-move-windows.gschema.xml
337 %{_datadir}/gnome-shell/extensions/auto-move-windows*
339 %files -n %{ext_prefix}-default-min-max
340 %defattr(644,root,root,755)
341 %{_datadir}/gnome-shell/extensions/default-min-max*
343 %files -n %{ext_prefix}-drive-menu
344 %defattr(644,root,root,755)
345 %{_datadir}/gnome-shell/extensions/drive-menu*
347 %files -n %{ext_prefix}-launch-new-instance
348 %defattr(644,root,root,755)
349 %{_datadir}/gnome-shell/extensions/launch-new-instance*
351 %files -n %{ext_prefix}-native-window-placement
352 %defattr(644,root,root,755)
353 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.native-window-placement.gschema.xml
354 %{_datadir}/gnome-shell/extensions/native-window-placement*
356 %files -n %{ext_prefix}-places-menu
357 %defattr(644,root,root,755)
358 %{_datadir}/gnome-shell/extensions/places-menu*
360 %files -n %{ext_prefix}-static-workspaces
361 %defattr(644,root,root,755)
362 %{_datadir}/gnome-shell/extensions/static-workspaces*
364 %files -n %{ext_prefix}-systemMonitor
365 %defattr(644,root,root,755)
366 %{_datadir}/gnome-shell/extensions/systemMonitor*
368 %files -n %{ext_prefix}-user-theme
369 %defattr(644,root,root,755)
370 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.user-theme.gschema.xml
371 %{_datadir}/gnome-shell/extensions/user-theme*
373 %files -n %{ext_prefix}-window-list
374 %defattr(644,root,root,755)
375 %{_datadir}/gnome-shell/extensions/window-list*
376 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.window-list.gschema.xml
378 %files -n %{ext_prefix}-windowsNavigator
379 %defattr(644,root,root,755)
380 %{_datadir}/gnome-shell/extensions/windowsNavigator*
382 %files -n %{ext_prefix}-workspace-indicator
383 %defattr(644,root,root,755)
384 %{_datadir}/gnome-shell/extensions/workspace-indicator*
386 %files -n %{ext_prefix}-xrandr-indicator
387 %defattr(644,root,root,755)
388 %{_datadir}/gnome-shell/extensions/xrandr-indicator*