1 %define major_version 3.16
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.16/%{name}-%{version}.tar.xz
13 # Source0-md5: 36bae7d65c3ced1ff4f10e9c012ba23a
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: intltool
20 BuildRequires: libgtop-devel >= 2.28.3
21 BuildRequires: pkgconfig >= 1:0.22
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.
216 --enable-extensions="all"
221 rm -rf $RPM_BUILD_ROOT
224 DESTDIR=$RPM_BUILD_ROOT
226 # Drop useless example extension
227 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/gnome-shell/extensions/example*
228 %{__rm} $RPM_BUILD_ROOT%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.example.gschema.xml
233 rm -rf $RPM_BUILD_ROOT
235 %post -n gnome-classic-session
236 %glib_compile_schemas
238 %postun -n gnome-classic-session
239 %glib_compile_schemas
241 %post -n %{ext_prefix}-auto-move-windows
242 %glib_compile_schemas
244 %postun -n %{ext_prefix}-auto-move-windows
245 %glib_compile_schemas
247 %post -n %{ext_prefix}-native-window-placement
248 %glib_compile_schemas
250 %postun -n %{ext_prefix}-native-window-placement
251 %glib_compile_schemas
253 %post -n %{ext_prefix}-screenshot-window-sizer
254 %glib_compile_schemas
256 %postun -n %{ext_prefix}-screenshot-window-sizer
257 %glib_compile_schemas
259 %post -n %{ext_prefix}-user-theme
260 %glib_compile_schemas
262 %postun -n %{ext_prefix}-user-theme
263 %glib_compile_schemas
265 %post -n %{ext_prefix}-window-list
266 %glib_compile_schemas
268 %postun -n %{ext_prefix}-window-list
269 %glib_compile_schemas
271 %files common -f %{name}.lang
272 %defattr(644,root,root,755)
273 %doc COPYING NEWS README
274 %dir %{_datadir}/gnome-shell/extensions
276 %files -n gnome-classic-session
277 %defattr(644,root,root,755)
278 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.classic-overrides.gschema.xml
279 %{_datadir}/gnome-session/sessions/gnome-classic.session
280 %dir %{_datadir}/gnome-shell/modes
281 %{_datadir}/gnome-shell/modes/classic.json
282 %dir %{_datadir}/gnome-shell/theme
283 %{_datadir}/gnome-shell/theme/*.svg
284 %{_datadir}/gnome-shell/theme/gnome-classic.css
285 %{_datadir}/gnome-shell/theme/gnome-classic-high-contrast.css
286 %{_datadir}/xsessions/gnome-classic.desktop
288 %files -n %{ext_prefix}-alternate-tab
289 %defattr(644,root,root,755)
290 %{_datadir}/gnome-shell/extensions/alternate-tab*
292 %files -n %{ext_prefix}-apps-menu
293 %defattr(644,root,root,755)
294 %{_datadir}/gnome-shell/extensions/apps-menu*
296 %files -n %{ext_prefix}-auto-move-windows
297 %defattr(644,root,root,755)
298 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.auto-move-windows.gschema.xml
299 %{_datadir}/gnome-shell/extensions/auto-move-windows*
301 %files -n %{ext_prefix}-drive-menu
302 %defattr(644,root,root,755)
303 %{_datadir}/gnome-shell/extensions/drive-menu*
305 %files -n %{ext_prefix}-launch-new-instance
306 %defattr(644,root,root,755)
307 %{_datadir}/gnome-shell/extensions/launch-new-instance*
309 %files -n %{ext_prefix}-native-window-placement
310 %defattr(644,root,root,755)
311 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.native-window-placement.gschema.xml
312 %{_datadir}/gnome-shell/extensions/native-window-placement*
314 %files -n %{ext_prefix}-places-menu
315 %defattr(644,root,root,755)
316 %{_datadir}/gnome-shell/extensions/places-menu*
318 %files -n %{ext_prefix}-screenshot-window-sizer
319 %defattr(644,root,root,755)
320 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml
321 %{_datadir}/gnome-shell/extensions/screenshot-window-sizer*
323 %files -n %{ext_prefix}-user-theme
324 %defattr(644,root,root,755)
325 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.user-theme.gschema.xml
326 %{_datadir}/gnome-shell/extensions/user-theme*
328 %files -n %{ext_prefix}-window-list
329 %defattr(644,root,root,755)
330 %{_datadir}/gnome-shell/extensions/window-list*
331 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.window-list.gschema.xml
333 %files -n %{ext_prefix}-windowsNavigator
334 %defattr(644,root,root,755)
335 %{_datadir}/gnome-shell/extensions/windowsNavigator*
337 %files -n %{ext_prefix}-workspace-indicator
338 %defattr(644,root,root,755)
339 %{_datadir}/gnome-shell/extensions/workspace-indicator*