1 %define major_version 3.8
2 # Minimum GNOME Shell version supported
3 %define global min_gs_version %{major_version}.3
5 Summary: Modify and extend GNOME Shell functionality and behavior
6 Name: gnome-shell-extensions
7 Version: %{major_version}.3.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 Source0: http://ftp.gnome.org/pub/GNOME/sources/gnome-shell-extensions/3.8/%{name}-%{version}.tar.xz
14 # Source0-md5: 69ea6492fe1c4f1245f1e62a73fe7ec9
15 BuildRequires: gnome-common
16 BuildRequires: gnome-desktop-devel
17 BuildRequires: intltool
18 BuildRequires: libgtop-devel
19 Requires: gnome-shell >= %{min_gs_version}
20 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
22 %define ext_prefix gnome-shell-extension
25 GNOME Shell Extensions is a collection of extensions providing
26 additional and optional functionality to GNOME Shell.
30 - alternative-status-menu
35 - native-window-placement
45 Summary: Files common to GNOME Shell Extensions
47 Group: X11/Applications
48 Requires: gnome-shell >= %{min_gs_version}
49 Obsoletes: gnome-shell-extension-default-min-max < 3.8.3.1
50 Obsoletes: gnome-shell-extension-dock < 3.8.0
51 Obsoletes: gnome-shell-extension-gajim < 3.8.0
52 Obsoletes: gnome-shell-extension-static-workspaces < 3.8.3.1
55 GNOME Shell Extensions is a collection of extensions providing
56 additional and optional functionality to GNOME Shell. Common files and
57 directories needed by extensions are provided here.
59 %package -n gnome-classic-session
60 Summary: GNOME "classic" mode session
62 Group: X11/Applications
63 Requires(post,postun): glib2 >= 1:2.26.0
64 Requires: %{ext_prefix}-alternate-tab = %{version}-%{release}
65 Requires: %{ext_prefix}-apps-menu = %{version}-%{release}
66 Requires: %{ext_prefix}-launch-new-instance = %{version}-%{release}
67 Requires: %{ext_prefix}-places-menu = %{version}-%{release}
68 Requires: %{ext_prefix}-window-list = %{version}-%{release}
69 Requires: gnome-session >= 1:3.8.0
71 %description -n gnome-classic-session
72 This package contains the required components for the GNOME Shell
73 "classic" mode, which aims to provide a GNOME 2-like user interface.
75 %package -n %{ext_prefix}-alternate-tab
76 Summary: Classic Alt+Tab behavior. Window based instead of app based
78 Group: X11/Applications
79 Requires: %{name}-common = %{version}-%{release}
81 %description -n %{ext_prefix}-alternate-tab
82 Lets you use classic Alt+Tab (window-based instead of app-based) in
83 GNOME Shell. GNOME Shell groups multiple instances of the same
84 application together. This extension disables grouping.
86 %package -n %{ext_prefix}-alternative-status-menu
87 Summary: For those who want a power off item visible at all the time
89 Group: X11/Applications
90 Requires: %{name}-common = %{version}-%{release}
92 %description -n %{ext_prefix}-alternative-status-menu
93 For those who want a power off item visible at all the time, replaces
94 GNOME Shell status menu with one featuring separate Suspend and Power
95 Off. Adds the ability to hibernate as well.
97 %package -n %{ext_prefix}-apps-menu
98 Summary: Application menu for GNOME Shell
100 Group: X11/Applications
101 Requires: %{name}-common = %{version}-%{release}
103 %description -n %{ext_prefix}-apps-menu
104 Add a GNOME 2.x style menu for applications.
106 %package -n %{ext_prefix}-auto-move-windows
107 Summary: Assign specific workspaces to applications
109 Group: X11/Applications
110 Requires: %{name}-common = %{version}-%{release}
112 %description -n %{ext_prefix}-auto-move-windows
113 Lets you manage your workspaces more easily, assigning a specific
114 workspace to each application as soon as it creates a window, in a
115 manner configurable with a GSettings key.
117 %package -n %{ext_prefix}-drive-menu
118 Summary: Disk device manager in the system status area
120 Group: X11/Applications
121 Requires: %{name}-common = %{version}-%{release}
123 %description -n %{ext_prefix}-drive-menu
124 Adds a menu in the system status area that tracks removable disk
125 devices attached and offers to browse them and eject/unmount them.
127 %package -n %{ext_prefix}-launch-new-instance
128 Summary: Always launch a new application instance for GNOME Shell
130 Group: X11/Applications
131 Requires: %{name}-common = %{version}-%{release}
133 %description -n %{ext_prefix}-launch-new-instance
134 This GNOME Shell extension modifies the behavior of clicking in the
135 dash and app launcher to always launch a new application instance.
137 %package -n %{ext_prefix}-native-window-placement
138 Summary: Arrange windows in overview in a more native way
140 Group: X11/Applications
141 Requires: %{name}-common = %{version}-%{release}
143 %description -n %{ext_prefix}-native-window-placement
144 This extension employs an algorithm (taken from KDE) for layouting the
145 thumbnails in the overview that more closely reflects the positions
146 and relative sizes of the actual windows, instead of using a fixed
149 %package -n %{ext_prefix}-places-menu
150 Summary: Places menu indicator in the system status area
152 Group: X11/Applications
153 Requires: %{name}-common = %{version}-%{release}
155 %description -n %{ext_prefix}-places-menu
156 Adds a menu in the system status area that resembles the Places menu
159 %package -n %{ext_prefix}-systemMonitor
160 Summary: Monitor your system status
162 Group: X11/Applications
163 Requires: %{name}-common = %{version}-%{release}
166 %description -n %{ext_prefix}-systemMonitor
167 Monitor your system status
169 %package -n %{ext_prefix}-user-theme
170 Summary: Lets the user select a custom theme for the shell
172 Group: X11/Applications
173 Requires: %{name}-common = %{version}-%{release}
175 %description -n %{ext_prefix}-user-theme
176 Lets the user select a custom theme for the Gnome shell. It will allow
177 you to apply a style from
178 /.themes/[themeName]/gnome-shell/gnome-shell.css
180 %package -n %{ext_prefix}-window-list
181 Summary: Display a window list at the bottom of the screen in GNOME Shell
183 Group: X11/Applications
184 Requires: %{name}-common = %{version}-%{release}
186 %description -n %{ext_prefix}-window-list
187 This GNOME Shell extension displays a window list at the bottom of the
190 %package -n %{ext_prefix}-windowsNavigator
191 Summary: Keyboard selection of windows and work-spaces in overlay mode
193 Group: X11/Applications
194 Requires: %{name}-common = %{version}-%{release}
196 %description -n %{ext_prefix}-windowsNavigator
197 Allow keyboard selection of windows and work-spaces in overlay mode in
198 GNOME Shell. Switch to overview mode (press the windows or alt+f1 key)
199 and press the alt key to show numbers over windows. Press any number
200 to switch to the corresponding window.
202 %package -n %{ext_prefix}-workspace-indicator
203 Summary: Workspace Indicator
205 Group: X11/Applications
206 Requires: %{name}-common = %{version}-%{release}
208 %description -n %{ext_prefix}-workspace-indicator
209 Put an indicator on the panel signaling in which workspace you are,
210 and give you the possibility of switching to another one.
212 %package -n %{ext_prefix}-xrandr-indicator
213 Summary: Monitor status indicator
215 Group: X11/Applications
216 Requires: %{name}-common = %{version}-%{release}
218 %description -n %{ext_prefix}-xrandr-indicator
219 This extension adds a systems status menu for rotating monitors
220 (overrides what is currently provided by gnome-settings-daemon.
233 --enable-extensions="all"
238 rm -rf $RPM_BUILD_ROOT
241 DESTDIR=$RPM_BUILD_ROOT
243 # Drop useless example extension
244 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/gnome-shell/extensions/example*
245 %{__rm} $RPM_BUILD_ROOT%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.example.gschema.xml
250 rm -rf $RPM_BUILD_ROOT
252 %post -n gnome-classic-session
253 %glib_compile_schemas
255 %postun -n gnome-classic-session
256 %glib_compile_schemas
258 %post -n %{ext_prefix}-alternative-status-menu
259 %glib_compile_schemas
261 %postun -n %{ext_prefix}-alternative-status-menu
262 %glib_compile_schemas
264 %post -n %{ext_prefix}-auto-move-windows
265 %glib_compile_schemas
267 %postun -n %{ext_prefix}-auto-move-windows
268 %glib_compile_schemas
270 %post -n %{ext_prefix}-native-window-placement
271 %glib_compile_schemas
273 %postun -n %{ext_prefix}-native-window-placement
274 %glib_compile_schemas
276 %post -n %{ext_prefix}-user-theme
277 %glib_compile_schemas
279 %postun -n %{ext_prefix}-user-theme
280 %glib_compile_schemas
282 %post -n %{ext_prefix}-window-list
283 %glib_compile_schemas
285 %postun -n %{ext_prefix}-window-list
286 %glib_compile_schemas
288 %files common -f %{name}.lang
289 %defattr(644,root,root,755)
290 %doc COPYING NEWS README
291 %dir %{_datadir}/gnome-shell/extensions
293 %files -n gnome-classic-session
294 %defattr(644,root,root,755)
295 %{_desktopdir}/gnome-shell-classic.desktop
296 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.classic-overrides.gschema.xml
297 %{_datadir}/gnome-session/sessions/gnome-classic.session
298 %dir %{_datadir}/gnome-shell/modes
299 %{_datadir}/gnome-shell/modes/classic.json
300 %{_datadir}/gnome-shell/theme/*.svg
301 %{_datadir}/gnome-shell/theme/gnome-classic.css
302 %{_datadir}/xsessions/gnome-classic.desktop
304 %files -n %{ext_prefix}-alternate-tab
305 %defattr(644,root,root,755)
306 %{_datadir}/gnome-shell/extensions/alternate-tab*
308 %files -n %{ext_prefix}-alternative-status-menu
309 %defattr(644,root,root,755)
310 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.alternative-status-menu.gschema.xml
311 %{_datadir}/gnome-shell/extensions/alternative-status-menu*
313 %files -n %{ext_prefix}-apps-menu
314 %defattr(644,root,root,755)
315 %{_datadir}/gnome-shell/extensions/apps-menu*
317 %files -n %{ext_prefix}-auto-move-windows
318 %defattr(644,root,root,755)
319 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.auto-move-windows.gschema.xml
320 %{_datadir}/gnome-shell/extensions/auto-move-windows*
322 %files -n %{ext_prefix}-drive-menu
323 %defattr(644,root,root,755)
324 %{_datadir}/gnome-shell/extensions/drive-menu*
326 %files -n %{ext_prefix}-launch-new-instance
327 %defattr(644,root,root,755)
328 %{_datadir}/gnome-shell/extensions/launch-new-instance*
330 %files -n %{ext_prefix}-native-window-placement
331 %defattr(644,root,root,755)
332 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.native-window-placement.gschema.xml
333 %{_datadir}/gnome-shell/extensions/native-window-placement*
335 %files -n %{ext_prefix}-places-menu
336 %defattr(644,root,root,755)
337 %{_datadir}/gnome-shell/extensions/places-menu*
339 %files -n %{ext_prefix}-systemMonitor
340 %defattr(644,root,root,755)
341 %{_datadir}/gnome-shell/extensions/systemMonitor*
343 %files -n %{ext_prefix}-user-theme
344 %defattr(644,root,root,755)
345 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.user-theme.gschema.xml
346 %{_datadir}/gnome-shell/extensions/user-theme*
348 %files -n %{ext_prefix}-window-list
349 %defattr(644,root,root,755)
350 %{_datadir}/gnome-shell/extensions/window-list*
351 %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.window-list.gschema.xml
353 %files -n %{ext_prefix}-windowsNavigator
354 %defattr(644,root,root,755)
355 %{_datadir}/gnome-shell/extensions/windowsNavigator*
357 %files -n %{ext_prefix}-workspace-indicator
358 %defattr(644,root,root,755)
359 %{_datadir}/gnome-shell/extensions/workspace-indicator*
361 %files -n %{ext_prefix}-xrandr-indicator
362 %defattr(644,root,root,755)
363 %{_datadir}/gnome-shell/extensions/xrandr-indicator*